Hacker News new | past | comments | ask | show | jobs | submit login
How the Nintendo Switch prevents firmware downgrades (hackernoon.com)
105 points by jonluca on April 26, 2018 | hide | past | favorite | 98 comments

The wording of the title makes for a kinda misleading implication. This is pretty standard - they're called e-fuses. It isn't "blowing" in the sense that an actual fuse does, but it is permanently/irreversibly writing bits to indicate the minimum version.

Ok, we've removed the blowing fuses from the title above.

Apple and Google will coerce you into installing updates that irreversibly remove functionality, so think describing the fuses as being "blown" is the best word to use, since it implies damage being done to your device.

I can at least understand game console developers doing this. But it has become standard practice now.

I forgot my new pin on my iPad, and Apple forced me to take an update that I didn't want in order to restore it, which broke several features that I liked[1]. After iOS8, there is no way to decline updates, they will just keep getting downloaded.

My mother and grandmother both had their iPads hobbled by destructive updates as well. My Mom was going to give her old iPad 4 to one of her students so they could use this learning app, but Apple updated her iPad while she was sleeping one night, and iOS10 is so slow it is barely usable.

Can we please stop excusing this behavior by using neutral language? Companies clearly know that these updates are unwanted, or else they would let your roll them back. Retroactively removing features and damaging devices that people have paid for should be illegal.

[1]: https://news.ycombinator.com/item?id=11986500

> Apple updated her iPad while she was sleeping one night

iOS devices do not update on their own without any user intervention. In order to schedule an overnight upgrade, you have to agree to it then enter your PIN...

> Companies clearly know that these updates are unwanted, or else they would let your roll them back.

That statement makes no logical sense at all. The reaason they prevent downgrades are to reduce support costs, to ensure broad compatibility, and because of security flaws in older versions.

> The reason they prevent downgrades are to reduce support costs, to ensure broad compatibility, and because of security flaws in older versions

That's a reason, not the reason. I'm sure you can think of many other reasons a company would want to prevent downgrades that they won't tell you because it's "user hostile".

For example, say an exploit is found in the Nintendo Switch that allows arbitrary code execution. People use that to load emulators, homebrew games, pirated games, you name it into their Switch console. Nintendo does not like this, so they force an upgrade on everyone, lock it from being downgraded, and now anyone who upgraded can no longer do that. They'll chalk it up to security of course, because what company will flat out say they don't want their users to have the ability to run unsigned code on "their" device?

For the specific example of Nintendo, the codephrase for their exploit-closing patches is 'Increasing Overall System Stability'[0] which has spawned a beloved meme.

[0] http://en-americas-support.nintendo.com/app/answers/detail/a...

Apple will continuously nag you if you don't update. They use dark patterns (like many others) to trick you into accepting the update . Not to mention that updates also slow down your device over time, as happened with every single iphone 4s user. It was fast when I purchased it, and the updates turned it into a bottom of the barrel $99 android phone.

While you might be correct that updates also bring in fixes and new features, major updates can radically change the UI, and you're stuck with it even if you don't like it. Not being able to reset a consumer device to its factory state is a backwards mentality that users should protest at every opportunity.

What dark patterns do they use, exactly? I've been avoiding the iOS 11.3 update for a while now since I'm waiting for saurik to release his jailbreak, and iOS alerts me about 11.3 maybe once a week at most. It pops up a dialog box saying there's a new iOS version, and gives me the option to install now, install later, or defer the decision until the next alert in a week or two. The buttons are clear and meaningful and they don't appear designed to prioritise one option over another.

As for phones slowing down as time goes by, no shit - they're hardly likely to get faster as iOS becomes more complex, but Apple goes to extreme lengths to support older phones in a way that no Android phone manufacturer - including Google itself - even comes close to.

Personally I think it's ridiculous that Apple doesn't at the very least allow developers (i.e., people who have paid the $99 yearly fee) to downgrade their devices to a previous iOS version, but I don't think they're trying to "trick" anyone.

