MoBo Manufacturer Foxconn Refuses To Support Linux 696
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."
motherfuckers (Score:0, Interesting)
Fine. Won't use them for Windows either. (Score:5, Interesting)
In my workplace we run Windows, OS X, and Linux. I have the expectation of being able to use Linux on any x86 kit we buy. Absent an explanation or attitude change from this vendor, I won't recommend their kit here for Windows use either. That seems somewhat important so I'll repeat it:
I will not buy Foxconn kit for Windows use if Linux compatibility is impaired.
Par for the course. (Score:5, Interesting)
It's not easy for the BIOS manufacturers (Score:5, Interesting)
Although this vendor seems definitely not trying to support Linux with it's BIOS, the hard truth is that it's not so easy even for those who try. For more information, there is currently a thread on the LKML disussing this [lkml.org] and how to improve the situation.
In particular, latest kernels claim to be every versions of Windows at the same time, and not Linux! That's not easy to handle for the BIOS writer...
Re:The Right of the Manufacturer? (Score:2, Interesting)
They are free to choose what platforms to support but, in this case they choose to have a broken bios with a table specifically for Linux that was broken. In this case it look as if they worked on getting it to not function properly. It really makes you wonder.
Re:So what? (Score:5, Interesting)
Foxconn has no obligation to support
They went out of their way and expended extra effort to prevent Linux from working on their system. This moved beyond "not supporting", to "breaking" hardware that should have functioned without any effort at all on foxconns part, using what was probably considerable effort on their part to detect what kernel was booting, then developing a fake ACPI table to show only when it detected linux.
The interesting part is that a year or so back, there was an article here about how Microsoft floated a letter around manufacturers asking how to make ACPI harder for Linux to implement. Everyone asserted that we were just paranoid and the only reason ACPI was hard for Linux was because "Linux developers suck", but now it seems we know.
Re:1999 called and wants it's... (Score:3, Interesting)
X-BOX, anyone? (Score:1, Interesting)
This may sound like a wild conspiracy theory, but perhaps the motherboard manufacturer is testing a mechanism that will be used in future versions of the X-BOX? Can you imagine how embarassing it must be to Steve Ballmer when he reads about people running Linux on his precious X-Box? A Microsoft-branded machine running the "enemy" Linux.
From what I've read about the disassembly of the BIOS, it seems like a blatant attempt to make sure that the machine ONLY works for Windows. This is different from only testing it for Windows. This appears to be a clear attempt to prevent it from working on any other OS.
Again, it looks like they're trying to position themselves for the X-Box motherboard market if they can make this work.
Re:Homework (Score:5, Interesting)
Re:Homework (Score:3, Interesting)
Especially considering how ACPI doesn't really seem to be the greatest standard so far conceived, and on top of that is an Intel-Microsoft cooperative product, I just wouldn't bet my life and limb on its specification being sound.
Re:Yay tinfoil hats! (Score:4, Interesting)
"So let me get this straight."
Let's see.
"Some small motherboard manufacturer has flawed ACPI tables and refuses to fix them, therefore they MUST out to sabotage Linux? I feel I've missed a step in your logical deduction here."
You missed not just a step but the entire issue.
You have a manufacturer that provides different ACPI BIOS tables for different operative systems. They even have one explicitly tailored for Linux although the manufacturer says it doesn't support Linux. Then the ACPI BIOS table explicitly tailored for Linux is different from the Windows ones in a way that it is not only non-ACPI-compliant (though the vendor insists in certifying it as such) but even breaks in not a clear manner a Linux install.
Couple it with the fact that Microsoft, a convicted monopoly abuser, is the favoured vendor from current state of affairs and already has a proven track record of getting into agreements with OEMs and manufacturers in order to make competitors look like flawed.
It certainly took money from the vendor to reach such a state of matters. Do you really think the most probably cause to be "general profit-driven apathy"?
"Why the poster persists in sticking with such a POS board with obviously wrong BIOS is beyond me."
1) The point being here not that Foxconn produces "obviously wrong BIOS" but that Foxconn might be producing "maliciously wrong BIOS".
2) Do you really think that, in case there is in fact an unpublished agreement between Microsoft and Foxconn to make Linux look like shit the former won't look for similar agreements with other vendors/manufacturers?
3) Do you really think that, in case there is in fact non-published agreements between Microsoft and other vendors/manufacturers to make Linux look like shit, average "Joe user" (or even me, for that matter) will know the real cause to make an informed decision, as free-market theorists require as a must for a sane economic environment, unless somebody takes the time and effort to vawe the hidden facts?
4) Given the exposed arguments, do you still really think this is really "a tempest in a teacup". I do not think this is a tempest in a teacup but a very serious issue.
Re:Something I'm missing... (Score:4, Interesting)
If you think about it in terms of doing firmware fixes for option cards to correct problems that can't be completely corrected in drivers, in might make a little more sense. Sometimes those problems will only come out on certain architectures.
Re:Don't Buy Foxconn... (Score:5, Interesting)
Re:Quick Fix (Score:3, Interesting)
I just don't understand why there needs to be OS specific stuff in the ACPI. I doubt it's there to fix OS specific problems? (Because that sounds rather silly; wouldn't it make more sense to fix the problems in the OS/drivers?)
Just out of curiosity I disassembled the ACPI DSDT of my laptop mobo (no idea about the manufacturer) and, sure enough, there's some Linux and "Windows 2006" (?) specific code in it. No idea what it does, though, as I had never even heard of ACPI having byte-code in it before.
Re:Homework (Score:5, Interesting)
Is there an industry group that can be contacted in an attempt to force them to remove "ACPI Compliant"? If the original analysis is accurate, clearly they are not ACPI compliant.
Furthermore, since they clearly are breaking ACPI compliance when it detects Linux, and they state ACPI compliance, doesn't this mean they are fraudulently advertising? Seems both the State Attorney General and consumer watchdog groups would like to hear about this.
Re:So what? (Score:5, Interesting)
They went out of their way and expended extra effort to prevent Linux from working on their system.
Hanlon's Razor: Never attribute to malice that which can be adequately explained by stupidity.
I have my doubts that Foxconn would deliberately sabotage a potential customer set--but I have no doubts whatsoever that they could try to implement Linux support, screw it up, then decide they're not going to finish. After all, their Windows support also sucks.
Re:An the solution is.... (Score:3, Interesting)
Most have already woken up.
Intel, AMD and nVidia have all been giving out specs and code.
Its only the smaller manufacturers who dont give a damn in this day and age.
Even that will change.
Re:Homework (Score:5, Interesting)
This is more a case of *Microsoft* not being ACPI compliant.
We really don't know if this applies here. After all, the BIOS is feed wrong information to Linux, on purpose, which is different that what it provides to Win-OSs. For all we know, it may be providing correct capability information to Windows and simply providing bad information to Linux.
Ultimately, one has to wonder about the motives when a market segment is purposely excluded. No company in their right mind wants to exclude a potential sale unless there is money to be made elsewhere from that exclusion. Or perhaps, as you originally stated, they are nowhere near ACPI compliant and realized early on Linux highlights this fact. Even so - why add additional code to further break things if they are already broken without a monetary return elsewhere to justify the extra effort.
Re:Homework (Score:4, Interesting)
Yeah, except for the part where the motherboard claims to be ACPI compliant when it really isn't. That's sort of false advertising.
Not really. Foxconn claims to only be certified to run Windows. Thus, their claim of ACPI compliance is consistent with their advertisement.
So, while the Linuxan may be offended by this whole concept, Foxconn didn't do anything wrong. Their bottom line is apparently unaffected by linux buyers.
Re:Homework (Score:3, Interesting)
The link points here [microsoft.com].
Re:Immature (Score:3, Interesting)
That's their company line and the technical support representative was simply stating as such. He didn't name-call or anything like that.
The "customer" on the other hand was angry and name-calling from the get-go.
Re:So what? (Score:3, Interesting)
Re:1999 called and wants it's... (Score:3, Interesting)
The "certified" badge to a manufacture is very much like carrot on a stick to a horse. That's how they measure up themselves. I personally think that it would be a much easier to do business with a single certification board as well, even if the manufacture had to pay for the testing cost. At the end of the day it makes everyone happy.
Re:An the solution is.... (Score:3, Interesting)
I use the command line on my Linux boxes far more than I edit the registry on my Windows boxes...and I have considerably more Windows boxes to deal with, most of them I've never touched the registry on.
I have full confidence desktop Linux will get where it needs to be for the mainstram. It's made amazing progress in the last five years. It's just not there yet. The netbook 'revolution' is doing/will do a lot to help move it along.
That does not make any sense. (Score:3, Interesting)
ACPI compliance should be a prerequisite for Windows certification.
They can't claim something not doing ACPI is OK because MS says so.
Here in the UK I would take their sorry asses to the trade commission for false advertisement.
Re:Homework (Score:4, Interesting)
Yeah, except for the part where the motherboard claims to be ACPI compliant when it really isn't. That's sort of false advertising.
sort of?
last year I purchased a print server where it stated clearly on the box and the advertisement that it supported usb 1.1 and 2.0. Connected it to my usb 2.0 printer and it didn't work. Couldn't print to the darn thing. Connected a 1.1 and printed just fine.
Eventually the manufacturer admitted they had 'some problems' with 2.0 printers and were kind enough to refund my purchase.
Foxconn should have cut their losses and just said 'oops sorry, my bad' and be done with it.
I guess they can't admit they screwed up and were wrong. Pride will do that.
ASUS (Score:2, Interesting)
Re:1999 called and wants it's... (Score:3, Interesting)
If you're just making it up as you go, I can also do it. I'd say that gamers make up a large part of those who buy parts, and that small systems integrators are also a rather important market. Linux users? Very few and, in all likelihood, most of them wouldn't be using a Foxconn motherboard anyway.
This is really a tempest in a teapot. How many people are affected by this issue? A thousand? Ten thousand? Gee, Foxconn's bottomline will *really* suffer from this. I mean, with that measly $40 billion they made in 2006, they must deeply care about a handful of angry geeks who wouldn't have been their target market anyhow.
If you've read TFA, the only conclusion you can draw is that this guy needs to get a life. How many hours did he spend working on this and sending useless e-mails to Foxconn? Something you bought doesn't work as expected, the manufacturer tells you to contact the retailer to get a refund, that's it, end of story. But, hey, we're talking linux here, so here comes the persecution complex (evil company, they must be in MS pocket) and the associated messiah complex (I have a blog, I'll sound the alarm and save the day!).
Re:An the solution is.... (Score:5, Interesting)
If Windows had a functional command shell, it would probably get used quite a bit, too -- it's a fast, efficient way of interacting with the computer, and it provides an easy way to tell people exactly what to do (just cut and paste the following commands...).
But Windows' built-in shell is a piece of shit; it's simply painful to use. (PowerShell is better, but it's not part of most Windows installs.)
That everything has to be done through the GUI in Windows isn't a feature, it's a flaw.
Re:An the solution is.... (Score:3, Interesting)
Well, I'm glad this person spent the time to debug it.. I wouldn't be aware of this problem otherwise. Not that I have ever considered Foxconn for any system I've built. I really won't use them now.
Re:An the solution is.... (Score:2, Interesting)
Personally I do not recommend products that do not support Linux/FreeBSD. Because I use those operating systems? That's part of it yes, but mainly because Linux tends to expose crappy products. Look at the board in question here: "Badly written table". I have yet to see a product where they cut corners in ONE place only.
That is exactly right. And if they would cut corners and screw up in something as easy to test and fix as a flash BIOS, what are they going to do when faced with a hard problem?
The last socket 939 systems I built (myth tv) had foxconn boards because they were cheap in a closeout bundle from newegg. It was the first time I had used foxconn and they seem fine, but this...
Foxconn refusing to fix because of linux totally negates my formerly positive impressions of the company.
sdb
Re:An the solution is.... (Score:5, Interesting)
No no no.
Go read what the guy posted. Its an example of a true community member. This attitude is what spawned the Free Software Movement: vendors should not artificially limit what you CAN do with their shit.
This guy has PROVEN that Foxconn TARGETS speciffically Linux and BREAKS IT.
This is anticompetitive and should be a crime.
Re:An the solution is.... (Score:4, Interesting)
"This guy has PROVEN that Foxconn TARGETS speciffically Linux and BREAKS IT."
What he has proven is that Foxconn targets Windows. I'm pretty sure that this mobo doesn't work with OSX, BSD, etc.
The bazaar model doesn't require homogenity, that's the cathedral model.
Re:An the solution is.... (Score:5, Interesting)
What scenario would Grandma Maybel need to even know about the registry?
That one is easy for me. I used to do technical Support for Norton Antivirus.
Grandma purchased a Dell computer with 128 megs of RAM running Windows XP. She has 10 things running in the tray and the computer is crawling. She knows just enough to know that viruses are bad. Someone at Staples tells her that the $79.00 copy of Norton Antivirus will fix her computer right up.
Well there are 5 things that will pooch a Norton Install. One of them would be having a nasty virus like Klez on your system. Another is a bad hardware. Another is a corrupted windows installer system. The one that gets granny however is lack of system resources. NAV should only be installed on a system with 70% of system resourcess free, may install on a system with 60% free.
So now Granny calls for support. She can't uninstall. She is going to have to do a manual uninstall. So we email her a document with a procedure to run the computer in safe mode. Delete a bunch of files and folders AND then run regedit and pound a bunch of entries out of the registry
Trust me. I took at least 2 or 3 calls like that a day. The only ones better are the 35 year old moms trying to figure out how they got porn popups on their computer. After all the only people to ever use that computer is her and her 15 year old son.
Re:Been there, done that (Score:2, Interesting)
> making Linux happy means not passing WHQL
This is the filthy and perfidious solution for Bill Gates' problem that he couldn't patent ACPI
anyone can read it here
http://digg.com/linux_unix/Newly_leaked_Antitrust_Memo_Bill_Gates_on_Making_ACPI_Not_Work_with_Linux [digg.com]
So BG couldn't patent ACPI for legal reasons so they invent this sneaky trick by implement ACPI in a non standard closed way. Additionally hardware vendors have to explicitly corrupt the DSDT tables to get the WHQL logo. Any OS which depends on standard ACPI is locked out.
This is one of the dirtiest tricks* of Microsoft and it's illegal in my opinion.
*i fear there are some more disgusting ones we don't know yet.
Re:Lack of professionalism, IMO (Score:3, Interesting)
"Do not assume malice that which can be explained by incompetence."
When it comes to companies dealing with Microsoft, I leave malice open as a real possibility. It's certainly either that or incompetent engineering. Either of these alone is sufficient reason to avoid all Foxconn boards in the future (at least until something changes).
BTW, it does seem that some people at these manufacturers assume that "supporting OS XYZ" implies getting a certification from "OS vendor XYZ", after (often costly) rounds of certification testing. What they don't seem to know is that for Linux, they can do this in their own labs at a much lower cost. They simply need to boot up various bootable DVDs (Debian, Fedora, and Ubuntu, for example), install to a hard drive, carry out various tests like making sure all the on-board devices work, checking power on/off/suspend, etc. Then if something does not work and if they think the fault is with Linux itself, they can report the problem to Linux developers. Alternatively, they can provide an engineering sample board to willing Linux developers to test with. Same for BSD. Or they can choose to go to a company like Red Hat for help. My point is, this is NOT going to cost them anywhere near what it costs to deal with Microsoft. And they would get free advertising from the Linux community by doing the right thing.
So shall we now speculate on whether their actions are due to malice or incompetence?
Re:An the solution is.... (Score:4, Interesting)
Any of the windows items would have worked.
They purposely pointed LINUX to something that would not work. This goes well from bad coding into willful failure.
I just wonder if it is criminal?
And if MS did pay them for this, how many other manufactures have been paid to do similar things? Normally, when MS pulls something like this, there is much more going on.
Re:An the solution is.... (Score:3, Interesting)
y'know... I'm wondering where you got that, exactly... I was working tech. support for Compaq when XP came out, and I can remember the arguments and discussions we had about MS removing that little bit of information from XP... ultimately, the reason it was removed was because it was a basically useless measurement for how well a system is running. Anybody who's ever looked at the output of "free" under a *nix console will understand what I'm talking about... the first line will show physical memory usage, and will almost always be near or at 100%. The important lines are the 2nd and 3rd lines, which talk about page and swap usage respectively. You'll be at 100% physical memory utilization, but your page space could be at 5% utilization, and your swap at zero. That percentage resources available in Windows 9X was pretty much an average of the 3. Look at the task manager, which can be brought up by clicking on "task manager" after a 3-finger salute. That gives *much* more useful information about the health of a Windows NT-based system.
And if you're talking about CPU load, I'm hovering at 1-2% CPU load right now on my work system... it's a Dell Optiplex GX620, with a 2.8GHz P4 and 1GB of RAM. Currently, I have open Firefox, with 6 work tabs, Slashdot, 2 IE windows with our contact/dispatch database (which is a Java application, and in spite of all my effort simply cannot be coaxed to run under FF), MS Outlook (watching 3 mailboxes), 3 Excel spreadsheets, and an MS Word document, not counting the background apps, which include Office Communicator, and Symantec Antivirus, and an annoying little piece of software called "Night Watchman" which is part of the company's green strategy... scheduled shutdown every day at 8pm, all part of Mike's plan to make the company carbon neutral by the end of 2008.
And if you *are* talking about CPU load... if your CPU load is hovering at 30%, you've got an application running that's causing it to do that, most likely compiling or multi-media. Check task manager, and you'll see something that's sucking up the clock time. Close (or kill) that, and you're off to the races.
Where else are FoxConn motherboards used? (Score:4, Interesting)
That would explain the problems I had booting Knoppix, and later Ubuntu live, on some HP machines (my dad's desktop, my friend's laptop).
Somewhat embarrassing to say, "Watch this!" and stick in a Linux live CD and have it hang. I never imagined it would be because some MoBo maker specifically detecting for Linux and then sending it down the garbage chute.
I'm unlikely to buy a motherboard by itself, but if I buy a desktop or laptop, what other brand name products are FoxConn's mobo's hiding inside?
Re:An the solution is.... (Score:3, Interesting)
There's a SPECIFIC MEMORY ADDRESS being locked out when booting Linux.
Actually, the author of the post is wrong about that. The second argument to the ACPI Acquire operator that he is speaking of as an address is, in fact, a timeout value. All the Acquire operations lock the same object: "MUTE". His changing the timeout to 0xFFFF indicates that the acquire operation should take as much time as it needs to wait for the mutex to be acquirable. Why the ASL compiler complains, I can only speculate around without access to the surrounding source, but it would seem that the warning actually refers to the return value of Acquire being ignored. Make no mistake, ignoring the return value of a mutex lock operation that can time out without acquiring the mutex is a serious bug, but it is not about locking out some specific address when booting Linux.
In fact, it is not even local to the Linux part of the DSDT. The author even stated that in his forum post: It is what happens when he recompiles the DSDT to use the Windows-specific table instead.
I can also only speculate around why this causes problems. I can imagine two obvious possibilities:
All that being said, though, if my assumption is correct and the BIOS author does indeed ignore the return value from a mutex lock that can time out is almost stupid enough to be unattributable to stupidity. Though, Einstein did once say that "Only two things are infinite: The universe and human stupidity. And I'm not sure about the former.", and I'm willing to agree.