1Rocket Controller Driver for FreeBSD 2Copyright (C) 2015 HighPoint Technologies, Inc. All rights reserved. 3 4############################################################################# 5Revision History: 6 7 v1.1.4 2015-06-09 8 * Fix a bug that FailLED was not initialized properly. 9 10 v1.1.3 2015-05-19 11 * Support Report Luns command. 12 13 v1.1.2 2015-05-05 14 * Fix a bug that report wrong physical sector size for 512e HDD. 15 16 v1.1.1 2015-03-26 17 * Support 4Kn drive. 18 * Change the SCSI target ID of the disk to be the index of physical connetion to the HBA. 19 * Support staggered drive spin up. 20 * Fix a bug that command would be timeout because of improper interrupt service routine. 21 * Error handling to avoid scsi command lost which caused system hang up. 22 * Fix a bug that fail to get the devcie's serial number via FreeNAS WebGUI. 23 24 v1.0.1 2014-8-19 25 * Do not retry the command and reset the disk when failed to enable or 26 disable spin up feature. 27 * Fix up a bug that disk failed to probe if driver failed to access the 28 10th LBA. 29 * Fix a bug that request timeout but it has been completed in certain 30 cases. 31 * Support smartmontool for R750. 32 33 v1.0 2013-7-3 34 First source code release 35 36############################################################################# 37 381. Overview 39--------------------- 40 This package contains FreeBSD driver source code for HighPoint Rocket 41 controller, include: 42 SATA Controller: R750, DC7280. 43 44 NO WARRANTY 45 46 THE DRIVER SOURCE CODE HIGHPOINT PROVIDED IS FREE OF CHARGE, AND THERE IS 47 NO WARRANTY FOR THE PROGRAM. THERE ARE NO RESTRICTIONS ON THE USE OF THIS 48 FREE SOURCE CODE. HIGHPOINT DOES NOT PROVIDE ANY TECHNICAL SUPPORT IF THE 49 CODE HAS BEEN CHANGED FROM ORIGINAL SOURCE CODE. 50 51 LIMITATION OF LIABILITY 52 53 IN NO EVENT WILL HIGHPOINT BE LIABLE FOR DIRECT, INDIRECT, SPECIAL, 54 INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OF OR 55 INABILITY TO USE THIS PRODUCT OR DOCUMENTATION, EVEN IF ADVISED OF THE 56 POSSIBILITY OF SUCH DAMAGES. IN PARTICULAR, HIGHPOINT SHALL NOT HAVE 57 LIABILITY FOR ANY HARDWARE, SOFTWARE, OR DATA STORED USED WITH THE 58 PRODUCT, INCLUDING THE COSTS OF REPAIRING, REPLACING, OR RECOVERING 59 SUCH HARDWARE, OR DATA. 60 61 622. Rebuild the kernel with HighPoint Rocket support 63----------------------------------------------- 64 65 1) Install kernel source package and building tools. 66 67 2) Extract the driver files under the kernel source tree: 68 69 # cd /usr/src/sys/ 70 # tar xvzf /your/path/to/HPTNR_FreeBSD_Src_1.x.x_xx_xx_xx.tgz 71 72 3) Update the kernel configuration file to include the HighPoint source. 73 Assume the configure file is GENERIC, and new kernel configure file is 74 MYKERNEL: 75 76 # cd i386/conf (or amd64/conf for AMD64) 77 # cp GENERIC MYKERNEL 78 79 4) Edit MYKERNEL, and add the following line under "RAID controllers 80 interfaced to the SCSI subsystem": 81 82 device "hptnr" #HighPoint Rocket 83 84 5) For i386 system, edit /usr/src/sys/conf/files.i386 and append the lines 85 shown below: 86 87 hptnr_lib.o optional hptnr \ 88 dependency "$S/dev/hptnr/i386-elf.hptnr_lib.o.uu" \ 89 compile-with "uudecode < $S/dev/hptnr/i386-elf.hptnr_lib.o.uu" \ 90 no-implicit-rule 91 92 dev/hptnr/hptnr_os_bsd.c optional hptnr 93 dev/hptnr/hptnr_osm_bsd.c optional hptnr 94 dev/hptnr/hptnr_config.c optional hptnr 95 96 For amd64 system, edit /usr/src/sys/conf/files.amd64 and append the lines 97 shown below: 98 99 hptnr_lib.o optional hptnr \ 100 dependency "$S/dev/hptnr/amd64-elf.hptnr_lib.o.uu" \ 101 compile-with "uudecode < $S/dev/hptnr/amd64-elf.hptnr_lib.o.uu" \ 102 no-implicit-rule 103 104 dev/hptnr/hptnr_os_bsd.c optional hptnr 105 dev/hptnr/hptnr_osm_bsd.c optional hptnr 106 dev/hptnr/hptnr_config.c optional hptnr 107 108 6) Rebuild and install the kernel: 109 110 a) for FreeBSD 5.x-i386/6.x-i386/7.x-i386/8.x-i386/9.x-i386/10.x-i386: 111 112 # cd /usr/src/sys/i386/conf/ 113 # /usr/sbin/config MYKERNEL 114 # cd ../compile/MYKERNEL/ 115 # make depend 116 # make 117 # make install 118 119 b) for FreeBSD 5.x-amd64/6.x-amd64/7.x-amd64/8.x-amd64/9.x-amd64/10.x-amd64: 120 121 # cd /usr/src/sys/amd64/conf/ 122 # /usr/sbin/config MYKERNEL 123 # cd ../compile/MYKERNEL/ 124 # make depend 125 # make 126 # make install 127 128 c) for FreeBSD 4.x: 129 130 # cd /usr/src/sys/i386/conf/ 131 # /usr/sbin/config MYKERNEL 132 # cd ../../compile/MYKERNEL/ 133 # make depend 134 # make 135 # make install 136 137 If the driver was previously configured as an auto-loaded module by 138 /boot/defaults/loader.conf, please remove the entry hptnr_load="YES" 139 from loader.conf to prevent the driver from being loaded twice. 140 141 7) Reboot from the new kernel. 142 143 1443. Build/Load the driver as a kernel module 145------------------------------------------------ 146 147 1) Install kernel source package and building tools. 148 149 2) Extract the driver files under the kernel source tree: 150 151 # cd /usr/src/sys/ 152 # tar xvzf /your/path/to/HPTNR_FreeBSD_Src_1.x.x_xx_xx_xx.tgz 153 154 155 4) Build the driver module: 156 157 # cd modules/hptnr 158 # make 159 160 5) Copy the driver module to the kernel module directory 161 162 For FreeBSD 4.x: 163 164 # cp hptnr.ko /modules/ 165 166 For FreeBSD 5.x/6.x/7.x/8.x/9.x/10.x: 167 168 # cp hptnr.ko /boot/kernel/ 169 170 6) Reboot and load the driver under loader prompt. e.g: 171 172 BTX loader 1.00 BTX version is 1.01 173 Console: internal video/keyboard 174 BIOS driver A: is disk0 175 BIOS driver C: is disk2 176 BIOS 636kB/74512kB available memory 177 178 FreeBSD/i386 bootstrap loader, Revision 0.8 179 (mailto:jkh@narf.osd.bsdi.com, Sat Apr 21 08:46:19 GMT 2001) 180 Loading /boot/defaults/loader.conf 181 /kernel text=0x24f1db data=0x3007ec+0x2062c - 182 183 Hit [Enter] to boot immediagely, or any other key for command prompt. 184 Booting [kernel] in 9 seconds 185 186 <-- press SPACE key here 187 Type '?' for a list of commands, 'help' for more detailed help. 188 ok load hptnr 189 /modules/hptnr.ko text=0xf571 data=0x2c8+0x254 190 ok boot 191 192 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 193 prompt. 194 195 7) You can add a below line into /boot/defaults/loader.conf to load the 196 driver automatically: 197 198 hptnr_load="YES" 199 200 Please refer to the installation guide in HighPoint FreeBSD driver release 201 package for more information. 202 203 204############################################################################# 205Technical support and service 206 207 If you have questions about installing or using your HighPoint product, 208 check the user's guide or readme file first, and you will find answers to 209 most of your questions here. If you need further assistance, please 210 contact us. We offer the following support and information services: 211 212 1) The HighPoint Web Site provides information on software upgrades, 213 answers to common questions, and other topics. The Web Site is 214 available from Internet 24 hours a day, 7 days a week, at 215 http://www.highpoint-tech.com. 216 217 2) For technical support, send e-mail to support@highpoint-tech.com 218 219 NOTE: Before you send an e-mail, please visit our Web Site 220 (http://www.highpoint-tech.com) to check if there is a new or 221 updated device driver for your system. 222