Is there a community, on the dark web, small web, blockchain or otherwise where people exchange the fruits of their reverse engineering efforts for others to use?
I've dreamed of open, high quality datasheets, firmware, and full design docs for all proprietary hardware.
I suppose if all of it was concentrated in one place it would be a ripe target
I suppose this might be the best use case for ecosystem of blockchain technologies that exist.
Having been part of this space in the 2010s, it is way too fragmented. Most code is cobbled together to work for a specific case, so your best bet is usually doing the reverse engineering yourself. It's not that hard to get into. You can do a lot without soldering and if you spend 1 hour learning how to solder (and how to remove soldered parts), you can do anything. You can order all the necessary equipment from amazon these days. And if you get into Arduino you don't even need to buy special hardware because you can usually build these interfaces yourself. The software part should actually be trivial thanks to LLMs these days. Once you got a clean dump, it's usually a done deal. If you're lucky, there's even a debug interface and all you have to do is connect to the TX/RX pins on the board.
Yeah I've been looking for something like that too. Too many forums on the clear net are closing up, no discussions about jailbreaks, reversing etc allowed. It's exhausting.
I can understand the warranty aspect: they don’t necessarily want to be in the hook when users stuffs up the port using a janky 20-in-1 USB-C hub.
Why play around with the VRR and HDR side of things too?
Edit: I know someone will say ‘because they want to sell more docks’, but it already comes with the console… the market for people buying multiple docks I doesn’t justify the development and manufacturing costs.
That is, Nintendo intentionally used a widely-used, well-specified standardised connector and protocol, and chose to make their implementation subtly non-compliant in several ways. And there is no discernible good reason to do so (as far as I know it’s not like they actually needed to do anything special, stock-standard, compliant USB-C would work perfectly fine).
Exactly. It would be understandable if they took the connector and implemented something custom entirely. But they spent engineering effort on altering the official, already working spec, to subtly break it. This was completely intentional.
What's the difference with using a special Nintendo connector? The point would also be to make it harder for consumers to find new, non-nintendo parts.
I use a third party thunderbolt dock, third party storage, third party keyboard adapter for a vintage Apple keyboard, third party monitor, speakers, camera, NAS, chargers.
What subtle, proprietary changes does Apple make to standardized connections that require Apple branded devices?
i'm talking about two things specifically: MFi, whatever they did to deviate from BLE for airpods advanced modes.
There was also something specific for Apps to make them behave as you want with accessories, you had to go through something simillar to MFi or work around with hacks.. but i really don't remember what that was called. we made do with workarounds years ago and never thought about it anymore
AFAICT MFi was for Apple proprietary connections - lightning, AirPlay, CarPlay, etc. I haven’t looked, but isn’t the situation with USB-C and driverkit much better?
I don’t see an issue with companies doing something proprietary as long as their standardized connections - Bluetooth, WiFi, USB - work as expected. Nintendo not supporting standard USB-C devices was always crazy. Try connecting wireless headphones to an Xbox or PlayStation that aren’t certified; unsupported because they don’t think it provides low enough latency.
> chose to make their implementation subtly non-compliant in several ways. And there is no discernible good reason to do so
Laziness is a good reason. If you both the dock and product why do anymore work than you need to especially for something that helps you in no way (supporting third party docks)
IMHO, their USB-C-ish is frustrating. Same shape but not all chargers work. But on the flip side, understand what they're doing.
Nintendo is not making a USB-C computer, they're making a _product_ or a cohesive system.
They do not want you plugging in an arbitrary charger (which may not have the right wattage), don't want you laying the switch face up (nubs on the controllers getting in the way), face down (scratching the screen), plugging in a usb-c controller and dragging the spiderweb of wires off the entertainment center, or trying to use the touch screen while attached to a TV.
They wanted a vertical dock that managed airflow, charged at the appropriate rate, and guided you away from asking why you couldn't have some janky setup where you're trying to treat it like a gameboy advance (local screen simultaneous to big TV) being held by kindergarteners who pull the TV off the stand).
...so the dock is effectively a sacrificial buffer/safety system to prevent your switch from causing damage to your TV.
> They do not want you plugging in an arbitrary charger (which may not have the right wattage)
Why not? The standard deals with such a situation fine… There is zero danger, the PD contract wouldn’t be able to negotiate, so the system could just indicate with an LED or a message on the screen or something to show it’s not going to be able to start charging without a bigger charger. This is literally a solved problem.
On the switch 1 first revision using a random charger could and would fry your SoC (happened to me). Yes they could have designed it to be usb-pd compliant but why wouldn’t you just use the charger it came with?
Aren't these issues that Nintendo has to solve to maintain compliance with modern compatibility laws, rather than roadblocks for them to use to inhibit consumer ease-of-use? If the wattage is wrong then the Switch 2 can say that and either slow charge or not charge at all. The other issues are all purely user preference.
Per el goog it seems like it needs USB-C/PD, so any "modern" USB-C-to-USB-C will probably work, this was likely a remembered experience of mine in the more USB-A to USB-C era with random USB-A wall-bricks that weren't matching the switch's expectations.
And agree how awesome it would be if it were "just a USB-C device", but if you put yourself in Nintendo's shoes there are some fairly rational desired outcomes that making it dock-centric rather than encouraging "loose on a tabletop with an unknown number of cords plugged in and going different directions".
DS Lite famously had a silly proprietary connector for charging, which required their special wall charger... which was literally a 5V charger. It could have been mini/micro USB from the beginning, but no.
The 3DS was similar but actually used yet another type of connector. It's very common to find aftermarket chargers that have a USB-A on one end and a split dual DS+3DS connector on the other.
Both generations of console technically take 4.6v and not 5v, but in practice it doesn't matter. That may be why Nintendo didn't just make it micro USB directly (or why they never sold an official USB-A charger for the DS/3DS, only ever wall-wart) though.
Funnily enough, with some wiggling you could literally jam a normal mini usb cable in there and it would charge perfectly fine. They changed the connector size ever so slightly just to prevent that.
I agree that it was defensible for Nintendo to have used a proprietary connector for the DS line (and GBA SP, for that matter), but USB was definitely ubiquitous by 2011 when the 3DS came out. Playstation 3 controllers used USB Mini as far back as 2006, and the Vita used USB Micro to charge in 2011, but Nintendo invented a new proprietary connector for the 3DS in the same year. Even using the same port as the DS would have been more sensible.
The 3DS actually reused the DSi power connector from 3 years earlier, which partly explains why it seems backwards. The other part of the explanation, which is also why the DSi had its own connector, is that it drew more power (4.1W) than the DS needed and more than USB could provide (2.5W). Arguably, Nintendo could have used micro-USB with USB Battery Charging (up to 7.5W) for the 3DS, but it would have meant a 3rd new connector and also more complex circuitry.
It's likely for licensing revenue, I mean Sony and Microsoft does it for their game controllers, and if you want to sell a third party controller that works with their console "legitimately" you need to pay them a license, or else the game controller may not pass the authentication handshake.
The HDR / VRR thing feels like they just took shortcuts instead of doing it properly according to standard DP mechanisms (DPCD registers and infoframes). Why check a DPCD capability register for VRR if you can just check if the dock version is new enough? Although it doesn't feel like much of a shortcut, but who knows...
Not a great comparison because people lose and break charging cables all the time, so there's a much better profit angle there.
I suppose it's possible to lose Switch Docks, and some must break, but it's such a rare thing to happen that it doesn't really justify the razor-and-blades model.
Usually the docks outlast the tablet itself (this has happened to me once, so I actually have a spare Switch 1 dock)
Every USB cable that can carry more than 3A, or that can signal above the baseline 480mbps, must have the e-marker. That isn't weird in any way. It's how USB works.
GP is talking about a proprietary Apple thing that just marked that the manufacturer paid the MFi royalty, not the thing that standard USB uses for legitimate reasons.
> Apple used to e-mark every single charging cable, and even ban unauthorized ones
Do you have information on what “ban unauthorized ones” means? Are you talking about the pre-USB-C days with lightning or something? I’m not aware of any restriction besides perhaps max charge speed on their USB-C implementation if you used a mediocre cable.
you seem new to the game, then. for years, and years, iPhone software (firmware) upgrades would kill 3rd party lightning cables. obviously not USB-C. Third party iPod cables were very hit and miss, too.
I would appreciate it if you don't assume I'm "new". We're talking in the context of USB-C hence the question. I'm well aware of the history with Lightning and 30-pin cables.
> Third party iPod cables were very hit and miss, too.
That was probably because the cables were crap, not because Apple was doing anything to disable them. As far as I'm aware, the iPod 30-pin connector never did any sort of handshaking.
Nintendo just seems to prefer developing stuff without bothering to conform to a spec. They're happy to start with an existing standard as a base, but they'll build on top of it however the heck they want.
I agree, it doesn't seem to be malicious. Consider: it would make sense if Nintendo tried to prevent third-party controllers, but—while the Joycons certainly don't use DirectInput—the protocol doesn't seem designed to lock anyone out, and there are lots of third-party Switch controllers.
I believe Switch 1 also does the Nintendo Alt mode thing before it engages DP Alt mode, but the exact handshake is different (since Switch 2 docks dont work with Switch 1 and vice versa)
I’ve done similar hacks and I love how LLMs turned them from month-long projects to a couple of weeks.
Claude used to work best IMHO but their “safety” change has made it near useless. Luckily local models are getting better.
Can't have us figuring out Big Software's secret sauce.
Is there a community, on the dark web, small web, blockchain or otherwise where people exchange the fruits of their reverse engineering efforts for others to use?
I've dreamed of open, high quality datasheets, firmware, and full design docs for all proprietary hardware.
I suppose if all of it was concentrated in one place it would be a ripe target
I suppose this might be the best use case for ecosystem of blockchain technologies that exist.
im also curious about this and if there's a good resource out there for info about local reverse engineering/exploiting with local ai.
Having been part of this space in the 2010s, it is way too fragmented. Most code is cobbled together to work for a specific case, so your best bet is usually doing the reverse engineering yourself. It's not that hard to get into. You can do a lot without soldering and if you spend 1 hour learning how to solder (and how to remove soldered parts), you can do anything. You can order all the necessary equipment from amazon these days. And if you get into Arduino you don't even need to buy special hardware because you can usually build these interfaces yourself. The software part should actually be trivial thanks to LLMs these days. Once you got a clean dump, it's usually a done deal. If you're lucky, there's even a debug interface and all you have to do is connect to the TX/RX pins on the board.
Yeah I've been looking for something like that too. Too many forums on the clear net are closing up, no discussions about jailbreaks, reversing etc allowed. It's exhausting.
Curious to hear why they did this to begin with.
I can understand the warranty aspect: they don’t necessarily want to be in the hook when users stuffs up the port using a janky 20-in-1 USB-C hub.
Why play around with the VRR and HDR side of things too?
Edit: I know someone will say ‘because they want to sell more docks’, but it already comes with the console… the market for people buying multiple docks I doesn’t justify the development and manufacturing costs.
> doesn’t justify the development and manufacturing costs
At Nintendo scale, I bet it does though
Every single laptop vendor deals with this. Ipads, desktops, you name it. Nintendo are simply not anywhere near industry baseline here.
That is, Nintendo intentionally used a widely-used, well-specified standardised connector and protocol, and chose to make their implementation subtly non-compliant in several ways. And there is no discernible good reason to do so (as far as I know it’s not like they actually needed to do anything special, stock-standard, compliant USB-C would work perfectly fine).
Exactly. It would be understandable if they took the connector and implemented something custom entirely. But they spent engineering effort on altering the official, already working spec, to subtly break it. This was completely intentional.
What's the difference with using a special Nintendo connector? The point would also be to make it harder for consumers to find new, non-nintendo parts.
just like apple does!
It's for licensing, and having to request approval for the secret sauce.
I use a third party thunderbolt dock, third party storage, third party keyboard adapter for a vintage Apple keyboard, third party monitor, speakers, camera, NAS, chargers.
What subtle, proprietary changes does Apple make to standardized connections that require Apple branded devices?
i'm talking about two things specifically: MFi, whatever they did to deviate from BLE for airpods advanced modes.
There was also something specific for Apps to make them behave as you want with accessories, you had to go through something simillar to MFi or work around with hacks.. but i really don't remember what that was called. we made do with workarounds years ago and never thought about it anymore
AFAICT MFi was for Apple proprietary connections - lightning, AirPlay, CarPlay, etc. I haven’t looked, but isn’t the situation with USB-C and driverkit much better?
I don’t see an issue with companies doing something proprietary as long as their standardized connections - Bluetooth, WiFi, USB - work as expected. Nintendo not supporting standard USB-C devices was always crazy. Try connecting wireless headphones to an Xbox or PlayStation that aren’t certified; unsupported because they don’t think it provides low enough latency.
> and chose to make their implementation subtly non-compliant in several ways.
An alternate phrasing would be, they didn't bother to make their implementation compliant.
I wonder if it’s to be maliciously compliant with the EU law mandating USB charging for mobile devices?
> chose to make their implementation subtly non-compliant in several ways. And there is no discernible good reason to do so
Laziness is a good reason. If you both the dock and product why do anymore work than you need to especially for something that helps you in no way (supporting third party docks)
IMHO, their USB-C-ish is frustrating. Same shape but not all chargers work. But on the flip side, understand what they're doing.
Nintendo is not making a USB-C computer, they're making a _product_ or a cohesive system.
They do not want you plugging in an arbitrary charger (which may not have the right wattage), don't want you laying the switch face up (nubs on the controllers getting in the way), face down (scratching the screen), plugging in a usb-c controller and dragging the spiderweb of wires off the entertainment center, or trying to use the touch screen while attached to a TV.
They wanted a vertical dock that managed airflow, charged at the appropriate rate, and guided you away from asking why you couldn't have some janky setup where you're trying to treat it like a gameboy advance (local screen simultaneous to big TV) being held by kindergarteners who pull the TV off the stand).
...so the dock is effectively a sacrificial buffer/safety system to prevent your switch from causing damage to your TV.
> They do not want you plugging in an arbitrary charger (which may not have the right wattage)
Why not? The standard deals with such a situation fine… There is zero danger, the PD contract wouldn’t be able to negotiate, so the system could just indicate with an LED or a message on the screen or something to show it’s not going to be able to start charging without a bigger charger. This is literally a solved problem.
On the switch 1 first revision using a random charger could and would fry your SoC (happened to me). Yes they could have designed it to be usb-pd compliant but why wouldn’t you just use the charger it came with?
Aren't these issues that Nintendo has to solve to maintain compliance with modern compatibility laws, rather than roadblocks for them to use to inhibit consumer ease-of-use? If the wattage is wrong then the Switch 2 can say that and either slow charge or not charge at all. The other issues are all purely user preference.
ackhsually it charges using any USB charger i throw at it, even fast charge with lenovo / dell / monitors'
(it would have been a dream if it could just send video to the monitor via USB C + DP)
Per el goog it seems like it needs USB-C/PD, so any "modern" USB-C-to-USB-C will probably work, this was likely a remembered experience of mine in the more USB-A to USB-C era with random USB-A wall-bricks that weren't matching the switch's expectations.
And agree how awesome it would be if it were "just a USB-C device", but if you put yourself in Nintendo's shoes there are some fairly rational desired outcomes that making it dock-centric rather than encouraging "loose on a tabletop with an unknown number of cords plugged in and going different directions".
i definetly charged mine last week with an old brick from way before USB PD, it takes an ungodly amount of time (same as with my phone)
i really have to buy a couple of new ones
From what I've read of their handshake there's nothing stopping you using a standard PD charger.
Because they are Nintendo, that's why.
DS Lite famously had a silly proprietary connector for charging, which required their special wall charger... which was literally a 5V charger. It could have been mini/micro USB from the beginning, but no.
The 3DS was similar but actually used yet another type of connector. It's very common to find aftermarket chargers that have a USB-A on one end and a split dual DS+3DS connector on the other.
Both generations of console technically take 4.6v and not 5v, but in practice it doesn't matter. That may be why Nintendo didn't just make it micro USB directly (or why they never sold an official USB-A charger for the DS/3DS, only ever wall-wart) though.
Funnily enough, with some wiggling you could literally jam a normal mini usb cable in there and it would charge perfectly fine. They changed the connector size ever so slightly just to prevent that.
Everything had a silly proprietary connector back then. It was back before micro USB had become completely ubiquitous for charging
I agree that it was defensible for Nintendo to have used a proprietary connector for the DS line (and GBA SP, for that matter), but USB was definitely ubiquitous by 2011 when the 3DS came out. Playstation 3 controllers used USB Mini as far back as 2006, and the Vita used USB Micro to charge in 2011, but Nintendo invented a new proprietary connector for the 3DS in the same year. Even using the same port as the DS would have been more sensible.
The 3DS actually reused the DSi power connector from 3 years earlier, which partly explains why it seems backwards. The other part of the explanation, which is also why the DSi had its own connector, is that it drew more power (4.1W) than the DS needed and more than USB could provide (2.5W). Arguably, Nintendo could have used micro-USB with USB Battery Charging (up to 7.5W) for the 3DS, but it would have meant a 3rd new connector and also more complex circuitry.
Thats why I modded my DSi to charge off USB-c instead. Much more likely I'll have a working charger for that
It's likely for licensing revenue, I mean Sony and Microsoft does it for their game controllers, and if you want to sell a third party controller that works with their console "legitimately" you need to pay them a license, or else the game controller may not pass the authentication handshake.
The HDR / VRR thing feels like they just took shortcuts instead of doing it properly according to standard DP mechanisms (DPCD registers and infoframes). Why check a DPCD capability register for VRR if you can just check if the dock version is new enough? Although it doesn't feel like much of a shortcut, but who knows...
Apple used to e-mark every single charging cable, and even ban unauthorized ones - despite every iPhone having one included in the box.
Don't underestimate the corporate greed when it comes to selling accessories. The razor-and-blades model is very, very attractive to many.
Not a great comparison because people lose and break charging cables all the time, so there's a much better profit angle there.
I suppose it's possible to lose Switch Docks, and some must break, but it's such a rare thing to happen that it doesn't really justify the razor-and-blades model.
Usually the docks outlast the tablet itself (this has happened to me once, so I actually have a spare Switch 1 dock)
Every USB cable that can carry more than 3A, or that can signal above the baseline 480mbps, must have the e-marker. That isn't weird in any way. It's how USB works.
GP is talking about a proprietary Apple thing that just marked that the manufacturer paid the MFi royalty, not the thing that standard USB uses for legitimate reasons.
> Apple used to e-mark every single charging cable, and even ban unauthorized ones
Do you have information on what “ban unauthorized ones” means? Are you talking about the pre-USB-C days with lightning or something? I’m not aware of any restriction besides perhaps max charge speed on their USB-C implementation if you used a mediocre cable.
you seem new to the game, then. for years, and years, iPhone software (firmware) upgrades would kill 3rd party lightning cables. obviously not USB-C. Third party iPod cables were very hit and miss, too.
I would appreciate it if you don't assume I'm "new". We're talking in the context of USB-C hence the question. I'm well aware of the history with Lightning and 30-pin cables.
> Third party iPod cables were very hit and miss, too.
That was probably because the cables were crap, not because Apple was doing anything to disable them. As far as I'm aware, the iPod 30-pin connector never did any sort of handshaking.
> you seem new to the game, then
they very specifically asked you to scope what you were talking about. and, you replied by challenging their competency and experience.
Nintendo just seems to prefer developing stuff without bothering to conform to a spec. They're happy to start with an existing standard as a base, but they'll build on top of it however the heck they want.
I agree, it doesn't seem to be malicious. Consider: it would make sense if Nintendo tried to prevent third-party controllers, but—while the Joycons certainly don't use DirectInput—the protocol doesn't seem designed to lock anyone out, and there are lots of third-party Switch controllers.
anti-cheat is a big motivator.
It would be nice if this would be somehow an open source script, so not everyone needs to burn its own tokens to do it.
I'll try to publish the sources on github! Needs a small cleanup
FYI: I bought an inexpensive Switch 2 USB-C -> HDMI cable on Amazon and it works great. It has a standard USB-C in for power.
I'm also curious why the author didn't go for this approach.
Just because I already had that hub and prefer its form factor
To the author, dope blog. To anyone else interested, even though there is no RSS icon, I added it to my feeds with https://blog.nozomi.space/index.xml
Thanks for adding in that to your config!
Is it the same quirk as with the Switch 1?
It also had USB-C and didn't work with regular docks/hubs. There was one obscure hub though that works perfectly fine with the Switch 1.
I believe Switch 1 also does the Nintendo Alt mode thing before it engages DP Alt mode, but the exact handshake is different (since Switch 2 docks dont work with Switch 1 and vice versa)
The hub is indeed fragile and will crack. Sucks if you have a nice one.