Forgot your password?
typodupeerror
Bug Software Networking Linux

OpenSUSE Beta Can Brick Intel e1000e Network Cards 129

Posted by timothy
from the price-of-progress dept.
An anonymous reader writes "Some Intel cards don't just not work with the new OpenSUSE beta, they can get bricked as well. Check your hardware before you install!" The only card mentioned as affected is the Intel e1000e, and it's not just OpenSUSE for which this card is a problem, according to this short article: "Bug reports for Fedora 9 and 10 and Linux Kernel 2.6.27rc1 match the symptoms reported by SUSE users."
This discussion has been archived. No new comments can be posted.

OpenSUSE Beta Can Brick Intel e1000e Network Cards

Comments Filter:
  • by psergiu (67614) on Tuesday September 23, 2008 @09:27AM (#25119197)
    Any decent firmware for a device should not allow the user to accidentally destroy the device. Looks like Intel skipped on Q&A.
    • by reashlin (1370169) on Tuesday September 23, 2008 @09:30AM (#25119227)
      Any decent device driver should also not be writing to the firmware, which i'm guessing is how the device can become bricked.
      • Re: (Score:3, Informative)

        by Anonymous Coward

        It appears that the bug is a combination of memory-mapped control registers which can enable flash writing and another (graphics related) problem which causes random data to be written to that area. The driver itself does not attempt to rewrite the firmware.

      • by jandrese (485) <kensama@vt.edu> on Tuesday September 23, 2008 @10:43AM (#25120387) Homepage Journal
        Except for the multitude of cards that require you to basically reflash the firmware as part of the initialization? Cheap 802.11 cards are notorious for this, and it's a pain because it means you have to ship a binary blob with the driver and all of the licensing headaches that entails.
        • Re: (Score:1, Interesting)

          by Anonymous Coward

          Those cards need their on-card software reloaded every time because they use volatile memory to store it. Any changes to that memory are gone the next time you power off the computer. Depending on the rest of the hardware, that code could still damage the card though (software controlled voltage regulators, fans and amplifiers come to mind).

        • by the_B0fh (208483)

          Isn't this another reason not to use blobs?

        • by norton_I (64015)

          Actually, the cheap cards you are talking about wouldn't have this problem. Their firmware is not actually stored in flash, but in RAM which is why it must be refreshed on every boot. If you write a bad blob to it, a power cycle fixes it.

      • Re: (Score:3, Insightful)

        by ChrisJones (23624)

        err, what's the point of having firmware if your driver can't talk to it?

        Also, this isn't about firmware, it's about Non-volatile memory. The chip uses it to store things like its MAC address.

        You fail.

        • by pipatron (966506)
          How can an invalid MAC address brick the hardware? Lesson one is to check user input, no matter if it's strings in an URL or user-written data in NVRAM.
          • by ChrisJones (23624) <cmsj-slashdotNO@SPAMtenshu.net> on Tuesday September 23, 2008 @11:09AM (#25120793) Homepage Journal

            the NVM is checksummed. If the checksum fails, the driver refuses to initialise the card.
            It seems that something is able to write garbage data to the NVM, leaving all of its settings broken.

            This isn't some database API where you get to do lots of nice high-level verification, this is twiddling bits in hardware. Of course it should be properly protected, and my discussions with Intel about this suggest that it is, and that something else is at work here, but until they release a fix, we won't know for sure.

            Also, their own DOS tools to restore NIC EEPROMs actually break the laptop NICs to the point that they won't enumerate on the PCI bus, so there is literally no hope of recovery unless you happen to have a BIOS update which will rewrite all of the memory the NIC uses.

          • Re: (Score:3, Insightful)

            by PhilHibbs (4537)

            There's no way that a device can check all possible combinations of input for crash-inducing behaviour. If you think it can, go read "GÃdel, Escher, Bach". In fact, go read it anyway, it's awesome.

            Also there's a difference between a NIC and a web site - the NIC's API input is coming from its owner, the web site's customer is not. If you're a piece of hardware, you do what your owner tells you.

            • Re: (Score:3, Interesting)

              by X0563511 (793323)

              Can you get us an ISBN for that book? The non-ASCII character in there got mangled by slashdot (or my browser) and all search results based on my assumptions, are trash.

              • I don't have an ISBN, but I know the book he's referring to is Godel, Escher, Bach [google.com].
            • by dyftm (880762)
              Yes, GEB is awesome. But it doesn't have anything to do with this. You can check every input, it may just take a while.
    • by arkhan_jg (618674) on Tuesday September 23, 2008 @09:39AM (#25119367)

      A few years back, Mandrake merged a kernel patch in their new release that would accidentally brick certain LG CDROM drives using old firmware versions when it checked if it had writing capabilities. This was largely LG's fault for re-using a valid command code to mean 'start flashing me now' instead, and of course, no firmware was then forthcoming, leaving the drive in an unusable state.

      LG ended up replacing old affected drives, and the kernel patch was rewritten. Mandrake bore the brunt of the reputation hit though for quite a while, which I suspect will happen to SuSE.

      The e1000e driver is the new one for pci-e based intel pro 1000 chipsets, with the old pci and pci-x cards unaffected with the original e1000 driver. Still, that's going to be quite a lot of cards affected.

    • I don't think that's entirely possible.

      Consider a cooling system. Is there any reason that shouldn't be software-controlled? If it is, the user could conceivably turn off all fans, thus overheating the device.

      Sure, you could take away enough functionality that the user can't do that. But that's the tradeoff -- functionality. No decent gun wouldn't allow you to shoot yourself in the foot.

      But then, I do think Linux should be in Intel's Q&A, especially for something like a network card.

      • by jacquesm (154384)

        A good design would still failsafe by shutting down when the components reach their maximum rated working temperature.

        That's what engineering is all about: anticipating modes of failure and dealing with them.

        • by X0563511 (793323)

          And that is what Intel is doing... when the nvram checksum is bad, it refuses to load the card assuming it is damaged.

      • A cooling system should have a build in over ride that trun it back on after it its too hot. There was a movie that got this part right

      • Re: (Score:1, Interesting)

        by Anonymous Coward
        Let's say intel does test with Linux, and releases a GPL driver. Then debian programmers make a few changes to eliminate compiler/valgrind warnings (remember ssh?). Oops, they didn't know what they were doing and now your ethernet card is bricked. But, hey, they got rid of that compiler warning. Open source FTW!
        • In which case, the blame would be where it belongs -- on the open source developers. At least that way, they've got an opportunity to get it right.

      • by ChrisJones (23624)

        Intel do do QA on Linux. One of their engineers reported to the Ubuntu bug about this that they had reproduced it while testing Alphas of Intrepid.

      • by Khyber (864651)

        "Is there any reason that shouldn't be software-controlled?"

        I can think of one. Software can be infected with malicious code. I'd prefer pure hardware-logic control. A simple potentiometer that controls how much power a fan receives. I can control it myself, don't need to learn any special commands/controls/programming, and it just works.

    • Re: (Score:1, Insightful)

      by Anonymous Coward

      Any decent firmware for a device should not allow the user to accidentally destroy the device.
      Looks like Intel skipped on Q&A.

      I think that's a bit unfair. To put it in terms of our favorite analogy subject, it would be like saying that a well-engineered car should not allow the driver to accidentally destroy the vehicle.

      There's only so much you can account for in silicon. Any device that has a function that can severely damage itself (i.e. a car being able to turn on with low oil levels or a motherboard with a firmware update function) will eventually get damaged by somebody, somewhere.

      • Ah, but when even a child can get the keys and crash the car, there is a problem.
        • by Fweeky (41046)

          So what you're saying is Linux should be split into a microkernel with every driver in it's own private address space?

          Good luck with that.

          • Actually, I was saying that the children who use linux get what they deserve - it isn't exactly a user-friendly OS when you've switched from OSX, or have unsupported firmware, or use beta versions of things...
        • Ah! ... now you are starting to understand why your parents won't let you have them ;-)
    • by davidwr (791652)

      Gun and air-conditioning aside, devices should not allow accidental bricking or physical damage unless it is inherent in the function of the hardware.

      For cases of loading bad firmware, the "load new firmware" instruction should have a few failsafes like magic words or what-not so it isn't accidentally invoked.

      Even better, hardware devices should have a failsafe firmware burned on silicon that can be reactivated by flipping a switch, setting a jumper, or some other hardware-action-required setting. This "fa

      • For cases of loading bad firmware, the "load new firmware" instruction should have a few failsafes like magic words or what-not so it isn't accidentally invoked.

        So you are saying that QA engineers could learn something from BSDM? Um, sign me up for that training class!
        • by davidwr (791652)

          I've heard of BSD, NetBSD, OpenBSD, and FreeBSD, and others, but what is this BSDM of which you speak?

          • by pipatron (966506)
            I bet it's not as painful as the alternatives you mentioned!
          • by Splab (574204)

            Google it, should be pretty apparent what BDSM is.

            He is talking about a safe word for when things get a bit out of hand - but the other way around; a word to allow things to get out of hand.

    • by griego (1108909)

      It's "QA", not "Q&A". Sorry, pet peeve of mine. :P

      • by psergiu (67614)
        The /. forced preview is useless if you don't actualy preview the post before submitting :)
      • by Shotgun (30919)

        That depends entirely upon where you work.

        I've been at places where the quality teams job was to ask, "What the hell is this SUPPOSED to be?!"

        No design team (or documents). You're supposed to ask the developer how it is supposed to work, and then write your test cases accordingly.

  • !Bricked (Score:5, Funny)

    by Anonymous Coward on Tuesday September 23, 2008 @09:30AM (#25119229)

    Why won't people stop using the word brick to mean things that aren't bricked! All you have to do is use a quasi-negative reverse transponder linked to your flux capacitor to generate an inverse tachyon field, connect it to the JTAG while chanting Siaynoq and it will come right up. Sheesh!

    • Yes because such a technical term should not be bandied about lightly.

    • by 3p1ph4ny (835701)

      What's your definition? From TFA:

      The problem is described as "a serious issue with the potential to damage the network card in a way that it cannot be used any longer".

      I thought that was pretty much textbook "bricking".

    • Unfortunately, due to inferior materials used in the chip's casing, exposing the device to a sufficiently strong inverse tachyon field will cause protonium breakdown which will in turn cause an endothermic reaction, which in turn will fracture the silicon along the sharp drop-offs in the resulting thermal gradient. As a side-effect of the presence of the inverse tachyons, the failure will happen in the near future rather than immediately. In other words, your device will work on the testbench but by the t

    • by ckthorp (1255134)
      You forgot the deflector dish.
    • Re:!Bricked (Score:5, Funny)

      by clickety6 (141178) on Tuesday September 23, 2008 @11:13AM (#25120859)

      I also hate it when people call these things bricked incorrectly.

      Bricked XBOXen, bricked PSPs, bricked iPhones and now bricked network cards.

      People, these things are not bricked! Believe me. I've tried building houses and garden walls out of them and they are absolutely fecking useless as bricks!

      Please use the correct term in future. These items are not bricked, they are just FUBI (fecked up by incompetence)

      Thank you...

      • by RedK (112790)

        And I hate people that don't know that the plural of box is boxes, not boxen. Xboxes. BOXES!!!

      • by darkonc (47285)
        Actually, it takes four of them (and a boatload of epoxy) to make a brick -- but it's all the same result.

        I think, however, that I can safely claim that the 'brick' moniker is meant to imply the kind of result you get when you smash the device with a brick.
        It's my story, and I'm sticking to it (until something better comes along)

    • ... to reverse the polarity.

  • by OverlordQ (264228) on Tuesday September 23, 2008 @09:36AM (#25119319) Journal

    I hate it when people keep incorrectly using brick . . . . wait, what? They used it right? Oh . . . my bad, carry on.

  • Kernel fix, perhaps? (Score:4, Informative)

    by Anonymous Coward on Tuesday September 23, 2008 @09:38AM (#25119341)

    Kernel 2.6.27-rc7 has a changelog entry that reads:

    Christopher Li (1):
                e1000: prevent corruption of EEPROM/NVM

    • by enodev (692876)

      No, its the e1000e which is affected (note the trailing e)

      • by phorm (591458)

        Is there a separate driver for the e1000e? Maybe both use can the "e1000" driver (I don't have that particular card) but it only bricks the e1000e

        • by ChrisJones (23624)

          e1000 and e1000e are separate drivers.
          Some of the devices which are now supported by e1000e were previously supported by e1000, so it's all a bit confusing.

          AIUI, if the part is PCI Express, it's now in e1000e.

          • by Fweeky (41046)

            In FreeBSD at least, the split's not that clear cut; there's em(4) for older cards and igb(4) for newer ones, both of which share a seperate e1000 module where lots of their code lives. I think the situation's similar on Linux.

    • by neonprimetime (528653) on Tuesday September 23, 2008 @09:46AM (#25119463)
      From: Christopher Li

      Andrey reports e1000 corruption, and that a patch in vmware's ESX fixed it.

      The EEPROM corruption is triggered by concurrent access of the EEPROM read/write. Putting a lock around it solve the problem.


      link [kernel.org]
  • Oh great. (Score:5, Interesting)

    by gandhi_2 (1108023) on Tuesday September 23, 2008 @09:51AM (#25119543) Homepage
    Remember when Dell told customers that installing Linux on their computers voided the warranty?

    Remember how everyone on /. called bullshit?

    This doesn't look good for our cause.

    • by jimicus (737525)

      This doesn't look good for our cause.

      It doesn't, but it does get me thinking: Given that it's possible for a badly behaved driver running in the kernel to stamp over NVRAM rendering hardware useless, how many pieces of bricked hardware have I thrown out over the years that were bricked because of a freak coincidence involving a rogue driver?

      Bear in mind that many drivers in Windows run quite close to ring 0 of the kernel and they would be just as capable of causing such a problem.

    • by sloth jr (88200)

      No, I don't remember this. Given that you can buy a Dell without an OS whatsoever, and still have it warrantied, I do indeed call bullshit.

      sloth jr

    • by slyborg (524607)

      Yeah, I call bullshit again. WTH are you on about? That was about Dell not wanting to educate its script monkeys in Support about Linux. Don't have a problem with it, but it wasn't about any known issue with Linux damaging a computer.

      This issue is a specific model of ethernet card on a specific board type using a beta release sometimes getting corrupted. A BIOS restore restores function.

      This could easily have happened with a Windows beta release.

      • by gandhi_2 (1108023)
        Well...my friend. I 100% agree with you.

        I was simply talking about companies like Dell who simply needed an EXCUSE to avoid fulfilling warranty obligations. There were several cases where Dell owners (other OEM's did this too, i'm not picking on Dell exclusively.) put a Linux/GNU Linux/BSD/etc on, only to find their warranties voided...only a few who fought loud enough got service. And these were the days before most OEM's sold systems with FOSS OS's.

        You are right, it really came down to service employee

    • by darkonc (47285)
      Yeah, but how many people have Windows on their machine and it works like a brick? It's not like even this beta leaves people worse off than Using MS Windows....
  • by ronch (82516) on Tuesday September 23, 2008 @09:51AM (#25119553)

    I work on the e1000 team (including the e1000e driver) and here is what we know. A panic in another driver (believed to be the gfx driver but uncertain) which scribbles over the NIC/LOM non-volatile memory (NVM). This is only happening with the 2.6.27-rc kernels on ICHx systems. Since the NIC/LOM VNM is part of the whole BIOS image other things in the system could be effected by this driver panic as well. An update of the system BIOS will restore the NIC/LOM to be operational. We have some patches under test right now that we will be releasing later today to protect the NIC/LOM NVM. That should help narrow down who is scribbling over NVM.

    • Re: (Score:3, Funny)

      by Anonymous Coward

      This post was what to helpful and informative.

      It doesn't belong in the comments of a Slashdot article!

    • by jacquesm (154384)

      Would you like some toast with your acronym soup ? The scary thing is that it is in fact readable...

    • Re: (Score:2, Funny)

      by Alsee (515537)

      You should take their crayons away until they learn to stop scribbling everywhere.

      -

    • Re: (Score:2, Informative)

      by k.a.f. (168896)

      I work on the e1000 team (including the e1000e driver) and here is what we know. A panic in another driver (believed to be the gfx driver but uncertain) which scribbles over the NIC/LOM non-volatile memory (NVM). This is only happening with the 2.6.27-rc kernels on ICHx systems. Since the NIC/LOM VNM is part of the whole BIOS image other things in the system could be effected by this driver panic as well. An update of the system BIOS will restore the NIC/LOM to be operational.

      In other words, as usual, the device is NOT bricked.

    • by ChrisJones (23624)

      ronch: very interesting.

      I was given to understand that writing to the NVM on these parts was controlled by a hardware lock bit and so it shouldn't be possible for something to scribble over it?

      • by T.E.D. (34228)

        On the E1000? I believe Intel has the specs online, although I couldn't find them with a quick website search. I have them handy here, but I've never written my driver to write to the NVRAM so I can't say I know entirely how its done. However, skimming through it, I don't see anything about any "hardware lock bit".

        Think about this logically. If its possible to flash it on purpose entirely through software, then it would be possible to do so accidentally with malfunctioning software.

        • by ChrisJones (23624)

          Of course, but the prevailing wisdom is that for the parts used on ICH8/ICH9 systems, a more complex series of actions is needed than simply flipping one bit.

    • So, this is apparently not at all a problem with Suse or Fedora. Referring to the article and not the parent post, I hate it when people talk about distributions like they are responsible for anything at all. Distributions are 99% a collection of software written by others. If you're going to assign blame, it should be done properly.

  • by Anonymous Coward

    There should be a jumper somewhere which either physically disables writes to nonvolatile memory. That applies to all hardware. The current incident is a bug, but this could also be exploited by malware for embedding itself in the mainboard firmware or the PXE firmware on a network card. Also, bring back write-protection switches on USB sticks.

    • I can see how that will work well: "we need the change the bios update procedure. Where it says:
      "click on bios update, click yes, click yes, really, come back in 2 min"
      we need:
      "get on your knees, pull out computer from under desk
      get screw driver, take off cover, remove dust
      find flashlight and small needle nose pliers, locate jumper
      take out graphic card to access jumper hiding under oversized heatsink, move jumper, reinsert graphic card
      boot, click on bios update, click yes, click yes, really, come back
      • by the_B0fh (208483)

        No no no.

        All you want is to confirm that the user really wants to perform that action, right?

        All you need is an "Accept or Deny" message box.

        Worked great for Vista!

    • by Ant P. (974313)

      A hardware switch isn't really necessary. Just make the reflash instruction a 256 bit code that's impossible to come across during normal use. If you're worried about malware it could be made to only accept the instruction when the OS is initialising the card.

      If that's still not enough for you, maybe you should start worrying about them bricking your hard disk too...

  • by Anonymous Coward

    It is a beta using an early release candidate kernel.

    Isn't this the sort of issue that testing releases are meant to catch? It is unfortunate that some users got bit by the bug but it probably isn't very widespread.

  • Lesson finished (Score:2, Insightful)

    by Anonymous Coward

    What do we learn from this incident?

    1. Beta is not for the common people.
    2. Programmers are humans are erroneous.
    3. "This program is distributed in the hope that it will be useful,
            but WITHOUT ANY WARRANTY; [...]"

    • 1. Beta is not for the common people.

      Is that why Betamax (consumer video tape format) died and Betacam (professional video tape format family) lived?

    • by kimvette (919543)

      3. "This program is distributed in the hope that it will be useful,
                      but WITHOUT ANY WARRANTY; [...]"

      Don't run any Microsoft or Apple operating system either, then. Both of them expressly declare there is no warranty.

      • That's not "don't run", that's the "beta" part.

        The point is, if this happens to you, too bad. Unless your hardware warranty covers it, you're SOL.

  • For example, it needs 2 layers of control. One layer should be minimal and not subject to any possible reprogramming. It might even be implemented in pure hardware (not firmware). But if it is implemented in firmware, it needs to be in "read ONLY not physically possible to write" memory (e.g. legacy ROM). This layer is the one that implements the function to write the flash that controls the next layer of the device. And this first layer needs to function even if the next layer is hosed or doing strang

  • Dear Editors,

    I am writing today specifically to request that the phrase "don't just not work" be banned from this site. This phrase is ridiculous and utterly confusing. Even expanding it to the root words of "do not just not work" does little to help.

    The English language is mutilated just fine without needing extra help by poor editing.

    Thanks,

    Concerned Reader

    • by Ant P. (974313)

      Some Intel cards don't just not work

      card == (card & NOT_WORK); /* 0 */

      with the new OpenSUSE beta, they can get bricked as well.

      card == (card & NOT_WORK|BRICK); /* 1 */

      Get it now?

  • I once had to literally throw away 18 of 24 e1000's, because they could not be made to work reliable under Linux. Unfortunately among those working were my two test cards that I got beforehand. I will not get any networking equipment from Intel ever again. It seems to me that just because of their well-known name they believe they can get away with massively substandard quality.

    • It is pretty much THE gold standard. There are one or two other vendors that have good chipsets as well, but probably half the servers in existence are using Intel NICs, and 3/4 of the rest are Broadcomm.

      When you pay 20 bucks for an ethernet card, you get what you pay for. 95% of the time it is fine for everyday use in a PC, but they aren't at the same quality level (and not even close to the same performance level) as the enterprise class products. Same is true of all the other vendors.

    • by amorsen (7485)

      Intel's e1000-series is really great. They perform wonderfully and they always work. It is unfortunate that they have been hit by this problem, but such is life. I have never seen a bad e1000.

  • by AdamWill (604569) on Tuesday September 23, 2008 @03:44PM (#25125877) Homepage
    This can also affect Mandriva Linux 2009 pre-releases. To be clear, the bug is in the upstream kernel itself, not in any code specific to any distribution.
    It affects any 2.6.27rc kernel, whether it's in a distribution or a clean upstream build.
    We have posted a full, detailed notification of the issue [mandriva.com] for Mandriva users.

You can do more with a kind word and a gun than with just a kind word. - Al Capone

Working...