Two come to mind immediately. For one, they don't allow you to say 'NO' to their constant update nag prompts. The only options are install update or remind me later. The second is the sneaky update prompt during the unlock screen. It is designed to look identical to the regular unlock screen and the 'remind me later' option is designed to blend into the background. Indeed there is no easy way to even tell if the text is clickable. There are plenty more in MacOS too.


>As for phones slowing down as time goes by, no shit - they're hardly likely to get faster as iOS becomes more complex,

Heres an idea to NOT slow them down - Let the user reset them to the factory state.

> but Apple goes to extreme lengths to support older phones in a way that no Android phone manufacturer - including Google itself - even comes close to.

If slowing down phones to the point of becoming unusable is "supporting them", then I would gladly do without their "support".

>Personally I think it's ridiculous that Apple doesn't at the very least allow developers (i.e., people who have paid the $99 yearly fee) to downgrade their devices to a previous iOS version,

I don't feel like extorting another $99 (on top of the insane profit margin that ends up in a pile of cash - i.e. not invested in creating more products or towards apple employees) is an acceptable solution in the slightest.

> For one, they don't allow you to say 'NO' to their constant update nag prompts. The only options are install update or remind me later.

As someone who has to share the Internet with your device: good.

If your device is offline and doesn’t have a persistent connection to the Internet, I would understand. But for an iPad or iPhone who spend virtually all of their useful life more or less permanently connected to the Internet? Update. It would be better if there were an option to remain on the current version but with access to anything not on a private network disabled after some period of time (say 6 months).

> iOS devices do not update on their own without any user intervention. In order to schedule an overnight upgrade, you have to agree to it then enter your PIN...

iOS devices will download a 800M update package over and over again, and then present you with the option of installing the update now, or between 2AM - 5AM the next day, at which point you must enter your pin, and only then, can you decline.

> That statement makes no logical sense at all. The reaason they prevent downgrades are to reduce support costs, to ensure broad compatibility, and because of security flaws in older versions.

They are clearly making an intentional choice with how they deploy updates. The ability to roll back updates is not difficult.

They clearly do not want users to even have a chance to think about whether they want an update. And they certainly are not going to clearly explain how an update would remove features and degrade their UX.

I was a (reasonably) happy customer on Windows 8.1 until the screen on my Surface Pro broke. Sent it to Microsoft, paid $300 for repair, came back with Windows 10. At the time I was furious, I'm still a little bitter about it.

This is like when ad agencies say, "well, actually users like it when we inform them about new products, and it's actually a very valuable service..."

No, otherwise people wouldn't be going out of their way to install adblockers. Getting users to update software is hard because they view the process as cumbersome, annoying, and dangerous.

A good rule of thumb is that if you have to resort to dark patterns to do something, you're probably doing not doing it because people want you to.

I'm sorry for your loss! :-) Now that you're on 10, though, I suggest at least taking advantage of the new features to make yourself a little happier.

One of the most underrated (yet killer) features is the transparent LZX file system compression. It's awesome. Use it on read-only stuff like huge .exe and .lib files; it'll lower your space usage dramatically. (You can read these files with Windows 8.1 too, but you'll need to manually find, install, and attach the WoF driver to make that happen.)

I know you mean well, and I don't mean to put you down, and I'm sure the technology behind this is impressive and is making some people's lives way better, but this is exactly what I was getting at above.

LZX file system compression is objectively not a killer feature. If it was a killer feature, Windows wouldn't have had to run an aggressive campaign to trick users into upgrading - they would have upgraded themselves so they could get the amazing new feature that they cared about.

It's certainly good that Windows supports it, and it's definitely an improvement. But improvement isn't a one-dimensional scale - it's possible to build a product that's technically better in some ways that's still overall a worse value proposition for a large portion of its users.

It's like if I poured coffee on your jacket and then said, "well, let me make it up to you by shining your shoes." That's very kind, but the gesture is unrelated to the problem.

You are exactly right. People used to be excited about updates. And if they didn't work out, you could roll them back. It's ludicrous that somehow everyone forgot how to do that now.

And it's not just a technical problem, it's a cultural one. It's spread to open source software. When an update from Firefox destroyed certain user's Bookmarks files that they had spent years creating, the official response was that users should have made a backup.

Using computers today is so much work. I have to be so vigilant about making backups because I can't trust that my data won't be destroyed by an update.

> People used to be excited about updates.

They were? I guess service packs were kinda exciting, but for general updates this is news to me! :-)

