G33M-S Motherboard Deliberately Crashes Linux?
By HUNG Chao-Kuei on Wednesday, July 30 2008, 11:06 - Permalink
It is no big deal to learn that some hardware does not support Linux. It is rather interesting to find that a product claiming not to support Linux actually does contain a piece of code in its BIOS which has some "bug" specifically targeting Linux.
(In response to TheAlmightyCthulhu's request, this is a (more updated) translation of the Chinese version 中文版).
* * * * *
This article appeared in linuxtoday.com: Foxconn Deliberately Sabotaging Their BIOS to Destroy Linux ACPI. TheAlmightyCthulhu found that the ACPI code in the BIOS of his Foxconn G33M-S motherboard crashes Linux when it tries to suspend.
That's no big deal. It could be a Linux bug, or it could be a BIOS bug. TheAlmightyCthulhu disassembled the BIOS, and found out that it has different patches of code for different operating systems. That's a lousy design from a technical point of view. ACPI is a standard. There is no need to distinguish between different OS'es. There should be just one patch of code that applies to all OS'es. Imagine you are the technology manager for this project. What's the most sensible way of going about this project? If Linux does not follow the standard, then just ignore it. The Linux market is too small. (If I want to make my company look friendly to the Linux community, or if I am simply nice, I would post a message to the Linux developer community to report this bug of Linux.) If Windows does not follow the standard... I cannot afford to ignore Windows. I have to write a patch of code specifically trying to work around Windows' bug. Then, if I have enough remaining resources, I would write a patch of standard-complying code to cater for all other good OS'es. In any case, it does not make any sense to laboriously cater to Linux's bug (which turned out not to exist -- it was Foxconn's BIOS that had a bug) and then tell the Linux customer who reported the problem, "Our product does not support Linux. Please use Vista". That simply makes no sense. In fact, if one lets Linux uses the patch of code that caters to Vista, then the bug disappeared. One simply cannot explain away this strange behaviour of Foxconn by saying that "they made a lousy technical design".
Eventually Carl Brunning of Foxconn helpfully solved the technical problems. He did not, however, explain the strange behaviour of Foxconn. Did they write their own piece of "lousy code"? Or did their partner give them this piece of "lousy code" and they were just too careless to check it before accepting it? Honestly, I hate to challenge President Guo (of Foxconn, who is one of the richest men in Taiwan). I want to believe that they were careless. I want to believe that there is some other company that has to explain this strange "bug". Give us a story, a sensible story that can really be explained by ordinary bugs, or by careless handling of code provided by your business partners. We humbly request a story, not any evidence. If the other company is willing to give us a mere story, we are ready to believe them. I am a programmer. I know there are surely bugs to be found in every program. Many bugs.
We have tried the viewpoint of Foxconn. Now let's investigate an alternative viewpoint, the conspiricy viewpoint. Failing to explain this incident with plain bugs, many people including me naturally ask, "Is Microsoft manipulating all this from behind?" Most people just remain asking. Post #159 phill0, however, found this document. In this e-mail that Bill Gates sent to his staff, he wondered how to "define the APIs so that they work well with NT and not the others", specifically Linux. This document comes from the site Slated Antitrust and was revealed in an antitrust suit.
Readers of this blog know that I am anti-Microsoft. I won't bother to cover my strong suspicion. Of course, all the above are just circumstantial evidences that build up our strong suspicions, that point away from the simple explanation by bugs. However, they do not constitute direct evidences of the conspiricy theory. Yes, we agree that "Never attribute to malice that which is adequately explained by stupidity."
There can be many interpretations to the unknown. It is wrong to assert one of them to be the only truth when all one has got is imagination. The responsibily of providing evidences is on the accusing side, not on the accused side, whether the accused is the president belonging to either party, a dead suspect, a government high official, Foxconn, or Microsoft. (Note: this sentence would make more sense in Taiwan's political context)
However, the accused has to provide a story, a reasonable story that makes sense, a story that "explains all this adequately by stupidity" or by something else. We don't ask Foxconn to give evidences of anything. All we ask for is a sensible story. By remaining silent about all these conspiracy accusations, Foxconn is admitting to the truth of these accusations. If you work for Foxconn and you know what happened, please just give us a story that fits common sense. Then we are ready to believe that this was just a misunderstanding.
Or that it is some other company, not Foxconn, that has to give a sensible story.
Comments
Thank you for translating this.
This morning Carl Brunning called me and gave me a believable story, when they give me a patch for the BIOS which they admit to at least being "defective", if not anything Microsoft has done.
This is a huge mess now, and stonewalling first, then smearing me later, and now working to put out a patch.....whatever.
I don't even know what to think anymore, they've been trying to go off in twenty directions at once to confuse I believe, but I have been getting an insane amount of traffic on my site and will continue giving my honest view of the situation.
Indeed it's very confusing. Let me summarize what I found from a few hours of reading.
p.s. It's very interesting and intriguing to see "saaya" discrediting TheAlmightyCthulhu in the second thread, TheAlmightyCthulhu getting outraged, and Heart Zhang and Carl Brunning (the helpful guys from Foxconn) discreting saaya according to TheAlmightyCthulhu's July posts.
http://ubuntuforums.org/showthread....
Thanks for the update. To summarize, most of the technical problems are solved. The BIOS was largely responsible for the major bugs, but there were also annoyances caused by Linux kernel bugs. The Ubuntu community appreciate the efforts shown by Foxconn, and many people express their gratitude towards these two nice guys from Foxconn.
But please forgive my obsession about the conspiracy theory: Foxconn is all the same silent about how that incorrect table targeting Linux got into the BIOS in the first place. Why is it left uncorrected even after all these exchanges? Is there some contract that prevents it from being modified? (Even though now it has no effect on Linux) Some clues point to the upstream BIOS makers. I feel sorry for Foxconn: it's no big deal to spend resources to fix the problems; it seems that Foxconn is the outermost firewall that has to take all the criticisms, and yet it is not allowed to say anything about who caused all these troubles. But I should stop here or esle I would be basing my opinions on no further evidences. Hope that more of the truth will be revealed when the next innocent firewall is broken.
This post's comments feed