1 Attachment(s)
[HOWTO] Highpoint RocketRAID 2640x4 Driver Install
This is to explain the simplest way to get the Highpoint RocketRAID 2640x4 RAID controller card to work with Ubuntu. I will get to the problems I faced later, let me just say that it is a sad state of affairs when you have to recommend others NOT to use the driver installer that is posted on the manufacturers web site. Building the driver on your system means no worries about the kernel version not matching the driver.
I chose Ubuntu 10.04 because it is the most recent long term support version.
Hardware:
- Highpoint RocketRAID 2640x4 RAID controller
- two Patriot TorqX 64GB SSD drives on the RAID controller
- one Patriot TorqX 64GB SSD drive on the mainboard SATA controller for the OS
Steps:
- Install the card in your system and connect the SATA drives.
- Boot the system, and a new BIOS setup screen will come up that is controlled by the RAID controller
-Hit CTRL-H to get into the RAID controller setup.
- Create a RAID array
- Reboot
Note that you can setup a RAID array without installing any drivers.
Next:
- Start Ubuntu
- Verify that the hardware is present and recognized:
- Download the source code archive rr264x-linux-src-v1.3-legacy_single-101203-0910.tar.gz from
http://www.highpoint-tech.com/USA_ne...0_download.htm
(It is called "Linux Open Source" and the link is v1.3)
- Now install the build environment
Code:
sudo apt-get install build-essential checkinstall
- change into the source directory:
Code:
cd rr2640-linux-src-v1.3-legacy_single/product/rr2640/linuxls
- Build the driver
- Load the driver
Code:
sudo modprobe rr26xx
- Verify that the driver is loaded
If everything went well, you can now use gparted to verify that a new volume is available (on my system, it is /dev/sdb).
- use gparted to create a partition table and a partition
- add an according line to /etc/fstab:
Code:
/dev/sdb1 /mnt/raid ext4 errors=remount-ro 0 1
- create a mount location
Code:
sudo mkdir /mnt/raid
- change permissions to your username:
Code:
sudo chown -R username:username /mnt/raid
- mount the new volume
Code:
sudo mount /mnt/raid
You should now be able to use the RAID array like any other storage.
The manufacturer offers a GUI to control the RAID array, and that is where the problems start. There are only RPMs, no deb packages, and when you convert the RPMs to deb's with alien as suggested, you end up with broken packages.
More info on this:
http://ubuntuforums.org/showthread.php?p=10712667
http://ubuntuforums.org/showthread.php?t=1608698
Once it works, the performance is pretty good: 200 MB/s read, and between 100-200 MB/s write. An SSD-RAID server for Christmas! :D
Re: [HOWTO] Highpoint RocketRAID 2640x4 Driver Install
The "make" command does not work for me, any ideas?
wisdom@Mint-Desktop /usr/local/src/rr62x-linux-src-v1.2/product/rr62x/linux $ sudo make install
make[1]: Entering directory `/usr/src/linux-headers-3.6.1-030601-generic'
CC [M] /usr/local/src/rr62x-linux-src-v1.2/product/rr62x/linux/.build/os_linux.o
CC [M] /usr/local/src/rr62x-linux-src-v1.2/product/rr62x/linux/.build/osm_linux.o
/usr/local/src/rr62x-linux-src-v1.2/product/rr62x/linux/.build/osm_linux.c: In function ‘scsicmd_buf_get’:
/usr/local/src/rr62x-linux-src-v1.2/product/rr62x/linux/.build/osm_linux.c:452:39: error: ‘KM_BIO_SRC_IRQ’ undeclared (first use in this function)
/usr/local/src/rr62x-linux-src-v1.2/product/rr62x/linux/.build/osm_linux.c:452:39: note: each undeclared identifier is reported only once for each function it appears in
/usr/local/src/rr62x-linux-src-v1.2/product/rr62x/linux/.build/osm_linux.c:452:2: error: too many arguments to function ‘kmap_atomic’
include/linux/highmem.h:66:21: note: declared here
/usr/local/src/rr62x-linux-src-v1.2/product/rr62x/linux/.build/osm_linux.c: In function ‘scsicmd_buf_put’:
/usr/local/src/rr62x-linux-src-v1.2/product/rr62x/linux/.build/osm_linux.c:482:55: error: macro "kunmap_atomic" passed 2 arguments, but takes just 1
/usr/local/src/rr62x-linux-src-v1.2/product/rr62x/linux/.build/osm_linux.c:482:2: error: ‘kunmap_atomic’ undeclared (first use in this function)
make[2]: *** [/usr/local/src/rr62x-linux-src-v1.2/product/rr62x/linux/.build/osm_linux.o] Error 1
make[1]: *** [_module_/usr/local/src/rr62x-linux-src-v1.2/product/rr62x/linux/.build] Error 2
make[1]: Leaving directory `/usr/src/linux-headers-3.6.1-030601-generic'
make: *** [rr62x.ko] Error 2
Re: [HOWTO] Highpoint RocketRAID 2640x4 Driver Install
ANY help out there?????????????
Re: [HOWTO] Highpoint RocketRAID 2640x4 Driver Install
Quote:
Originally Posted by
pals0007
The "make" command does not work for me, any ideas?
wisdom@Mint-Desktop /usr/local/src/rr62x-linux-src-v1.2/product/rr62x/linux $ sudo make install
make[1]: Entering directory `/usr/src/linux-headers-3.6.1-030601-generic'
CC [M] /usr/local/src/rr62x-linux-src-v1.2/product/rr62x/linux/.build/os_linux.o
CC [M] /usr/local/src/rr62x-linux-src-v1.2/product/rr62x/linux/.build/osm_linux.o
/usr/local/src/rr62x-linux-src-v1.2/product/rr62x/linux/.build/osm_linux.c: In function ‘scsicmd_buf_get’:
/usr/local/src/rr62x-linux-src-v1.2/product/rr62x/linux/.build/osm_linux.c:452:39: error: ‘KM_BIO_SRC_IRQ’ undeclared (first use in this function)
/usr/local/src/rr62x-linux-src-v1.2/product/rr62x/linux/.build/osm_linux.c:452:39: note: each undeclared identifier is reported only once for each function it appears in
/usr/local/src/rr62x-linux-src-v1.2/product/rr62x/linux/.build/osm_linux.c:452:2: error: too many arguments to function ‘kmap_atomic’
include/linux/highmem.h:66:21: note: declared here
/usr/local/src/rr62x-linux-src-v1.2/product/rr62x/linux/.build/osm_linux.c: In function ‘scsicmd_buf_put’:
/usr/local/src/rr62x-linux-src-v1.2/product/rr62x/linux/.build/osm_linux.c:482:55: error: macro "kunmap_atomic" passed 2 arguments, but takes just 1
/usr/local/src/rr62x-linux-src-v1.2/product/rr62x/linux/.build/osm_linux.c:482:2: error: ‘kunmap_atomic’ undeclared (first use in this function)
make[2]: *** [/usr/local/src/rr62x-linux-src-v1.2/product/rr62x/linux/.build/osm_linux.o] Error 1
make[1]: *** [_module_/usr/local/src/rr62x-linux-src-v1.2/product/rr62x/linux/.build] Error 2
make[1]: Leaving directory `/usr/src/linux-headers-3.6.1-030601-generic'
make: *** [rr62x.ko] Error 2
This problem arises with kernel 3.6, since the following patches are included:
https://lkml.org/lkml/2012/6/23/57
This makes the highpoint driver sources officially incompatible with kernel 3.6, so you can either downgrade to 3.5 and not ever upgrade until highpoint releases new drivers, or you can try to patch the highpoint drivers.
Edit: I succeeded in compiling the drivers, but they're the rr2340, not rr62x. What I did was look for calls to kmap_atomic and kunmap_atomic in the source code (under os_linux.c and osm_linux.c in my case), and removed their second argument (HPT_something). Then I deleted the #define lines referring to KM_BIO_SRC_IRQ (under osm_linux.h in my case), they weren't needed anymore. Then 'make install' and voilà. You can try the same technique on your side.
1 Attachment(s)
Re: [HOWTO] Highpoint RocketRAID 2640x4 Driver Install
The modifications described by ZoZo worked for rr62x.
Patch file attached.
NOTE: I've not rebooted onto this driver yet, so I can't confirm the driver functions, but it does compile cleanly.
Re: [HOWTO] Highpoint RocketRAID 2640x4 Driver Install
Quote:
Originally Posted by
linuxkidd
The modifications described by ZoZo worked for rr62x.
Patch file attached.
NOTE: I've not rebooted onto this driver yet, so I can't confirm the driver functions, but it does compile cleanly.
Linuxkidd,
Thanks for the patch, but I am new to all this, could you explain what I do with it now?
thanks
Re: [HOWTO] Highpoint RocketRAID 2640x4 Driver Install
Thank you very much for the patch. I applied the same logic to the rr232x codebase and everything seems to be working fine.
I am a hair's breadth from chucking rocketraid and just doing all software raid (would rather not pay for a new motherboard and migrate everything over). One of these days, their code is just going to no longer work, I'm afraid. I have 4 1.5 TB drives hanging off and probably a few in the closet formatted with their layer on top. Such is life.
Until that day comes... every kernel upgrade is is a nailbiter, especially the major ones.
Thanks again for the patch.
Re: [HOWTO] Highpoint RocketRAID 2640x4 Driver Install
Hey LK,
Thanks for helping me out before, worked like a charm, BUT, LOL
I upgraded the os, and it comes with 3.5 kernel. will the patch still work? secondly I tried the patch, I got no errors while patching the drivers but i do get an error on "sudo make install" the error i get is:
/bin/sh: 1: cannot create /usr/local/src/Highpoint: Is a directory
make: *** [/usr/local/src/Highpoint] Error 2
Would you know how to solve this? thanks in advance for any advice.
Re: [HOWTO] Highpoint RocketRAID 2640x4 Driver Install
OK after many F-ups and confusion here are the steps I used to get it installed, I hope this helps others.
#PREPARE SYSTEM
1. Verify the Card is recognized
2. Install the Build Tools
Code:
sudo apt-get install build-essential checkinstall
3. Build Version Management
Code:
sudo apt-get install cvs subversion git-core mercurial
4. Make a common build directory
Code:
sudo chown $USER /usr/local/src
5. Make the build directory writeable
Code:
sudo chmod u+rwx /usr/local/src
#APPLY PATCH FOR KERNALS 3.6 AND ABOVE
#OTHERWISE SKIP TO INSTALL DRIVER SECTION
1. tar -xzvf rr62x-linux-src-v1.2-120601-1355.tar.gz
2. cd rr62x-linux-src-v1.2
3. zcat ../rr62x-linux-src-v1.2.kernel-3.6.patch.gz | patch -p1
The patch will apply with output like the following:
patching file osm/linux/os_linux.c
patching file osm/linux/osm_linux.c
patching file osm/linux/osm_linux.h
Once this is done, the driver should compile like normal.
#INSTALL THE DRIVER
1. Go to "rr62x-linux-src-v1.2/product/rr62x/linux
2. Build Driver
3. Load Driver
Code:
sudo modprobe rr62x
4. Verify Driver is loaded
##FINISHED
Re: [HOWTO] Highpoint RocketRAID 2640x4 Driver Install
Thank you very much for this patch! Works on 272x too.