Stories
Slash Boxes
Comments

News for nerds, stuff that matters

Slashdot Log In

Log In

Create Account  |  Retrieve Password

Foxconn Releases Test BIOS Fixing Linux Crashes

Posted by kdawson on Sat Aug 02, 2008 01:52 PM
from the happy-ending-group-hug dept.
Ryan1984 writes "Only a week after the bad press coverage regarding the Linux-related bugs in a number of motherboards released by Foxconn (which turned out to be the AMI BIOS that several board makers use), Foxconn is the first vendor out with a publicly released test patch that fixes the bulk of the problems, allowing kernel 2.6.26 to run well on the afflicted boards. The remaining issues appear to either be kernel bugs in builds earlier than 2.6.26, issues with the Intel chipset itself, or minor annoyances that Foxconn is still working to resolve. Foxconn representative Heart Zhang has posted on the Ubuntu forums (where the situation began), apologizing for the issues, thanking Foxconn customers and the community at-large for their feedback, and promising that Foxconn will take Linux support and testing seriously, going forward."
+ -
story

Related Stories

[+] Linux: MoBo Manufacturer Foxconn Refuses To Support Linux 696 comments
Noodlenose notes a thread up on the Ubuntu forums, where a user is questioning the practices of hardware manufacturer Foxconn. The user describes how his new Foxconn motherboard caused his Linux install to freeze and fire off weird kernel errors. He disassembles the BIOS and concludes that a faulty DSDT table is responsible for the errors. Even though the user makes Foxconn aware of the problem, they refuse to correct it, as 'it doesn't support Linux' and is only 'Microsoft certified.' The user speculates darkly on Foxconn's motives. Read the forum, read the code, and come to your own conclusions. "I disassembled my BIOS to have a look around, and while I won't post the results here, I'll tell you what I did find. They have several different tables, a group for Windows XP and Vista, a group for 2000, a group for NT, Me, 95, 98, etc. that just errors out, and one for LINUX. The one for Linux points to a badly written table that does not correspond to the board's ACPI implementation.' The worst part is Foxconn's insistence that the product is ACPI compliant because their tables passed to Windows work, and that Microsoft gave the the magic WHQL certification."
This discussion has been archived. No new comments can be posted.
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
 Full
 Abbreviated
 Hidden
