Several weeks ago I bought this Adaptec 39160 64-bit PCI SCSI HBA in order to experiment with different HBAs:
The motivation was that although I’ve been a happy user of LSI HBAs (SCSI and SAS, PCI and PCIe) based on the MPT Fusion architecture, the Linux driver for the LSI SCSI HBAs is dumb, broken, or buggy, and ignores certain firmware settings. I have several older SCSI drives (early 1990s) which badly fail if the host tries to negotiate wide and/or fast transfers; the drive in some cases resets but usually hangs and must be power cycled.
All that can be avoided if the LSI HBA is set up to not use wide transfers and not negotiate fast transfers for the given SCSI ID. That works well with the LSI HBAs at POST time, but the Linux driver then just ignores the firmware settings and hangs the drive anyway—unlike the LSI Windows driver. So far I have not found any way to convince the Linux kernel drivers not to do that, and after perusing the source code I’m pretty sure there isn’t.
At any rate, I wanted to try an Adaptec SCSI HBA to check if it has the same problem in Linux (spoiler: it doesn’t) and ordered the 39160 pictured above off eBay. This is a nice dual channel HBA and (for an U160 SCSI controller) somewhat unusual for having both 68-pin and 50-pin connectors on the first channel; that feature looked useful.
The HBA I ordered was sold as new and at 10.50 Euro, it was a bargain. It arrived very promptly, in an original-looking Adaptec box, sealed in an anti-stat bag, and included a printed installation brochure as well as a driver CD.
The adapter works fine, and although it exhibits this extremely annoying error in my Intel Stormville board, I have no reason to think that this particular specimen is defective, especially given that the error does not show up on a Supermicro X7DWN+ board.
Whenever I get a new piece of hardware, I like to have a close look at it simply out of curiosity. When it was made? What chips were used? That’s when I noticed that the HBA just does not look like new.
Continue reading