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