> And if they didn't work out, you could roll them back.

Yeah, or you could just not decide not to install a particular one in the first place!

Honestly, I think software developers in general (including but not limited to Microsoft) need to realize that they need to stop forcefully shoving updates down people's throats against their wills, and instead write updates that are so good that people will want to install them.

I agree with you... I was most definitely not trying to say I support what they've been doing or that I oppose anything you said. I was in a similar boat as you; I forced to upgrade to 10 for a different reason and I hated that just as much as you did, if not more. I'm just trying to suggest a way to at least take advantage of your situation and make yourself at least a little happier (I know I did) given that, like in my case, there probably isn't a whole lot else you can do about it.

No worries, I didn't get the impression that you were trying to excuse anyone, just trying to be helpful. And it's generally fine; in my case I use my Windows tablet for very specialized purposes, so I can honestly cope with a lot of annoyance as long as the two or three apps that I rely on still work.

I mentioned somewhere else on another post though that I try to recommend Linux to less tech-savy people now, and experiences like this are definitely a contributing part of that.

I spent a fair amount of time setting my Mom up with Ubuntu, and it wasn't particularly easy to get everything the way she wanted it. But then when Ubuntu started pushing Gnome 3 I just kept her on an LTS release and everything was fine - no annoying prompts or stealth upgrades, and she still gets security fixes.

Wow. She's actually fine with it? Or just not complaining? Everything from the touchpad sensitivity and mouse pointer ballistics to the UI shortcuts and focus-stealing prevention always suck for me on Linux, meaning more strain on my hands etc... I can't actually use a Linux OS on a regular basis without feeling like it'll make me break a few bones or pinch a few nerves in a few months.

> She's actually fine with it? Or just not complaining?

There's no way for me to know for sure which ;)

She seems to like it a lot, but I don't know how much of that is the work I put in before hand. I spent a good week customizing everything from font size to mouse sensitivity to shortcuts and browser plugins before I gave it to her. It was pretty much "what do you want your computer to do", then I built her something that did exactly that.

But that pays off because I don't have to spend a bunch of time on tech support now, and she doesn't have to spend time learning new paradigms. The only time I ever touch it is if she explicitly asks for it to do something new, which is rare. I think better file/photo tagging is the only big thing on my todo list atm.

That's a neat tip. Do you know if the compression triggers stuff like Blizzard's Warden or Valve's VAC (I think it's called that).

I haven't checked, but I don't see how or why it should. It happens in kernel-mode with a filter driver; it's pretty transparent to user-level code (though not absolutely 100% invisible).

Perhaps you don't work in software, but you definitely want constant updates for an internet connected device. Apple has a track record for providing software updates for a long time past initial device release. Do you think more manufactures should be following their lead? The "cyber" world would be a much more secure place with constant updates.

Perhaps you don't work with non-user-hostile software, but you definitely want constant security updates for an internet connected device.

No reason for constant feature updates to keep the cyber world secure. It's a shame some software vendors bundle them together inseparably.

On the other hand, you’re implying that they should maintain patches for every single version of iOS released? Because every minor includes new features. That’s asinine.

Ubuntu, a free, open source OS, maintains and backports security patches for n-2, n-1, and n LTS releases.

LineageOS, a free, volunteer-run open source mobile OS, maintains and backports security patches for n-2, n-1, and n Android versions for phones.

