Matthew Garrett ([info]mjg59) wrote,
@ 2008-07-25 18:25:00
Previous Entry  Add to memories!  Tell a Friend  Next Entry
Entry tags:advogato, fedora

Linux hasn't claimed to be Linux in response to OSI queries since 2.6.24, so this is an interesting sidenote but basically irrelevant.




(38 comments) - (Post a new comment)


[info]gravityboy
2008-07-25 05:57 pm UTC (link)
I was surprised at the hysteria over this, given your last blog post on the subject.

(Reply to this)


[info]sweh
2008-07-25 06:29 pm UTC (link)
Would similar issues explain why I can't see a thermal_zone on my Dell XPS420 ?

# grep model.name /proc/cpuinfo
model name : Intel(R) Core(TM)2 Quad CPU Q6600 @ 2.40GHz
model name : Intel(R) Core(TM)2 Quad CPU Q6600 @ 2.40GHz
model name : Intel(R) Core(TM)2 Quad CPU Q6600 @ 2.40GHz
model name : Intel(R) Core(TM)2 Quad CPU Q6600 @ 2.40GHz
# cat /etc/redhat-release
CentOS release 5.2 (Final)
# uname -sr
Linux 2.6.18-92.1.6.el5PAE
# ls /proc/acpi/thermal_zone/
#

(With RedHat, who knows what the underlying kernel really is....!)

(Reply to this) (Thread)


[info]mjg59
2008-07-25 06:32 pm UTC (link)
Some hardware simply doesn't expose the thermal information via ACPI

(Reply to this) (Parent)(Thread)

(Reply from suspended user)

[info]ajaxxx
2008-07-25 06:34 pm UTC (link)
He complained to the FTC? What a wanker.

(Reply to this) (Thread)

Why?
[info]adamwill
2008-07-25 08:25 pm UTC (link)
Why a wanker?

He doesn't write in a very good way, but from what I can see it looks like the DSDT *intentionally* torpedoes Linux with a bad table: it's not just a case of the table being accidentally badly written and not working well with Linux, there's actually logic in there to detect Linux and pass it a different table from everything else, which appears to contain code that's intentionally broken.

That, to me, is perfectly reasonable grounds for an official complaint, especially given the response he got from Foxxcon (i.e. "fuck off").

(Reply to this) (Parent)(Thread)

Re: Why?
[info]broonie
2008-07-25 10:03 pm UTC (link)
It's probably more likely they produced a new version of the motherboard (or a new board) and didn't bother updating the table they pass to Linux.

(Reply to this) (Parent)(Thread)

(Reply from suspended user)

(Reply from suspended user)

(Reply from suspended user)
Re: Why?
[info]ajaxxx
2008-07-25 10:53 pm UTC (link)
It's that word "intentionally" that's the problem.

Firmware is full of rot like this. IHVs are under tremendous time pressure to ship new models all the time. So they test on the platforms they expect people will actually use, and that's about it. If it happens to work in Linux too, awesome. If not, oh well. Spending another qualification cycle's worth of time just to make 1% of the market happy isn't worth it. Percentage number intentionally lowballed. You get the point.

I hate argument by analogy, but let's try one anyway: I take my cell phone to England, along with the charger. The charger is only 120V, and says so on the casing. I plug it into the wall anyway, and while it doesn't blow up, it doesn't work. Since I'm an electrical kind of nerd I crack it open, and I find that it could have been made 240V-compatible just by doubling the capacitance of one of the caps. I then write an email to the company that made the charger demanding to know why they didn't use a larger cap, and when they tell me (whatever reason, price or time to market or whatever), I proceed to berate them for it and complain to UL that their product doesn't function as well as I wish it did and that this is clearly in collusion with the electrical company to sell more joules since 120V isn't as efficient as 240V.

So not only does he fail to read the box, fail to grasp caveat emptor, and fail to communicate his initial dissatisfaction in a way that stands any chance of getting him what he wants, he then proceeds to escalate the problem to a only-tangentially-related entity, and add conspiracy theories to the complaint in the process. He is clearly enjoying an activity that looks and feels a bit like something productive, but isn't, and probably makes a bit of a mess. In a very literal sense, he's wanking.

(Reply to this) (Parent)(Thread)

Re: Why?
(Anonymous)
2008-07-26 01:14 am UTC (link)
If your charger was labeled 240 VAC compatible, then yes, your analogy, however flawed, would make at least some sense.
The motherboard in question is sold and marketed as ACPI compliant, which it clearly is not.

(Reply to this) (Parent)(Thread)

