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