11fdeb165SXin LIRocket Controller Driver for FreeBSD 2e157d597SXin LICopyright (C) 2015 HighPoint Technologies, Inc. All rights reserved. 31fdeb165SXin LI 41fdeb165SXin LI############################################################################# 51fdeb165SXin LIRevision History: 67d379626SXin LI 77d379626SXin LI v1.1.4 2015-06-09 87d379626SXin LI * Fix a bug that FailLED was not initialized properly. 97d379626SXin LI 107d379626SXin LI v1.1.3 2015-05-19 117d379626SXin LI * Support Report Luns command. 127d379626SXin LI 137d379626SXin LI v1.1.2 2015-05-05 147d379626SXin LI * Fix a bug that report wrong physical sector size for 512e HDD. 157d379626SXin LI 16e157d597SXin LI v1.1.1 2015-03-26 17e157d597SXin LI * Support 4Kn drive. 18e157d597SXin LI * Change the SCSI target ID of the disk to be the index of physical connetion to the HBA. 19e157d597SXin LI * Support staggered drive spin up. 20e157d597SXin LI * Fix a bug that command would be timeout because of improper interrupt service routine. 21e157d597SXin LI * Error handling to avoid scsi command lost which caused system hang up. 22e157d597SXin LI * Fix a bug that fail to get the devcie's serial number via FreeNAS WebGUI. 23e157d597SXin LI 24090234abSXin LI v1.0.1 2014-8-19 25090234abSXin LI * Do not retry the command and reset the disk when failed to enable or 26090234abSXin LI disable spin up feature. 27090234abSXin LI * Fix up a bug that disk failed to probe if driver failed to access the 28090234abSXin LI 10th LBA. 29090234abSXin LI * Fix a bug that request timeout but it has been completed in certain 30090234abSXin LI cases. 31090234abSXin LI * Support smartmontool for R750. 32090234abSXin LI 331fdeb165SXin LI v1.0 2013-7-3 34e157d597SXin LI First source code release 351fdeb165SXin LI 361fdeb165SXin LI############################################################################# 371fdeb165SXin LI 381fdeb165SXin LI1. Overview 391fdeb165SXin LI--------------------- 401fdeb165SXin LI This package contains FreeBSD driver source code for HighPoint Rocket 411fdeb165SXin LI controller, include: 421fdeb165SXin LI SATA Controller: R750, DC7280. 431fdeb165SXin LI 441fdeb165SXin LI NO WARRANTY 451fdeb165SXin LI 461fdeb165SXin LI THE DRIVER SOURCE CODE HIGHPOINT PROVIDED IS FREE OF CHARGE, AND THERE IS 471fdeb165SXin LI NO WARRANTY FOR THE PROGRAM. THERE ARE NO RESTRICTIONS ON THE USE OF THIS 481fdeb165SXin LI FREE SOURCE CODE. HIGHPOINT DOES NOT PROVIDE ANY TECHNICAL SUPPORT IF THE 491fdeb165SXin LI CODE HAS BEEN CHANGED FROM ORIGINAL SOURCE CODE. 501fdeb165SXin LI 511fdeb165SXin LI LIMITATION OF LIABILITY 521fdeb165SXin LI 531fdeb165SXin LI IN NO EVENT WILL HIGHPOINT BE LIABLE FOR DIRECT, INDIRECT, SPECIAL, 541fdeb165SXin LI INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OF OR 551fdeb165SXin LI INABILITY TO USE THIS PRODUCT OR DOCUMENTATION, EVEN IF ADVISED OF THE 561fdeb165SXin LI POSSIBILITY OF SUCH DAMAGES. IN PARTICULAR, HIGHPOINT SHALL NOT HAVE 571fdeb165SXin LI LIABILITY FOR ANY HARDWARE, SOFTWARE, OR DATA STORED USED WITH THE 581fdeb165SXin LI PRODUCT, INCLUDING THE COSTS OF REPAIRING, REPLACING, OR RECOVERING 591fdeb165SXin LI SUCH HARDWARE, OR DATA. 601fdeb165SXin LI 611fdeb165SXin LI 621fdeb165SXin LI2. Rebuild the kernel with HighPoint Rocket support 631fdeb165SXin LI----------------------------------------------- 641fdeb165SXin LI 651fdeb165SXin LI 1) Install kernel source package and building tools. 661fdeb165SXin LI 671fdeb165SXin LI 2) Extract the driver files under the kernel source tree: 681fdeb165SXin LI 691fdeb165SXin LI # cd /usr/src/sys/ 707d379626SXin LI # tar xvzf /your/path/to/HPTNR_FreeBSD_Src_1.x.x_xx_xx_xx.tgz 711fdeb165SXin LI 721fdeb165SXin LI 3) Update the kernel configuration file to include the HighPoint source. 731fdeb165SXin LI Assume the configure file is GENERIC, and new kernel configure file is 741fdeb165SXin LI MYKERNEL: 751fdeb165SXin LI 761fdeb165SXin LI # cd i386/conf (or amd64/conf for AMD64) 771fdeb165SXin LI # cp GENERIC MYKERNEL 781fdeb165SXin LI 791fdeb165SXin LI 4) Edit MYKERNEL, and add the following line under "RAID controllers 801fdeb165SXin LI interfaced to the SCSI subsystem": 811fdeb165SXin LI 821fdeb165SXin LI device "hptnr" #HighPoint Rocket 831fdeb165SXin LI 841fdeb165SXin LI 5) For i386 system, edit /usr/src/sys/conf/files.i386 and append the lines 851fdeb165SXin LI shown below: 861fdeb165SXin LI 871fdeb165SXin LI hptnr_lib.o optional hptnr \ 881fdeb165SXin LI dependency "$S/dev/hptnr/i386-elf.hptnr_lib.o.uu" \ 891fdeb165SXin LI compile-with "uudecode < $S/dev/hptnr/i386-elf.hptnr_lib.o.uu" \ 901fdeb165SXin LI no-implicit-rule 911fdeb165SXin LI 927d379626SXin LI dev/hptnr/hptnr_os_bsd.c optional hptnr 937d379626SXin LI dev/hptnr/hptnr_osm_bsd.c optional hptnr 941fdeb165SXin LI dev/hptnr/hptnr_config.c optional hptnr 951fdeb165SXin LI 961fdeb165SXin LI For amd64 system, edit /usr/src/sys/conf/files.amd64 and append the lines 971fdeb165SXin LI shown below: 981fdeb165SXin LI 991fdeb165SXin LI hptnr_lib.o optional hptnr \ 1001fdeb165SXin LI dependency "$S/dev/hptnr/amd64-elf.hptnr_lib.o.uu" \ 1011fdeb165SXin LI compile-with "uudecode < $S/dev/hptnr/amd64-elf.hptnr_lib.o.uu" \ 1021fdeb165SXin LI no-implicit-rule 1031fdeb165SXin LI 1047d379626SXin LI dev/hptnr/hptnr_os_bsd.c optional hptnr 1057d379626SXin LI dev/hptnr/hptnr_osm_bsd.c optional hptnr 1061fdeb165SXin LI dev/hptnr/hptnr_config.c optional hptnr 1071fdeb165SXin LI 1081fdeb165SXin LI 6) Rebuild and install the kernel: 1091fdeb165SXin LI 1107d379626SXin LI a) for FreeBSD 5.x-i386/6.x-i386/7.x-i386/8.x-i386/9.x-i386/10.x-i386: 1111fdeb165SXin LI 1121fdeb165SXin LI # cd /usr/src/sys/i386/conf/ 1131fdeb165SXin LI # /usr/sbin/config MYKERNEL 1141fdeb165SXin LI # cd ../compile/MYKERNEL/ 1151fdeb165SXin LI # make depend 1161fdeb165SXin LI # make 1171fdeb165SXin LI # make install 1181fdeb165SXin LI 1197d379626SXin LI b) for FreeBSD 5.x-amd64/6.x-amd64/7.x-amd64/8.x-amd64/9.x-amd64/10.x-amd64: 1201fdeb165SXin LI 1211fdeb165SXin LI # cd /usr/src/sys/amd64/conf/ 1221fdeb165SXin LI # /usr/sbin/config MYKERNEL 1231fdeb165SXin LI # cd ../compile/MYKERNEL/ 1241fdeb165SXin LI # make depend 1251fdeb165SXin LI # make 1261fdeb165SXin LI # make install 1271fdeb165SXin LI 1281fdeb165SXin LI c) for FreeBSD 4.x: 1291fdeb165SXin LI 1301fdeb165SXin LI # cd /usr/src/sys/i386/conf/ 1311fdeb165SXin LI # /usr/sbin/config MYKERNEL 1321fdeb165SXin LI # cd ../../compile/MYKERNEL/ 1331fdeb165SXin LI # make depend 1341fdeb165SXin LI # make 1351fdeb165SXin LI # make install 1361fdeb165SXin LI 1371fdeb165SXin LI If the driver was previously configured as an auto-loaded module by 1381fdeb165SXin LI /boot/defaults/loader.conf, please remove the entry hptnr_load="YES" 1391fdeb165SXin LI from loader.conf to prevent the driver from being loaded twice. 1401fdeb165SXin LI 1411fdeb165SXin LI 7) Reboot from the new kernel. 1421fdeb165SXin LI 1431fdeb165SXin LI 1441fdeb165SXin LI3. Build/Load the driver as a kernel module 1451fdeb165SXin LI------------------------------------------------ 1461fdeb165SXin LI 1471fdeb165SXin LI 1) Install kernel source package and building tools. 1481fdeb165SXin LI 1491fdeb165SXin LI 2) Extract the driver files under the kernel source tree: 1501fdeb165SXin LI 1511fdeb165SXin LI # cd /usr/src/sys/ 1527d379626SXin LI # tar xvzf /your/path/to/HPTNR_FreeBSD_Src_1.x.x_xx_xx_xx.tgz 1531fdeb165SXin LI 1541fdeb165SXin LI 1551fdeb165SXin LI 4) Build the driver module: 1561fdeb165SXin LI 1571fdeb165SXin LI # cd modules/hptnr 1581fdeb165SXin LI # make 1591fdeb165SXin LI 1601fdeb165SXin LI 5) Copy the driver module to the kernel module directory 1611fdeb165SXin LI 1621fdeb165SXin LI For FreeBSD 4.x: 1631fdeb165SXin LI 1641fdeb165SXin LI # cp hptnr.ko /modules/ 1651fdeb165SXin LI 1667d379626SXin LI For FreeBSD 5.x/6.x/7.x/8.x/9.x/10.x: 1671fdeb165SXin LI 1681fdeb165SXin LI # cp hptnr.ko /boot/kernel/ 1691fdeb165SXin LI 1701fdeb165SXin LI 6) Reboot and load the driver under loader prompt. e.g: 1711fdeb165SXin LI 1721fdeb165SXin LI BTX loader 1.00 BTX version is 1.01 1731fdeb165SXin LI Console: internal video/keyboard 1741fdeb165SXin LI BIOS driver A: is disk0 1751fdeb165SXin LI BIOS driver C: is disk2 1761fdeb165SXin LI BIOS 636kB/74512kB available memory 1771fdeb165SXin LI 1781fdeb165SXin LI FreeBSD/i386 bootstrap loader, Revision 0.8 1791fdeb165SXin LI (mailto:jkh@narf.osd.bsdi.com, Sat Apr 21 08:46:19 GMT 2001) 1801fdeb165SXin LI Loading /boot/defaults/loader.conf 1811fdeb165SXin LI /kernel text=0x24f1db data=0x3007ec+0x2062c - 1821fdeb165SXin LI 1831fdeb165SXin LI Hit [Enter] to boot immediagely, or any other key for command prompt. 1841fdeb165SXin LI Booting [kernel] in 9 seconds 1851fdeb165SXin LI 1861fdeb165SXin LI <-- press SPACE key here 1871fdeb165SXin LI Type '?' for a list of commands, 'help' for more detailed help. 1881fdeb165SXin LI ok load hptnr 1891fdeb165SXin LI /modules/hptnr.ko text=0xf571 data=0x2c8+0x254 1901fdeb165SXin LI ok boot 1911fdeb165SXin LI 1927d379626SXin LI For FreeBSD 5.x/6.x/7.x/8.x/9.x/10.x, you can select 6 on the boot menu to get a loader 1931fdeb165SXin LI prompt. 1941fdeb165SXin LI 1951fdeb165SXin LI 7) You can add a below line into /boot/defaults/loader.conf to load the 1961fdeb165SXin LI driver automatically: 1971fdeb165SXin LI 1981fdeb165SXin LI hptnr_load="YES" 1991fdeb165SXin LI 2001fdeb165SXin LI Please refer to the installation guide in HighPoint FreeBSD driver release 2011fdeb165SXin LI package for more information. 2021fdeb165SXin LI 2031fdeb165SXin LI 2041fdeb165SXin LI############################################################################# 2051fdeb165SXin LITechnical support and service 2061fdeb165SXin LI 2071fdeb165SXin LI If you have questions about installing or using your HighPoint product, 2081fdeb165SXin LI check the user's guide or readme file first, and you will find answers to 2091fdeb165SXin LI most of your questions here. If you need further assistance, please 2101fdeb165SXin LI contact us. We offer the following support and information services: 2111fdeb165SXin LI 2121fdeb165SXin LI 1) The HighPoint Web Site provides information on software upgrades, 2131fdeb165SXin LI answers to common questions, and other topics. The Web Site is 2141fdeb165SXin LI available from Internet 24 hours a day, 7 days a week, at 2151fdeb165SXin LI http://www.highpoint-tech.com. 2161fdeb165SXin LI 2171fdeb165SXin LI 2) For technical support, send e-mail to support@highpoint-tech.com 2181fdeb165SXin LI 2191fdeb165SXin LI NOTE: Before you send an e-mail, please visit our Web Site 2201fdeb165SXin LI (http://www.highpoint-tech.com) to check if there is a new or 2211fdeb165SXin LI updated device driver for your system. 222