Linux: Dynamic Driver Binding
Linux is pretty awesome, but sometimes manufacturers and hardware can be a pill. On such instance are LSI Logic MegaRAID controllers. From Dell PERC to HP NetRAID to off the shelf stuff, these can be the bane of your existance.
Today I have the mispleasure of dealing with one that is partially/not-really supported.
- Locate the device PCI address, using lspci
- Use 'lspci -n' to locate the PCI Device ID. (Hint: The PCI Address remains the same.)
- echo 'XXXX:XXXX' into the 'new_id' node inside the proper sysfs pci/drivers driver directory.
livecd ~ # lspci ..... 01:02.0 0104 RAID bus controller: American Megatrends Inc. MegaRAID (rev 21) ..... livecd ~ # lspci -n ..... 01:02.0 101e:1960 ..... livecd ~ # echo "101e:1960" > /sys/bus/pci/drivers/megaraid_legacy
That pretty much covers it, the long hand it this: