Highpoint RocketRaid 1640 on Debian/Linux
Posted: Wed May 17, 2006 5:00 pm
[Problems]
I was trying to get a HP RR 1640 to run with SuSE and Debian, and failed on both in the beginning. The behaviour was weird overall, from not detecting any disks to detecting one disk or nothing....
Then, when trying to compile the driver from the HP homepage, i ran into another error, when it would not find a .h file in the kernel source directory.
When i finally made it to get the module (hpt374.o) to compile, on insmod i got timeouts on all sd* devices (sda,sdb...) after it was checking the Partition tables. The driver loaded (with warnings), but did disable the drives.
[Solutions]
1. The driver
You can download a driver from the Highpoint homepage. It is known to work with 2.4 kernels, but should also work for 2.6
To build this module, you must compile it with the kernel source (if you never built a kernel before, install the source package for the kernel your distro is using, and find out where they are stored). If you do this without ever doing a 'make config' (or 'make menuconfig', ...) before, it will miss some .h files, and the compile will fail.
Follow the readme of the driver from HP, and you should be able to get this module compiled. It's name will be hpt374.o
2. Make sure your Kernel has no other HP driver compiled into it. The readme of the driver package from the HP homepage also states exactly which drivers must not be in the kernel in order for the module to work. If you ignore this, it might result in two drivers claiming one device, and one will lose ...
3. When i insmodded the driver the first time, it would load and try to assign the disks to /dev/sd*, but failed with timeouts and busresets. It took me a while to find out why...
In the BIOS of this Motherboard, you had to set the Boot Sequence for the Controllers (not the boot sequence for devices) to 'SCSI/IDE', instead of 'IDE/SCSI". If this setting is wrong, the IDE controllers will initialize, but the SATA HP Controller won't (whyever..).
The insmod of the driver module will fail if you don't see the HP RR 1640 Bios searching for attached disks on bootup. Once you see the controller finding its stuff, and your system boots normaly, you should be able to insmod the compiled module. It should whine (if the disks are new) that it can't read the partition table, but that is no problem for those who can use 'fdisk', 'cfdisk', or any other partitioner. The disks will be emulated SCSI Devices, so they will be assigned to /dev/sd(n).
Partition, Format, have fun using it. Dont forget, if you want to set up Mirroring, Striping, JBOD, or anything alike - you have to do that first in the Controller BIOS in setup. A RAID set will, depending on what kind, show up as one SCSI device.
I was trying to get a HP RR 1640 to run with SuSE and Debian, and failed on both in the beginning. The behaviour was weird overall, from not detecting any disks to detecting one disk or nothing....
Then, when trying to compile the driver from the HP homepage, i ran into another error, when it would not find a .h file in the kernel source directory.
When i finally made it to get the module (hpt374.o) to compile, on insmod i got timeouts on all sd* devices (sda,sdb...) after it was checking the Partition tables. The driver loaded (with warnings), but did disable the drives.
[Solutions]
1. The driver
You can download a driver from the Highpoint homepage. It is known to work with 2.4 kernels, but should also work for 2.6
To build this module, you must compile it with the kernel source (if you never built a kernel before, install the source package for the kernel your distro is using, and find out where they are stored). If you do this without ever doing a 'make config' (or 'make menuconfig', ...) before, it will miss some .h files, and the compile will fail.
Follow the readme of the driver from HP, and you should be able to get this module compiled. It's name will be hpt374.o
2. Make sure your Kernel has no other HP driver compiled into it. The readme of the driver package from the HP homepage also states exactly which drivers must not be in the kernel in order for the module to work. If you ignore this, it might result in two drivers claiming one device, and one will lose ...
3. When i insmodded the driver the first time, it would load and try to assign the disks to /dev/sd*, but failed with timeouts and busresets. It took me a while to find out why...
In the BIOS of this Motherboard, you had to set the Boot Sequence for the Controllers (not the boot sequence for devices) to 'SCSI/IDE', instead of 'IDE/SCSI". If this setting is wrong, the IDE controllers will initialize, but the SATA HP Controller won't (whyever..).
The insmod of the driver module will fail if you don't see the HP RR 1640 Bios searching for attached disks on bootup. Once you see the controller finding its stuff, and your system boots normaly, you should be able to insmod the compiled module. It should whine (if the disks are new) that it can't read the partition table, but that is no problem for those who can use 'fdisk', 'cfdisk', or any other partitioner. The disks will be emulated SCSI Devices, so they will be assigned to /dev/sd(n).
Partition, Format, have fun using it. Dont forget, if you want to set up Mirroring, Striping, JBOD, or anything alike - you have to do that first in the Controller BIOS in setup. A RAID set will, depending on what kind, show up as one SCSI device.