Red Hat, the maker of RHEL, a paid, open-source OS — and its free, open-source duplicate CentOS — maintains and backports security patches for 10 years.

Microsoft Windows 10, a paid, closed-source OS pushed aggressively by Microsoft to the point of being sued, bundles feature and security updates on users like every real-world installation is for beta-testing. The LTSB branch is not available/accessible to individual users, and it looks like that will also start bundling feature updates with security updates.

Apple's iOS, a paid, closed-source, locked-to-hardware OS that supports devices sold in the past three years bundles feature and security updates and aggressively pushes updates on people's devices. There is no LTS branch of iOS.

I think this is a case of Apple applying the logic that 95% (more likely 99.99%) of users are better off not having to make the decision of what version of their os they should they install.

Compared to other companies Apple does an amazing job of supporting older hardware.

I feel like it’s a double edged sword, if Apple devices didn’t get updates people would complain, Apple updates older devices and people complain.

I think the route they have chosen is the best for most normal none techie consumers.

I'd argue that these operating systems are much, much simpler than the entire stack that is iOS and its built in applications and services.

I strongly disagree — not that that would be sufficient excuse.

It's not like the kernel and drivers are spread across disparate layers of the iOS stack. It's not like iOS doesn't have libraries and system services and thus has to duplicate code across disparate layers of the iOS stack. It's not like Apple can't or doesn't have special code accessible only to Apple's apps and iOS internals.

As of right now, there are only a handful of hardware configurations iOS has to support, and a single software configuration. Compared to the tens of different hardware and software configurations LineageOS has to support, or the hundreds of different hardware and software configurations Ubuntu and Red Hat have to support, or the thousands of different configurations Microsoft has to support, Apple's job here is a lot easier.

Given that mac oses have only to support their hardware and that they limit what the user can do, not, not at all.

The gnu/linux stack is richer and more complex.

No, he is probably not implying that. We do not want our devices losing features or getting slower unnecessarily. It is arrogant of a company to assert that kind of control over users' devices. It is disrespectful to the customer and their wishes.

No he's saying separating security patches from feature patches would be beneficial.

They’d need multiple builds of the same software. That’s not sustainable when they can just tell everyone to upgrade to the latest build. Less required QA, less wasted engineering time.

> That’s not sustainable when they can just tell everyone to upgrade to the latest build.

That is totally sustainable. It's effortful — and they can get away without doing it — "when they can just tell everyone to upgrade to the latest build". Just because they can do something doesn't mean its alternative is not "sustainable".

> Less required QA, less wasted engineering time.

For the vendor yes. More headaches for the user when features they liked are removed or features they didn't like or want are pushed on them. But that was already accepted as inevitable when buying into the Apple ecosystem, which brings me back to my original point: non-user-hostile software.

Why are you so obsessed with foisting costs onto the user? QA is important, engineering time is important, so put in the effort to make a good product. This pattern of updates would not be nearly so necessary if SWE's (and their managers) weren't so fucking afraid of a little elbow grease

.. but this breaks or downgrades some devices. It might be less cost for them but it's more cost for us.

Those are trivial things that any software team should be able to handle. How many security bugs are we talking about? Is iOS riddled with tends of thousands of bugs per-release-brach? No, it isn't.

In any case, I'm not sure why anyone should care about saving money for Apple. As a consumer I should look for the best deal for me, not ways to funnel more money into their pockets. They are very capable of taking care of that themselves.

You don't need to change the GUI features to patch the kernel and related programs unless those patches are actually related. It's not magic.

The issue is the updates are not always functionality neutral. Like in GP's case and many others updating to the new iOS means the device becoming very slow and annoying to use. In those cases the update is not a good thing because it severely degrades the device.

The updates are not the problem. Apple handcuffing you into staying with their preferred version (even if you hate the new UI, even if it slows down your device) is the problem here.

