Slashdot Mirror


NVIDIA Begins Requiring Signed GPU Firmware Images

An anonymous reader writes: In a blow to those working on open-source drivers, soft-mods for enhancing graphics cards, and the Chinese knock-offs of graphics cards, NVIDIA has begun signing and validating GPU firmware images. With the latest-generation Maxwell GPUs, not all engine functionality is being exposed unless the hardware detects the firmware image was signed by NVIDIA. This is a setback to the open-source Nouveau Linux graphics driver but they're working towards a solution where NVIDIA can provide signed, closed-source firmware images to the driver project for redistribution. Initially the lack of a signed firmware image will prevent some thermal-related bits from being programmed but with future hardware the list of requirements is expected to rise.

34 of 192 comments (clear)

  1. Alibaba by rsilvergun · · Score: 4, Insightful

    I'm guessing this is a response to Alibaba, where you can buy a $300 graphics card for $100 so long as you're OK with being an $80 card with a flashed bios. Remember folks, if it looks too good to be true it probably is :(.

    --
    Hi! I make Firefox Plug-ins. Check 'em out @ https://addons.mozilla.org/en-US/firefox/addon/youtube-mp3-podcaster/
    1. Re:Alibaba by ThatsMyNick · · Score: 3, Interesting

      They are selling nvidia cards with a modded firmware? Why? Nvidia is going to change their hardware, and hardware will only accept signed firmware. Fake cards, can choose to simply not do any signature checks on their hardware. Unless the fake cards are real nvidia cards, which for some reason run a modded firmware instead of nvidia singed firmwares, this will have no effect on them.

      This is to simply prevent modding. Modded firmware often pushed the hardware beyond the recommended limits. This is more like some of the android phones only accepting signed firmware.

    2. Re:Alibaba by Anonymous Coward · · Score: 5, Informative

      I don't think you understand what these fake cards are.

      They are legitimate $80 nvidia cards, flashed with modded firmware to enable cores and clock speeds that the silicon is incapable of handling (Hence why the chip became an $80 card in the first place, instead of a $300 card).

      The modder then puts the flashed $80 card on e-bay for $200 and makes a sweet profit.

    3. Re:Alibaba by Baloroth · · Score: 4, Interesting

      They are selling nvidia cards with a modded firmware? Why? Nvidia is going to change their hardware, and hardware will only accept signed firmware. Fake cards, can choose to simply not do any signature checks on their hardware. Unless the fake cards are real nvidia cards, which for some reason run a modded firmware instead of nvidia singed firmwares, this will have no effect on them.

      That's exactly what they are. It's pretty trivial to take, say, GTX 440, and reflash the firmware to report that it's a GTX660. It's extremely difficult to make a fake nvidia card that isn't actually an nvidia card that actually works as a video card and isn't completely obviously a fake. The story was even on slashdot.

      --
      "None can love freedom heartily, but good men; the rest love not freedom, but license." --John Milton
    4. Re:Alibaba by K.+S.+Kyosuke · · Score: 2

      NVIDIA did that three times with GT430s. They started selling them as fake GT 520s, then they continued with selling them as fake GT 620s, and today they're selling them as fake GT 730 128b DDR3. They're perfectly happy with fakes on the market, they just don't want anyone else to sell them!

      --
      Ezekiel 23:20
    5. Re:Alibaba by Mashiki · · Score: 5, Informative

      Quite often they're not even unlocking anything. Rather they're doing a dirty hack to change the bios information of the card to display something that it isn't. This isn't all that unfamiliar to those of us who were in the industry back in the mid to late 90's when scammers were resilking(cpu info used to be silk screened on, to counter this it's why all cpu's are now stamped) Cyrix cpu's as AMD and Intel. You only found out what the CPU actually was, when you plugged it into the board and it said "cyrix." And while there are cases of people doing this to binned parts, most of the time the links to enable those pathways are cut before they're made into a gpu to stop people from doing exactly that. And if you're wondering why, it's because Intel ran into a massive problem where fly-by-night companies would unlock the binned CPU, and then actually flashing the microcode to change what the CPU was.

      The cheap and dirty way to unlock CPU's during that time period was to use a graphite pencil across a unfinished path. I think it was pin 14 or 23 on the board. Very nasty problems with Slot 1 cpus.

      --
      Om, nomnomnom...
  2. f**k nvidia... by Anonymous Coward · · Score: 2, Insightful

    "NVIDIA, f**k you!" - Linus Torvalds

    1. Re:f**k nvidia... by Anonymous Coward · · Score: 4, Insightful

      Nonsense, it's not on Nvidia to stop fake cards, its on law enforcement. All they are doing is fucking everyone into having to use their signed firmware. Its another avenue for NSA style snooping from public and private parties without you ever knowing. No code reviews, no way to know if that signed firmware is actually what you would've compiled from any code snippets they may provide. No way to know if other functions are being executed from withing the code without your knowledge.

    2. Re:f**k nvidia... by armanox · · Score: 2

      It's on nVidia to keep people from counterfeiting cards, it's on law enforcement to punish those who do. It's one of those problems you attack from both ends.

      --
      I'm starting to think GNU is the problem with "GNU/Linux" these days.
    3. Re:f**k nvidia... by west · · Score: 3, Funny

      Nonsense, it's not on Nvidia to stop fake cards, its on law enforcement.

      Actually, if it cuts their into sales because purchasing NVidia is perceived as risky, then it makes complete commercial sense to make changes to protect people who think they're purchasing NVidia. It's straight dollars and cents.

      Now perhaps NVidia is only using this as an excuse to launch their evil conspiracy, but as excuses go, it's completely legit.

      (And while I'd love to make fun of you for the evil conspiracy business, the NSA's actual shenanigans have made that impossible. When the utterly improbable has turned out to be true, the completely ridiculous now becomes only highly unlikely...)

  3. Fuck That Shit! by Anonymous Coward · · Score: 2, Insightful

    That's the god damn fucking last straw. All these years I thought Nividia was slowly being dragged into the open by Nouveau. Digging their heals in but still an inexorable movement in the direction of the inevitable. But jesus fucking christ this move is such bullshit, 2 steps forward and 5 steps back. No more nvidia for me. They've just made AMD the only choice for graphics cards.

    1. Re:Fuck That Shit! by smash · · Score: 2, Insightful

      You know WHY people implement code signing, right?

      --
      I run: Windows, OS X, Linux, FreeBSD. Just because you have a hammer, doesn't mean everything is a nail.
    2. Re:Fuck That Shit! by goarilla · · Score: 5, Funny

      - To implement a chain of trust.
      - To tighten their control.on the hardware you paid good money for.
      - To fight terrorism, childporn, illegal goods.

    3. Re:Fuck That Shit! by Anonymous Coward · · Score: 4, Insightful

      So that they can pretend to sell hardware while maintaining permanent control of it?

  4. f**k nvidia... by Anonymous Coward · · Score: 4, Insightful

    Yeah. F**k Nvidia for keeping scammers from selling faulty video cards with hacked bios's.

    How dare they protect their brand integrity!

  5. As Linus said "Fuck you NVIDIA" by Anonymous Coward · · Score: 3, Informative

    Surely it is impossible to have an opensource software if it needs a key to build it into a runnable program?

    I mean you have the binary but you cannot recreate it from the source without that key to sign it with. The key is part of the source and you don't have it.

    1. Re:As Linus said "Fuck you NVIDIA" by mx+b · · Score: 2

      Surely it is impossible to have an opensource software if it needs a key to build it into a runnable program?

      I mean you have the binary but you cannot recreate it from the source without that key to sign it with. The key is part of the source and you don't have it.

      This is pretty much the reason the GPLv3 was written, to take care of this loophole in other licenses. If there are other parts of the GPLv3 that people don't like, perhaps we can update it and make a nice GPLv4, but many people throw the baby out with the bathwater with their hatred of GPLv3. I think having the ability of signing the keys yourself is an important topic.

  6. Re:Out of the frying pan... by guises · · Score: 2

    Yes, you are wrong. Back in 2007 AMD started releasing developer documentation and support for the development of open source drivers. This is the "Radeon" driver that you may see in repositories, and it's pretty good at this point. I don't know if 3D is fully supported, but for desktop stuff it's stable. That's in contrast to the Nouveau open source driver for Nvidia cards, which is reverse engineered.

    What you may be thinking of are the closed source drivers for Linux: Nvidia's closed Linux driver is better than AMD's. AMD's used to be notoriously bad, but it's gotten better over time. To my knowledge it's still not as good as Nvidia's, but they're both usable at this point.

  7. Well that's just it by Anonymous Coward · · Score: 4, Interesting

    I've had it. I don't understand why they don't just release all of the specs of the cards. Why don't they give them away for free? Or provide a 3D-printable download at the very least. Fuck nVidia!

  8. Re:Not really new practice for Linux. by Greyfox · · Score: 5, Funny

    On the other hand, nothing tastes quite as good as the tears of an engineering group that put several million dollars into R&D for a DRM scheme, just to have it broken by a Swedish teenager three days after their product goes live.

    --

    I'm trying to teach myself to set people on fire with my mind... Is it hot in here?

  9. that's sorta the problem by rsilvergun · · Score: 4, Insightful

    they are capable for a little while. Usually the 90 days to get out of any warranty work. Maybe a few of 'em even run at the clock freqs without crashing. It's not just clock freq either. Nvidia shuts off broken cores in software. You're games might run but they'll crash a lot. What Nvidia's worried about is that You'll blame them for a buggy card and go buy AMD. It has major brand damage potential especially with Alibaba about to become a household word what with their IPO.

    --
    Hi! I make Firefox Plug-ins. Check 'em out @ https://addons.mozilla.org/en-US/firefox/addon/youtube-mp3-podcaster/
    1. Re:that's sorta the problem by Luckyo · · Score: 5, Informative

      You don't understand. All companies, AMD and Nvidia manufacture certain chips. Each chip has certain failure rates. When certain amount of cores fails, they are switched off in software and sold for less.

      AMD does this. Nvidia does this. Pretty much everyone making complex chips does this. It's massively uneconomical to throw away an entire chip over partial failures.

    2. Re:that's sorta the problem by HiThere · · Score: 4, Informative

      You aren't understanding. Since it was explained fairly clearly, I'd guess you don't want to understand. But I'll try again anyway.

      These chips are broken. So they are sold cheap. You don't want to pay full price for seconds. Before they sell them, they use software to set the broken parts as not working. Some of them aren't broken enough that you'll immediately notice, but that doesn't mean they aren't broken.

      Usually the breaks are only in one area. Some die didn't burn properly, or traces weren't properly laid down. Whatever. So that area is sealed off. The manufacturer doesn't do a detailed investigation of exactly what's broken, just one that's good enough so they can figure out what needs to be sealed off to have a working chip. Then the sell the working chip (with reduced functionality) for a much cheaper price.

      So if you don't need the full functions of the chip, you can buy the cheaper, reduced functionality, model at a cheaper price.

      IC manufacturers have been doing this since the i8086, or maybe the i80186. (Intel was the first one I ever heard of doing it.)

      This is a deal for those who don't need the functionality of the full model. It also cuts the prices for those that do, as selling the seconds defrays some of the cost of manufacturing.

      Those who are removing the imposed limits and selling the seconds as if they were first quality are the ones who are cheating the customers. They are also impugning the name of the original manufacturer.

      --

      I think we've pushed this "anyone can grow up to be president" thing too far.
    3. Re:that's sorta the problem by davydagger · · Score: 3, Informative

      all of them, this is how binning works.

      https://en.wikipedia.org/wiki/Product_binning

      Chips are designed for the max freq of the specification. If they fail that spec, they are retested at a lower spec, and if they pass that spec, they are sold at that frequency. Why else do you find many diffrent chips in the same family run at diffrent speeds?

      Many times the chip is %100 capable of running at faster speeds, but they had too much of the higher bin, and not enough of the lower bin.

      But yes, taking a chip that didn't pass a higher speed, flashing it to the firmware of its faster/more capable cousin, and then selling it as such is ripping people off.

    4. Re:that's sorta the problem by Uecker · · Score: 2

      On the other hand, it might equally well be price discrimination where they turn off perfectly working features just to be able to sell the same product to different people for a different price. Who knows?

    5. Re:that's sorta the problem by TapeCutter · · Score: 2

      Perhaps they should make sure that their products work in the first place.

      That's exactly what they are doing, making sure you get the functionality you pay for. I buy my stuff from reputable dealers, in 25yrs I've had exactly one Nvidia card and one ATI card blow up, every other video problem I've ever had has been software related. Both cards were cheerfully replaced under warranty.

      AFAIK from personal experience the practice of downgrading faulty chips to a lower spec has been around since the days of maths co-processors, probably longer. And no they don't exhaustively test every chip, the grading is done via random sampling at the batch level because, like science, "statistical analysis works".

      --
      And did you exchange a walk on part in the war for a lead role in a cage? - Pink Floyd.
    6. Re:that's sorta the problem by Grishnakh · · Score: 2

      > This didn't protect against such scams either however, as people did things like manually redrawing bridges on chips to disabled cores and so on.

      That's because they were doing things outside the chip packaging, such as putting SMD components (jumper resistors for instance) on the top of the package. It's not hard so solder simple SMD components with a soldering iron, though it is a little harder than reflashing some firmware.

      If they make the modifications on the chip die, before packaging, that's going to prevent almost anyone from re-enabling features that were disabled at the factory. Cutting a chip open, making modifications at the microscopic level, then putting it back together so it isn't obvious that it's been tampered with, is not an easy task, or something that a guy in his garage can do.

    7. Re:that's sorta the problem by Luckyo · · Score: 2

      Why would they need to go to such uncomfortable lengths, which would likely make end product cost more for the consumer when same can be reliably done in software on a massive scale with no need to modify physical production?

      The trend for last two decades has been to do things more efficiently in software instead of modifying hardware whenever possible due to inherent added flexibility and cost savings of the latter approach.

    8. Re:that's sorta the problem by Uecker · · Score: 2

      Mod parent up.

      There also better solutions than code signing if it were only about preventing people from getting silicon with broken cores sold as fully functional: Just publish the test result with the serial number.

    9. Re:that's sorta the problem by tlhIngan · · Score: 2

      Chips are designed for the max freq of the specification. If they fail that spec, they are retested at a lower spec, and if they pass that spec, they are sold at that frequency. Why else do you find many diffrent chips in the same family run at diffrent speeds?

      Many times the chip is %100 capable of running at faster speeds, but they had too much of the higher bin, and not enough of the lower bin.

      But yes, taking a chip that didn't pass a higher speed, flashing it to the firmware of its faster/more capable cousin, and then selling it as such is ripping people off.

      Except in the world of GPUs, there are enough "crazy people" out there who want the best of the best. So much so that the top bin is almost always empty - so you'll never have top-end chips binned as lower spec ones.

      At best, you'll find possibly the low end chips that could be mid-range chips, but given the low end generally isn't too popular when mid-range chips are the most common and most desired.

      Shortages of the top-end cards isn't unheard of - either people who are still trying to make a go at it for bitcoins, or gamers. (And given the price of the high end, they could come down a bit before binning takes place - they're still big profit centers).

  10. Doesn't look unreasoanble (so far) by marcansoft · · Score: 3

    So, they're locking out things that can brick the card (flash ROM/fuses, screw up thermal sensors) and apparently a hint of OS security (the Falcons that respond to userspace commands can no longer access physical memory, only virtual memory). The latter sounds somewhat bizarre, considering the firmware should be fully under the control of the driver, not userspace (I guess/hope?), but not unreasonable. Maybe there are software security reasons for this.

    Nouveau is free to continue using its own free blobs or to switch to nvidia's. If they start adding restrictions that actively cripple useful features or are DRM nonsense, then I would start complaining, but so far it sounds like an attempt at protecting the hardware while maintaining manufacturing flexibility for nvidia. This isn't much different from devices which are fused at the factory with thermal parameters and with some units disabled; the only difference is that here firmware is involved.

    NV seem to be turning friendlier towards nouveau, so I'd give them the benefit of the doubt. If they wanted to be evil, they would've just required signed firmware for the card to function at all. The fact that they're bothering to have non-secure modes and are only locking out very specific features suggests they're actively trying to play nicely with open source software.

  11. Not a big deal... by JumboMessiah · · Score: 4, Informative

    Andy Ritger at Nvidia is already in talks with Ben Skeggs and Martin Peres with Nouveau. They're are going to hash out the details at XDC2014. The impact for Nouveau is in the packaging and distribution parts of the cycle, not development. Also, it was Nvidia who reached out to Nouveau, not the other way around. Nvidia has their reasons for doing this, but it's not an anti FOSS thing. It's more likely one of the more sane reasons posted above.

    So everyone just relax their sphincters a bit....

  12. It totally depends what you want by dutchwhizzman · · Score: 2

    Intel has I believe all their Linux drivers fully open sourced. However, they're not really fast compared to AMD or NVidia. AMD has two driver versions, their closed source catalyst driver and the open source one. The catalyst driver is much faster, energy efficient and can do more tricks than the open source one. NVidia is sort-of supporting Nouveau and has their own binary driver as well. The "sort of supporting" is much limited compared to the amount of AMD is pouring in the open source version of their drivers, but it has improved greatly recently.

    Depending on what you are looking for in terms of bang for buck, speed or features each of these might be "the best solution" for your needs. If you want CUDA or openCL, you'll be looking at closed source though, there's no serious support for open source drivers for relevant hardware (yet).

    --
    I was promised a flying car. Where is my flying car?
  13. Read Only Memory by Mr.+Slippery · · Score: 2

    Once upon a time, there was this stuff called "Read Only Memory". Not EPROM or EEPROM, but ROM. Once it was created you couldn't change the contents of it.

    If I was worried that scammers were going to take a board that I was selling as a Whizzo rather than a Whizzo Plus because it didn't meet Whizzo Plus specs, and flash it as a Whizzo Plus anyway to rip off customers, I'd put "Hi there I'm Whizzo serial number 987654321 born 2014-09-24-18:58:56 GMT at the Utopia Planitia assembly line, signed <digital signature>" somewhere in a bit of that old-fashioned Read Only Memory soldered to the board in a tamper-resistant manner, and also have that serial number etched into the board.

    --
    Tom Swiss | the infamous tms | my blog
    You cannot wash away blood with blood