Re: Why?
[info]jldugger
2008-07-26 03:56 am UTC (link)
It's compatible with 1 ACPI standard implementation. Why it decides to provide not only wrong DSDT but also a failed checksum DSDT is beyond me. But where do you go to demonstrate ACPI compliance that will satisfy everyone?

You're better off writing whoever runs ACPI itself and asking them to rebuke Foxconn. I'm sure you'll get all sorts of attention. Just write the
[Error: Irreparable invalid markup ('<a [...] secretary:</a>') in entry. Owner must fix manually. Raw contents below.]

It's compatible with 1 ACPI standard implementation. Why it decides to provide not only wrong DSDT but also a failed checksum DSDT is beyond me. But where do you go to demonstrate ACPI compliance that will satisfy everyone?

You're better off writing whoever runs ACPI itself and asking them to rebuke Foxconn. I'm sure you'll get <em>all sorts</em> of attention. Just write the <a href="http://www.acpi.info/adopt.htm#comm"ACPI SIG secretary:</a>
<blockquote>
Tony Pierce
Microsoft Corporation
One Microsoft Way
Redmond, WA 98052-6399
U.S.A.

Email: tonypi@microsoft.com
Phone: (425) 703-8669
</blockquote>

Especially since Foxconn isn't published as a Adoptor or having signed the Adopter's agreement. I have to wonder if Foxconn really does publish marketing material as "ACPI compliant" or if our dear UbuntuForum advocates simply wish they did.

(Reply to this) (Parent)

Re: Why?
[info]ajaxxx
2008-07-26 03:57 am UTC (link)
This is now hair splitting. What's the litmus test for ACPI compliance? Boots Vista.

(Reply to this) (Parent)

Re: Why?
[info]jldugger
2008-07-26 05:36 am UTC (link)
You know, I agree this is a bad way of doing things and I won't ask you to eat your words, but in a very literal [http://dictionary.reference.com/browse/literal] sense, he did get what he wanted. The question isn't whether it works to fix this problem to accuse, berate and incite invective, he's on the phone with their engineers right now.

The question is whether anyone (ourselves included) will like who we are for it. A UK engineering manager waking up at 4am to handle some concocted "emergency" might be frightened into working with Linux the same way a call from Microsoft WHQL would, but certainly won't endear him to Linux or Ubuntu.

(Reply to this) (Parent)(Thread)

Re: Why?
(Anonymous)
2008-09-10 02:36 am UTC (link)
Justin, Thank you. Too bad the real action is going here in canada. Ask Linux Magazine. Peter H. Good livecd ... but ask him about the memory mapping just before the splashing the splash into 1 not reserved memory block

(Reply to this) (Parent)

Re: Why?
[info]base3
2008-07-27 06:11 pm UTC (link)
if as it seems this was a board for a desktop machine that wasn't especially aimed at a specialist market, then 1% is probably extremely highball

(Reply to this) (Parent)

(Reply from suspended user)
Pre 2.6.24?
(Anonymous)
2008-07-25 06:44 pm UTC (link)
Some of us still have kernels before 2.6.24 you know!

According to packages.ubuntu.com the following kernel versions are in use:
6.06 - 2.6.15
7.04 - 2.6.20
7.10 - 2.6.22
8.04 - 2.6.24

so does this mean the (unreleased) Intrepid is needed to get Ubuntu working on Foxconn?

(Reply to this) (Thread)

Re: Pre 2.6.24?
[info]mjg59
2008-07-25 07:08 pm UTC (link)
No, 8.04 will work.

(Reply to this) (Parent)


[info]zwol
2008-07-25 07:56 pm UTC (link)
Does Linux also masquerade _OS? It looks like the poster is claiming that Foxconn know it masquerades _OSI, so they check for it a different way.

(Reply to this)


[info]ewx
2008-07-25 08:45 pm UTC (link)
Attributing intent seems a bit of a stretch from what I can see there...

(Reply to this) (Thread)


[info]base3
2008-07-27 01:15 pm UTC (link)
I agree in principle.

However, given that the board is not 'tested' or 'certified', for Linux, why not return the Windows table anyway, since noone can complain if there's any issues with it?

Having said that, I am surprised that they replied to his emails so many times.

(Reply to this) (Parent)(Thread)


[info]ewx
2008-07-27 01:20 pm UTC (link)
For all we know the upstream source has "// TODO not sure what's right here" and, not testing on Linux, they never had cause to revisit that line.

(Reply to this) (Parent)(Thread)


[info]base3
2008-07-27 01:34 pm UTC (link)
Having read Matthew's further analysis it seems that the only possible way this could have been a deliberate attempt to break Linux would be if it had been done by people who had absolutely no idea about how OS version detection is done, how Linux reports itself to the BIOS, and what the technical possibilities for breaking Linux support actually were.