If updates were subject to user concerns, and not shifting business objectives, I would agree with you

Currently the best way to decline updates is to install the Apple TV beta profile to your iPhone or iPad. It prevents the updates from being downloaded in the background and stops the "enter passcode to update" notifications. http://www.idownloadblog.com/2017/12/11/block-ios-updates/

Whoa, thank you for posting that! I had given up trying to solve that problem. I thought the only way to prevent it without jailbreaking it was to use an enterprise account to make a new provisioning profile.

Also, when my iPad ran out of space, it finally stopped downloading updates.

Of course, it would be excellent if I could just say no without having to jump through so many hoops and spend my time on it. This kind of administrative stuff is so exhausting, and I never remember it being this complicated.

>Google will coerce you into installing updates that irreversibly remove functionality

Do you have an example?

On Android you're generally free to downgrade at any time, as long as the user data partition is cleared in the process.

One that comes to mind for me, with a specific Google app: Google removed SMS from newer versions of their Hangouts app over a year ago. I kept the program at the last version to have SMS. Pop-ups appeared periodically asking me to update the app. After about a year, launching the app starting showing a page "This version of Hangouts is no longer supported. To continue, please update the app."

Of course, at that point, I moved to one of their currently-supported apps...but it means that my Hangouts conversations are in a different place than my SMS conversations.

There are many possible ways to implement eFuses in silicon, such as NOR flash without the erase hardware. Starts in the 1 state, you can program it to 0, but you can't ever erase it back to 1 without exposing the silicon to UV.

But the original IBM implementation was based on "resisters" which were physically damaged by passing too much current through them.

Technically it's not "burning", as there is no smoke or combustion. Instead it's taking advantage of the electromigration side effect. But blowing is the closest analogy, the silicon is irreversibly damaged, due to too much current.

You can read more here: http://paris.utdallas.edu/ssiri08/Tonti_SSIRI_eFuse_V2.pdf

I have no idea which technology Nvidia used to implement their eFuses.

A common way to implement this is to have a resistor that literally does blow open due to over current. Pretty much the same principle as a fuse which is why it has that name.

These fuses don't necessarily stay blown; it's possible for them to mechanically heal. Consoles I've worked with have often blown multiple fuses and taken a vote (for controlling important features and version minimums).

> This is pretty standard

Doesn't make it right. It does not sound like a design decision made on the behalf of the consumer. This is planned obsolescence.

How is it planned obsolescence?

It may be more accurate to say "it seems likely the intended purpose of this is planned obsolescence"

After all, this doesn't prevent people from NOT upgrading, it just prevents them from un-upgrading. It adds the ability for the company to release whatever they want as the "last" upgrade and be sure that no one (of ordinary consumers) would be able to undo it. That last upgrade COULD be wondrous and happy...or it could be a massive degradation of performance. In the former case, there's not much of an argument for forcing people to be unable to leave it. But effort was expended to make that the case, so planned obsolescence seems a reasonable conclusion.

More generically, this feature exists so the company can change the product after you purchase it and you can't undo that change. Planned obsolescence is your product not longer working "as well" as it did initially, forcing a replacement. Those concepts seem awfully close.

The much more likely reason, at least in the case of the Switch, is to lock users out of old software vulnerabilities that could enable piracy.

Yeah, with all the fuss people are making it almost seems like feigned ignorance. Hacking the original Xbox via software exploits depended entirely on rolling back the system to exploitable system software versions, and using old unpatched game discs. It seems blindingly clear the efuses are exactly for blocking piracy.