More
Loading... please wait.
  • But... (Score:5, Funny)

    by Enderandrew (866215) <enderandrew@@@gmail...com> on Saturday August 02 2008, @01:55PM (#24449171) Homepage Journal

    Will it run Linux?

    Seriously, kudos to them for taking ownership and addressing this so quickly. I've seen some vendors ignore hardware issues if they hear the world Linux.

  • by VirusEqualsVeryYes (981719) on Saturday August 02 2008, @01:56PM (#24449177)

    Wait, Slashdot told me that Foxconn was in the hole for Microsoft, purposely sabotaging Linux so Windows can live on! But now they're releasing a fix? That's not sabotage!

    Help me out here, Slashdot!

    • by Enderandrew (866215) <enderandrew@@@gmail...com> on Saturday August 02 2008, @02:05PM (#24449291) Homepage Journal

      This is very clever sabotage. Now Foxconn is trying to convince Linux users that we should rush out and buy from them.

      Once we build all our rigs with Foxconn motherboards, they trigger the new dormant BIOS bug that destroys all Linux systems.

      The only way to repair the BIOS at that point will be a patch that can only be installed from Microsoft BOB, and will come shipped in a shrink-wrapped CD case that can only be opened by throwing a chair at it.

    • by SanityInAnarchy (655584) <ninja@slaphack.com> on Saturday August 02 2008, @02:07PM (#24449311) Journal

      Wait, Slashdot told me that Foxconn was in the hole for Microsoft, purposely sabotaging Linux so Windows can live on! But now they're releasing a fix?

      Finish reading the summary:

      (which turned out to be the AMI BIOS that several board makers use)

      {"TinfoilHat":"
      It looks like the AMI BIOS manufacturer is the one who's really purposely sabotaging Linux.
      "} // I've had it with XML jokes -- this one's JSON. [json.org]

    • by StormReaver (59959) on Saturday August 02 2008, @02:23PM (#24449443)

      "But now they're releasing a fix? That's not sabotage!"

      Foxconn got caught and was called front-and-center over it. The evidence is overwhelmingly against them (the sabotage is plainly visible in their own code), so they realize the jig is up. The only rational response, after all the denials failed, is to provide a fix and hope the exposure fades away.

      The sabotage doesn't necessarily have to be an explicit agreement between Foxconn and Microsoft, but it was certainly intentional on Foxconn's part. The code that said, essentially, "If Windows, do things right; if Linux, do things wrong" was not an accident. The question of who at Foxconn made the decision to perform the sabotage may never be known, but it was done consciously by someone at Foxconn (for whatever reason).

        • by SpaceLifeForm (228190) on Saturday August 02 2008, @04:45PM (#24450529)
          for that which can be explained by incompetence.

          It wasn't just that the table was wrong, there was specific code in the BIOS to point to a a bad table.

          This phrase, 'Never ascribe to malice, that which can be explained by incompetence', is absolutely a darkside distraction.

          You've heard it so much over the years, that you start to believe it.

          It's a *great* cover for darkside machinations.

          Incompetence definitely exists, but to let yourself be deluded into thinking that bad things are due to incompetence is to show your own incompetence as a sentient lifeform.

          Assume malice first, and search for proof of incompetence.

          In this case, specific code was in the BIOS that was malicious.

        • Ironically, considering the lack of fragmentation of the FreeBSD platform, as well as the less restrictive BSD license, I'd imagine FreeBSD would be better suited towards commercial support/drivers. (And, on a more subjective note, its userbase and leadership - less feverish than Linux's and a fair bit more pragmatic - might mesh better with the business world's expectations.)

  • Good sign (Score:5, Insightful)

    by Keyper7 (1160079) on Saturday August 02 2008, @02:11PM (#24449343)

    This whole soap opera, which probably had more to do with copy and paste laziness than conspiracy theories, blew up out of proportions and gave Foxconn a lot of reasons to believe that Linux users are crazy zealots. Yes, I know that the users who actually harassed Foxconn with "OMG microsoft payed you!!!" emails are just a small part of the Linux userbase, but I'd kinda understand if Foxconn took Linux less seriously after that.

    The fact that they're now going as far as writing about the patch in the Ubuntu Forums shows that they consider the Linux userbase large and important enough to be worried about the bad press, even though most of the "bad press" was grossly exaggerated. Not-so-many years ago, a company could dismiss the complaints as "nonsense zealotry" with no worries and no financial negative impact whatsoever. Foxcoon seems to believe that this is not the case now.

    So, from a "relevance of Linux nowadays" point of view, I consider this to be a very good sign.

    • Re:Good sign (Score:5, Interesting)

      by ratboy666 (104074) <fred_weigel@hot m a i l .com> on Saturday August 02 2008, @02:44PM (#24449657) Homepage Journal

      So, you think it would have been fixed if there had not been angry, almost rabid, users? You know, the ones you refer to as "crazy zealots"?

      I don't believe so. I believe the issue would have been ignored, and Linux would have been patched in some obscene manner to "work around" the issue. Giving a bad reputation to Linux; "it doesn't work -- what kind of fucking shit is THIS?". Hurting the reputations of many developers.

      Sometimes, the only sane response is to be angry and rabid.

      Was it a bug? Was it deliberate? Who knows. That debate is still open. What IS important is that there is at least ONE open source OS with the clout to keep vendors honest.

  • Complaining works (Score:5, Insightful)

    by Sir Homer (549339) on Saturday August 02 2008, @02:16PM (#24449371)
    I've said this before about ATI: When you get a bunch of angry people together and complain about a product, you typically get the results you want.

    No company wants to look bad, even to a minority of people. Because it often only takes a minority of people to completely trash a companies reputation, especially in such a competitive market like motherboards.

    So if you know of any other manufacturers who have poor Linux support, don't be scared to send them a letter about it and to tell other people who use Linux about your problems with the manufacturer. You might end up afflicting positive change in the long run.
  • give them credit (Score:5, Insightful)

    by ocularDeathRay (760450) on Saturday August 02 2008, @02:33PM (#24449521) Journal
    these guys really didn't have to EVER fix this, much less a week later. if all hardware manufacturers were this responsive the world of technology would be a better place.
  • by Anonymous Coward on Saturday August 02 2008, @02:36PM (#24449557)
    Slashdot is essentially being trolled by Ryan1984, who is on a one-man crusade, convinced of wrongdoing that probably never took place.

    Foxconn is probably just doing this to avoid negative publicity, despite the fact that BIOSes shouldn't be running any code specific to Linux, due to specific decisions by the kernel developers.

    Quoting from an actual kernel developer: [livejournal.com]

    In any case, it's highly unlikely that this is any attempt by Foxconn to prevent Linux from working. The majority of checks for Linux in ACPI tables are copy and pasted from reference tables that Intel (and other manufacturers) have provided at various points - even the Intel Macs attempt to check for Linux! Most vendors will never attempt to boot Linux on their boards or validate them appropriately, so it's entirely conceivable that they'll end up screwing things up in such a way that the only tested paths are the ones that are run by Windows. This is why we now attempt to ensure that Linux reports itself as Windows. If we're running Linux-specific code in the DSDT, then that's a bug in Linux.

    Anyway. Accusing companies of conspiring against us when the most likely explanation is simply that they don't care is a fucking ridiculous thing to do and does nothing to get rid of the impression that Linux users are a bunch of whining childish hatemongers. Next time, try talking to someone who actually understands this stuff first?

  • by Erikderzweite (1146485) on Saturday August 02 2008, @03:01PM (#24449855)
    Well, as most linux users are tech-savy, they are often being asked advice by less tech-savy people e.g.

    -- What do you think about this PC? Shall I buy it?
    *looks through the specs*
    Foxconn Mobo? Utter trash! Don't buy it!

    I do think that linux users are not many, but we are influential for sure.
  • by SalesEngineer (640818) on Saturday August 02 2008, @03:06PM (#24449893)
    Ryan1984's post makes it sound like a generic AMI BIOS problem with Linux ... I don't think this is the case. AMIBIOS runs well on Linux generically (it's on Sun Microsystems servers, the Asus EeePC & EeeBox, which all work with Linux) so this is probably Foxconn introducing a problem when they ported the BIOS to their boards. Board manufacturers like Foxconn get a development kit from the BIOS manufacturer then port it to their platform. If Foxconn made a BIOS fix for Windows then didn't test it with Linux, this would cause the issue. A similar situation would be if a company made a variation of a Linux distro for their products but broke somethign that worked generically in the original distro. I think the community response worked great for getting Foxconn to pay attention to Linux. They saw their business & reputation threatened and are trying to fix the problem.
    • by Anonymous Coward on Saturday August 02 2008, @07:02PM (#24451377)
      That's right -- and AMI makes their money by intentionally NOT taking fixes from their customers and integrating them into their core (so that when problems crop up, they can offer their "services" to help fix them) -- it's like pulling teeth getting them to take a fix upstream, believe me. AMI sucks just as much as any other BIOS vendor.
  • AARD (Score:5, Interesting)

    by paradigm82 (959074) on Saturday August 02 2008, @06:55PM (#24451341)
    I'm surprised noone is comparing this saga to the AARD scandal that ultimately resulted in Microsoft having to pay a settlement to Caldera. you can read about it here http://en.wikipedia.org/wiki/AARD_code [wikipedia.org] but the case was about encrypted & obfuscated code inserted in Windows 3.1 to detect DR-DOS and preventing Windows from running on it. Internal Microsoft memos revealed the intention of the code: At one point, Microsoft CEO Bill Gates sent a memo to a number of employees, reading "You never sent me a response on the question of what things an app would do that would make it run with MSDOS and not run with DR-DOS. Is there [sic] feature they have that might get in our way?"[1] Microsoft Senior Vice President Brad Silverberg later sent another memo, reading "What the [user] is supposed to do is feel uncomfortable, and when he has bugs, suspect that the problem is DR-DOS and then go out to buy MS-DOS"[1] Later, after DR-DOS had been purchased by Novell and renamed "Novell DOS", Co-President Jim Allchin stated in a memo, "If you're going to kill someone there isn't much reason to get all worked up about it and angry. Any discussions beforehand are a waste of time. We need to smile at Novell while we pull the trigger."[1] The lawsuit was later settled.[1][2] Compare this to: "One thing I find myself about is whether we shouldn't try and make the "ACPI" extensions somehow Windows specific. If seems unfortunate if we do this work and get our partners to do the work and the result is that Linux works great without having to do the work. Maybe there is no way Io avoid this problem but it does bother me. Maybe we couid define the APIs so that they work well with NT and not the others even if they are open. Or maybe we could patent something relaled to this." In both cases it was Bill Himself that suggested to employees that they threw a wrench into something to prevent competing o/s'es from interoperating properly. Many of you probably know about the AARD scandal for I wanted to post this for those who don't :)
    • Theyre fixing it (Score:5, Informative)

      by symbolset (646467) on Saturday August 02 2008, @02:20PM (#24449407) Journal

      Quotes from the article:

      I hope you guys can get the good result that you really want. But that is only a debug version BIOS which focus on this issue, later we will release Production BIOS for it ASAP. Not only on this motherboard, but also on all the other motherboards which got the same issue.

      So not just in this one high publicity case, but on all of their motherboards.

      And also as our plan, we will take more time on Linux OS testing. And I am sure Linux is becoming more popular and great OS.

      I would say you got what you want here. Time will tell.

      If possible, you can inform this message to any people as many as you can.

      I'd say they got this one done too. That's pretty public.

      Yes, it's lame that it was broken but now it's fixed. One week is pretty quick for a BIOS revision spin. Maybe it's OK to cut them some slack on this one now.

        • Re:Theyre fixing it (Score:5, Informative)

          by SalesEngineer (640818) on Saturday August 02 2008, @03:14PM (#24449957)
          ACPI has a method (equivalent to a function in other programming languages) called "_OSI" which allows the ACPI code to know which OS is running. It's a documented ACPI call in the ACPI 2.0 spec. BIOS manufacturers tend not to use the call, because their goal is to support any OS. Sometimes board manufacturers use it to make small tweaks to ACPI handling between different operating systems, since each one acts a little different. If Foxconn made a fix that was only invoked when Windows was running and didn't bother to test the code on a non-Windows OS (Linux, BSD, ...) then there's your bug. A programmer creates a "if" clause based on the _OSI return value, but forgets to make an corresponding "else" clause. One mentality in the Linux kernel developer community is to "pretend to be Windows", trying to guarantee that these workarounds get executed. If the Linux & Windows kernels worked the same way, this would be a wise move ... but we know they don't (otherwise _OSI would not exist). The right thing to do is what happened in this case ... report bugs back to the manufacturer, stop buying their products if they don't fix it.
            • Re:Theyre fixing it (Score:5, Interesting)

              by hedwards (940851) on Saturday August 02 2008, @04:15PM (#24450345)

              I believe we have that, it's called ACPI. And if motherboard manufacturers are having a hard time properly coding things due to the spec, the spec needs to be fixed. If they're being lazy about it, then people should avoid buying their products.

              But what really needs to happen is for MS to stop accepting broken implementations. I don't know for sure, but I'm sure that the broken ACPI implementations are a headache for those writing the parts of Windows that have to interact or take results from the ACPI, requiring a proper adherence would make it less of a headache for everybody.

          • by sumdumass (711423) on Saturday August 02 2008, @03:30PM (#24450053) Journal

            They didn't actually do anything dirty, they simply didn't do anything.

            The problem is that the ACPI tables are handled according to the operating system installed and when the BIOS checked that linux was in use, it provided a null table. This is not because they purposely broke something, but because they failed to check the bios and follow through on it.

            Evidently, and this is mostly my opinion, FoxxCon had no idea how much of a market Linux actually has or appears to have and took others at their word that it is too small to worry about. So they took a stock bios, made a few tweaks for the markets they thought would drive their sales and neglected to do anything about Linux. After they saw the response, they quickly and painstakingly got a workaround out and reversed their position because of the potential market size.

            I over simplified the process there, there is a post obove this that goes into a good amount of detail. But it is more that they did nothing then that they did something dirty.

        • by capnkr (1153623) on Saturday August 02 2008, @03:13PM (#24449951)
          Willy - Take a look at what the original poster at Ubuntu forums said:

          Ubuntu forum thread [ubuntuforums.org]. Starts at post #114.

          If he is correct in what he writes, then it doesn't seem much like speculation.

          Perhaps if someone else has linkage to a sound refutation of his claims, it would be a good thing to post here. I've seen comments that TheAlmightyCthulu's claims were 'debunked', but the comments didn't say where, or have links.
    • by bcrowell (177657) on Saturday August 02 2008, @03:33PM (#24450081) Homepage

      Perhaps instead of malice or stupidity, it was simply "taking care of the biggest customer pool first."

      Yeah. This also seems to be an example of a more general phenomenon with Linux support, which is that the same company will make completely contradictory statements about their own Linux support. In the earlier slashdot story [slashdot.org], someone from Foxconn is directly quoted as saying 'it doesn't support Linux;' now they say they always intended to support Linux. The truth is probably that they never even thought about Linux support, and then when the issue was brought to their attention random representatives started saying random things off the cuff.

      I've had a similar experience with Amazon's MP3 store. If you want to buy entire albums (as opposed to individual tracks), you have to use special downloading software that they supply. The software was initially only available in Windows and Mac versions, but pretty quickly they brought out Linux versions as well. Nowadays when you use your Linux box to shop for albumbs on their site, if you don't have the software installed your browser will detect that, and detect your OS as linux, and they'll generate a page for you offering links to download a linux version of the downloader. In fact, they even have it available in multiple versions for different linux distros. However, the linux downloader has been pretty buggy for me (and was also hard to get working properly on x64). I've had it working, then it broke, etc. I've done two calls to Amazon's tech support about this, and in both cases, the initial reaction was to tell me to do a bunch of stuff (with the usual confusion because the Indian tech support person gives Windows+IE instructions, and has never heard of Linux), and then when that didn't help they checked with someone else, who told them Linux wasn't supported. Never mind that they've had Linux versions of the software up on the site for months now.

      I think part of the problem is that so many people in the hardware and software industries live in a 100%-Windows environment. It honestly never even occurs to them that anyone is running any other OS. (In the case of Foxconn, they're not making mac-compatible boards, so it's probably true that 99% of their boards are being used with Windows.) Then when the issue comes up, they just deal with it off the cuff. It's like asking them what their policy is on recycling cardboard -- they probably don't have one, and they don't see why it's important.

      Another problem may be that in a Windows monoculture environment, many people don't understand what a standard really is. They think Windows and Word and IE are standards. Instead of developing for the relevant standard, some PHB makes the decision that they're going to target something proprietary, calling that a "standard," and they think of it as extra work to add support for anything else -- when in fact, it would have made more sense just to support the standard properly in the first place.