Today I’ve discovered that the very common Symbios 22801 (aka Symbios Logic 53c875) SCSI controller is (unexpectedly) failing to be recognized by Solaris 10 on x64 hardware. In fact I was in the middle of the upgrade of my home backup infrastructure from an old DLT 20/40 to a newer DLT 40/80 to be connected to a Symbios card inside my Solaris box. Unfortunately after the reboot, the new card was unseen.
After some research on google I was able to find out that:
- The ncrs driver is not shipped with x64 kernel (yet it is for 32 bit version)
- The default alias for PCI device 1000:000f (the Sym22801 card) is ncrs
- Another driver which supports the 53c875 controller, called glm, is shipped with Solaris 10 and available for both 32 and 64bit versions
So, it is enough to point the 1000:000f alias to the glm driver, instead of ncrs, to have the controller recognized. That can be easily accomplished changing the following entry in /etc/driver_aliases:
ncrs "pci1000,f"
to
glm "pci1000,f"
After that it is enough to reboot Solaris with device reconfiguration turned on (touch /reconfigure
before rebooting) and check that the controller is recognized (prtconf
or cfgadm -al
can be used for that).
Update: I had again the same issue with an LSI Logic 53C1010-66 Ultra160 SCSI dual HBA. In this case the missing driver is symhisl, whereas the line to tweak in /etc/driver_aliases is:
symhisl "pci1000,21"
to
glm "pci1000,21"