But like all thing designed to block piracy, they only block this specific type of piracy and meaning the pirates will just find others (such as the one they found on the switch) and yet legitimate customers who just want to roll back to the last version for a legitimate reason are screwed (Say their favorite game loses performance on the new firmware.

The "last" update that my Mom's iPad got rendered it virtually unusable. Apple support told her to just buy a new iPad.

iOS10 is far too slow for her iPad 4, to the point where the onscreen keyboard lags severely. And many of her favorite apps no longer work.

I somehow doubt that it would be in any company's best interest to leave older devices on the market that compete with new devices.

I wonder if this is less a result of a newer OS, and more a result of the reported slowing of the CPU, due to a bad/old battery. Try replacing the battery and seeing if that speeds things up

Battery throttling was introduced somewhere in the iOS 11.x series; 10 didn't do it.

First of all, this iPad was almost untouched for years, she only got it to use this one particular presentation software, so it was in near mint condition.

Secondly, I've seen this happen to other iOS devices, in a clear progression.

There are only 32 such fuses.

Nothing stopping them from ditching this method and making release 33+ just expect that all the fuses are blown. It's just a software check, so Nintendo has a ton of options to keep things going.

That only means they can use this mechanism to prevent software downgrading 32 times. It says nothing about consumer hardware obsolesce.

That doesn't prove your point. Once they run out of fuses it just means they they can't lock versions in anymore, it does not mean that they will not be able to release new versions.

So? How would blowing all 32 "fuses" make the console obsolete?

It would be obsolete because it would no longer be as usable. This has happened to several phones, and especially Apple devices.

At least when Microsoft forced people to update to Windows 10, you could still install Windows 7 later if you really wanted.

But your iPad or phone can go from being fairly usable and fast, to being slow and useless with the last update. And it almost always does.

> It would be obsolete because it would no longer be as usable.

What on Earth makes you think this?

Permanently slowing my device down = Making my device less usable = obsolete

I could have gotten many more years of usability out of it, but they nearly bricked it with an update that I could not say no to.

That's not what these "fuses" do.

If not by actual fuses, how is it implemented? There has to be some sort of physical change for it to survive without power indefinitely

A read operation determines if the connection is "connected" or "disconnected".

It actually is litte bits of wire inside silicon that get over-current'ed and do burn away. And then a read operation returns "Disconnected".

There's no way to 'reconnect' a eFuse, in the way there's no way to reconnect an automotive fuse. So yes, eFuses are a form of hardware destruction.

I think the parent is being pedantic. All the literature I could find on eFuses (including the wikipedia article) either used 'blowing' to refer to permanent writing, or '"blowing"' (in scare quotes).

Whether or not that is descriptive of the physical process that's occurring, it certainly seems to be a reasonable term for anybody to use to talk about the functionality of eFuses.

Except that in many cases the "fuses" can be reset by wiping the firmware from the part and restoring it to a factory clean state.

That sounds like a flag, not an eFuse. I'd expect something called an eFuse to be some form of one-time programmable non-volatile memory.

Then it's not really a fuse in the normal chip sense.

The normal chip "fuses" aren't fuses anymore. They're just a section of EEPROM or flash with control circuitry altered to make them write-once only. Real fuse programming required generating high voltages and subjecting the die to high currents and localized thermal stress that modern ICs don't tolerate well.

Probably just some 'Write Once' Memory, where they can raise bits to 1 but can't lower them back to 0. (Or the other way around, depending on the memory)

Which is typically implemented as a fuse no? I’m struggling to remember my undergrad EE but I think that’s a thing ...

EPROM back in the day used to work like this. You’d use an ultraviolet light to remake all the fuses when you wanted to wipe and start again.

Flash came along then and made these technologies obsolete.

Or NOR flash.


Sometimes its not even permanent and the "fuse" is more of a term to indicate that the value is non-volatile.

FWIW, the concept here isn't exactly new - at least the Xbox 360 and a few other devices have had similar functionality[1].

[1] http://www.tested.com/tech/585-how-efuses-work-and-why-theyr...

The very first paragraph of the article made this clear already. It even mentioned the Xbox by name.

>Blowing a fuse is irreversible— once it’s been set it can never be undone.

Sounds impossible, until you find out that if you don't blow them hard enough you can get fuse re-flow under hot conditions. Good fun to debug.

In theory (untested to my knowledge), if you super cool the chip you could lower the resistance of the fuse and prevent it from blowing and absorb heat around the fuse, but it's probably not all that practical for casual game players.

As for getting to the problem at hand (force downgrading your system), some potential solutions (nothing easy):

* Careful control over the chip's power and you could perform a power supply timing attack, tricking the processor logic. This seems like a bit of a stab in the dark though.

* Assuming the bootloader is loaded into some form of RAM, you could look towards modifying the RAM as the chip boots to contain some kind of "skip" code for set pins. Game consoles have hardly been beyond the realm of needing mod-chips to access different features...

* The other option would be to replace the chip containing the bootloader with a non-upgraded one.

>It’s theoretically possible to physically modify the SoC and replace the fuses, but it’s so prohibitively invasive and expensive that it’s not a real option.

Are there any examples of this being done? Not necessarily on the Switch, just with these sorts of fuses. It can be really interesting to see people repair SoCs, like in this iPhone repair: https://www.youtube.com/watch?v=nap0gtds5tQ

Seems like you could still "downgrade" via an upgrade:

1. Disable firmware digital signature verification (not sure if this is at the hardware level or not)

2. Modify the older firmware such that its reported version is newer than your current version

3. "upgrade" to the older firmware version

> 1. Disable firmware digital signature verification (not sure if this is at the hardware level or not)

That's supposed to be very difficult to do.

Exactly, every stage of the boot is supposed to validate the next stage before continuing.

The recently discovered bootrom exploits break that chain of trust, allowing unsigned code to execute.

E fuses require a lot of power to burn in the fuse. So find the pin in the chip with high voltage, and suppress it to prevent e fuses from burning in.

I would assume that the firmware also verifies that the fuses have been burnt before continuing booting.

It does, but this prevents your system from being irreversibly updated by accident. I remember removing R6T3[1] on my Xbox 360 so that it wouldn't accidentally be updated to a non-homebrew/exploitable version. Without the resistor present, the voltage wasn't high enough to burn the eFuses. An update could run, fail to boot, and I could reflash it to the old version.

1: http://www.free60.org/wiki/R6T3

How many fuses does it have?

The fuse in question is FUSE_RESERVED_ODM7. The Switchbrew wiki says the fuse array for this stores 256 bits of data.


as an aside, this is not new information to anyone following switch homebrew development.

There are 256 bits in ODM_RESERVED, and 8 ODM_RESERVED, so I think there are 32 bits. That's 32 major FW revisions (as it seems they're only blowing a fuse for every X.0.0 version)

