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

As an update to this, it turns out that I can't read and talking about _OSI isn't very helpful when the DSDT in question is calling _OS, but it does leave me somewhat more confused - Linux has claimed to be Windows NT since approximately forever. Without the original DSDT I've got absolutely no clue what's going on, but comments like:

Find and replace all seven occurences of Acquire (MUTE, 0x03E8) and replace with Acquire (MUTE, 0xFFFF), it appears they're trying to crash the kernel by locking a region of memory that shouldn't be locked, but without access to their source code comments, I can only speculate, this tells it to lock a memory address that is always reserved instead. ;)

don't give me a lot of confidence in any of this being a correct diagnosis given that the second argument to Acquire is a timeout and not an address (0x03e8 gives a timeout of a second, while 0xffff is "Block on acquiring this mutex forever").

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?




(Post a new comment)

I've come to the same conclusion
(Anonymous)
2008-07-26 08:03 pm UTC (link)
From the start I didn't really question the thing, it's not surprising to find some company targeting Linux. Then I read the Ubanto forum post; It was quite clear the guy had no idea what he was doing. (apart from appealing to the Digg-type)

His explanations were far from satisfactory, and examining the case a little closer reveals that the code he changes should not matter in the first case! (no idea about the Acquire part, but I suspect this is the real hack)

I really wish I had a copy of this card myself so I could investigate this thoroughly. Perhaps I should buy one.

(Reply to this) (Thread)

Re: I've come to the same conclusion
(Anonymous)
2008-09-10 01:35 am UTC (link)
inpiron 9400 in 2004.
While I digg I do watch pr0n too. I not offline formating or trying to break it to get new errors to play with.

Sounds childist while I do think i'm pissed off.

i know where to reach u

(Reply to this) (Parent)(Thread)

Re: I've come to the same conclusion
(Anonymous)
2008-09-10 01:51 am UTC (link)
oh btw

I am not Ryan ... "Conspiracy theory"

(Reply to this) (Parent)

(Reply from suspended user)

[info]jldugger
2008-07-26 09:19 pm UTC (link)
I guess that's the rub with "when unsure, consult others." That seems obvious. It should probably read "when cocksure, consult others".

(Reply to this) (Thread)


[info]reddragdiva
2008-07-26 09:56 pm UTC (link)
That almost translates to "when being a dickhead, don't be a dickhead" and is as likely to be heeded by those who need to.

(Reply to this) (Parent)


(Anonymous)
2008-07-26 10:33 pm UTC (link)
Dont be a dick.

(Reply to this)

You mean hate mongers like the Iowa consumer anti-trust exibit.
(Anonymous)
2008-07-26 11:53 pm UTC (link)
http://antitrust.slated.org/www.iowaconsumercase.org/011607/3000/PX03020.pdf

PLAINTIFF’S EXHIBIT 3020
Comes v. Microsoft


From: Bill Gates
Sent: Sunday, January 24, 1999 8:41 AM
To: Jeff Westorinon; Ben Fathi
Cc: Carl Stork (Exchange); Nathan Myhrvold; Eric Rudder
Subject: ACPI extensions

One thing I find myself wondering 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 to avoid this problem but it does bother me.

Maybe we could 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 related to this.


Gates DEPOSITION EXHIBIT 32

MS-PCA 1389717 HIGHLY CONFIDENTIAL

(Reply to this) (Thread)

Re: You mean hate mongers like the Iowa consumer anti-trust exibit.
[info]mjg59
2008-07-26 11:56 pm UTC (link)
I don't have the faintest idea what this has to do with anything.

(Reply to this) (Parent)(Thread)

Re: You mean hate mongers like the Iowa consumer anti-trust exibit.
(Anonymous)
2008-07-27 01:18 pm UTC (link)
The Iowa consumer anti-trust case made similar accusations, and exhibited a memo from Microsoft's CEO that shows what Microsoft was trying to do. There are lots of other instances including some where Microsoft has actually been convicted of deliberately breaking compatibility to put competitors out of business. To suggest that there may be some hanky panky going on here is prudent rather than hate mongering.

Linux compatibility is strangely being broken in exactly the way suggested by Bill Gates memo, at a time when Microsoft is trying to stop Linux breaking into OEM preloads, and at a time when OEMs are struggling to get their boards Vista certified (giving Microsoft some leverage on a quid pro quo for Microsoft certification).

