Should we really support _THAT_ hardware?
Wednesday Apr 13, 2005
You're better off not knowing how laws and sausages are made... and certain P.C. hardware. For a good part of my career, I've used Sun, DEC and SGI hardware at work and Apples/Amigas at home so I avoided some of the hardware mess in the P.C. world. I didn't pay much attention when my brother told me to look for a good audio card. It's a DAC for goodness sake, any grade school kid can put together a reasonably good sounding 8 bit audio frequency DAC. Well, my brother was right, quite a few of the sound cards out there were terrible. I don't know how they made them sound so bad. When Linux moved to the 2.6 kernel, someone noticed that a certain manufacturer's CDROM drives were ceasing to function. It seems that the vendor (name witheld to protect the silly), decided to implement a standard "reset bus" command as "upload firmware." Somehow they hacked/kludged MS Windows to never reset bus when this device was installed because this basic bus command would make the drive permanently non functional. More recently I encountered a vendor who used another vendor's PCI vendor code in one of their popular devices. Most linux kernels kludge around this by saying "if Vendor=X AND Device=Y then run code for vendor Z's (the imposter's) Device." This worked O.K. because the true vendor X never used device code Y. Unfortunately, vendor Q recently decided to use Vendor X's vendor code and exactly the same device code as vendor Z. So the Kernel has no way of knowing which of these devices is plugged into the PCI bus. The vendor supplies a "driver" disk which kludges Windows to do the right thing but if anyone ever plugs one of these devices and it's doppelganger into the PCI bus, there is no way any O.S. can sort out what goes where.
Solaris 10 is making great strides in X86 hardware support and in some cases (SATA) is beyond the most popular enterprise linux distributions. My question is, will Solaris X86 have to support the even the most broken "Wintel" hardware in order to gain market share, or do enterprise customers understand the importance of reliable standards-complient hardware?
Correction: The command which the CD drive manufacturer implemented as "UPLOAD FIRMWARE" was "FLUSH CACHE", not "Reset Bus."










