FreeBSD/Linux Kernel Cross Reference
sys/dev/hptnr/README
1 Rocket Controller Driver for FreeBSD
2 Copyright (C) 2015 HighPoint Technologies, Inc. All rights reserved.
3
4 #############################################################################
5 Revision 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
38 1. 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
62 2. 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
144 3. 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 #############################################################################
205 Technical 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
223 $FreeBSD$
Cache object: 3f192e450bc5214659935e6dbfbd6358
|