Contrary to what you have suggested, the simplest explanation in my opinion, and one based on Microsoft's past and current behaviour, is that Microsoft is trying to break and proprietize ACPI as Bill Gates stated in his memo, so that various motherboards only run properly with Windows. Microsoft has the power to leverage OEMs to do exactly this, and with so many OEMs clamouring to get Vista certified motherboards out, there certainly is the opportunity to do so - in other words OEMs will need to comply with a broken ACPI obtain Vista certification.

It is certainly a more remote possibility that as you said Bill Gates memo and all of these cooincidental breaks in compatibility with competitor's products which occur where Microsoft comes into the picture are all down to stupidity. However, my point is that this should not simply be dismissed (and no, Foxconn is not alone - there are similar cases of other manufacturers with boards with similar broken Linux ACPI compatibility).

Because these Microsoft-OEM agreements are covered by NDAs, the only way the sort of illegal impropriety that Microsoft has been convicted of in the past can be proven or disproven is by having a serious investigation by the anti-trust authorities of all of Microsoft's practices and agreements with OEMs, and given the memo fro Bill Gates, there is certainly a case for Microsoft's involvement with regard to ACPI to be investigated.

What is it you are suggesting? That people just keep quiet, and that it is hate mongering to call in the police when they see someone with gunshot injuries and a serial felon with prior convictions for similar shootings, standing nearby with a smoking gun? What if people know that the felon has written in a memo saying that the victim should be killed - should they call in the police then?

(Reply to this) (Parent)(Thread)

Re: You mean hate mongers like the Iowa consumer anti-trust exibit.
[info]mjg59
2008-07-27 03:33 pm UTC (link)
You might think that, but that would be because you don't understand what you're talking about.

(Reply to this) (Parent)(Thread)

Re: You mean hate mongers like the Iowa consumer anti-trust exibit.
(Anonymous)
2008-07-27 05:10 pm UTC (link)
You may well right about me not knowing what I am talking about when it comes to ACPI code, and you may well be right about the bug being in the Linux kernel and not the Foxconn motherboard.

However you do not seem to understand the point I am trying to make, which is that you should not be discouraging members of the public who report what they believe to be a felony taking place by suggesting that they should not do it because they will be seen as "hate mongers". The sort of anti-trust felony (deliberately breaking compatibility with competing products) that has been suggested has been taking place, and there are sound reasons for suspect that it may still be going on. It is for the police to investigate suspected felonies (in this case the kernel developers or anti-trust authorities as appropriate), but they can't do it of the public does not report suspected felonies.

Whatever the case may be, unlike most of us who would simply have given up and blamed it on Linux the guy took the trouble to investigate and report the issue on the Ubuntu forums deserves respect for his efforts, rather than be called a "dickhead" or a "hate monger". Once you start criticising or denigrating enthusiastic members of a community for the fact that they may not know as much as you do, that is the end of the community. The result of his effort is either a kernel bug fixed or a Foxconn BIOS bug fixed, and he deserves praise for that.

(Reply to this) (Parent)(Thread)

Re: You mean hate mongers like the Iowa consumer anti-trust exibit.
[info]mjg59
2008-07-27 05:14 pm UTC (link)
No, the result is that the reputation of a basically blameless company is tarnished because someone who doesn't understand ACPI shouted "conspiracy". That reflects badly on the Linux community and is likely to discourage a certain amount of involvement from vendors.

Once you start criticising or denigrating enthusiastic members of a community for the fact that they may not know as much as you do, that is the end of the community

I'm not denigrating anyone for not knowing as much as I do. I'm denigrating people for jumping to conclusions without doing the most basic fact checking. I don't want people like that in any community I'm a part of.

(Reply to this) (Parent)

(Reply from suspended user)

(Reply from suspended user)

(Reply from suspended user)

(Reply from suspended user)

(Reply from suspended user)

[info]davyd
2008-07-27 04:23 am UTC (link)
"Never attribute to malice that which can be adequately explained by stupidity."

(Reply to this) (Thread)

Wonderfull
(Anonymous)
2008-07-27 09:45 pm UTC (link)
We live in a wonderfull world m8 :)


Email Reveals Nvidia and ATI Colluded to Inflate Prices

http://gizmodo.com/5026729/email-reveals-nvidia-and-ati-colluded-to-inflate-prices

Daniel_K, Creative Fixer-Upper, Responds to Corporate Shunning

