ring0 » blog

Highpoint rr272x driver on a cutting-edge system

tags: highpoint, rr272x, debian, linux, kernel, udev 2010-07-25 14:34 by sre

I had lots of fun with my server the last days. Apart from broken memory, a mainboard with weird behaviour and defect SATA cables I tried to use my RocketRaid 2720. There is currently no support for this piece of hardware in the mainline kernel (PCI device ID: [1103:2720]), even though there is an ‘mvsas’ driver, which is supposed to support the chip used by the rr272x series.

But one can download an ‘Open Source’ driver from Highpoint’s webpage and precompiled kernel modules for Debian’s 2.6.26 kernel. FYI even using their precompiled module with Debian stable and 2.6.26 kernel I got lots of problems, which are inherited to the updated system. I will talk about these in another blog entry.

After trying the precompiled kernel module I tried their ‘Open Source’ driver. First of all: it’s not Open Source. There is some sourcecode, which builds some code using their *.o precompiled blob. This is the same as the NVIDIA driver and definitively not Open Source. Next I tried to use the compiled kernel module under Debian squeeze with 2.6.32 and the result was a nice kernel crash once a disk is connected. After hours of testing I figured out, that it’s not a problem of the updated kernel, but a problem of the updated udev.

One can use the driver running even 2.6.34 as long as one uses the udev from Debian stable (125). There is one drawback though: /proc/scsi/rr272x_1x is not created by the driver then (so the CLI is not working).

The problem is: new software (e.g. cryptsetup from testing) depends on libudev0, which does not exist in Debian stable. The libudev0 from Debian squeeze depends on udev 158, so one can’t install it from there either. I ended up using udev from Debian stable and libudev0 from Debian unstable. The remaining system is a normal Debian testing (squeeze). I suggest to add a Pin for udev to apt’s preferences:

$ cat /etc/apt/preferences

Package: udev
Pin: release a=stable
Pin-Priority: 1000

I reported this to HighPoint using their WebSupport as #4659. So far I got told, that there are more users with the problems (what a coincidence…) and that they notified their engineering team.