view · edit · attach · print · history

libnifi

  Just looking to WMB from Linux? http://tobw.net/dswiki/index.php?title=Set_up_WMB_for_Linux (thanks to 0xtob)

  Some discussion of this has occurred in the gbadev.org, starting with my announcement of victory

libnifi is a project to provide a consistent interface to talking to a Nintendo DS over wireless hiding the details of what card you’re using, and eventually what OS you’re on.

It currently relies on latest rt2500 CVS driver build (not rt2×00!) setup by the following script: rt2500.sh

    ./rt2500.sh wlan1 13

It looks like this:

iwconfig $1 mode monitor
ip link set $1 up
iwconfig $1 rate 2M fixed
iwpriv $1 set WirelessMode=1
iwpriv $1 set TxRate=2
iwpriv $1 set TxPreamble=1
iwpriv $1 rfmontx 1
ifconfig $1 promisc
iwconfig $1 channel $2

It’s being stored in bazaar-ng (bzr) format. You can get to it via

or you can browse it via bzrweb at

There is also an RSS feed from hgweb at

It’s in pretty awful state right now. I can use it to beacon and associate to an NDS, and there is preliminary code to associate with a beaconing DS although it doesn’t work for me.

There are two test applications, beacontest and whosthere.

Currently, on my rt2500-based PCI card using the rt2500 module and the latest CVS rt2500 drivers, beacontest will happily start several demos.

Yes, that’s right. NDS WMB for Linux is working!

 ./beacontest file.nds [interface]

This tries to build the RSA packet from info into the NDS file. It works quite well, only flashme has failed so far.

 NDSs with the non-DOTRSA version:
 * ds_training_for_adults_work_your_brain_demo_jap (Working, and this thing is sheer unadulterated genius fun!)
 * electroplankton_demo_e3_2005 (Working)
 * famicom_wars_ds_demo_jap (Working)
 * ganbare_goemon_demo_jap (Working)
 * guru_guru_nagetto_demo_jap (Working. If you don’t know how to play, “guru guru” means to spin around in a circle…)
 * jump_super_stars_demo_jap (Working)
 * jump_super_stars_panel_unlocker_demo_jap (Works… Of course, I’ve not got the cart so it’s “A to shutdown”)
 * meteos_demo_e3_2005 (Working)
 * meteos_demo_jap (Working. An opportunity to suck in a whole new language)
 * pokemon_torouze_demo_jap (Working)
 * polarium_demo_usa (Working)
 * submarine_tech_demo_e3_2005 (Working, and cool as all hell!)
 * table_hockey_tech_demo_e3_2005 (Working)
 * trauma_center_under_the_knife_demo_jap (Working. This game will consume your life! You have been warned,)
 * zelda_gallery_e3_2005 (Working)
 * zelda_preview_trailer_beta_e3_2005 (Working)
 * flashme (Nope. “NDS file is corrupt”. DesktopMa says it is WMBable, so this needs investigation)
 * rushhour (Working) http://www.ndshb.com/cgi-bin/cfiles/cfiles.cgi?0,0,0,0,2%22,78
 * SushiDS (Working, but has dodgey header) http://www.ndshb.com/cgi-bin/cfiles/cfiles.cgi?0,0,0,0,2,38
 * ndsondo (Two white screens. -_-) http://www.pat.hi-ho.ne.jp/sata68/nds.shtml#ndsondo
 * ndsmp 2.0.3 (Working) http://www.geocities.com/chishm1/gbamp/
 * picross (Working) http://www.ndshb.com/cgi-bin/cfiles/cfiles.cgi?0,0,0,0,2,37
 * girl (Two white screens. -_- Not surprising, WMB is limited to 4 MB) http://www.ndshb.com/cgi-bin/cfiles/cfiles.cgi?0,0,0,0,2,42

beacontest-dotrsa expects to find a file.rsa to go with file.nds, as spat out with capread…. I’ll stick .rsa files into bzr as I extract them, until I work it out, see Wireless Multi Boot Data. I guess a FlashMe’d device could use any key, but of course needs the other data in the header. This version is largely useless given the wild success of the non-DOTRSA code… But it’s still smoke and mirrors at this point. ^_^

 RSAs in bzr: (Files names match .nds files in archives from sgstair’s and firefly’s sites)
 * polarium_demo_usa.rsa (Working, but too hard for me)
 * meteos_demo_e3_2005.rsa (Working, but I suck at it)
 * electroplankton_demo_e3_2005.rsa (Working, amusing for all of five seconds)
 * table_hockey_tech_demo_e3_2005.rsa (White screens…)
 * zelda_gallery_e3_2005.rsa (White screens…)

On the other hand, it’s locked to channel 13.

Also, only tested on my FlashMe’d NDS, so I dunno if I’m doing the RSA right.

The rt2×00 module is currently in need of current status determination. Which is to say, I haven’t tried it in months. Once that’s working, I’ll flick over to it and see what happens.

Attempting to associate with a DS fails as the DS doesn’t seem to respond to my AUTH1 packet. I’ve not debugged this much further yet.

Patches and suggestions welcome.

view · edit · attach · print · history
Page last modified on December 28, 2005, at 12:50 AM