Slashdot Mirror


Linux Might Need To Claim Only ACPI 2.0 Support For BIOS

jones_supa writes Some of us remember the story of why Linux kernel responds "False" when ACPI BIOS asks if the operating system is Linux. We have found yet another case where mimicking the Windows behavior instead of writing to the spec is the right choice if you just want your machine to work properly. The ACPI spec defines the _REV object as evaluating to the revision of the ACPI specification that the OS implements. Linux returns 5 for this, because Linux actually tries to implement ACPI 5.0, but Windows returns 2 (ACPI 2.0), possibly due to legacy reasons. Linux kernel expert Matthew Garrett discovered that still a fair amount of brokenness appears when 5 is returned as the revision, including a Dell machine which left the sound hardware in a misconfigured state. He is proposing a kernel patch which simply reports _REV as 2 on all x86 hardware.

129 comments

  1. Blame the market by Ravaldy · · Score: 3

    MS had a large portion of the market so big players trying to launch products on a tight schedule or low budget will quickly ignore specs they don't believe will be required for the launch. In this case Windows forces a lower spec. The problem with that is you'll rarely see companies go back and address the issue until there's a fire burning under their behind.

  2. The patch should fail to be included by PenguinJeff · · Score: 1

    Sounds like a bios issue not a kernel issue. If linux is trying to do it correctly screw what windows does. Maybe what could be done is a flag to send from the bootloader to fix his one off issue. ACPI=2 something like that.

    1. Re:The patch should fail to be included by Anonymous Coward · · Score: 3, Insightful

      What's the point of following the spec if no hardware does? The goal of an operating system is to run.

    2. Re:The patch should fail to be included by Anonymous Coward · · Score: 0

      Not for pragmatic open source douche bags!

    3. Re:The patch should fail to be included by Anonymous Coward · · Score: 0

      Pragmatic. You use the word but I do not think it means what you think it means.

    4. Re:The patch should fail to be included by Bing+Tsher+E · · Score: 1

      You haven't taken much Computer Science. The goal of all software is to be correct.

    5. Re:The patch should fail to be included by gweihir · · Score: 1

      The root-cause is that these days PC software is designed to work with Windows, not to respect standards. For example, I only got UEFI booting Linux to work on a netbook, after looking what Windows did. This was completely non-standard, but apparently Win8 could cope. Fortunately it was also easy to replicate.

      --
      Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
    6. Re:The patch should fail to be included by Unknownus · · Score: 1

      What's the point of following the spec if no hardware does? The goal of an operating system is to run.

      What's the point of following the spec for hardware manufacturers if no software uses it?

    7. Re:The patch should fail to be included by Anonymous Coward · · Score: 0

      The goal of all software is to be used. Correct would be lovely, but if it never gets executed who gives a damn how correct it is?

  3. Add a parameter? by bill_mcgonigle · · Score: 5, Interesting

    2 might be the right default, but shouldn't we at least allow acpi_version= on the kernel cmdline for people who want to take advantage of the feature spread between 2 and 5?

    Not everybody has broken Dell crap, right?

    --
    My God, it's Full of Source!
    OUTSIDE_IP=$(dig +short my.ip @outsideip.net)
    1. Re:Add a parameter? by TFlan91 · · Score: 1

      TFA also states HP as an offending vendor? It's not very clear.

      Sounds like this could be vendor agnostic?

    2. Re:Add a parameter? by Anonymous Coward · · Score: 0

      I installed fully opensource/free firmware on my ThinkPad laptop and Linux still works like a crap: problems with waking up, problems with virtual terminals, kernel ooops...

    3. Re:Add a parameter? by DarkOx · · Score: 1

      The kernels default should be the revision the kernel implements. If the kernel implements five the value should be five. A report_acpi_ver= flag seems like a perfectly reasonable solution, but it should be up to the distros to override that with their boot loader configs; where someone might actually see it. If its really such a common problem that it makes sense to do that widely out of box in the first place.

      Software should do the least astonishing thing, and I think having the kernel inaccurately report acpi support would qualify as astonishing.

      --
      Repeal the 17th Amendment TODAY! Also Please Read http://www.gnu.org/philosophy/right-to-read.html
    4. Re:Add a parameter? by lister+king+of+smeg · · Score: 1

      The kernels default should be the revision the kernel implements. If the kernel implements five the value should be five. A report_acpi_ver= flag seems like a perfectly reasonable solution, but it should be up to the distros to override that with their boot loader configs; where someone might actually see it. If its really such a common problem that it makes sense to do that widely out of box in the first place.

      Software should do the least astonishing thing, and I think having the kernel inaccurately report acpi support would qualify as astonishing.

      Isn't working properly the least astonishing thing?

      --
      ---Saying gnome 3 is better than windows 8 not so much a compliment as it is damning with light praise.
    5. Re:Add a parameter? by Anonymous Coward · · Score: 2, Informative

      It's been widely known for more than a decade now that almost all ACPI implementations from almost all manufactures are bad, if not completely broken.

      Microsoft doesn't even bother humoring them. They roll their own power management code and maintain an internal database/whitelist/blacklist of machines and fixes/cludges.

      The above probably leads hardware makers to be complacent. They'll jiggle their implementation enough until the machine boots windows, then they ship it.

      Yes, they ship stuff that doesn't meet the standards but this is the state of the industry. Razor thin margins and high volume. They don't care about things they shipped last month, let alone years ago.

      Linux will probably go the MS route, since it's been proven that leaving something so important to hardware makers is a fool's idea.

    6. Re:Add a parameter? by Anonymous Coward · · Score: 0

      I don't what good you expect in returning something other than 2. All computers are made to work properly under windows, all versions of windows return 2, it seems soon linux will too. So returing something other than 2 will be either ignored or result in untested unknown behavior.

    7. Re:Add a parameter? by Anonymous Coward · · Score: 0

      For hardware tested to work under windows, the least astonishing thing is returning 2, as all versions of windows do.
      Sometimes you have to acknowledge that something is broken beyond repair, that is the case for that variable. The only way to maybe fix it is create a new variable.

    8. Re:Add a parameter? by drinkypoo · · Score: 1

      2 might be the right default, but shouldn't we at least allow acpi_version= on the kernel cmdline for people who want to take advantage of the feature spread between 2 and 5? Not everybody has broken Dell crap, right?

      My prediction is that this will turn out to be another case of using a Microsoft tool, in this case to create the DSDT tables in ACPI, and the tool was deliberately designed to bone Linux.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    9. Re:Add a parameter? by Bing+Tsher+E · · Score: 1

      Not everybody has broken Dell crap, right?

      Not all Dell is broken crap any longer. Dell went private awhile back and they don't have to answer to a 'bottom line' band of shareholders any more. As a result, their product is improving significantly. It's players like Apple who have to watch their market price now.

    10. Re:Add a parameter? by Kremmy · · Score: 2

      Given everything that I have seen, in life and in computer science...

      No. It might even be the exact opposite of the least astonishing thing.

    11. Re:Add a parameter? by jones_supa · · Score: 1

      They'll jiggle their implementation enough until the machine boots windows, then they ship it.

      It's more than that. You have to verify that all hardware is initialized correctly, you have to make sure that suspend and hibernation work 100%, that power management doesn't go haywire, and many more QA things.

      However I suspect the BIOS ACPI implementation is not only tested under Windows but built for Windows and its quirks from the ground up. They don't only grab the Intel spec but they monitor how Windows behaves in different scenarios.

    12. Re:Add a parameter? by TechyImmigrant · · Score: 1

      The kernels default should be the revision the kernel implements. If the kernel implements five the value should be five. A report_acpi_ver= flag seems like a perfectly reasonable solution, but it should be up to the distros to override that with their boot loader configs; where someone might actually see it. If its really such a common problem that it makes sense to do that widely out of box in the first place.

      Software should do the least astonishing thing, and I think having the kernel inaccurately report acpi support would qualify as astonishing.

      Isn't working properly the least astonishing thing?

      You must be new to computers.

      --
      I should use this sig to advertise my book ISBN-13 : 978-1501515132.
  4. Lets get crazy by a_n_d_e_r_s · · Score: 2

    How about reporting yes to Linux and keeping the correct 5 as a response.

    Then return all that dont deliver a working computer as broken.

    Because whats the use of having those questions if everybody delivers the same answer ?

    --
    Just saying it like it are.
    1. Re:Lets get crazy by Anonymous Coward · · Score: 0

      Some of us just want our shit to work and realize that the Linux market is so small that it'll never be addressed.

    2. Re:Lets get crazy by Rob+Riggs · · Score: 1

      The Linux market is only small for desktop/laptop hardware. You screw up server hardware that badly and you lose market share quick.

      --
      the growth in cynicism and rebellion has not been without cause
    3. Re:Lets get crazy by Anonymous Coward · · Score: 0

      You screw up server hardware that badly and you lose market share quick.

      Since the aforementioned hardware is from Dell and HP (two of the largest OEMs by market share), your claim doesn't seem to hold water.

    4. Re:Lets get crazy by cheesybagel · · Score: 1

      Do you think Google or Facebook buy millions of server nodes from Dell or HP? No. They just order direct from the manufacturers in China and Taiwan (e.g. Foxconn, Pegatron, Compal, Quanta) that companies like Dell and HP use.

    5. Re:Lets get crazy by Anonymous Coward · · Score: 0

      There are options if you want it to "just work". Pretty much everything ThinkPenguin sells for instance just works and it works across distributions out of the box. The only real "exceptions" are things like dial-up modems where distributions don't include the dial-up software (even though they include the drivers). The hardware support though is in the mainline kernel still so it technically sort of still just works. Nothing to fiddle with outside of what you'd otherwise have to with all dial-up modems.

    6. Re:Lets get crazy by s.petry · · Score: 1

      Do you think Google or Facebook buy millions of server nodes from Dell or HP? No. ....

      Actually "Yes", no matter what you fabricate attempting to counter facts.

      --

      -The wise argue that there are few absolutes, the fool argues that there are no probabilities.

    7. Re:Lets get crazy by SuricouRaven · · Score: 1

      Google probably does. Facebook came up with the Open Compute project, so a lot of their servers are custom designed for their specific niche. I don't know who actually manufactures them, but they are probably made especially to order.

    8. Re:Lets get crazy by whoever57 · · Score: 1

      Google probably does.

      Unlikely, Google reportedly has designed its own hardware for a long time.

      --
      The real "Libtards" are the Libertarians!
    9. Re:Lets get crazy by Anonymous Coward · · Score: 0

      "
      The Linux market is only small for desktop/laptop hardware. You screw up server hardware that badly and you lose market share quick.
      "

      Lol @ linux being relevant for servers after systemd

      --MikeeUSA--

    10. Re:Lets get crazy by Anonymous Coward · · Score: 0

      Look closely at the picture you posted. That's a Gigabyte motherboard, Hitachi hard drives, and a PSU. Surely you're not suggesting that Google designed *any* of those parts...

    11. Re:Lets get crazy by cheesybagel · · Score: 1

      They "designed it" to a similar degree to what someone like HP or Dell does. Or Alienware. Or whatever. They ask the Taiwanese "build me this" and they built it.

      I guess most of the work Google did was regarding the power supply, cooling architecture, etc.

    12. Re:Lets get crazy by cheesybagel · · Score: 1

      http://www.bloomberg.com/bw/ar...

      Almost 50 percent of Quanta’s revenue comes from HP, data compiled by Bloomberg show. It’s also selling hardware directly to Google (GOOG) and Amazon.com (AMZN), which require massive collections of servers to keep their websites humming.

      So you were saying?

    13. Re:Lets get crazy by cheesybagel · · Score: 1

      As for Facebook:

      http://arstechnica.com/informa...

      Like Google, Facebook designs its own servers and has them built by ODMs (original design manufacturers) in Taiwan and China, rather than OEMs (original equipment manufacturers) like HP or Dell. By rolling its own, Facebook eliminates what Frankovsky calls "gratuitous differentiation," hardware features that make servers unique but do not benefit Facebook.

      "Most of our new gear is built by ODMs like Quanta," the company said in an e-mail response to one of our follow-up questions. "We do multi-source all our gear, and if an OEM can build to our standards and bring it in within 5 percent, then they are usually in those multi-source discussions."

    14. Re:Lets get crazy by westlake · · Score: 1

      How about reporting yes to Linux and keeping the correct 5 as a response.Then return all that dont deliver a working computer as broken.

      You have 185 generic PC desktops sitting on pallets in a warehouse. Your boss wants them installed on schedule with a minimum of disruption and expense. Suck it in. Get it done.

    15. Re:Lets get crazy by Anonymous Coward · · Score: 0

      How about reporting yes to Linux and keeping the correct 5 as a response.Then return all that dont deliver a working computer as broken.

      You have 185 generic PC desktops sitting on pallets in a warehouse. Your boss wants them installed on schedule with a minimum of disruption and expense. Suck it in. Get it done.

      It shouldn't be default behavior to spoof the version. Add it as a boot argument, and then when situations like this arise, it's easy to report V2 as needed.

    16. Re:Lets get crazy by puddingebola · · Score: 1

      But Linux returned 5, it's winning by 3. 5-2 Linux over Windows in the 3rd quarter, YAY!

    17. Re:Lets get crazy by Anonymous Coward · · Score: 0

      I'm sorry that you don't have enough authority in your job to be able to purchase non-broken hardware.

      Perhaps you will one day gain that authority.

  5. Re: There is already a solution. by chris2kari · · Score: 0

    Please, please continue to run Windows. No seriously! We greatly value your self sacrifice in being a honeypot for every bit of malware out there. It makes life so much better for all the rest of us.

  6. Re:There is already a solution. by sumdumass · · Score: 1

    What, he said. And everyone should just drive a Volkswagen or Ford Pinto (or model T) and they should be all the same color because you having a choice is not a concern.

    But it appears this problem, if the author of the story is correct, is not in effort making linux like windows, it's in making linux act like windows in order to avoid deliberate sabotage from the firmware. So if we wanted to make your statement a little more correct with the actual situation, it shoudl go something like this.

    So much work to sabotage linux with the workarounds on the path that leads to it just being Windows.

    Why not just run Windows and call it a day :)

  7. Oh, Goody! Another kernel command-line switch by redelm · · Score: 1

    append fake_ACPI=2 to wherever your kernel command-line hides. At least this is easily done and more importantly, people can know it might help.

    Whether Linus will accept another switch is a totally different question -- Does his famous "The kernel will not cater for broken hardware" extend to BIOS firmware?

  8. Re: This is so Republican by chris2kari · · Score: 1

    Be calm. This is just pragmatism. These kinds of kludges have been common since forever to work around the lemmings who cling to the old convicted monopolist platform. This too shall pass.

  9. Win support for ACPI 5.0 spec by Anonymous Coward · · Score: 0

    According to MSDN, Window 8 and 8.1 support ACPI 5.0 which I guess adds support for low powered mobile computers based on the system on a chip (SoC) platform. If Linux just reports support for ACPI 2.0, will it be able to run on devices with SoC? Maybe the kernel should have some smarts and report to the bios what kind of hardware its running on and report the ACPI version accordingly.

    1. Re:Win support for ACPI 5.0 spec by ledow · · Score: 1

      What makes you think you're able to programmatically determine that and return it to the BIOS?

    2. Re:Win support for ACPI 5.0 spec by Anonymous Coward · · Score: 0

      That's the point, all current version of windows report 2, whatever acpi version they actually support, yet the hardware works under windows. That variable is legacy and should be ignored.

    3. Re:Win support for ACPI 5.0 spec by Anonymous Coward · · Score: 0

      This does make sense when you think about what "low powered mobile computers based on the system on a chip (SoC) platform" products are actually available.

      They're all very new (like 2014) systems based on baytrail atoms. (That, and the barely week-old broadwell systems like apple's soon to be shiping macbook, and devices from other makers that use the same hardware platform)

      Essentially a single chip platform completely from Intel. Intel's implementation is clean and leaves very little for cheap hardware makers to fuck up.

    4. Re:Win support for ACPI 5.0 spec by Anonymous Coward · · Score: 0

      Clean of active management technology? (Aka: backdoor). Doubtfull

      --MikeeUSA--

  10. Re:There is already a solution. by HiThere · · Score: 1

    To be fair, it's not clear that there is deliberate sabotage. The more likely reason is that the hardware was only tested under MSWind.

    --

    I think we've pushed this "anyone can grow up to be president" thing too far.
  11. Re:There is already a solution. by Archangel+Michael · · Score: 1

    The problem is, if reporting 5 instead of 2 doesn't work, because of a defect in BIOS/Firmware, it isn't the fault of LINUX, it is a fault of defective by design hardware.

    IF Dell doesn't support 5 properly, then it is defective. PERIOD. Buy the product, and return it defective to the place of purchase. Either that, or find a computer that actually works at 5, and post it on a hardware compatibility list somewhere, along with naming and shaming DELL for having defective hardware.

    --
    Agent K: A *person* is smart. People are dumb, stupid, panicky animals, and you know it.
  12. Re: This is so Republican by Eunuchswear · · Score: 1

    You are replying to an insane person. You are wasting your time.

    --
    Watch this Heartland Institute video
  13. Re:Oh, Goody! Another kernel command-line switch by Anonymous Coward · · Score: 1

    Shouldn't systemd handle this?
    who runs sound on their servers?
    Who runs linux on their desktop?
    Windows 10. Resistance is futile.

  14. Re:This is so Republican by Anonymous Coward · · Score: 0

    Your brain sounds broken. I don't even know what else to say to this post, aside from that you're off-topic, and that rants against one of the two horrendous major political parties in the United States don't do anyone any good (especially when delivered with such irrationality). Take your meds find somewhere more appropriate to rant against political ideology. Thank you, and have a nice day!

  15. Re:Oh, Goody! Another kernel command-line switch by trev.norris · · Score: 1

    Would that come in conflict with his other mantra of "don't break user space"?

  16. Re:Front page news by sumdumass · · Score: 4, Interesting

    This isn't really at the driver level yet. It's at the bios level where the OS can configure the devices to some degrees. The ACPI (Advanced Configuration and Power Interface ) level dictates the revision to be used in allowing the kernel to change settings and the level of control. It's basically why you do not have to go into the bios and change settings to resolve IRQ or DMA conflicts or worse, crap open the case and flip jumpers anymore.

    If the spec level is implemented properly, the bios will default to a non-conflicting configuration and all most drivers will need to do is query that configuration and use it. In some cases, such as workarounds for sound cards, the IRQ and DMA will need to be changed and the APCI level will dictate how and what can be changed. As stated by the article, in Dell machines the sound hardware is left in a misconfiguration state which would require the driver to explicitly use the APCI spec to make it useful to the user under linux.

    But it's way more useful then that. The brightness of a monitor for instance is controlled via the ACPI interface so you don't have to set it in the bios. In the article, the author claims that HP machines report fewer brightness levels for the back light of the LCD screen.

    However, the author thinks this is by design and intended to sabotage the linux installs. I'm thinking it may be more likely that they just do not put enough effort into the levels that are not commonly used and allow bugs to persist. Of course it could be a malicious firmware author who is upset over having to make this stuff for linux and sabotaging it. It's hard to tell at this point.

  17. Re: There is already a solution. by Anonymous Coward · · Score: 0

    No, don't be an ass. Some of us like to be able to run Linux on whatever hardware is handy, not just the box we specifically bought for Linux. I do wonder if handling this with a compatability list in the driver would be better than a global change though...

  18. Re:Matthew Garret, the SJW fuck? by Anonymous Coward · · Score: 1

    He was also one of the two scumbags who were arguing for signed kernels ("deepthroating Microsoft", as Torvalds put it) a while ago, if I remember correctly.

  19. I'm a Republican by Anonymous Coward · · Score: 0

    And I'm lying.

  20. I've been through this myself. by hey! · · Score: 5, Interesting

    I had a Toshiba laptop where none of the built-in devices like sound or network worked if you booted with ACPI on. It turned out the fix was to fool the bios into thinking it was running Windows by editing the DSDT code. The firmware on this machine actually shut off all the peripherals if it thought it was running some version of Linux.

    I've always been mystified as to why Toshiba's engineers did this. And even having that capability in ACPI seems architecturally suspect. I can't see any legitimate reason for the machine's firmware to second guess what to do based on which OS is running on it.

    --
    Post may contain irony: discontinue use if experiencing mood swings, nausea or elevated blood pressure.
    1. Re:I've been through this myself. by King_TJ · · Score: 3, Interesting

      Now THAT would make me apt to return the computer for a refund and buy something different.... It's one thing for Linux to support a newer level of ACPI that many popular vendors/machines don't behave well with. (I get the idea of reporting a value of 2 instead of 5 to make things work in these cases. Why not? It's a one character solution to the OS misbehaving on those systems. Just make a note as to why it's done and allow users to edit a file to change it to 5 for full ACPI functionality in cases where it will work.

      But to have a computer that willfully disables hardware because it thinks you're "trying to run something other than Windows"? That's done on purpose by Toshiba, if you ask me -- and was a ploy to ensure only Windows stays on the machine. (Maybe for tech support reasons, so they don't have to worry about fielding calls from users of Linux or other OS's who they have no support database built for?) I'd prefer not to use something designed like that.

    2. Re:I've been through this myself. by Eunuchswear · · Score: 1

      So maybe you should RTFA.

      --
      Watch this Heartland Institute video
    3. Re:I've been through this myself. by sjwest · · Score: 1

      Did not Matthew Garret hi-light Toshiba as idiots before for bios secure boot tables mix ups.

      It raised a do not buy flag on Toshiba products with me.

    4. Re:I've been through this myself. by King_TJ · · Score: 1

      I did read the article. What's your point?

      Despite the article's claims, the discussion directly below it makes it pretty clear that a lot of finger-pointing is going on around the whole thing. Some people assert that "firmware should never try to adjust anything to get around an OS bug", yet that's been commonplace for well over a decade now!

      (Anyone remember the old PC BIOS's which would require you toggle "Plug and Play" to Yes for a Windows '9x type OS, or select "No" for others? How about the ones that let you enable or disable the USB 2.0 "high speed" functionality? If that wasn't a work-around for OS/driver issues, what was it? Because USB 2 is supposed to be backwards compatible with the slower 1.1 devices. Heck, I remember a few BIOS's out there where I had to specifically set "OS/2" to "Yes" so they'd work right with installing it.)

      The poster I replied to was talking about a Toshiba machines the purposely disabled ALL of the devices if it couldn't determine you were booting a version of Windows. That's a lot more extreme than things like "the on-board sound not initializing if the Linux default value for ACPI gets presented to it".

    5. Re:I've been through this myself. by SuricouRaven · · Score: 1

      I've got a Lenovo laptop where the firmware doesn't initialise the touchpad if you cold boot to linux. It's a slight annoyance. Strangely, it does work after a reboot. As I keep it on suspend, it's only a slight annoyance - just means that if I ever turn it right off, I have to then turn it on and reboot from software to get the touchpad back.

      The problem is the same as everyone is complaining about: Like the vast majority of laptops, it was designed to run Windows. It was tested running Windows - certainly Windows 8, and I imagine Windows 7, Vista and XP for all those corporate customers who see no reason to update their standard build. There was never any plan to sell it with linux or support linux on it, so there was no reason for the developers to invest any resources in testing it properly under linux, and so any bugs that manifest only under linux went undetected and unfixed.

    6. Re:I've been through this myself. by Anonymous Coward · · Score: 0

      Check the project manager's bank statement for a large deposit from some corporation called "Microsoft".. There'd be your answer.

  21. Re:This is so Republican by Anonymous Coward · · Score: 0, Insightful

    Linux already lies with his source control system. He created a command called rebase that lets you change history. Lies are the way of his kind as they are for the vast majority of Western Europeans. They're just liars. It's their way.

  22. Re:Oh, Goody! Another kernel command-line switch by Anonymous Coward · · Score: 0

    Burma Shave.

  23. Device Tree vs ACPI by jcdr · · Score: 1

    I now wonder if it's a good idea to add ACPI to the ARM architecture. The device tree have the advantage to be far simpler and more robust since it can't change depending on the operating system loaded.

  24. Re:This is so Republican by Eunuchswear · · Score: 1

    The lunacy around here gets stronger every day.

    --
    Watch this Heartland Institute video
  25. Re: There is already a solution. by Archangel+Michael · · Score: 1

    Yes, I have a 386 handy, and I want to run a modern version of GNOME on it!

    Don't YOU be an ass. Expecting hardware to perform outside of its capability is stupid. You know it isn't going to work, so quit your bitching. Expecting a Dell that runs only at 2 properly to run at 5 is expecting too much. A Dell saying it runs at 5 properly, that doesn't, means it is defective, and you have a choice to run it at 2, or return it as defective.

    It would be much easier to find a system that does run 5 correctly.

    --
    Agent K: A *person* is smart. People are dumb, stupid, panicky animals, and you know it.
  26. Why Linux kernel responds False .. by DougPaulson · · Score: 5, Informative

    From: Bill Gates
    Sent: Sunday, January 24, 1999 8:41 AM
    To: Jeff Westorinen; 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.

    It seems unfortunate if we do this work and get our partners to do the work and the results 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
    ."
    -------

    A possible bug in Foxconn boards BIOS affects Linux ACPI

    Foxconn Does Hate Linux Support

    1. Re:Why Linux kernel responds False .. by Anonymous Coward · · Score: 0

      Bingo.

      I have read (can't find it now), that since all the tools the vendors use are written by MS that bugs in that software will be reflected in the ACPI tables.

      And NT has the inside knowledge of the bugs and can translate the errors into the correct response, and continue.

  27. only ACPI thinks that its number 2 by ozduo · · Score: 0

    doesn't stink!!! We know otherwise.

    --
    I got to the chocolate box before you, that's why the hard ones have teeth marks.
  28. Re:SJW is the new Godwin by 0123456 · · Score: 4, Informative

    I propose a new rule similar to Godwin's rule about the first to mention the word "Nazi" loses the argument.

    Uh, there's no such thing. Godwin's Law just says that, in any discussion that goes on long enough, someone will call another poster a Nazi.

    Your supposed 'Godwin's Law' would be absurd:

    'I think we should murder all the Jews'
    'Hitler, you're a Naz!'
    'Ha-ha! Godwin's Law! You lose!'

  29. Re:Oh, Goody! Another kernel command-line switch by Anonymous Coward · · Score: 1

    Wrong way round. it should default with a configuration what will work everywhere (ACPI=2) and use kernel command-line options for the relatively rare hardware that actually supports higher spec.

  30. This man is not to be trusted by Anonymous Coward · · Score: 0

    He has a habit of deferring to power, and a worldview seemingly composed of extreme sadism and fear-driven policy. This can be seen in e.g. the Secure Boot advocacy he engaged in on the LKML a few years ago.

    (not to mention the radical-feminist personal attacks he engaged in against tytso a few years earlier still. not a guy you want calling the shots. interestingly the FSF has him on board as the token male feminist.)

    1. Re:This man is not to be trusted by Anonymous Coward · · Score: 0

      +1

      --MikeeUSA--

  31. Re:There is already a solution. by SuricouRaven · · Score: 1

    Sometimes you have to make do with the hardware you have.

  32. Re:SJW is the new Godwin by Bing+Tsher+E · · Score: 0

    Now, you might be correct, if Hitler was posting on Usenet.

    Since Godwin's law specifically refers to Usenet, and only to Usenet if we're going to use the narrow definition, and even though Usenet is really really old, Hitler was long dead before the UUCP feeds were even a glimmer in anybody's eye, it's sorta irrelevant.

  33. Re:Front page news by imidan · · Score: 1

    or worse, crap open the case and flip jumpers

    I suppose you meant 'crack' open the case and not 'crap' it open, but from now on, 'crap' is the word that I will use to discuss opening a computer case.

  34. Re:There is already a solution. by Darinbob · · Score: 1

    Partly because it's a stupid solution. The problem is that hardware manufacturers making commodity parts do the minimum work available, essentially ignoring the standard altogether. The true de-facto standard is to do only what Windows expects and nothing more or less. Especially if you're getting parts intended for the consumer market.

    This is also a PC thing. PCs are just horribly designed, mostly because they are a result of a decades long process of feature creep rather than any thoughtful design process. A collection of hacks put together to ensure the earlier hacks still work. Whenever someone actually tries to get a design and standard for some component it inevitably gets corrupted over time as it gets cloned by cheap vendors.

  35. Probably laziness at work by stikves · · Score: 1

    Never attribute to malice that which is adequately explained by stupidity. The firmware developers probably never finished the "5" case in the "level" switch, and were still fine to ship the laptop with Windows. They were not obligated to do anything else to bring this to the market in any practical way.

    I've seen developers write the minimum amount of code that will "make it just work", and ignore what will make it "actually right". This is not only Linux's issue. Even Windows had to do crazy things, like Win 95 had to use Win 3.1 memory manager if Sim City was running (http://www.joelonsoftware.com/articles/APIWar.html). That is software, not hardware, but the core concept is the same. Somebody does a crappy product that works with a certain OS, and all the others have to mimic that in order to get that product working.

    1. Re:Probably laziness at work by Anonymous Coward · · Score: 0

      Never attribute to malice that which is adequately explained by stupidity.

      Never attribute to stupidity which is adequately explained by "it makes me money".

    2. Re:Probably laziness at work by jones_supa · · Score: 1

      Why do the _OSI("Linux") and _REV 5 blocks even exist if they are just stubs which do not fully work?

  36. Re:SJW is the new Godwin by KiloByte · · Score: 0

    So you say SJWs are as bad as Hitler? I'd say... not as bad, just more annoying. But then, with further levels such as Mao or Stalin, there's plenty of space for them to grow.

    --
    The creatures outside looked from Alt-Right to Antifa; but already it was impossible to say which was which.
  37. Re:This is so Republican by Anonymous Coward · · Score: 0

    It's half moon here so the lunatics can go either way. Or perhaps it's just somebody from the east who have picked a newspaper in a European hotel. The alternative reality shock wave is just too much to bear.

  38. Re:There is already a solution. by Anonymous Coward · · Score: 0

    It's the same thing as having to spoof another browser's user-agent string to get a broken site to render properly.

  39. Re:Front page news by Anonymous Coward · · Score: 1

    No he meant "crap". If you regularly opened a computer case, you'd know exactly how many times you screamed CRAP! and it's variants :D

  40. Re:SJW is the new Godwin by DNS-and-BIND · · Score: 0, Offtopic

    I love the way that SJW stings you because it's accurate. Thus you try to get rid of it by equating it to Godwin's Law and thus out of bounds for discussion. That's so SJW it hurts.

    There's also the delicious irony that you compared SJWs to Nazis without consciously meaning to do so. I think the term for that is "psychological projection".

    --
    Shutting down free speech with violence isn't fighting fascism. It IS fascism!
  41. Re:There is already a solution. by Teun · · Score: 1

    Testing what should be generic hardware under a single OS is pretty close to sabotage.

    --
    "The likes of Facebook and WhatsApp are free to those whose privacy is of zero value."
  42. Re:Front page news by Anonymous Coward · · Score: 0

    It's hard to argue that it's a bug when you find an if block that specifically tests for a value only used by Linux, and sets special restrictions that aren't there with the value reported by Windows. And this has happened before, back then it was a check for if(OS == LINUX), which was worked around by having Linux report WINDOWS as its OS string.

    Remove the entire block, and Linux gets the same code that Windows uses - the code that does get tested.

    Bugs don't just creep in by themselves, they are always in code that were deliberately put there, but which doesn't work exactly as intended.

  43. Why the hell was ACPI even created? by Anonymous Coward · · Score: 0

    I am no expert but it seems ACPI was created for power management and managing "thermal zones".
    Why not simply have a standard PCI device that does this!?!?!?
    There is the AHCI spec for interfacing to hard drives. The AHCI controller is a standard PCI (or PCI express) device.
    Surely a similar standard could of been invented for power management / thermal management?
    A PCI device is much more robust than ACPI/AML. ACPI and AML are so badly designed that LInus Torvalds rightly suggested the authors should kill themselves.
    Does anyone have any good reason why a PCI device (or devices) would not be able to provide the necessary functionality that ACPI badly provides today?

  44. Re:There is already a solution. by Anonymous Coward · · Score: 0

    Lack of testing does not produce an if block that explicitly does different when Linux is detected. That block should not have been there in the first place, someone decided to add it to the BIOS code.

  45. Re:Front page news by Anonymous Coward · · Score: 5, Informative

    Hi, I'm a UEFI BIOS/Firmware engineer that is very well plugged in to the heart of the PC industry and I can tell you that the reasons behind this are not malicious at all. I am fortunate because I am one of the engineers that write code that is broadly applicable to many different motherboard designs. Me and my colleagues have reasonable release schedules similar to other software projects of similar complexity. We have the time and the dedicated QA engineers to really polish our code, eliminate bugs, and test it under a wide variety of OS and platform configurations.

    Most UEFI BIOS engineers don't do the work that I do. They take the code from my group and make motherboard specific customizations. My group does all our testing and development on reference boards. The typical BIOS engineer working for a large OEM/ODM/IBV is generally given about 2 weeks to develop and test the customizations for a new motherboard design, and is generally expected to do so without any help from his/her peers. The reason for this is most large OEMs release about 50-100 new designs every 6 months, so per board development time needs to be as minimal as possible. With so many boards to support the OEM's engineering BIOS department ends up being a bunch of individuals all working on separate boards in parallel with little cross communication.

    With only 2 weeks to develop and test the BIOS, pretty much the only thing that ends up getting tested is whatever version of Windows the OEM is planning on shipping with that system. So you end up with this mixed bag of well written code from me and my colleagues combined with rushed, poorly tested motherboard specific customizations. Net result is bugs like what this kernel developer noticed happen.

    There are exceptions to this rule. Anything with an Apple logo, or anything that the OEM considers to be a "flagship product" that's going to get a lot of media attention is going to get a ton of development resources thrown on it. Products like the Surface, XPS 13, Yoga 3 Pro, Thinkpad T & X series, etc.

    With regard to the kernel dev's observation about _REV, he is spot on. Microsoft has done a great job making it absolutely worthless. We pretty much exclusively rely on _OSI checks for certain Windows versions. Its unfortunate but MS has pretty much forced us in to doing it this way since the ACPI requirements for Win7/8/8.1/10 are vastly different and the only way to make all of them boot on the same system without blue screens (and have connected standby work) is a ton of _OSI checks.

  46. Re:Front page news by silentcoder · · Score: 1

    Whenever I have to open a computer case I dress in nothing but a large overcoat.
    Then when the case is opened I yank the coat open and "flash" the BIOS !

    --
    Unicode killed the ASCII-art *
  47. Re:There is already a solution. by silentcoder · · Score: 4, Interesting

    >essentially ignoring the standard altogether.

    Let me regale you my favorite version of this. It must have been 12 or 13 years ago now, I was maintaining an educational linux distribution called OpenLab (we did some awesome stuff - look it up) when one of our big customers bought a large consignment of P3 machines to use as thin-client class-room servers.
    The things just wouldn't work... they would start booting the live CD and halfway through the bootup just reboot again, over and over and over.

    So they sent us one to figure out what was going wrong. I spent ages trying to figure out what on earth could be causing it, eventually resorting to disabling drivers one by one until it booted up to track down the issue.
    It turns out it was a watchdog card driver causing the problem. Which is odd because the machines did not HAVE watchdog cards. Now having a starting point I dug further. It turns out the cheap motherboard manufacturers had added an onboard sound card, but hadn't bothered to get a unique PCI-ID for it, they just used one from an intel watchdog card assuming nobody would install one. Running windows this would not be a major issue since nobody would load the driver for one.

    On Linux though the plugnplay layer picked up the device ID and loaded the watchdog card driver thinking there is one. The driver fires up, waits for the scheduled watchdog ping - and when it didn't get one (because the card wasn't really there) after 60 seconds (Back then booting up in 90seconds got us lots of praise, below one minute was unheard of) it would reboot the machine -exactly as it's supposed to.

    Never underestimate the level of stupid that hardware companies can come up with. I had to build a hotpatch version of the distribution which would disable the watchdog card driver if it detected that motherboard (which by the way is not that simple to do in very early-boot init scripts that have to run before drivers start loading).

    --
    Unicode killed the ASCII-art *
  48. You realise there's a standards comittee, right? by Anonymous Coward · · Score: 0

    So put your complaint to them, that the ACPI standard is being deliberately broken by Microsoft.

    Oh, and since all Windows versions call themselves ACPI2.0 compliant, if it doesn't say that, there's no need to do the checks. REMEMBER: if the board won't work with Windows 12 when it DID work with Windows 7,8,9,10 and 11, then it will be considered an error with Win12, not your board BIOS. So only bother with the OSI tests if it claims ACPI2.0 compliance.

  49. Re: This is so Republican by Anonymous Coward · · Score: 0

    The economics of time valuation are dependent upon the individual doing the calculating.

  50. Re:SJW is the new Godwin by ultranova · · Score: 1

    Godwin's Law just says that, in any discussion that goes on long enough, someone will call another poster a Nazi.

    No. It also adds that after Nazis have been brought up, any chance of having a reasonable discussion - as opposed to a shouting match - disappears. Which seems to fit the way the word "SJW" is usually used.

    Your supposed 'Godwin's Law' would be absurd:

    'I think we should murder all the Jews'
    'Hitler, you're a Naz!'
    'Ha-ha! Godwin's Law! You lose!'

    But that's not absurd. If Hitler proposes genocide, he should be denounced on the grounds that genocide is kinda bad, not because he happens to remind you of some other Hitler. The person who brought up Nazis did "lose" the argument, since he derailed the argument from whether Second Holocaust would be kosher into whether Adolf II has the fuhrer-stache or just an ordinary mustache.

    --

    Forget magic. Any technology distinguishable from divine power is insufficiently advanced.

  51. Re:Front page news by tibit · · Score: 1

    So, Microsoft is still Microsoft. Good to know.

    --
    A successful API design takes a mixture of software design and pedagogy.
  52. FOSS Hardware Testing Tools by TechnoJoe · · Score: 0

    It sounds like we need FOSS (Free and Open Source Software) hardware testing tools to ensure boards, bios/uefi, drivers, etc. are built according the specifications of the standard.

    Does anyone know the status of such tools? Do they exist? Do they lack features? Are they just not being used? Would a Windows version of them help? etc.

  53. Re:You realise there's a standards comittee, right by Anonymous Coward · · Score: 0

    You think the board manufacturers have ANY leverage whatsoever against Microsoft? OEMs would instantly stop doing business with anybody whose board doesn't work with every version of windows. You would have to get every single motherboard company on board to pull that off and thats a two prisoners dilemma but played with dozens of people who its in their best interest to be the one not playing nice.

  54. Re:There is already a solution. by Anonymous Coward · · Score: 0

    Companies don't really care on high end hardware either. Grab a high end workstation or server, pop in a hackintosh CD and see how fast everything dies due to improperly done ACPI stuff.

    My daily workstation was a $22,000 machine from HP when it was made, back in 2008 (same price as my car >.
    Running Linux, its ACPI tables are broken beyond belief, the board panics if a USB 2 drive is plugged in and doesn't respond quickly enough, killing ALL usb ports, even USB 1 ports for the keyboard/mouse, requiring unplugging it from the wall for 10 minutes to get them to come back online. Replaced the motherboard, new one has exactly the same behavior so I can only assume this nonsense was by design.

    Speed-step won't function, requiring it to be disabled to keep from throttling the CPUs to 1.2 ghz all the time, several other problems that i had to work around that I can't remember. Basically, anything from Dell, HP, or the like is crap no matter how high end it is.

    A lot of these problems show up in Windows 8 or 8.1 too, the thing only runs right in Vista or Windows 7, at which point it *appears* flawless.

  55. Re: Front page news by Anonymous Coward · · Score: 0

    Microsoft have to do this for the same reason Linux does, because some ACPI implementations are just broken and responding with anything other than a revision of 2 causes weird failures.

  56. Re:You realise there's a standards comittee, right by rdnetto · · Score: 1

    From a user's perspective, if a device doesn't work with Linux, the OS is broken, but if a device doesn't work with Windows, then the device is broken. It's not fair, but that's the reality we operate in.

    --
    Most human behaviour can be explained in terms of identity.
  57. Windows slop? by chris_clay · · Score: 1

    After reading in to the problem, I can see it's due to sloppiness on Windows' part. At some point we need to just do the right thing, and do it whether Microsoft is on board or not. The fact that Microsoft, a software company, can still influence the hardware market is mind boggling. The reason is probably high market share, which is not the most ideal situation.