Thulinma / ndsplus

Linux support for the EMS NDS Adapter+
GNU General Public License v3.0
23 stars 4 forks source link

Firmware updater #2

Open bdorfman opened 11 years ago

bdorfman commented 11 years ago

Any chance of getting this to update the stick's firmware also? Mine is still stuck on 2.0 and so I can't actually use it with your tool until I find a windows machine to run the official updater on.

Thulinma commented 11 years ago

Part of why I wrote this, is that I felt the official software was a little... glitchy. I definitely plan to include an "update mode" somewhere in the future, but the second-to-last official update actually bricked my NDS+! Luckily EMS was nice enough to repair it for me and I have it back and in working order, but surely you'll understand that I don't really want to risk breaking it again with another update... Not if no new games that I want to use it with are supported, anyway. I'll have to do a USB trace on at least one succesful update before I'll be able to reverse-engineer the update commands and put the mode in.

On that note - if anyone is willing to make such a trace for me, that would be great. Otherwise it'll be waiting until I feel like risking updating mine, and I'll make the trace at that time myself. I already have dumps of most of the recent firmware versions, extracted from the official updater software files, so all I need to know now is how to upload them to the device :-)

As for your 2.0-version stick: please do try to use it, it might just work (and let me know if it does!). I've never tried to use an older firmware version, but I doubt they changed the protocol much. It won't break anything, at least. If it doesn't work, I'd be very interested in obtaining some USB traces of it working, so I can add support for older firmware versions. I never intended this to require the latest version... but as I don't have older firmware devices, it's a little hard to develop/test for them...

bdorfman commented 11 years ago

I tried using it already. It gets the basic cartridge info correctly, but then pops up the "I don't know this game and can't save it!" message (trying to backup Pokemon White, haven't tried other games yet). I'll try some other stuff and post the debug info here later if that helps. Let me know anything else you might need.

And yeah I totally understand not wanting to brick your stick. Just wishful thinking on my part :)

Thulinma commented 11 years ago

Yeah, the debug info might help, in this case. It's possible your firmware version simply doesn't support the game, in which case no matter how much compatibility I code in, it's never going to work without updating the stick's firmware. At least the debug info can tell if that's the case or not.

When I do make an updater mode, I'll be sure to include plenty checks to prevent a brick... unlike the official software ;-)

bdorfman commented 11 years ago

I think I checked the official site and they claim that version supports the game, but I'll double check everything later.

sj26 commented 10 years ago

I just got a new ndsplus adapter with firmware 256 and am about to update to firmware 305. I'm happy to trace the update process and even help develop the feature, but do you have a piece of software you'd recommend for performing the trace?

Thulinma commented 10 years ago

That'd be great! When I did traces myself for the original development, I ran the EMS software in a windows XP VM (virtualbox) and ran usbmon under linux to capture the traffic. There's also windows-only USB capture tools (ie: usbsnoop), but I have no experience with those.

Any type of capture log you can get would be helpful, though!

sj26 commented 10 years ago

I've used USBpcap to capture the firmware update process. The files open nicely in Wireshark.

  1. Downloaded NDS™ Adaptor Plus v3.03 + Firmware v3.05 upgrade (beta)
  2. Dump of firmware utility starting and detecting device
  3. Dump of firmware utility updating to v3.05

The actual update process involved a beginning phase of "Testing" before the update itself which might provide a clue.

Hope it's helpful!

Thulinma commented 10 years ago

Great! I took a quick look and everything seems to be logged perfectly. Thanks a lot - as soon as I have time I'll analyze the log in detail, and hopefully will be able to create an updater mode to the application. (I downloaded the files already, so there's no need to keep the links working if you want/need to take them down)

sj26 commented 10 years ago

Fantastic! They're on an upload-and-forget host, so no need to take them down. Good luck! If there's anything else I can do to help let me know. Not quite confident enough to go throwing usb packets around.

fragler commented 10 years ago

hey, i just bought this thing on ebay. so i don't know what firmware it's on. i downloaded the latest and greatest as posted by sj26. i cannot for the life of me get win8.1 to recognize it. so i'm trying a VM (virtualbox) for the very first time. i plug in the adaptor with pkmn white 1 and then 'mount' it to the VM, but i cannot get the VM winxp to recognize it either. well rather i get an error from virtualbox when i try.

so i guess my first issue is learning how to get this thing recognized by VM WinXP. but then i'm assuming i need to update it as well.

any help? please? i've been searching online and youtube i can't seem to find any answers..

thank you!

RustyShackelz commented 10 years ago

Got an NDS Adapter Plus. and am running windows 8.1, i disabled the signature enforcement and all that but when i double click the software to upgrade my NDS Adaptors firmware, it wants to make changes to my computer, when i accept it shuts everything down. anyone know what im doing wrong? i need to upgrade the firmware so it supports black 2

Thulinma commented 10 years ago

This is the bug tracker for the linux/mac savegame reader/writer tool, not official EMS support (makers of the NDS Adapter+). For help with the firmware updater, you'd best contact EMS directly. (Though, as mentioned above, the ability to update the firmware through this tool is a planned feature.)