MoBo Manufacturer Foxconn Refuses To Support Linux
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."
Return it and buy from a manufacturer... no need to disassemble the BIOS, your time is worth more than that.
If you're planning on running a Linux OS on your machine, don't use Foxconn. If they don't want customers, that's their business.
...Windows hardware back. Seriously, who is stupid enough today not to support linux?
It takes a man to suffer ignorance and smile
Be yourself no matter what they say
Yeah, except for the part where the motherboard claims to be ACPI compliant when it really isn't. That's sort of false advertising.
there is more than one motherboard manufacturer. Foxconn is more than welcome to take a FISS approach with regards to their customer base: the market will issue any required adjustments to their attitude.
The higher the technology, the sharper that two-edged sword.
How old is this guy?
If I had a serious problem I would be more professional in my way of contacting support. Certainly his way of approaching the Customer Support is looking like some angry teenager.
So let me get this straight.
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. (Oh, wait, who wants to do that?) It certainly cannot be general profit-driven apathy, can it? Evidently the poster really didn't think it through - even if there was malicious intent, it isn't like this is Asus or Gigabyte we're talking about here, it is some obscure manufacturer. Skimping on a motherboard when building a system is a horrible idea anyway for these very reasons.
Why the poster persists in sticking with such a POS board with obviously wrong BIOS is beyond me. I guess we have to create a tempest in a teacup about Linux yet again.
Wouldn't this be Foxconn choice as a manufacture. What they see is that their hardware works on their target OS, windows, and would rather not spend resources on correcting the error because they explicitly say that they do not support Linux.
I am not saying this is right, but the manufacturer has rights to choose what platforms they support. If you do not like it, and then don't buy it.
The problem is that Foxconn says its ACPI compliant but its not. It also looks as if they botched Linux by pure purpouse. Why on earth would they have a Linux section in the bios when they dont support it? Something is very smelly here thats for sure. I will keep miles away from Foxconn at my departments no matter if my systems are intended for Windows or Linux.
HTTP/1.1 400
If you follow the link in the story, you would see that the poster claims the following:
1) Foxconn advertises its motherboard as ACPI compliant thus potentially misleading people into thinking that linux should be able to handle the board. The company does nothing to counter such possible misunderstandings. One could argue that Foxconn is not obliged to do anything of that sort but for customers it is not as simple as "doing homework" as you suggest. Foxconn doesn't say that things break on linux. They only say "works with windows" and "ACPI compliant". The only way to check is to buy and use (at least until this story).
2) The BIOS actively looks for the OS and passes a modified table to linux. It does not even ask the OS to identify itself and go along with that identification. It rather keeps on having random checks to ensure it is running on windows. I can't think of any good reason why they need to do that unless they want to actively break things for linux.
3) The poster smells something fishy in Foxconn's behavior. Right or wrong, I don't know. But if the poster is right in his suspicion (which s/he must believe), it would be a natural, rational and justified behavior to bitch and moan about it rather than just return the board for a refund. Society owes a lot to such "troublemakers".
No, actually.
File this under having done the world a service by publishing their findings.
Now we know that at least some Foxconn motherboards do not work with Linux, and Foxconn is not interested in doing anything about that. That's useful information.
From other posts, I gather that the motherboard actually has a table specifically targeted at Linux, which supplies broken settings. So it's more than Foxconn simply not supporting Linux; they've actually gone and broken things.
Finally, it seems there is already a workaround available. I guess Linux is willing to support Foxconn, even if Foxconn doesn't want it to. And, really, this is a case of "yay, open source!"
Please correct me if I got my facts wrong.
This is active sabotage.
They haven't lost a customer, they've gained an enemy. This is an attack. Do not let them get away with it.
Have to agree with you here. This is a case of false advertising if it isn't acpi compliant (there is no 90% compliant, or compliant if you use this-or-that software, all that is just non-compliant). I don't know about the slashdot readers that answer with "so what, just return it", but when I am looking for new hardware, I am very happy if people like him figure out who is trying to screw me with false claims, so I can skip these manufacturers from my list.
molmod.com - computing tips from a molecular modeling
Sucks for them that they're going to get some bad press about this as it is now on Slashdot's front page.
I don't have a problem with people getting bad press when they advertise functionality they don't actually have. I don't have a problem with them not including chipset drivers for specific OS's, or utilities coded for OS's they don't want to support. But borking your BIOS to throw a monkey wrench into things if Linux is the OS is pretty messed up.
Hope nobody tries to do something silly like boot a Linux Live distro to recover a system where the Windows OS has gone out on one of these things.
"It is a miracle that curiosity survives formal education." -Albert Einstein
I don't blame them for not wanting to support !Windows. I do blame them for writing broken ACPI tables and trusting Microsoft's legendarily forgiving implementation do their work for them. I do blame them for saying they're ACPI compliant when they're blatently not. I do blame them for not even expressing interest in fixing it when it's pointed out to them.
Sure, they're not necessarily evil, but they are displaying incompetence I find unacceptable in a hardware vendor, and I don't think it's in any way bad that they're getting bad press because of it.
Maybe I just don't get out much, but I've never heard of that manufacturer.
If they are indeed falsely advertising ACPI compliance then yeah, something should be done, but at the same time I think the "you get what you pay for" mantra is applicable.
Whatever happened to the concept of generic hardware? It usedc to be that when you bought a printer, it would work with everything. They published the escape codes that you used to change fonts, or draw lines, or whatever. Same thing with modems. You used to be able to grab any modem off the shelf and expect it to work with any computer.
Somewhere along the line, hardware started becoming Windows Only. Modems became Winmodems. Printers became Winprinters. I'm guessing the same thing applies to webcams, and scanners, and other hardware. Now we've got a motherboard with a Windows only BIOS. It sickens me.
"I'm not impatient. I just hate waiting." - My Dad
But if a user takes the time to find the cause of the problem and tell you exactly what it is, and it is a problem that could be fixed with a BIOS update. Is it a good idea to fix the problem and improve the quality of your product, or ignore it and get a reputation for providing poor quality products?
Sure it will still require some resources to fix, but this guy has already done the hard work of debugging and identifying the cause of the problem.
It appears that within an hour there was a workaround posted on the same forum.
Okay, so ten out of ten for Linux and Open Source, but minus several million for needing to tweak perfectly good code to compensate for deliberate sabotage by a BIOS.
"I'm not impatient. I just hate waiting." - My Dad
I find it odd that quick remarks against Foxconn have been modded "troll" and "flamebait", just like interesting and insightful comments that say something bad about Microsoft usually are in other threads. If you work for MS and have mod points and are modding these comments against Foxconn down, two things:
1. It is suggestive that this is another Microsoft trick against Linux. Your downmodding of anti-Foxconn comments just fuels the conspiracy theories
2. When the metamods mark your mods as "unfair" you my not get mod points again. If I'm given one of the "flamebaits" or "trolls" (except the one that says "first post", that one was fairly modded) I will mod the mod as "unfair" and I imagine other metamoderators will do the same.
I'm checking the "no karma bonus" box, please feel free to mod this ot comment down further if you wish.
mcgrew's razor: Never attribute to stupidity that which can be explained by greedy self-interest
Ok, ya, they probably are falsely advertising, and just shoved it off because they got MS WHQL stickers (most companies do the same anymore)...
But you know what? I don't feel too much sympathy - because honestly, you get what you pay for. Any PC builder with half a brain (which it looks like he has plenty of if he knows how to pick apart the bios) is going to know that manufacturers like Foxconn, ECS, Abit, etc are going to be horrible quality (or at best sub-par).
Basically, he probably was being a cheapskate and went with the $30 or 40 dollar Foxconn board, when for $50, a mere $10 more, he could have gotten a fantastic Asus motherboard, or at *least* MSI or Gigabyte...
After having read the Ubuntu forums I was flat out disgusted at how Foxconn responded to the customer. I have never received a response so rude from tech support. They outright told him to stop sending them e-mail because they did not want to address his problem. Nevermind their poor products... how about their customer service? That is pitiful and they fully deserve whatever comes their way.
People who are born in the age of winmodems assume unquestioningly and "intuitively" that hardware can only be made for an OS and supporting OSs is a cost. In reality, infinite OSs' support can be simply achieved by manufacturing in way that's compatible with open standards. If they can't do that, which is quite normal because sometimes the standards are very feature-less, they should at-least put out technical specifications regarding how an OS can interface with the hardware.
The largest prime factor of my UID is 263267.
I've just opened official ACPI specs and Microsoft's WHQL is NOWHERE EVEN MENTIONED, let alone of being needed and sufficient criteria of ACPI compliance.
IOW, product is ACI compliant when it works in accordance with specs. Once there is violation found, they can no longer claim ACPI compliance.
I have a motherboard (ECS) that gives a kernel panic when any Linux distro tries to boot. Since the installer boots Linux, I can't install or test any Linux distro on it. On one hand I feel certain that there is a bug in the motherboard, but on the other hand a kernel panic is like a GPF, and it should not occur even with bad input. At the very least, add a check and give me a warning or error message better than "kernel panic". So IMO, there is also a bug in the Linux kernel.
Given the fact that this problem with the motherboard is not fatal to any other OS I've tried, I consider the bug in the Linux kernel to be worse than the bug in the motherboard. Should developers have to deal with bad input? Not in a perfect world, but this has never been a perfect world.
I don't work for FoxConn, but I do work for a hardware and software vendor. And here's some insight - as I have been in a situation similar to FoxConn - but being both the accuser and the guilty party at the same time ;)
WHQL is kind of a big deal for hardware vendors. The main attractive is being able to add the "certified compatible with Windows" to your product box. Honestly speaking - having the logo there gives you *some* cred with users - at least, with Windows users ;)
So your competitors are nibbling at you, the product has to ship, and you need to have the logo in the box. What do you do? If you're already late to market, you hack. You install all the different flavors of Windows, check if it works - if it doesn't and crashes, well, some of that can be attributed to Windows itself. As long as you can install the OS and pass the certification, you're good, the product ships, you get your bonus and a pat in the back for delivering on time.
So say that during testing you DO install Linux and crashes - time for a reality check. If the product spec said "Windows WHQL is a must", and making Linux happy means not passing WHQL - tough luck. Linux won't run.
Or if "fixing the product so it passes WHQL" means "screwing Linux users", well, let me think about that ;)
Many engineers working on any given product would like to ship the best possible product - the one that has a 100% compliant ACPI, APM, TPM, you-name-it implementation.
But when time is short and the management chain is breathing down your neck . . . you do whatever it has to be done to be able to ship. And hope that once the product is out there, you WILL be able to go back and clean up the mess - and ship a BIOS upgrade. Everyone is happy.
Sadly, by the time the product shipped, you've been reassigned to other product - and you will only go back to the first one if the Windows crowd complains.
The solution is easy - Linux users to boycott the brand. But then again: if the mobo was designed to be sold to another company to be used as the basis for a product that will only run Windows . . . It isn't like you care a lot about losing the Linux business. This is only the reality - hard as it might seem.
And to the guy that originally found the bug: next time, remember that maybe the guy at the other side of the email exchange also thinks the situation sucks, but he's powerless to change it.
Because if even if he was provided with a full working patch for the BIOS (that doesn't break Windows compatibility), he might need to reapply for WHQL if he patches the BIOS - which means more $$$ and time spent on a product that is already shipping. So.
Did you or did you not read the actual forum thread? The Linux-specific paths contain repeated invalid ACPI code which passes through the pathologically permissive Windows ACPI implementation, but hangs a the more compliant Linux implementation. Grep for "mutes", if you want to. Tell me, why the fuck would a machine need its serial ports (IO port range from 0x3f8, about the oldest hardware on a PC, present from before the IBM XT) disabled on Linux and not on Windows?
Furthermore, the Windows side of the ACPI code checks repeatedly that it is indeed running on Windows. And not from any information provided by the ACPI interpreter, oh no: they poke the hardware as a sort of a secret handshake. This is clearly written with intent to prevent Linux from impersonating Windows to the ACPI code.
If that is not evidence of malice, then I do not know what is.
The letter mentioned above (PDF)
Put identity in the browser.
Actually, we should have an online database of motherboards and bios revisions which use a DSDT which complies with the standards, and a hall of shame listing those that don't.
http://spamdecoy.net - free throwaway anonymous email - avoid spam!
ACPI is such an absurd feature for a computer. It is quite frequently THE source of many problems. And clearly from this case it makes it easy for a manufacturer to abuse. And they are not the first. I found a machine (or rather the sysadmin at my previous job got me a machine) from HP that would not boot up Fedora, Debian, or Ubuntu due to ACPI crap.
A great many of the features ACPI provides would not even be needed if there was no tendency on manufacturers to keep changing things (e.g. making a moving target for developers of any OS). A standardized computer design would need very little configuration information passed to the OS. And what it would need could be passed to the OS by the actual devices themselves which would be at specific locations the OS can always find (a finite set of device addresses with registers in each device that reveals what device it is).
A whole re-design of the PC to clean up the mess is needed. Nothing can be added on top to fix it. It needs a "start over". But this thread is not the place for me to describe what really needs to be done to make a robust computer system that lets any OS work on any makers machine (but of course, Microsoft would not want that).
now we need to go OSS in diesel cars
People always say not to attribute to malice that which can be attributed to ignorance. After reading all of the communication between Ryan and Foxconn, I'd just like to add another popular saying: You can't fix stupid.