]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - sys/dev/hptnr/README
Merge llvm trunk r238337 from ^/vendor/llvm/dist, resolve conflicts, and
[FreeBSD/FreeBSD.git] / 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    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
28 1. 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
52 2. 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
134 3. 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 #############################################################################
195 Technical 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$