[en] Solution to SIL3124-2 „no valid device”

SIL3124 is a PCI (as in old PCI, not PCI express) SATA-II controller which I had to buy because my NAS’ old Gigabyte motherboard supports (downspeeded) SATA-II drives only to 750GB size. Of course I got to know this AFTER buying 1,5TB drive 😉

Anyway, it’s always uphill and even though SIL3124 card sees the drive and I’ve installed Ubuntu Server with no problems to it, I couldn’t boot the card. It kept saying „no valid device”. Turns out it has a RAID-only BIOS by default so if someone – like me – wants to use it as an JBOD (Just a Bunch Of Disks) controller, BIOS upgrade is needed. How user friendly not to mention it in a – Czech-language – manual.

Of course, being mainly a Linux user with no CD- or DVD-drive, I have it even more uphill. BIOS flashing tools are available for Windows and DOS. Soooo the solution is:

  1. Use HP USB Disk Storage Format Tool to create bootable DOS pendrive, here’s Polish language tutorial: http://forum.purepc.pl/Dyski-twarde-cdromy-dvd-pendrive-inne-pamieci-f55/Boot-Pendrive-t254005.html if You don’t speak Polish, just google „boot pendrive dos”, in the tutorial is a link to Win98 boot files You might use.
  2. Download UPDFLASH and the newest BIOS zip from http://www.siliconimage.com/support
  3. The zip file has more than one BIOS inside, read the README and see which one is „IDE” BIOS or „non-RAID” BIOS. Copy the file together with UPDFLASH to the pendrive.
  4. Boot the PC with the PCI SATA Controller from the pendrive.
  5. Run „updflash biosfile.bin”
  6. If you don’t have a UPS, pray to Atheist’s God(TM) that there’s no blackout during flashing process.
  7. Use motherboard’s (not SATA controller’s) BIOS to set Hard Drive as first boot priority, make sure there’s „Bootable Add-In Cards” enabled somewhere.
  8. Reset and enjoy bootable large drives.

Note: Drive’s UUIDs change because of that so it’s best to do it BEFORE installing Ubuntu, otherwise You get a maintanance console.