http://gizmodo.com/374740/daniel_k-creative-fixer+upper-responds-to-corporate-shunning

EU dumps more anti-trust charges on Intel

http://www.channelregister.co.uk/2008/07/16/intel_eu_charges_increased/

Microsoft Asks EU To Annul $1.35 Billion Antitrust Fine

http://www.informationweek.com/news/windows/operatingsystems/showArticle.jhtml?articleID=208803027

(Reply to this) (Parent)


[info]base3
2008-07-27 01:26 pm UTC (link)
So there was probably an unrelated problem with the kernel or the BIOS, and when this guy tried to fix it, he saw some code he didn't understand but which 'looked evil' and assumed it caused the problems?

(Reply to this)

It seems to me...
(Anonymous)
2008-07-27 11:25 pm UTC (link)
..that the admittedly knowledgeable person whose blog (??) this is, is quite content with Linux-ACPI bugs being what they are and left that way.
Sure, it's lovely that other OS makers work out ACPI and BIOS details and then Linux just rides on the coat-tails while doing little of the work, BUT: on the other hand, after reading of this initially and investigating my own AMI BIOS DSDT table, I found the same things as the original finder (Ryan, whom I feel has been wrongly accosted on the subject). After all, why the hell should a Linux OS need or want to identify itself as a Windows OS simply to operate properly?? Thats B.S.
When 'fixing' my own BIOS table led to not only correct and accurate platform DMI information being passed to my Linux, but also to the elimination of an ever-present error about the BIOS being "not e820 reserved" and a couple other positive signs in Dmesg, I was intrigued.
My board is less than a year old and somewhat high-end. My kernel is 2.6.26.
Evidently the newness of the kernel and its hacks does not influence how well it wrestles correct platform information from the BIOS.
Do I think it's an outright conspiracy? NO. But I also don't think it's incompetence, as the manufacturers are too experienced to be incompetent in this regard (ACPI tables).
Do I think MS has the leverage to influence companies to do things this way or that way? Absolutely.
I respectfully think that the guy who runs this blog is rather arrogant. He's also very smart, judging by his dissambly of the BIOS code on the main article. Unfortunately, smarts and arrogance often go hand in hand.
Too bad he wouldn't put more effort into the "politely explaining", and make good use of his smarts, and less effort into shitting on a guy who went to the lengths he did to try to get to the bottom of something that I too look at as a 'problem', albeit not an earth shattering one: An OS shouldn't need modified platform firmware to run properly on the platform for which it was built.
Personally, I'll keep running my edited DSDT table, and also trying to learn more about what's going on behind the scenes with stuff I do not yet understand enough to fix myself (yep, I admit it-- I am NOT an expert.).
Finally, our 'community' has lots of both smart, and arrogant, people in it already; why not try being more of the former, and less of the latter, folks?

Cheers.
Kudos, Ryan.

(Reply to this)

Strange codepath
(Anonymous)
2008-07-29 02:08 pm UTC (link)
Would one be correct in assuming that under current recent kernels that the "if linux" codepath mentioned would never be run, and hence never tested ?

Wade

(Reply to this) (Thread)

Re: Strange codepath
[info]mjg59
2008-07-29 02:16 pm UTC (link)
Correct.

(Reply to this) (Parent)


(Anonymous)
2008-07-30 01:23 pm UTC (link)
That is not correct.
_OSI("XY") is used for BIOS hotfixes mainly.
The general code without any _OSI hooks is intended to run fine.
Intel provides an OSI template which sets a variable so that BIOS developers can later easy check to add OS version specific BIOS workarounds.
That means that by default if (Linux..) does not exist at all.
If a HW vendor must now add a Windows bug fix in BIOS and he takes care about Linux can exclude the fix-up code from being executed on Linux.
The problem is that as a consequence with the current implementation even the vendors themselves cannot provide Linux support with the same BIOS Windows runs on. Even they are willing to fully support Linux. As soon as they have to spread a BIOS with a recent Microsoft OS fix they might break all earlier Linux kernels.

Thomas

(Reply to this) (Parent)

Completely off-topic...
[info]ndykman
2008-08-03 08:55 am UTC (link)
I just wanted to say thanks for the reminder of why I got out of OS and systems in college. I'm half worried that working on stuff like this could be a health hazard, and there's a whole slew of kernel developers who are in for some really weirdo flashbacks in their old age.

(Reply to this)


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