xref: /freebsd/sys/dev/hptnr/README (revision 78d14616)
11fdeb165SXin LIRocket Controller Driver for FreeBSD
2e157d597SXin LICopyright (C) 2015 HighPoint Technologies, Inc. All rights reserved.
31fdeb165SXin LI
41fdeb165SXin LI#############################################################################
51fdeb165SXin LIRevision History:
67d379626SXin LI
77d379626SXin LI   v1.1.4 2015-06-09
87d379626SXin LI     * Fix a bug that FailLED was not initialized properly.
97d379626SXin LI
107d379626SXin LI   v1.1.3 2015-05-19
117d379626SXin LI     * Support Report Luns command.
127d379626SXin LI
137d379626SXin LI   v1.1.2 2015-05-05
147d379626SXin LI     * Fix a bug that report wrong physical sector size for 512e HDD.
157d379626SXin LI
16e157d597SXin LI   v1.1.1 2015-03-26
17e157d597SXin LI     * Support 4Kn drive.
18e157d597SXin LI     * Change the SCSI target ID of the disk to be the index of physical connetion to the HBA.
19e157d597SXin LI     * Support staggered drive spin up.
20e157d597SXin LI     * Fix a bug that command would be timeout because of improper interrupt service routine.
21e157d597SXin LI     * Error handling to avoid scsi command lost which caused system hang up.
22e157d597SXin LI     * Fix a bug that fail to get the devcie's serial number via FreeNAS WebGUI.
23e157d597SXin LI
24090234abSXin LI   v1.0.1 2014-8-19
25090234abSXin LI     * Do not retry the command and reset the disk when failed to enable or
26090234abSXin LI       disable spin up feature.
27090234abSXin LI     * Fix up a bug that disk failed to probe if driver failed to access the
28090234abSXin LI       10th LBA.
29090234abSXin LI     * Fix a bug that request timeout but it has been completed in certain
30090234abSXin LI       cases.
31090234abSXin LI     * Support smartmontool for R750.
32090234abSXin LI
331fdeb165SXin LI   v1.0 2013-7-3
34e157d597SXin LI        First source code release
351fdeb165SXin LI
361fdeb165SXin LI#############################################################################
371fdeb165SXin LI
381fdeb165SXin LI1. Overview
391fdeb165SXin LI---------------------
401fdeb165SXin LI  This package contains FreeBSD driver source code for HighPoint Rocket
411fdeb165SXin LI  controller, include:
421fdeb165SXin LI  SATA Controller: R750, DC7280.
431fdeb165SXin LI
441fdeb165SXin LI  NO WARRANTY
451fdeb165SXin LI
461fdeb165SXin LI  THE DRIVER SOURCE CODE HIGHPOINT PROVIDED IS FREE OF CHARGE, AND THERE IS
471fdeb165SXin LI  NO WARRANTY FOR THE PROGRAM. THERE ARE NO RESTRICTIONS ON THE USE OF THIS
481fdeb165SXin LI  FREE SOURCE CODE. HIGHPOINT DOES NOT PROVIDE ANY TECHNICAL SUPPORT IF THE
491fdeb165SXin LI  CODE HAS BEEN CHANGED FROM ORIGINAL SOURCE CODE.
501fdeb165SXin LI
511fdeb165SXin LI  LIMITATION OF LIABILITY
521fdeb165SXin LI
531fdeb165SXin LI  IN NO EVENT WILL HIGHPOINT BE LIABLE FOR DIRECT, INDIRECT, SPECIAL,
541fdeb165SXin LI  INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OF OR
551fdeb165SXin LI  INABILITY TO USE THIS PRODUCT OR DOCUMENTATION, EVEN IF ADVISED OF THE
561fdeb165SXin LI  POSSIBILITY OF SUCH DAMAGES. IN PARTICULAR, HIGHPOINT SHALL NOT HAVE
571fdeb165SXin LI  LIABILITY FOR ANY HARDWARE, SOFTWARE, OR DATA STORED USED WITH THE
581fdeb165SXin LI  PRODUCT, INCLUDING THE COSTS OF REPAIRING, REPLACING, OR RECOVERING
591fdeb165SXin LI  SUCH HARDWARE, OR DATA.
601fdeb165SXin LI
611fdeb165SXin LI
621fdeb165SXin LI2. Rebuild the kernel with HighPoint Rocket support
631fdeb165SXin LI-----------------------------------------------
641fdeb165SXin LI
651fdeb165SXin LI  1) Install kernel source package and building tools.
661fdeb165SXin LI
671fdeb165SXin LI  2) Extract the driver files under the kernel source tree:
681fdeb165SXin LI
691fdeb165SXin LI     # cd /usr/src/sys/
707d379626SXin LI     # tar xvzf /your/path/to/HPTNR_FreeBSD_Src_1.x.x_xx_xx_xx.tgz
711fdeb165SXin LI
721fdeb165SXin LI  3) Update the kernel configuration file to include the HighPoint source.
731fdeb165SXin LI     Assume the configure file is GENERIC, and new kernel configure file is
741fdeb165SXin LI     MYKERNEL:
751fdeb165SXin LI
761fdeb165SXin LI     # cd i386/conf          (or amd64/conf for AMD64)
771fdeb165SXin LI     # cp GENERIC MYKERNEL
781fdeb165SXin LI
791fdeb165SXin LI  4) Edit MYKERNEL, and add the following line under "RAID controllers
801fdeb165SXin LI     interfaced to the SCSI subsystem":
811fdeb165SXin LI
821fdeb165SXin LI          device  "hptnr"   #HighPoint Rocket
831fdeb165SXin LI
841fdeb165SXin LI  5) For i386 system, edit /usr/src/sys/conf/files.i386 and append the lines
851fdeb165SXin LI     shown below:
861fdeb165SXin LI
871fdeb165SXin LI          hptnr_lib.o optional    hptnr  \
881fdeb165SXin LI              dependency  "$S/dev/hptnr/i386-elf.hptnr_lib.o.uu" \
891fdeb165SXin LI              compile-with    "uudecode < $S/dev/hptnr/i386-elf.hptnr_lib.o.uu" \
901fdeb165SXin LI              no-implicit-rule
911fdeb165SXin LI
927d379626SXin LI          dev/hptnr/hptnr_os_bsd.c      optional        hptnr
937d379626SXin LI          dev/hptnr/hptnr_osm_bsd.c     optional        hptnr
941fdeb165SXin LI          dev/hptnr/hptnr_config.c      optional        hptnr
951fdeb165SXin LI
961fdeb165SXin LI     For amd64 system, edit /usr/src/sys/conf/files.amd64 and append the lines
971fdeb165SXin LI     shown below:
981fdeb165SXin LI
991fdeb165SXin LI          hptnr_lib.o optional    hptnr  \
1001fdeb165SXin LI              dependency  "$S/dev/hptnr/amd64-elf.hptnr_lib.o.uu" \
1011fdeb165SXin LI              compile-with    "uudecode < $S/dev/hptnr/amd64-elf.hptnr_lib.o.uu" \
1021fdeb165SXin LI              no-implicit-rule
1031fdeb165SXin LI
1047d379626SXin LI          dev/hptnr/hptnr_os_bsd.c      optional        hptnr
1057d379626SXin LI          dev/hptnr/hptnr_osm_bsd.c     optional        hptnr
1061fdeb165SXin LI          dev/hptnr/hptnr_config.c      optional        hptnr
1071fdeb165SXin LI
1081fdeb165SXin LI  6) Rebuild and install the kernel:
1091fdeb165SXin LI
1107d379626SXin LI     a) for FreeBSD 5.x-i386/6.x-i386/7.x-i386/8.x-i386/9.x-i386/10.x-i386:
1111fdeb165SXin LI
1121fdeb165SXin LI        # cd /usr/src/sys/i386/conf/
1131fdeb165SXin LI        # /usr/sbin/config MYKERNEL
1141fdeb165SXin LI        # cd ../compile/MYKERNEL/
1151fdeb165SXin LI        # make depend
1161fdeb165SXin LI        # make
1171fdeb165SXin LI        # make install
1181fdeb165SXin LI
1197d379626SXin LI     b) for FreeBSD 5.x-amd64/6.x-amd64/7.x-amd64/8.x-amd64/9.x-amd64/10.x-amd64:
1201fdeb165SXin LI
1211fdeb165SXin LI        # cd /usr/src/sys/amd64/conf/
1221fdeb165SXin LI        # /usr/sbin/config MYKERNEL
1231fdeb165SXin LI        # cd ../compile/MYKERNEL/
1241fdeb165SXin LI        # make depend
1251fdeb165SXin LI        # make
1261fdeb165SXin LI        # make install
1271fdeb165SXin LI
1281fdeb165SXin LI     c) for FreeBSD 4.x:
1291fdeb165SXin LI
1301fdeb165SXin LI        # cd /usr/src/sys/i386/conf/
1311fdeb165SXin LI        # /usr/sbin/config MYKERNEL
1321fdeb165SXin LI        # cd ../../compile/MYKERNEL/
1331fdeb165SXin LI        # make depend
1341fdeb165SXin LI        # make
1351fdeb165SXin LI        # make install
1361fdeb165SXin LI
1371fdeb165SXin LI    If the driver was previously configured as an auto-loaded module by
1381fdeb165SXin LI    /boot/defaults/loader.conf, please remove the entry hptnr_load="YES"
1391fdeb165SXin LI    from loader.conf to prevent the driver from being loaded twice.
1401fdeb165SXin LI
1411fdeb165SXin LI  7) Reboot from the new kernel.
1421fdeb165SXin LI
1431fdeb165SXin LI
1441fdeb165SXin LI3. Build/Load the driver as a kernel module
1451fdeb165SXin LI------------------------------------------------
1461fdeb165SXin LI
1471fdeb165SXin LI  1) Install kernel source package and building tools.
1481fdeb165SXin LI
1491fdeb165SXin LI  2) Extract the driver files under the kernel source tree:
1501fdeb165SXin LI
1511fdeb165SXin LI     # cd /usr/src/sys/
1527d379626SXin LI     # tar xvzf /your/path/to/HPTNR_FreeBSD_Src_1.x.x_xx_xx_xx.tgz
1531fdeb165SXin LI
1541fdeb165SXin LI
1551fdeb165SXin LI  4) Build the driver module:
1561fdeb165SXin LI
1571fdeb165SXin LI     # cd modules/hptnr
1581fdeb165SXin LI     # make
1591fdeb165SXin LI
1601fdeb165SXin LI  5) Copy the driver module to the kernel module directory
1611fdeb165SXin LI
1621fdeb165SXin LI     For FreeBSD 4.x:
1631fdeb165SXin LI
1641fdeb165SXin LI     # cp hptnr.ko /modules/
1651fdeb165SXin LI
1667d379626SXin LI     For FreeBSD 5.x/6.x/7.x/8.x/9.x/10.x:
1671fdeb165SXin LI
1681fdeb165SXin LI     # cp hptnr.ko /boot/kernel/
1691fdeb165SXin LI
1701fdeb165SXin LI  6) Reboot and load the driver under loader prompt. e.g:
1711fdeb165SXin LI
1721fdeb165SXin LI        BTX loader 1.00  BTX version is 1.01
1731fdeb165SXin LI        Console: internal video/keyboard
1741fdeb165SXin LI        BIOS driver A: is disk0
1751fdeb165SXin LI        BIOS driver C: is disk2
1761fdeb165SXin LI        BIOS 636kB/74512kB available memory
1771fdeb165SXin LI
1781fdeb165SXin LI        FreeBSD/i386 bootstrap loader, Revision 0.8
1791fdeb165SXin LI        (mailto:jkh@narf.osd.bsdi.com, Sat Apr 21 08:46:19 GMT 2001)
1801fdeb165SXin LI        Loading /boot/defaults/loader.conf
1811fdeb165SXin LI        /kernel text=0x24f1db data=0x3007ec+0x2062c -
1821fdeb165SXin LI
1831fdeb165SXin LI        Hit [Enter] to boot immediagely, or any other key for command prompt.
1841fdeb165SXin LI        Booting [kernel] in 9 seconds
1851fdeb165SXin LI
1861fdeb165SXin LI         <-- press SPACE key here
1871fdeb165SXin LI        Type '?' for a list of commands, 'help' for more detailed help.
1881fdeb165SXin LI        ok load hptnr
1891fdeb165SXin LI        /modules/hptnr.ko text=0xf571 data=0x2c8+0x254
1901fdeb165SXin LI        ok boot
1911fdeb165SXin LI
1927d379626SXin LI     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
1931fdeb165SXin LI     prompt.
1941fdeb165SXin LI
1951fdeb165SXin LI  7) You can add a below line into /boot/defaults/loader.conf to load the
1961fdeb165SXin LI     driver automatically:
1971fdeb165SXin LI
1981fdeb165SXin LI           hptnr_load="YES"
1991fdeb165SXin LI
2001fdeb165SXin LI     Please refer to the installation guide in HighPoint FreeBSD driver release
2011fdeb165SXin LI     package for more information.
2021fdeb165SXin LI
2031fdeb165SXin LI
2041fdeb165SXin LI#############################################################################
2051fdeb165SXin LITechnical support and service
2061fdeb165SXin LI
2071fdeb165SXin LI  If you have questions about installing or using your HighPoint product,
2081fdeb165SXin LI  check the user's guide or readme file first, and you will find answers to
2091fdeb165SXin LI  most of your questions here. If you need further assistance, please
2101fdeb165SXin LI  contact us. We offer the following support and information services:
2111fdeb165SXin LI
2121fdeb165SXin LI  1)  The HighPoint Web Site provides information on software upgrades,
2131fdeb165SXin LI      answers to common questions, and other topics. The Web Site is
2141fdeb165SXin LI      available from Internet 24 hours a day, 7 days a week, at
2151fdeb165SXin LI      http://www.highpoint-tech.com.
2161fdeb165SXin LI
2171fdeb165SXin LI  2)  For technical support, send e-mail to support@highpoint-tech.com
2181fdeb165SXin LI
2191fdeb165SXin LI  NOTE: Before you send an e-mail, please visit our Web Site
2201fdeb165SXin LI        (http://www.highpoint-tech.com) to check if there is a new or
2211fdeb165SXin LI        updated device driver for your system.
222