If there are 256 bits, wouldn't they just burn one bit per major revision leaving 256 possible revisions?

Is there something I'm missing here?

That would explain why Nintendo has been so quick to bump major version numbers. The community was quite disappointed when major version five released and had no significant new features. If Nintendo is trying to prevent down grading they must expect to use these fuses earlier in the console life span rather than later.

256 bits in all ODM_RESERVED. There are 8 ODM_RESERVEDs. 256/8 = 32 eh?

Ahh, I didn't catch that and was thinking ODM_RESERVED_8 = 256 bits.


I think it's around 31... Though that's from memory and a very bad attempt to read and understand this: http://switchbrew.org/index.php?title=Fuses

Maybe for their next console they could wire the case so it will destroy some crypto chips when anyone attempts to open it. Another idea might be to wire in a radio clock with a set date in the future that causes a over voltage in the SoC, that could be more accurate than to rely on the obsolescence of the glued in battery. Also I think they should learn from Sim City (2013), I know EA eventually released a patch that put the server side single player code in the client again, but Nintendo should learn from that mistake.

But with all seriousness, Nintendo really should learn from the failures in their past, I mean come-on! I can still play Zelda on my original Game Boy Pocket I can even replace the batteries without any tools, come on what were they thinking!

/edit although.. I do like that you damage the switch everytime you put it in the dock, must give them that

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact