DSi unlaunch (bootcode exploit)

Discussion of development of software for any "obsolete" computer or video game system. See the WSdev wiki and ObscureDev wiki for more information on certain platforms.
nocash
Posts: 1405
Joined: Fri Feb 24, 2012 12:09 pm
Contact:

Re: DSi unlaunch (bootcode exploit)

Post by nocash »

Yes, I have aheard about that here and there, but I don't know what it means. Could somebody clarify what that problem is about? Do you have any games that are forced into online gaming mode? Or is the power consumption higher than usual despite of not using wifi?

Ahm, also possible: Did you confuse the wifi led with the wifi hardware? That led was switched on in versions before unlaunch 2.0. The newer version does switch the led off, but it does stilll do the whole required wifi init internally... or did you mean that the init should be completely supressed when wifi is disabled???
homepage - patreon - you can think of a bit as a bottle that is either half full or half empty
Mahn
Posts: 4
Joined: Sat May 09, 2020 8:32 am

Re: DSi unlaunch (bootcode exploit)

Post by Mahn »

nocash wrote: Sat May 09, 2020 9:47 pmOr is the power consumption higher than usual despite of not using wifi?
That's basically it. The wireless chip draws a small amount of power just for "being alive", even if it's sitting there doing nothing. The impact is not enormous, but it does mean the battery lasts a little less per charge if the wireless chip is running but you are not using connectivity.

Suppressing the wifi init on boot would probably do the trick. Ideally, Unlaunch would read the setting off the NAND, and then decide whether to skip initializing wifi or not depending on what the wireless setting is set to. Another possibility could be to have a "wifi init: on/off" toggle right in Unlaunch under options (that persists between reboots).
nocash
Posts: 1405
Joined: Fri Feb 24, 2012 12:09 pm
Contact:

Re: DSi unlaunch (bootcode exploit)

Post by nocash »

I am having troubles to imagine that somebody has actually measured the power consumption or battery time, did somebody really do that? Measuring the wifi power consumption is rather impossible without desoldering the wifii unit, but yes, measuring the overall console power consumption or battery should do it, best using four test cases....
- stock firmware with wifi on
- stock firmware with wifi off
- unlaunch 2.0 with wifi on
- unlaunch 2.0 with wifi off
Would be really interesting if somebody has done that! The results should allow to make conclusions on whether the wifi option and/or unlaunch are affecting the power consumption.

Going by this post, https://gbatemp.net/threads/dsi-wlan-on ... st-2026695 nintendo usa seems to believe that the wifi option has something to do with interference in airplanes and hospitals. On the other hand, it's affecting only dsi titles, and ds titles can still cause as much interference as they want.
homepage - patreon - you can think of a bit as a bottle that is either half full or half empty
Pokun
Posts: 2681
Joined: Tue May 28, 2013 5:49 am
Location: Hokkaido, Japan

Re: DSi unlaunch (bootcode exploit)

Post by Pokun »

Well the purpose of being able to turn off the wifi is to prevent software from being able to access it no matter what. Being in an airplane or a hospital are examples of when you don't want the radio on. If turning it off doesn't prevent DS games from accessing wifi, that's a design flaw I guess. Original DS doesn't have a wifi switch IIRCC.

If the wifi state and the LED doesn't match it won't help the user. I have no idea how the DSi works, but I don't understand why Unlaunch just doesn't do whatever the stock firmware does with things like this (unless it's buggy or something?)?
Mahn
Posts: 4
Joined: Sat May 09, 2020 8:32 am

Re: DSi unlaunch (bootcode exploit)

Post by Mahn »

nocash wrote: Sun May 10, 2020 1:24 pm I am having troubles to imagine that somebody has actually measured the power consumption or battery time, did somebody really do that? Measuring the wifi power consumption is rather impossible without desoldering the wifii unit, but yes, measuring the overall console power consumption or battery should do it
No of course, I haven't measured the actual power consumption of the wireless chip in isolation, but like you suggest, you can extrapolate by observing how long the battery of the console lasts with wireless on/off.
nocash wrote: Sun May 10, 2020 1:24 pm - stock firmware with wifi on
- stock firmware with wifi off
I haven't actually done a rigorous side-by-side test to conclusively confirm this, but in my anecdotal experience, it is the case that in these two scenarios, running a game catridge that does not have connectivity of any kind, there's a 15-30 minute difference in when the battery dies. But again this is only anecdotal, I don't have the hard data to back it up. If somebody has the time/patience to do the actual test I'd be happy to look at the results as well.

There are more considerations than the battery, Pokun makes very good points:
  • The wireless chip, when idle but on, still emits radio signals that you may not always want to be there.
  • Rogue homebrew or games can always access wifi with no reliable way to prevent it
I'd lean towards making wireless optional and not enforced if I were the developer, but I understand the hesitation.
nocash
Posts: 1405
Joined: Fri Feb 24, 2012 12:09 pm
Contact:

Re: DSi unlaunch (bootcode exploit)

Post by nocash »

Pokun wrote: Sun May 10, 2020 3:52 pmI have no idea how the DSi works, but I don't understand why Unlaunch just doesn't do whatever the stock firmware does with things like this (unless it's buggy or something?)?
That isn't as easy as one might think. I've spent about 12 months on researching how the firmware and wifi init is working (and I think unlaunch is doing a good job on reproducing the official launcher's behaviour), but of course there's room for spending a few more months on testing if there are still some differences between launcher and unlaunch.

Concerning the wifi flag: The deeper purpose is unclear and leaves room for speculation. My understanding is that it is a "software flag" that tells games whether they may use wifi or not. For DS titles it acts as "stealth mode" (allowing to secretly use wifi, with the wifi led forced off).
Mahn wrote: Mon May 11, 2020 8:17 am There are more considerations than the battery, Pokun makes very good points:
The wireless chip, when idle but on, still emits radio signals that you may not always want to be there.
Rogue homebrew or games can always access wifi with no reliable way to prevent it
I don't think that Pokun did say that.

What makes you think that there are radio signals emitted from the wifi firmware initialization?

For retail software: I've tested wifi in dsi browser and flipnote booted with unlaunch, and they are throwing an error message if wifi is disabled. Did you test that, too? Or do know cases where wifi is working in other dsi titles even when it is disabled?

For rogue homebrew software: I think wifiboot is the only homebrew supporting dsi wifi? But yes, the source code is there (including the wifi init functions), so it would be no problem to make rogue homebrews that can bypass missing wifi init. The only workaround is to uninstall all exploits to block homebrew completely.
Mahn wrote: Mon May 11, 2020 8:17 amI'd lean towards making wireless optional and not enforced if I were the developer, but I understand the hesitation.
There is no sinister "enforce all people to use wifi" feature in unlaunch. The hesitation is about asking if there is an actual problem at all, or if it's only a myth/impression/feeling. A 15-30 minute difference would be a clear difference... if you have tested that on the same console, with the same battery, running the title screen of the same game, and measured the time, and best repeated the test 1-2 times.

Btw. the TTY Debug Message window in no$gba allows to log SD/MMC traffic including wifi SDIO. I haven't tried, but it would be easy to check whether the stock launcher is doing wifi init when wifi is disabled.
homepage - patreon - you can think of a bit as a bottle that is either half full or half empty
Pokun
Posts: 2681
Joined: Tue May 28, 2013 5:49 am
Location: Hokkaido, Japan

Re: DSi unlaunch (bootcode exploit)

Post by Pokun »

Yeah I just meant that the user should have control over the wifi like on the Old 3DS where there is a hardware (I think?) switch, to prevent accidental wifi access (by software or user error) whenever it's not wanted. But if the wifi switch is all software and the games have full access to it, that doesn't prevent software error, and stealth wifi for DS games is not something what the user want (better turn off any DS and DSi when on a plane). Of course, the intended behaviour is still desirable even if it can't stop rogue software.

nocash wrote: Mon May 11, 2020 3:26 pm
Pokun wrote: Sun May 10, 2020 3:52 pmI have no idea how the DSi works, but I don't understand why Unlaunch just doesn't do whatever the stock firmware does with things like this (unless it's buggy or something?)?
That isn't as easy as one might think. I've spent about 12 months on researching how the firmware and wifi init is working (and I think unlaunch is doing a good job on reproducing the official launcher's behaviour), but of course there's room for spending a few more months on testing if there are still some differences between launcher and unlaunch.
I see, that's fully understandable.
Mahn
Posts: 4
Joined: Sat May 09, 2020 8:32 am

Re: DSi unlaunch (bootcode exploit)

Post by Mahn »

Aha, I think I understand now. See, I was under the impression that the firmware setting was a hard switch, so I was surprised to see that "wifiboot" could connect just fine with the setting off. I didn't occur to me that this was a software flag that the actual software may or may not pay attention to; but indeed, launching the default browser from within Unlaunch does respect the flag!

So I can only conclude that Unlaunch is actually behaving correctly, and if anyone is at fault is Nintendo for a sloppy implementation of the wireless switch :)

My apologies nocash, evidently you have researched this a lot more than I have. The difference in observed battery life must have been placebo then, because it's impossible that a software flag could have made a difference.
Pokun
Posts: 2681
Joined: Tue May 28, 2013 5:49 am
Location: Hokkaido, Japan

Re: DSi unlaunch (bootcode exploit)

Post by Pokun »

Well it would still be interesting to know if the stock firmware initializes it, if there is a good reason not to, and if rogue homebrew can initialize it by itself or not.
_Na1to
Posts: 4
Joined: Mon Jun 01, 2020 9:40 am

Re: DSi unlaunch (bootcode exploit)

Post by _Na1to »

https://imgur.com/fpUwR2x.png

hey nocash this has happened to my ds and nobody is too sure of what happened to it. I was playing pokemon and the whole system randomly froze and when i rebooted it in came to that screen. if you could help, i would appreciate it.
nocash
Posts: 1405
Joined: Fri Feb 24, 2012 12:09 pm
Contact:

Re: DSi unlaunch (bootcode exploit)

Post by nocash »

That does still happen, even after power-off? And you can't boot any software?
Looks bad, might be corrupted emmc, or corrupted wifi flash, or - more simple - bad contact on the wifi board connector.

I would first check the wifi board, if fhat doesn't help... the older unlaunch versions did work without trying to install the wifi firmware... but that won't nelp you if you can't boot anything... so only hardmod would help : /

It doesn't look like a problem caused by unlaunch, and original firmware might have encountered similar problems (...unless you find out that the original firmware does still work fine when just removing unlaunch).
homepage - patreon - you can think of a bit as a bottle that is either half full or half empty
_Na1to
Posts: 4
Joined: Mon Jun 01, 2020 9:40 am

Re: DSi unlaunch (bootcode exploit)

Post by _Na1to »

yeah it still happens even after I reboot the ds, and sometimes it just goes into a black screen
_Na1to
Posts: 4
Joined: Mon Jun 01, 2020 9:40 am

Re: DSi unlaunch (bootcode exploit)

Post by _Na1to »

Ok, so I got on to the regular screen of unlaunch where it shows all the things like the apps on the ds and the cartridge. But the thing is, when I try to go into the launcher the ds just crashes and the screen goes black, do you know any way to get into the launcher without it crashing? Thank you
nocash
Posts: 1405
Joined: Fri Feb 24, 2012 12:09 pm
Contact:

Re: DSi unlaunch (bootcode exploit)

Post by nocash »

You don't need the launcher. What you need is being able to load homebrew, if that is working, then the first step should be dumping the emmc chip, and then check if it is corrupted... eg. try if the emmc dump works in no$gba, or decrypt it and use scandisk to check for errors.

Btw. what did you do to get to the unlaunch filemenu? I thought you always got the error message and couldn't go any further?
homepage - patreon - you can think of a bit as a bottle that is either half full or half empty
_Na1to
Posts: 4
Joined: Mon Jun 01, 2020 9:40 am

Re: DSi unlaunch (bootcode exploit)

Post by _Na1to »

Super sorry this is late- kind of forgot about it but like I spent a good 10 minutes pressing the power button again and again turning it off and on untill it launched into a kind of bright grayish screen and from there I press a and b while I just press the power button instead of holding it multiple times and eventually it launches into the main unlaunch screen
Post Reply