(Reply to this) (Parent)


[info]mjg59
2008-07-27 03:31 pm UTC (link)
Ngh. There is no "returning" of "tables". That's not how ACPI works. There's a certain amount of conditional execution based on OS, and at some point someone added Linux to the list of OSes that they could check in those conditionals. However, Linux is then never special-cased! The code that checks for Linux is common (I've got 30 or so examples of this exact version checking code in my collection of DSDTs) and almost always entirely unused.

(Reply to this) (Parent)(Thread)


[info]base3
2008-07-27 06:07 pm UTC (link)
as I replied to ewx above, i read the rest of the stuff you wrote about this and realised that what I said was probably completely wrong

(Reply to this) (Parent)


[info]ivazquez
2008-07-25 09:40 pm UTC (link)
"... basically irrelevant."

Unless you're trying to use, say, EL 5.x.

Not that I'd use that board in a machine meant for serious work, but it's not my (or your) call.

(Reply to this)

Counterproductive
(Anonymous)
2008-07-25 10:23 pm UTC (link)
It's probably also worth noting that the forum post is a good example of how *not* to communicate with hardware vendors in a way which will bring them closer to the Linux community. Cringeworthy.

(Reply to this)


[info]jldugger
2008-07-26 03:39 am UTC (link)
Given the subject, why isn't this tagged Ubuntu? Solidarity?

(Reply to this) (Thread)


(Anonymous)
2008-07-26 09:11 am UTC (link)
The original thread may have been posted on ubuntuforums, but the issue is really nothing Ubuntu-specific.

(Reply to this) (Parent)


[info]mjg59
2008-07-26 05:19 pm UTC (link)
My tagging is purely to limit which posts end up in which feeds. I'm no longer on Planet Ubuntu, so nothing gets tagged Ubuntu.

(Reply to this) (Parent)(Thread)


[info]jldugger
2008-07-26 06:54 pm UTC (link)
I gathered that much; the planet still lists you as a contributer. I guess some cron job is not updating the site from bzr as fast as they think it does?

(Reply to this) (Parent)(Thread)


[info]cjwatson
2008-07-26 08:11 pm UTC (link)
[info]mjg59's feed is still in Planet Ubuntu's config.ini; 'bzr blame' says the relevant lines were added by Matthew last May, so it doesn't seem to be that he's removed it and somebody else put it back.

I'm happy to do the removal on request.

(Reply to this) (Parent)(Thread)


[info]mjg59
2008-07-26 08:20 pm UTC (link)
Oh, huh. I thought I'd disabled it in Launchpad, but if I manually added myself at some point maybe that wouldn't work. Or possibly I'm just confused (or drunk)

(Reply to this) (Parent)

@mjg59: Then my mod shouldn't have worked
(Anonymous)
2008-07-26 05:25 am UTC (link)
Even in 2.6.26, the kernel accepts this bad table, and goes right along it's happy way.

changing it to _OSI and redirecting it to table "Zero" fixes many problems.

I guess the BIOS doesn't believe you... ;)

I just got off the phone with Foxconn, and they are working on a repair and asking me to help with the testing.

(Reply to this)

Uncanny
(Anonymous)
2008-07-26 07:16 am UTC (link)
On Wednesday at work I encountered a machine Foxconn mobo that had no end of trouble booting an Ubuntu live key (2.6.24 Hardy, it would get stuck after loading bluetooth). It turned out to also have dodgy memory in it too but the weirdo hangs while starting bluetooth would not go away even after memtest said the memory was good.

The user said the machine was fine with old SUSE distros so I couldn't understand where the problem would have come from or why it seemed to be so badly behaved.

As I won't have access to the machine in a week's time I gave up on any idea of reporting the issue (rule one of open source bug reporting - if you aren't going to be interested in the issue in two months time don't bother reporting it).

Then today I read a post from you with a link that offers an explanation for the quirkiness. mjg59's blog - essential Linux irrelevance reading.

(Reply to this) (Thread)

Sigh, I'm wrong
(Anonymous)
2008-07-26 08:10 am UTC (link)
Of course 8.04 is 2.6.24 based which presents different OSI info. And of course now I think about it although I have seen a Foxconn mobo the one with the trouble is actually a biostar P4SBA. Sorry for confusing the issue.

(Reply to this) (Parent)


(38 comments) - (Post a new comment)

Create an Account
Forgot your login or password?
Login w/ OpenID
English • Español • Deutsch • Русский…