Should we really support _THAT_ hardware?

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."

Are you sure that it isn't the case that the PCI bridge chip is a third-party chip that multiple companies are buying and using? Or maybe a PCI core they are integrating into their custom chip. I saw this problem at a company I used to work at that did HW DVD decode - they changed decoder chips but, did not change the PCI bridge chip. Lots of support calls were generated for that one.

Posted by PatrickG on April 13, 2005 at 08:12 PM GMT+00:00 #

I don't think that a large company which releases a broken product deserves or needs a "name withheld to protect the silly". If people pay money for a piece of hardware, they have a reasonable right to know whether it actually implements the standards it claims to. I don't wan't to force the issue, but folks who search for "mandrake kill cdrom" on The Obvious Search Engine will find some more info.

The big goal for Solaris x86 driver support should be to cover:
- the common OEM hardware shipped by the Tier 1 vendors, who hopefully don't cut too many corners because unstable hardware == support calls == no profit. This gets you a base of decent priced machines for office environments.
- hardware that gets built into Tier 2 beige boxes targeted towards enthusiasts and performance freaks, because that way you'll make developers want to use Solaris x86 as a desktop OS. [HINT: Ethernet support for the most common AMD64 chipset would be a good start! And what about supporting 3D acceleration for the Quadro cards that get shipped in Sun's own Opteron boxes?]

You should actively AVOID writing drivers for the kind of hardware that ends up in Tier 2 beige boxes targeted at the "value" end of the market. I won't name vendors because this is a matter of my opinion, but a scan of the Linux config entries for "workaround this vendor's buggy IDE driver" will give some hints. Fortunately some of these companies are defunct now. Writing drivers for crappy hardware is just working against Mr Darwin.

Posted by Jason Ozolins on April 13, 2005 at 08:49 PM GMT+00:00 #

Yup, I totally agree with Jason on what should be supported in Solaris 10 an beyond. A good milestone will be all onboard components on M/B from major manufacturers (to name a few, ASUS/GigaByte/MSI) working with Solaris x86/x64 out-of-box. That would be great By the way, speaking of SATA, I am not aware of that Solaris 10 supports SATA in native mode, I believe SATA controllers still have to be set in parallel emulation mode to work under Solaris 10.

Posted by Ivan Wang on April 13, 2005 at 10:36 PM GMT+00:00 #

Thanks for the comments. PatrickG, it could be what you describe. Vendor Q might be a customized Vendor X chip (with a Q sticker on the top ;-), but vendor Z is a completely different chipset with radically different functionality. An imposter. I agree with Jason and Ivan that Sun should focus more effort on its own products and tier 1 X86 hardware rather than trying to compete for the lowest common denominator. Ivan, I am aware of at least one SATA chipset which works native (though non-RAID) on Solaris 10 but not on any popular RedHat or SuSE distributions based on the 2.4 kernel.

Posted by bnitz on April 14, 2005 at 03:51 AM GMT+00:00 #

Post a Comment:
  • HTML Syntax: NOT allowed



« April 2014