#29643 - PhoenixSoft - Tue Nov 23, 2004 3:11 am
This may just be a small step to getting the wireless cracked, but someone on the Warp Pipe forums (http://forums.warppipe.com/viewtopic.php?t=12945) has picked up the DS with Network Stumbler:
[Images not permitted - Click here to view it]
The MAC address shown at the top is that of the DS, as is shown by this manufacturer id lookup:
http://standards.ieee.org/cgi-bin/ouisearch?0009bf
Quote: |
00-09-BF (hex) Nintendo Co.,Ltd.
0009BF (base 16) Nintendo Co.,Ltd.
11-1 HOKOTATE-CHO
KAMITOBA, MINAMI-KU
KYOTO 601-8501
JAPAN |
The guy picked up that MAC address while playing around with PictoChat. Notice that the speed is 2Mbps, obviously 802.11b.
#29647 - dagamer34 - Tue Nov 23, 2004 5:19 am
Since it's using WiFi, I guess it can be tunneled. What about Super Mario 64 DS?
_________________
Little kids and Playstation 2's don't mix. :(
#29666 - Cupcakus - Tue Nov 23, 2004 4:22 pm
The problem is the multi-boot wireless protocaul is different. That's just the 802.11 portion of the DSes wireless capabilities.
#29673 - cesium - Tue Nov 23, 2004 6:33 pm
So, how long until we have a TCP/IP stack running on this WiFi adapter?
(And a BSD-like API.)
#29718 - ampz - Wed Nov 24, 2004 7:45 am
BSD-like APIs are inefficient.
I prefer no-copy APIs for embedded systems.
#29742 - cesium - Wed Nov 24, 2004 6:02 pm
So, where do we go dumpster-diving to find come DS docs?
How you been ampz?
I've been waiting for the Motorola Zigbee chips, to build an
802.15.4 interface for the SP...
Not any more! All I need now is the API.
cesium
#29759 - dagamer34 - Wed Nov 24, 2004 7:32 pm
Can some try this out: http://forums.warppipe.com/viewtopic.php?t=12954&start=15
It's the paragraph with specific instructions in it.
_________________
Little kids and Playstation 2's don't mix. :(
#29763 - cesium - Wed Nov 24, 2004 9:01 pm
I've been asking myself how I could help contribute to the DS, WiFi dev effort.
Should I just sit on my arse and read gbadev every hour until
someone else "learns" the WiFi programming methods...
How would this 802.11 packet dump help us?
Sure, I'd learn new stuff, but ultimately if we just want to move data packets in and out of the WiFi port do we need to sniff at this level?
Does knowledge at the physical later of the ISO stack really help us
learn about the application layer API?
Should I just shut up and have fun over the long weekend setting this up?
cesium
#29772 - tepples - Wed Nov 24, 2004 11:01 pm
MAC addresses are characteristic of 802.11b Ethernet, which is layer 2 of the Nintendo DS wireless comms protocol stack. Even without access to OSI layers 3 on up, I'm guessing that a bridge that works at layer 2 could still tunnel traffic.
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.
#29784 - cesium - Thu Nov 25, 2004 3:16 am
I grabbed a couple of DSes on the way home from work.
Maybe it's the low batteries from their "fresh out the box" state,
but the range of Picochat sucks! It doesn't work 20 feet!
Maybe it's my wireless video distribution system interfering...
Or the heavy traffic on my 802.11b net interfering...
Or my 802.11b camera interfering...
Hmmm, I'll have to lug em around after charging.
See if it improves when I get out the house.
Regardless, when we have the DS by the horns, it's gonna be
a fun ride! This unit gets major points for style.
cesium
#29805 - Darkain - Thu Nov 25, 2004 9:24 am
this is neat. i just downloaded the app, and turned on the two DS's, and BAM! they where just... there...
_________________
-=- Darkain Dragoon -=-
http://www.darkain.com
DarkStar for Nintendo DS
#29807 - Abscissa - Thu Nov 25, 2004 9:56 am
Darkain wrote: |
this is neat. i just downloaded the app, and turned on the two DS's, and BAM! they where just... there... |
You sure they weren't just connecting directly?
#29808 - Darkain - Thu Nov 25, 2004 9:59 am
Abscissa wrote: |
You sure they weren't just connecting directly? |
"they", as in the DS to the laptop, or the DS to the DS.... because either way, the laptop is intercepting the MAC packets.
_________________
-=- Darkain Dragoon -=-
http://www.darkain.com
DarkStar for Nintendo DS
#29814 - ampz - Thu Nov 25, 2004 11:42 am
So, what are you waiting for?? dump some packets for us!
Perferably packets with known contents, like pictochat text communication.
#29815 - Darkain - Thu Nov 25, 2004 11:54 am
ampz wrote: |
So, what are you waiting for?? dump some packets for us!
Perferably packets with known contents, like pictochat text communication. |
heh, i'm working on it. the DS pumps out 500+ packets a second while idling in pictochat... this is a real pain to sort out. im trying to get a way to seperate messages that are "hey, im a host, look at me, and here are the addys of the other units" from "oh hey, im a picture, look at me!" :)
plus with it being 3am in the morning, my brain isnt being 100% functional, and im trying to get some other software downloaded to help this process out. i'll prob just have to sleep on it... heh (gotta keep ya all waiting. ;)
_________________
-=- Darkain Dragoon -=-
http://www.darkain.com
DarkStar for Nintendo DS
#29821 - cesium - Thu Nov 25, 2004 3:44 pm
Cool!
I didn't try the suggested program because my WiFi card doesn't have the proper chipset they mention. Do you know of another capture program I could try?
cesium
#29841 - Darkain - Thu Nov 25, 2004 8:41 pm
http://www.livejournal.com/community/nintendo_ds/48965.html
i just posted my findings from this morning there. quite interesting, and raw binary data for those that are interested! :D
_________________
-=- Darkain Dragoon -=-
http://www.darkain.com
DarkStar for Nintendo DS
#29843 - ampz - Thu Nov 25, 2004 10:35 pm
This is really great news! (The fact that pictochat data is sent as uncompressed, unencrypted 4bit per pixel bitmaps)
Should be fairly straightforward to write a pictochat client for PC.
This PC client could then easily be extended to a pictochat<->IRC gateway.
Imagine the possibilities, chatting in #dsdev or #gbadev wireless on a DS :-)
And this can be done NOW, no need to wait for DS flash cards.
You could even write a simple game that uses pictochat as input and output, but in reality runs on the PC.
Not very useful, but it would kind-of be the first homebrewed DS game :)
#29845 - Darkain - Thu Nov 25, 2004 10:38 pm
the thing is for an IRC or other relay for pictochat, is that its RAW BITMAPS... NOT text... meaning, you would need OCR to translate the information being sent across.
_________________
-=- Darkain Dragoon -=-
http://www.darkain.com
DarkStar for Nintendo DS
#29846 - ampz - Thu Nov 25, 2004 10:48 pm
Darkain wrote: |
the thing is for an IRC or other relay for pictochat, is that its RAW BITMAPS... NOT text... meaning, you would need OCR to translate the information being sent across. |
Nah, OCR is only required for scanned text where the text is not perfect.
Pictochat text is entered on a virtual keyboard, right? So pictochat text will be perfect.
It is very easy to recognize perfect letters with a known font. You just look at a bunch of "key pixels". A certain combination of thoose pixels will only happen for a specific letter, so you just create a reverse-lookup table where you can get the ascii code given a specific combination of key pixels.
Or, you can make a copy of the entire pictochat font, and compare the text to each of the letters in the pictochat font. Only one letter in the font will match perfectly.
The second option is not as efficient as the first, but perhaps it is a little easier to understand and implement. (no need to find a set of key pixels)
#29847 - Darkain - Thu Nov 25, 2004 10:54 pm
there is also the thing of drawing on the screen tho.
but ya, a font matching would work best, key pixels wouldnt work too well. remember, there are 7 unique font sets in pictochat. (upper, lower, accented, hiragana, katakana, characters, and symbols), and the fact you could draw. key pixels would have a large chance of failure because of that.
but first, before we even get into that, its a matter of finding the byte order of the data. gotta convert 11 sets of 128 bytes into a visual bitmap pattern.
_________________
-=- Darkain Dragoon -=-
http://www.darkain.com
DarkStar for Nintendo DS
#29856 - gladius - Fri Nov 26, 2004 4:45 am
Well, I've taken a little look at the packets and so far have managed to gather this somewhat useless data :).
// Packet desc:
// First 4 bytes - Header ID?
// Next 2 - Unit ID?
// Next 4: total number of bytes sent in this message?
// 160 bytes, payload
// next 2, sequence number
Now, given 160 bytes x 11 data packets, that gives us 1,760 bytes, or 3,520 pixels. Going off a screen capture from pictochat the closest approximation to that I can find is 220x16 pixels per line. However, it does not appear to be stored in linear fashion (horizontal or vertical). Decoding vertically does give better results than horizontally though. Anyhow, I'll keep working on it unless someone beats me to the punch :).
#29860 - Darkain - Fri Nov 26, 2004 5:17 am
actually, about an hour or two ago, i managed to decode it. there is only 128 bytes of data per packet. it is sent in 8x8 blocks, exactly the same fashon used in GBA VRAM for tiles.
tile 0
bytes 0-3 are row 0 pixels 0-7
bytes 4-7 are row 1 pixels 0-7
bytes 8-11 are row 2 pixels 0-7
bytes 12-15 are row 2 pixels 0-7
bytes 16-19 are row 2 pixels 0-7
bytes 20-13 are row 2 pixels 0-7
bytes 24-17 are row 2 pixels 0-7
bytes 28-31 are row 2 pixels 0-7
and then it moves to tile 1 row 0 and repeates
bytes 32-35 are row 0 pixels 0-7
...
and so on from there.
there is some problems ive ran across working on the second row of tiles tho, so there may be a little buffer range somewhere that i might be missing later on. i'll continue to work on it.
_________________
-=- Darkain Dragoon -=-
http://www.darkain.com
DarkStar for Nintendo DS
#29861 - gladius - Fri Nov 26, 2004 5:37 am
Heh, I just got to that point, however my results are pretty screwed up. Also, the size is off somewhat, so I don't think it can be 8x8 tiles (or my 220x16 theory is wrong as 220 % 8 != 0). Something is a bit fubared. I'm sure it'll work itself out in a bit though :).
That's what my hello decode looks like right now:
http://members.fortunecity.com/infinityhq/dsdev/dsdev.html
#29862 - Darkain - Fri Nov 26, 2004 5:47 am
gladius wrote: |
Heh, I just got to that point, however my results are pretty screwed up. Also, the size is off somewhat, so I don't think it can be 8x8 tiles (or my 220x16 theory is wrong as 220 % 8 != 0). Something is a bit fubared. I'm sure it'll work itself out in a bit though :).
That's what my hello decode looks like right now:
http://members.fortunecity.com/infinityhq/dsdev/dsdev.html |
remember, the binary information i posted was just for the first row of text, as pictochat truncates its... and the first row is shorter then the rest, and the data being sent does adhear correctly to the smaller bitmap area size.
so, if you take away the amount of space that the name area takes up... how many pixels is left over? possibly aprox 176? 176/8=22. 22=11*2. (number of packets * 2), and then there is 2 tile rows per line... and a total of 4 blocks per packet... getting all this? each packet holds 4 block * 11 packets = 44 blocks. /2 cause there are 2 rows, and its 22.
so, out of 11 data packets, the first 5.5 is the first row of tiles, and the second 5.5 is the second row of tiles.
i think my prob w/ rendering the second row of tiles is that i was trying to align it to either the 5th or 6th packet, when in fact, it is half way inbetween.
_________________
-=- Darkain Dragoon -=-
http://www.darkain.com
DarkStar for Nintendo DS
#29864 - gladius - Fri Nov 26, 2004 6:16 am
Ah, I didn't realize it was for the shortened first line. That explains quite a bit. However, there is still 3,520 pixels being sent across the wire (well, across the air here ;). If we assume that the line is 176 pixels long, there will be 22 * 8 * 8 pixels per line = 1,408 * 2 = 2,816 pixels. So there are a bunch of extras floating around somewhere. Maybe control information, or palette stuff?
Would it possible to capture some drawings on the second (full width) line so we could get a better idea of horizontal size?
#29865 - gladius - Fri Nov 26, 2004 6:27 am
Just noticed, my first scanline is messed up on hello and full. Does this happen with yours as well? Or just a stupid bug on my part.
#29874 - Darkain - Fri Nov 26, 2004 6:53 am
gladius wrote: |
Just noticed, my first scanline is messed up on hello and full. Does this happen with yours as well? Or just a stupid bug on my part. |
2 things: 1, look at the "full" binary file... each packet has only 128bits of picture data in them. therefor the calculation is 100% right on. there is some extra room in the headers that is just 0's
2) yus, im having the scan line issue as well, and im still not even sure how to re-create the second row of tiles... maybe my math is off in my app, i dunno... it just isnt working for me like i had hoped it would.
_________________
-=- Darkain Dragoon -=-
http://www.darkain.com
DarkStar for Nintendo DS
#29875 - gladius - Fri Nov 26, 2004 7:13 am
128 bits? I'm not sure how you are getting that figure. That extra room is sometimes 1's as well. For example, in packet 4 of full, there are the full 160 0x11's. A question though, how full was full? You mentioned there were a few pixels missing on the bottom, but there are quite a few 0x00's floating around in there. I'm not really any further on the bottom half either, trying to figure out just what is happening on the top scanline.
#29877 - Darkain - Fri Nov 26, 2004 7:20 am
gladius wrote: |
128 bits? I'm not sure how you are getting that figure. That extra room is sometimes 1's as well. For example, in packet 4 of full, there are the full 160 0x11's. A question though, how full was full? You mentioned there were a few pixels missing on the bottom, but there are quite a few 0x00's floating around in there. I'm not really any further on the bottom half either, trying to figure out just what is happening on the top scanline. |
everything but the button 1-3 scan lines was completely full.
hmm, looking at full again, packet 4... correct... it *does* appear to be 160 bytes per packet.
and the thing is w/ adding a second line, is that its going to be hard to tell where the first line ends, and the second one begins, because all the the data is just thrown together in a long string.. maybe a bit later tonight, i'll try to capture some more stuff.
_________________
-=- Darkain Dragoon -=-
http://www.darkain.com
DarkStar for Nintendo DS
#29879 - gladius - Fri Nov 26, 2004 7:37 am
Hm.. Might have figured out the first scanline problem. It seems as though they use a 4x8 tile to start off the scanline. That fixes the problem with the first scanline, but the top half and bottom half are still wildly different.
This also causes further problems elsewhere, so I'm still unsure. My current full, line and hello are posted on my site.
[Edit: Ok. Now I'm pretty sure this is not the case, as full starts off with an 8x8 block with all the right hand pixels set to 1 in the first 8x8 block]
#29881 - Darkain - Fri Nov 26, 2004 7:58 am
gladius wrote: |
Hm.. Might have figured out the first scanline problem. It seems as though they use a 4x8 tile to start off the scanline. That fixes the problem with the first scanline, but the top half and bottom half are still wildly different.
This also causes further problems elsewhere, so I'm still unsure. My current full, line and hello are posted on my site.
[Edit: Ok. Now I'm pretty sure this is not the case, as full starts off with an 8x8 block with all the right hand pixels set to 1 in the first 8x8 block] |
well, i switched over to 160 bytes of data and 10 bytes of header instead of 128 bytes of data and 42 bytes of data... and without fixing the first scanline issue, this is what i got (i truncated the extra stuff to the right that is just all 0's):
Code: |
00000000000000000000100010100010100100100010000
00000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000
00000000000010000000000010010000000000000000000
00000000000010000000000010010000000000000000000
00000000000010000000000010010000000000000000000
00000000000011110001110010010001110000000000000
00000000000000000000000000000000000000000000000
00000000000010001011111010010010001000000000000
00000000000010001010000010010010001000000000000
00000000000010001010000010010010001000000000000
00000000000010001001111001001001110000000000000
00000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000
|
_________________
-=- Darkain Dragoon -=-
http://www.darkain.com
DarkStar for Nintendo DS
#29882 - Darkain - Fri Nov 26, 2004 8:12 am
ok, so... there are 5 tiles per packet. the last 4 and 3/5ths packets are for the bottom row. the top row starts at the begining of packet 3. there appears to be a buffer of 7 pixels on the left set of tiles. 7*16=122 unused pixels. not sure about right or bottom yet.
i'm gonna look into why "full" had more buffer before the first pixel then the others.... possibly an error on my part when snooping? i dunno..
_________________
-=- Darkain Dragoon -=-
http://www.darkain.com
DarkStar for Nintendo DS
#29885 - allenu - Fri Nov 26, 2004 8:20 am
Nice work guys. So basically even the text you type into pictochat is transferred as part of the bitmap? This seems to make sense since after you've sent even just one line of text and then "download" it back to re-edit it, the editor won't let you modify the text proper. All text you type in just overlays on top of the grabbed image. This is too bad as the idea for hooking into IRC won't work. Looks like it would still be trivial to set up a client listening on the PC side though to display and send bitmaps back to a DS.
#29886 - flip_fl0p - Fri Nov 26, 2004 8:34 am
darkain great stuff!
I'm looking at both your hello and full binaries. A few questions...
According to what you've said, your "full" picture that you logged basically had almost all lines filled except the last? Here is how I've interpreted it:
Just like you said, the first two mac bursts are pretty much blank, then about 15% into the third burst appears to start the bitmap data. For the next 4.5 chunks it appears to be basically filled in. Then I see almost two bursts of blank data, and then more fill continues.
So I guess my question is this: when you sent that data, did you send two seperate messages or just one?
#29887 - Darkain - Fri Nov 26, 2004 8:37 am
flip_fl0p wrote: |
So I guess my question is this: when you sent that data, did you send two seperate messages or just one? |
are what two seperate messages? the "hello" "full" and "line" where all sent at seperate times.
_________________
-=- Darkain Dragoon -=-
http://www.darkain.com
DarkStar for Nintendo DS
#29888 - flip_fl0p - Fri Nov 26, 2004 8:39 am
I know, but did you send the full twice. Only asking because the data seems to have a hole of zeros right in the middle
#29889 - Darkain - Fri Nov 26, 2004 8:41 am
flip_fl0p wrote: |
I know, but did you send the full twice. Only asking because the data seems to have a hole of zeros right in the middle |
no, that is a buffer range im guessing..
any time you send a message on a single line, it is a total of 13 packets always. but, 13 packets holds more information than what can be displayed. my estimate right now is that there are 7 pixels of buffer on the left margin, not sure about right and botttom margins. there doesnt appear to be any margin on the top.
_________________
-=- Darkain Dragoon -=-
http://www.darkain.com
DarkStar for Nintendo DS
#29890 - mymateo - Fri Nov 26, 2004 8:45 am
When the DS wireless is figured out, will I need a wireless NIC to do online gaming with games made for P2P gaming only? And I'll assume the answer is "No", but in your opinions was it pointless for me to invest in a wireless router just for my DS? By that I guess what I'm asking is if the DS will use a wireless router in the future for online games.
#29891 - Darkain - Fri Nov 26, 2004 8:50 am
mymateo wrote: |
When the DS wireless is figured out, will I need a wireless NIC to do online gaming with games made for P2P gaming only? And I'll assume the answer is "No", but in your opinions was it pointless for me to invest in a wireless router just for my DS? By that I guess what I'm asking is if the DS will use a wireless router in the future for online games. |
the DS using a wireless router is game specific... it is up to the developers... pictochat is about the only 802.11 thing we have to work off of right now, and it registers its own access point, and wont connect to anything other then its own custom AP. from what i can tell, mario and metroid both use the proprietary protocol of the DS for wireless communication, so we cant even see that with the laptop setups we are running off of (unless someone else has managed to figure it out in the past 24 hours w/0 telling me of such)
_________________
-=- Darkain Dragoon -=-
http://www.darkain.com
DarkStar for Nintendo DS
#29893 - flip_fl0p - Fri Nov 26, 2004 9:04 am
Just curious Darkain,
I'm guessing you sent these in the following order, correct if wrong:
Full, hello, line
#29894 - Darkain - Fri Nov 26, 2004 9:08 am
flip_fl0p wrote: |
Just curious Darkain,
I'm guessing you sent these in the following order, correct if wrong:
Full, hello, line |
i cant recall... i got maybe 4 hours sleep last night, and that was either the last thing i did before i went to sleep, or the first thing i did when i woke up... i dont even think they came from the same game session.
oh, and on another note: it looks like tile row 1 has 32 tiles, and tile row 2 has 28 tiles. (wich explains the un-evenness)
_________________
-=- Darkain Dragoon -=-
http://www.darkain.com
DarkStar for Nintendo DS
#29895 - flip_fl0p - Fri Nov 26, 2004 9:18 am
right on, I'm sure you noticed that the first byte of the headers appear to increment by one bit per burst. I was taking a dive off the deep end by guessing the order in which you sent these because the counter information was as follows:
full's first packet header's counter started at 11h
hello's first packet header's counter started at 1Fh
line's first packet header's counter started at EDh
of course, the counter could possibly only be one byte in length, and reset itself after FFh. There fore it would make total sense if you actually sent line first.
Again, I don't have 2 DS's, just one and no logging software. I'm using your binaries, but they are definetly good logs. I commend you!
#29896 - Darkain - Fri Nov 26, 2004 9:21 am
flip_fl0p wrote: |
Again, I don't have 2 DS's, just one and no logging software. I'm using your binaries, but they are definetly good logs. I commend you! |
:) thanx!
i'm working on more right now... a larger text test, and then im gonna delve into multiple text lines.
it takes me about 5-10 min to dump a line, cause i gotta copy-paste the data from one appliation to another to save the binaries, or else we get the additional headers that specific application provides, wich just gets in the way. the "This is a larget test" should be ready in about 5 min
_________________
-=- Darkain Dragoon -=-
http://www.darkain.com
DarkStar for Nintendo DS
#29897 - Darkain - Fri Nov 26, 2004 9:29 am
http://ds.darkain.com/x.bin
http://ds.darkain.com/test.bin
"X" is a series of X's in a row, and test is the message "This is a larger test" with some symbols and scribbles after it.
_________________
-=- Darkain Dragoon -=-
http://www.darkain.com
DarkStar for Nintendo DS
#29898 - Marill - Fri Nov 26, 2004 9:34 am
good work going on there on figuring out the data formats.
we still need to figure out the pictochat communication protocol before we can actually create a software that can communicate with the pictochat application in the DS.
but anyways, a little progress is still prgress keep it up! :)
#29899 - flip_fl0p - Fri Nov 26, 2004 9:46 am
Thanks,
So what values are you using for the bitmap matrix?
How many bytes across until it wraps?
#29900 - Darkain - Fri Nov 26, 2004 9:56 am
flip_fl0p wrote: |
Thanks,
So what values are you using for the bitmap matrix?
How many bytes across until it wraps? |
its a tile map, not a bitmap... as so it seems.
tiles are 4 bytes by 8 bytes. 2 pixels per byte. 5 tiles per packet. 32 tiles on the first row, 28 tile on the second row.
_________________
-=- Darkain Dragoon -=-
http://www.darkain.com
DarkStar for Nintendo DS
#29901 - flip_fl0p - Fri Nov 26, 2004 10:39 am
Ok ty for clearing that up. I am seeing results now. Good GOD is it painful to cut and paste all this hehe.
nite man :) ZZZzzz
#29902 - Krakken - Fri Nov 26, 2004 10:51 am
What I don't understand is why they used nibbles (4-bits) to transfer data when it's a monochrome image. They could have quite easily been 8-pixels to a byte. There is no colour right?
#29903 - Darkain - Fri Nov 26, 2004 10:53 am
Krakken wrote: |
What I don't understand is why they used nibbles (4-bits) to transfer data when it's a monochrome image. They could have quite easily been 8-pixels to a byte. There is no colour right? |
hence why i mentioned the GBA style tilemap above. why bother converting a format, when the format is already native to your system? :)
it looks like it just uses the GBA's 16-bolour tile mode.
_________________
-=- Darkain Dragoon -=-
http://www.darkain.com
DarkStar for Nintendo DS
#29905 - Krakken - Fri Nov 26, 2004 11:01 am
Darkain wrote: |
Krakken wrote: | What I don't understand is why they used nibbles (4-bits) to transfer data when it's a monochrome image. They could have quite easily been 8-pixels to a byte. There is no colour right? |
hence why i mentioned the GBA style tilemap above. why bother converting a format, when the format is already native to your system? :)
it looks like it just uses the GBA's 16-bolour tile mode. |
It just seems like it would be worth it. It would make transfers almost 4x faster.
#29906 - Darkain - Fri Nov 26, 2004 11:09 am
Krakken wrote: |
It just seems like it would be worth it. It would make transfers almost 4x faster. |
with the current menthod, its aprox 3kb of information for 1 line... and at most 13kb for an entire screen.... and its transfering on a 2mbps network... so, about 100,000 bits out of 2,000,000 every second. that only limits you to streaming a 20fps movie like that. ;) i dont think chatting is that much of a problem.
also remember the overhead... there is a decent amount of overhead, so reducing the binary data is only marginally improving the over-all amount of data required to be send.
but then, you increase the encoding and decoding speeds by making the data compressed to its smallest form, and also prevent any sort of fordward compat w/ a possible *Pictochat COLOUR* ( unless they made that send out bolth a B/W and colour image, wich would then make it "slower" ;) )
_________________
-=- Darkain Dragoon -=-
http://www.darkain.com
DarkStar for Nintendo DS
#29907 - Krakken - Fri Nov 26, 2004 11:13 am
Haha, I just thought if we figure out this protocol, we may be able to hack PictoChat to display 16-colour images! That is assuming that there is a default palette loaded into the system. If not the it would be marginly more difficult but still possible.
#29908 - Marill - Fri Nov 26, 2004 11:27 am
yeah, that depends on figuring out the pictochat communication protocol first.
Only after that we can experiment with sending different data bits and see what comes out in the pictochat window.
#29917 - ravuya - Fri Nov 26, 2004 4:28 pm
Krakken wrote: |
It just seems like it would be worth it. It would make transfers almost 4x faster. |
Eh, transfer speed doesn't seem that important to me, there's not much data getting sent and the network is ~11Mpbs (assuming it follows the 802.11b standard). Might be some lag at extreme ranges, though.
_________________
Rav (Win/Mac/Linux games for free)
#29918 - RiZeUp - Fri Nov 26, 2004 4:40 pm
i believe the DS is 1-2 Mbps.
Nice find. Can't wait to get my laptop back to start trying out some stuff.
_________________
~RiZeUp
#29919 - ravuya - Fri Nov 26, 2004 4:47 pm
RiZeUp wrote: |
i believe the DS is 1-2 Mbps.
Nice find. Can't wait to get my laptop back to start trying out some stuff. |
Hm, I'm pretty sure the standard is 11Mbps. Nintendo probably doesn't use the 802.11 standard for ad-hoc mode to save on batteries.
_________________
Rav (Win/Mac/Linux games for free)
#29920 - flip_fl0p - Fri Nov 26, 2004 5:55 pm
Okay here is what I was able to decipher from the hello file. I implemented 4x8 byte tile structure. Still looks like I'm getting a little descrepency, well a lot. Also, the first 4 bytes of each tile might not actually be used as "tile-data" per say. There seems to be patterning on the top row of each tile. So is it possible for each tile to roll it's own ID tag or header?
Code: |
0000000000000000000001000101000101100001 <-- header or boolean of some sort????
0000000000000000000000000000000000000000
0000000000000000000000000000000000000000
0000000000000000000000000000000000000000
0000000000000100000000000110000000000000
0000000000000100000000000110000000000000
0000000000000100000000000110000000000000
0000000000001111001011000110001011000000
0000000000000000000000000000000000000000 <-- Another header, or dead string conincidently 8 bytes later!
0000000000000000011111010110000100010000
0000000001000000010100000110000100010000
0000000001000000010100000110000100010000
0000000001000000011011011000011011000000
0000000001000000000000000000000000000000
0000000000000000000000000000000000000000
0000000000000000000000000000000000000000 |
#29921 - chizu - Fri Nov 26, 2004 7:02 pm
ravuya wrote: |
RiZeUp wrote: | i believe the DS is 1-2 Mbps.
Nice find. Can't wait to get my laptop back to start trying out some stuff. |
Hm, I'm pretty sure the standard is 11Mbps. Nintendo probably doesn't use the 802.11 standard for ad-hoc mode to save on batteries. |
The 802.11b standard allows for 1Mbps/2Mbps/5.5Mbps/11Mbps speeds. It is standard 802.11b, just slow standard 802.11b.
Also, Mario 64 DS appears to send out 802.11 beacon frames on channel 6 while waiting for a multiplayer game to start. I don't have another DS to see if there's any traffic while actually playing, but could this mean Mario 64 is using 802.11b somewhere? Or has someone with 2 DS noticed this already and not found any 802.11 traffic while the multiplayer game is in progress?
#29922 - gladius - Fri Nov 26, 2004 8:53 pm
Okay, back into the fray :). What image width are you using to get the hello decoded like that Darkain?
I'm still way off on alignment with an image size of 216x16.
#29923 - Darkain - Fri Nov 26, 2004 8:57 pm
gladius wrote: |
Okay, back into the fray :). What image width are you using to get the hello decoded like that Darkain?
I'm still way off on alignment with an image size of 216x16. |
the two rows arent event. row 1 = 32 tiles, row 2 = 28 tiles
32*8=256 (row 1)
28*8=224 (row 2)
_________________
-=- Darkain Dragoon -=-
http://www.darkain.com
DarkStar for Nintendo DS
#29924 - Darkain - Fri Nov 26, 2004 8:58 pm
flip_fl0p wrote: |
Okay here is what I was able to decipher from the hello file. I implemented 4x8 byte tile structure. Still looks like I'm getting a little descrepency, well a lot. Also, the first 4 bytes of each tile might not actually be used as "tile-data" per say. There seems to be patterning on the top row of each tile. So is it possible for each tile to roll it's own ID tag or header?
Code: | 0000000000000000000001000101000101100001 <-- header or boolean of some sort????
0000000000000000000000000000000000000000
0000000000000000000000000000000000000000
0000000000000000000000000000000000000000
0000000000000100000000000110000000000000
0000000000000100000000000110000000000000
0000000000000100000000000110000000000000
0000000000001111001011000110001011000000
0000000000000000000000000000000000000000 <-- Another header, or dead string conincidently 8 bytes later!
0000000000000000011111010110000100010000
0000000001000000010100000110000100010000
0000000001000000010100000110000100010000
0000000001000000011011011000011011000000
0000000001000000000000000000000000000000
0000000000000000000000000000000000000000
0000000000000000000000000000000000000000 |
|
no, that first row inst a header... move that row down by 8 and left by 8, and it matches into the whole perfectly
_________________
-=- Darkain Dragoon -=-
http://www.darkain.com
DarkStar for Nintendo DS
#29925 - ravuya - Fri Nov 26, 2004 8:59 pm
Darkain wrote: |
gladius wrote: | Okay, back into the fray :). What image width are you using to get the hello decoded like that Darkain?
I'm still way off on alignment with an image size of 216x16. |
the two rows arent event. row 1 = 32 tiles, row 2 = 28 tiles
32*8=256 (row 1)
28*8=224 (row 2) |
Stupid question, but perhaps perhipherally related to this: Does the DS use square, or rectangular pixels? I've only ever seen a few computers that use rectangular pixels.
_________________
Rav (Win/Mac/Linux games for free)
#29926 - gladius - Fri Nov 26, 2004 9:11 pm
Nice! Finally fixed the first line bug. It appears there is a 4 byte header in the data stream itself. Once I skip past that all the images decode perfectly! Still wondering why there are 256 pixels of information for the first row... Perhaps those are actually tiled onto the second row if used? As the width can't be much more than 220.
[Edit: Images are up at http://members.fortunecity.com/infinityhq/dsdev/dsdev.html]
Last edited by gladius on Fri Nov 26, 2004 9:21 pm; edited 1 time in total
#29927 - tepples - Fri Nov 26, 2004 9:13 pm
ravuya wrote: |
Does the DS use square, or rectangular pixels? I've only ever seen a few computers that use rectangular pixels. |
From what I've played of Metroid Prime Hunters First Hunt in Wal-Mart, the Nintendo DS uses the same square pixel aspect ratio as the Game Boy, Game Boy Pocket, Game Boy Color, Game Boy Advance, and Game Boy Advance SP. The NES, Super NES, and Super Game Boy use rectangular pixels sized 40:33 (not 40:30 as PocketNES assumes), and the Sega Genesis and Apple II use rectangular pixels sized 10:11.
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.
#29931 - Darkain - Fri Nov 26, 2004 9:50 pm
gladius wrote: |
Nice! Finally fixed the first line bug. It appears there is a 4 byte header in the data stream itself. Once I skip past that all the images decode perfectly! Still wondering why there are 256 pixels of information for the first row... Perhaps those are actually tiled onto the second row if used? As the width can't be much more than 220.
[Edit: Images are up at http://members.fortunecity.com/infinityhq/dsdev/dsdev.html] |
sweet! all 5 look perfect!
on mine, i just kept in that extra header, and just moved the extra row of bytes down... i guess either way can work.
i think the next step is to get ahold of the source code of one of those sniffers, and do all of this in real-time.
_________________
-=- Darkain Dragoon -=-
http://www.darkain.com
DarkStar for Nintendo DS
#29934 - Joat - Fri Nov 26, 2004 10:27 pm
First of all, Darkain and gladius, great work!
Darkain, what hardware and software did you use to capture the pictochat conversation?
_________________
Joat
http://www.bottledlight.com
#29935 - Darkain - Fri Nov 26, 2004 10:29 pm
Joat wrote: |
First of all, Darkain and gladius, great work!
Darkain, what hardware and software did you use to capture the pictochat conversation? |
laptop w/ realtek 802.11b wireless PCMCIA card and AiroPeek.
_________________
-=- Darkain Dragoon -=-
http://www.darkain.com
DarkStar for Nintendo DS
#29936 - ampz - Fri Nov 26, 2004 10:53 pm
Is there a destination MAC adress in the packets?
#29937 - Darkain - Fri Nov 26, 2004 10:55 pm
ampz wrote: |
Is there a destination MAC adress in the packets? |
the information that ive ripped so far was just the "DATA" section of the MAC packets... the MAC header itself contains source/dest type information, but i didnt include that in the initial binary rips that i made, so this way people wouldnt get all confused trying to figure out the MAC headers.
_________________
-=- Darkain Dragoon -=-
http://www.darkain.com
DarkStar for Nintendo DS
#29938 - ampz - Fri Nov 26, 2004 11:05 pm
I was just woundering if the destination MAC is broadcast address or not.
It should be a broadcast address...
A broadcast adress should make it a little easier to write a program that reads them... (no need to set the network driver to promiscious mode)
#29939 - Darkain - Sat Nov 27, 2004 12:02 am
ampz wrote: |
I was just woundering if the destination MAC is broadcast address or not.
It should be a broadcast address...
A broadcast adress should make it a little easier to write a program that reads them... (no need to set the network driver to promiscious mode) |
i'll go and dump the MAC headers later...
a) i only have access to 1 DS at the moment (i usually only get the second at night time while family is asleep)
b) i got homework i gotta catch up on. ;)
_________________
-=- Darkain Dragoon -=-
http://www.darkain.com
DarkStar for Nintendo DS
#29945 - penndragon - Sat Nov 27, 2004 1:27 am
This probably has nothing to do with what you guys
are doing but today i was meddeling around with pictochat
and bam somthing joined the room then left in like 1 sec
then my ds frozee up and my wifi network in my house went down
just thought that was weird.
#29951 - ravuya - Sat Nov 27, 2004 3:19 am
penndragon wrote: |
This probably has nothing to do with what you guys
are doing but today i was meddeling around with pictochat
and bam somthing joined the room then left in like 1 sec
then my ds frozee up and my wifi network in my house went down
just thought that was weird. |
Yeah, there have been some people complaining that the DS takes out their wireless for some reason. What kind of router are you using? I'll bet that it's a D-Link.
_________________
Rav (Win/Mac/Linux games for free)
#29952 - penndragon - Sat Nov 27, 2004 3:49 am
Exactly its a D-LINk 802.11g
but what im saying is the router was
connected with it for a few secs.
on another note why are we trying to
get pictochat online why not just come
up with some app that send a signal to
the ds throug the ds download play that
way we could come up with our own
chat prog
#29962 - ravuya - Sat Nov 27, 2004 4:38 am
Because even if we do figure out how to send things to it, we then still need to figure out how to build the packages.
The first step to knowing how to send packages to the DS.. is to know how to send anything. And that's where the Pictochat dissection is coming in handy right now. We can get a big ol' codebase built up and work from there on more complicated projects. You have to walk before you can run.
By the way, D-Link makes crap that pretty much only plays nice with Windows-based computers. I've never seen their routers work 100% with anything else, even established standards like DHCP.
_________________
Rav (Win/Mac/Linux games for free)
#29963 - DrEggman - Sat Nov 27, 2004 4:52 am
I set my LinkSys router to a MAC address simular to my DS and it freaked out when I went to picto chat. Had to reset the router and change the mac address back.
_________________
DigiPen Graduate
#29964 - ravuya - Sat Nov 27, 2004 4:57 am
DrEggman wrote: |
I set my LinkSys router to a MAC address simular to my DS and it freaked out when I went to picto chat. Had to reset the router and change the mac address back. |
So the deal with the routers probably is, the DS thinks it's another DS, starts spamming it with "HI! I'M A DS! WHAT'S YOUR NAME?" packets and the router gets confused, starts screaming inside, and locks up without a fight. Wonder if there will be firmware patches.
_________________
Rav (Win/Mac/Linux games for free)
#29967 - Darkain - Sat Nov 27, 2004 5:08 am
penndragon wrote: |
why not just come
up with some app that send a signal to
the ds throug the ds download play that
way we could come up with our own
chat prog |
because the DS uses 2 protocols, not 1... and one of those two, we cannot access... and that one that we cannot access is the one that the multiboot download uses... if it DID use the 802.11 for multi-boot download, that would be my top priority, so that way we could all start on our 3rd party projects.
_________________
-=- Darkain Dragoon -=-
http://www.darkain.com
DarkStar for Nintendo DS
#29968 - DrEggman - Sat Nov 27, 2004 5:19 am
Darkain, did you check this out?
http://www.dual-scene.com/modules.php?op=modload&name=News&file=article&sid=7&mode=thread&order=0&thold=0
If the NiFi Standard was so different, then why can we see the DS in picto and mario 64? Also if the DS isnt detectable in multi boot mode, what are the chances that its simply listening and not broadcasting?
_________________
DigiPen Graduate
#29969 - chizu - Sat Nov 27, 2004 5:35 am
This is similar to what I was saying earlier, the DS may be effectively in promiscuous mode in multi boot mode, and it's simply waiting for a beacon to start talking with another DS. I'm going to try capturing some Mario 64 beacon frames and retransmitting them while the DS is in multi boot mode to see if it responds.
#29970 - Darkain - Sat Nov 27, 2004 6:09 am
chizu wrote: |
This is similar to what I was saying earlier, the DS may be effectively in promiscuous mode in multi boot mode, and it's simply waiting for a beacon to start talking with another DS. I'm going to try capturing some Mario 64 beacon frames and retransmitting them while the DS is in multi boot mode to see if it responds. |
the thing is tho, i have 2 DSs, and i did a multiboot game, and got a total of 0 packets out of it... i'll try it agian tho w/ some other settings... i think i was only listening on channel 1 at the time.
_________________
-=- Darkain Dragoon -=-
http://www.darkain.com
DarkStar for Nintendo DS
#29971 - chizu - Sat Nov 27, 2004 6:16 am
Darkain wrote: |
chizu wrote: |
This is similar to what I was saying earlier, the DS may be effectively in promiscuous mode in multi boot mode, and it's simply waiting for a beacon to start talking with another DS. I'm going to try capturing some Mario 64 beacon frames and retransmitting them while the DS is in multi boot mode to see if it responds. |
the thing is tho, i have 2 DSs, and i did a multiboot game, and got a total of 0 packets out of it... i'll try it agian tho w/ some other settings... i think i was only listening on channel 1 at the time. |
Hmm, I hope you just missed it on other channels. Mario has always been on channel 6 for me, and just hosting a game outputs about 40 packets a minute sniffing with AirSnort. They all appear to be standard 802.11b access point beacon frames though, no data, but I'm thinking this is simply because I haven't been able to try it with another DS in range.
#29972 - chizu - Sat Nov 27, 2004 6:35 am
Just tried sniffing Metroid Hunters: First Hunt, it outputs 3000 packets a minute while waiting for people to join a game. I'm going to look into their contents, but that's a ton of stuff to look through. This is really making me think NiFi as it's been dubbed isn't anything more than 802.11b without the IP layer.
EDIT: http://www.spicious.com/downloads/metroid.pcap is a pcap format dump of what metroid put out in 10 seconds, ethereal or any libpcap compatible application to see it.
Last edited by chizu on Sat Nov 27, 2004 6:39 am; edited 2 times in total
#29973 - allenu - Sat Nov 27, 2004 6:38 am
chizu wrote: |
Just tried sniffing Metroid Hunters: First Hunt, it outputs 3000 packets a minute while waiting for people to join a game. I'm going to look into their contents, but that's a ton of stuff to look through. This is really making me think NiFi as it's been dubbed isn't anything more than 802.11b without the IP layer. |
Cool. If you guys can log more the binary packet data, that would be great. I don't have a WiFi router myself, so I can't analyze log the myself. I'm thinking of getting a WiFi router for just this reason now, though. :-P
#29974 - Darkain - Sat Nov 27, 2004 6:40 am
chizu wrote: |
Just tried sniffing Metroid Hunters: First Hunt, it outputs 3000 packets a minute while waiting for people to join a game. I'm going to look into their contents, but that's a ton of stuff to look through. This is really making me think NiFi as it's been dubbed isn't anything more than 802.11b without the IP layer. |
i just got about 13,000 packets that where sent from one DS to another in a mario multi-boot wireless down.... those run on channel 13 (out of normal spec for the US, i think)
i'm gonna start at the source, by just getting the data that shows up on the DS that says "hey, there is a game here" cause it contains game name and that lil pic, and thatll be the first thing for downloading home-brew demos.
_________________
-=- Darkain Dragoon -=-
http://www.darkain.com
DarkStar for Nintendo DS
#29975 - Darkain - Sat Nov 27, 2004 6:41 am
allenu wrote: |
Cool. If you guys can log more the binary packet data, that would be great. I don't have a WiFi router myself, so I can't analyze log the myself. I'm thinking of getting a WiFi router for just this reason now, though. :-P |
routers wont work
_________________
-=- Darkain Dragoon -=-
http://www.darkain.com
DarkStar for Nintendo DS
#29976 - Seiru - Sat Nov 27, 2004 6:46 am
Darkain wrote: |
allenu wrote: | Cool. If you guys can log more the binary packet data, that would be great. I don't have a WiFi router myself, so I can't analyze log the myself. I'm thinking of getting a WiFi router for just this reason now, though. :-P |
routers wont work |
Really? I thought like, a wired router with a wireless access point would work perfectly.
I was planning on buying this just for my DS -_-
#29977 - chizu - Sat Nov 27, 2004 6:50 am
Darkain wrote: |
chizu wrote: | Just tried sniffing Metroid Hunters: First Hunt, it outputs 3000 packets a minute while waiting for people to join a game. I'm going to look into their contents, but that's a ton of stuff to look through. This is really making me think NiFi as it's been dubbed isn't anything more than 802.11b without the IP layer. |
i just got about 13,000 packets that where sent from one DS to another in a mario multi-boot wireless down.... those run on channel 13 (out of normal spec for the US, i think)
i'm gonna start at the source, by just getting the data that shows up on the DS that says "hey, there is a game here" cause it contains game name and that lil pic, and thatll be the first thing for downloading home-brew demos. |
Yeah, channel 13 isn't licensed to the public in the United States. It is, however, licensed to the public in France, some other EU countries, and coincidentally Japan.
Allenu/Seiru, if you want to mess with this stuff pick up a prism2 chipset wireless card for your PC (pcmcia, pci, sometimes even usb will work). A wireless router should work with the DS, but only for games desiged to use a wireless router. A PC with direct access to a wireless nic is needed to access the lower level stuff that the games that are not designed to work with standard 802.11b hardware use to communicate.
#29978 - allenu - Sat Nov 27, 2004 7:08 am
chizu wrote: |
Allenu/Seiru, if you want to mess with this stuff pick up a prism2 chipset wireless card for your PC (pcmcia, pci, sometimes even usb will work). A wireless router should work with the DS, but only for games desiged to use a wireless router. A PC with direct access to a wireless nic is needed to access the lower level stuff that the games that are not designed to work with standard 802.11b hardware use to communicate. |
Ah, okay, I'll look for a wireless card then. Thanks.
#29979 - Seiru - Sat Nov 27, 2004 7:11 am
Quote: |
Allenu/Seiru, if you want to mess with this stuff pick up a prism2 chipset wireless card for your PC (pcmcia, pci, sometimes even usb will work). A wireless router should work with the DS, but only for games desiged to use a wireless router. A PC with direct access to a wireless nic is needed to access the lower level stuff that the games that are not designed to work with standard 802.11b hardware use to communicate. |
Hmmm. But, in the future when there are WiFi games out for the DS, would I be able to use a prism2 card to access the net from my DS?
#29980 - Darkain - Sat Nov 27, 2004 7:13 am
Seiru wrote: |
Quote: | Allenu/Seiru, if you want to mess with this stuff pick up a prism2 chipset wireless card for your PC (pcmcia, pci, sometimes even usb will work). A wireless router should work with the DS, but only for games desiged to use a wireless router. A PC with direct access to a wireless nic is needed to access the lower level stuff that the games that are not designed to work with standard 802.11b hardware use to communicate. |
Hmmm. But, in the future when there are WiFi games out for the DS, would I be able to use a prism2 card to access the net from my DS? |
once games are designed to specifically use a standard AP, anything that acts as an AP should work.
_________________
-=- Darkain Dragoon -=-
http://www.darkain.com
DarkStar for Nintendo DS
#29981 - Seiru - Sat Nov 27, 2004 7:20 am
Would this work?
http://www.compusa.com/products/product_info.asp?product_code=307007&pfp=BROWSE
Sorry for threadjacking here, but I've been given bad advice it seems by other forums, and you guys seem to know what you're talking about....
#29982 - Darkain - Sat Nov 27, 2004 7:40 am
depends... what chipset does it use? outside of my realtek card, i dont know what else works. all i know is my 802.11g card does *not* work
_________________
-=- Darkain Dragoon -=-
http://www.darkain.com
DarkStar for Nintendo DS
#29983 - Seiru - Sat Nov 27, 2004 7:57 am
Darkain wrote: |
depends... what chipset does it use? outside of my realtek card, i dont know what else works. all i know is my 802.11g card does *not* work |
Hmm...Prism 2.5.
Or ADM8211 depending on the revision ?_?
#29984 - Darkain - Sat Nov 27, 2004 8:06 am
the DS apparently is using short preamble, wich is an optional feature of 802.11b, but required on 802.11g... this could explain why some 802.11b cards will fail.
_________________
-=- Darkain Dragoon -=-
http://www.darkain.com
DarkStar for Nintendo DS
#29985 - Darkain - Sat Nov 27, 2004 8:31 am
another interesting find: trying to setup a multiplayer game on mario, while packet sniffing...
ive been trying this several times, sometimes it is on channel 5, or channel 7, or channel 9, or channel 13. i havnt seen any others for mario yet. i can see the large amount of packets being sent after i initiate the multiplayer game, but i cant see that initial sending of data that tells the client DS what games are available for download.
i'm gonna keep trying other things to see what i can come up with tho.
_________________
-=- Darkain Dragoon -=-
http://www.darkain.com
DarkStar for Nintendo DS
#29986 - autobot - Sat Nov 27, 2004 8:55 am
Darkain wrote: |
but i cant see that initial sending of data that tells the client DS what games are available for download.
|
I am a real noob when it comes to wireless but I have been messing around also.
Could it be that the DS uses Nintendo own protocol to initiate the d/l then use WiFi to move the bigger part faster?
#29987 - Darkain - Sat Nov 27, 2004 9:02 am
autobot wrote: |
Darkain wrote: |
but i cant see that initial sending of data that tells the client DS what games are available for download.
|
I am a real noob when it comes to wireless but I have been messing around also.
Could it be that the DS uses Nintendo own protocol to initiate the d/l then use WiFi to move the bigger part faster? |
i've been considering this... but ive also been trying to figure out what this custom protocol is... my theory is that it still runs at the same freqs as 802.11b, but doesnt use MAC headers for its packets, hence why i cant see the messages. this is just a *theory* tho, considering that the becon packets are still being sent at the exact same time, so instead of adjusting the freq of the transmitter, it may be something as simple as sending a header that isnt a MAC packet... wich could also explain why some routers start to skrew up from the DS being around, as they may not probably hande non-mac-packets being received.
_________________
-=- Darkain Dragoon -=-
http://www.darkain.com
DarkStar for Nintendo DS
#29988 - Darkain - Sat Nov 27, 2004 9:04 am
http://ds.darkain.com/mario%2064%20download.zip
inside that zip is the file saved by AiroPeek NX. that is the data that i believe to be the Mario 64 multi-boot version. maybe someone can peice together a binary file by stripping out all of the header information, and attempt to disassemble the code and data for the game?
_________________
-=- Darkain Dragoon -=-
http://www.darkain.com
DarkStar for Nintendo DS
#29989 - bveina - Sat Nov 27, 2004 9:50 am
sorry for asking such a dumb question but, why does it matter what chipset the adapter has? if its a 802.11g card what is the problem?
i only ask because my card that i already have uses the broadcom chipset. i cant really justify/afford to grab another one just for my DS...
thanks for being so patient
#29991 - Darkain - Sat Nov 27, 2004 9:57 am
bveina wrote: |
sorry for asking such a dumb question but, why does it matter what chipset the adapter has? if its a 802.11g card what is the problem?
i only ask because my card that i already have uses the broadcom chipset. i cant really justify/afford to grab another one just for my DS...
thanks for being so patient |
as mentioned several times thru-out the thread... the software we are using to sniff the packets uses a special driver, and the driver is designed for *some* 802.11b cards. also, if you only have 1 DS unit, it doesnt help too much either, because all you will see is the beacon. there has to be at least 2 DSs for actual data to be transmitted. i am on a 802.11b realtek PCMCIA card and have 2 DSs to work with, as well as 2 copies of the mario game, metroid game, and 1 copy of feel the magic (which doesnt count since it is single player only)
_________________
-=- Darkain Dragoon -=-
http://www.darkain.com
DarkStar for Nintendo DS
#29992 - Tim Schuerewegen - Sat Nov 27, 2004 10:00 am
Darkain wrote: |
inside that zip is the file saved by AiroPeek NX. that is the data that i believe to be the Mario 64 multi-boot version. maybe someone can peice together a binary file by stripping out all of the header information, and attempt to disassemble the code and data for the game? |
There is an unencrypted ds arm9 binary inside that 802.11 dump but some packets are missing which makes it impossible to extract a complete binary needed for emulation purposes. Maybe you could try capturing the same data again so that we can puzzle together a complete binary from both dumps?
#29997 - leonard - Sat Nov 27, 2004 10:55 am
hi all !
Quote: |
There is an unencrypted ds arm9 binary inside that 802.11 dump but some packets are missing |
Well something sounds strange to me. How are you sure of this ? Did you succeed in de-crypting data ? If yes, congratulations, and could you explain a bit more ?
If no, how do you know this is an arm9 binary inside the cypher text ???
_________________
Leonard
#29998 - mymateo - Sat Nov 27, 2004 11:01 am
Hi everybody
I just want to congratulate everyone on all their great progress so far. What you've discovered is very promising! Keep up the good work.
#29999 - Darkain - Sat Nov 27, 2004 11:06 am
http://ds.darkain.com/mario%2064%20download%202.zip (2.1mb)
here is a second packet dump file. this one is completely unfiltered, so it contains all of the beacon messages, and im guessing some of the other messages are "ok" replies and/oe request next packet.
_________________
-=- Darkain Dragoon -=-
http://www.darkain.com
DarkStar for Nintendo DS
#30002 - ETkoala - Sat Nov 27, 2004 12:09 pm
if you load that file on vba you can see some commands not randomly:
mov r12, #0x8000000
ldrb lr, [r12,#0x9c]
cmps lr, #0xa5
bne $0000290
etc...
#30004 - Tim Schuerewegen - Sat Nov 27, 2004 2:38 pm
Darkain wrote: |
here is a second packet dump file. this one is completely unfiltered, so it contains all of the beacon messages, and im guessing some of the other messages are "ok" replies and/oe request next packet. |
Thanks, but I was actually referring to lost packets, not filtered ones. About 2% of your ds packets are not seen by your wireless adapter. Maybe you can improve the quality somehow? (move ds closer to pc/laptop, give more cpu% to AiroPeek, etc.)
Btw, I was able to extract a complete header, icon?, arm9 and arm7 binary by combining both dumps. Looks like I will be spending the weekend figuring out the wireless protocol while waiting for my ds to arrive :)
#30009 - leonard_ - Sat Nov 27, 2004 3:58 pm
Don't know if it can help. Looking at Darkain uniltered log, I think that data are not encrypted. Look at packet number 19852 ( using AiroPeek), at offset $23e you can find string:
ma\0rio_head
the \0 in the string "mario_head" is strange, but maybe the data are packed with string dictionary technic such as LZSS. ( \0 should be a command byte, not a literal string/offset pair)
#30011 - arbitrary - Sat Nov 27, 2004 5:17 pm
My guess is also that it's not encrypted, but is compressed. (Compression would make sense, for both transfer speed and cart space)
There's lots of incomplete text strings visible, or strings with unprintable chars (zeroes?) in just looking at it in Notepad. Try searching for 'FileID', 'Water', or 'Actor'
Interesting - looks like groups of 8 chars between the unprintable chars. At least in the area I looked at
I wonder if it uses the same LZ compression that the GBA uses (unpacking functions in the bios?)
#30021 - Tim Schuerewegen - Sat Nov 27, 2004 6:56 pm
arbitrary wrote: |
My guess is also that it's not encrypted, but is compressed. (Compression would make sense, for both transfer speed and cart space)
There's lots of incomplete text strings visible, or strings with unprintable chars (zeroes?) in just looking at it in Notepad. Try searching for 'FileID', 'Water', or 'Actor'
Interesting - looks like groups of 8 chars between the unprintable chars. At least in the area I looked at
I wonder if it uses the same LZ compression that the GBA uses (unpacking functions in the bios?) |
Indeed, it is not encrypted but mostly compressed. When running the arm9 binary on a DS emulator the code unpacks itself and all of the text becomes readable.
#30023 - DynamicStability - Sat Nov 27, 2004 7:07 pm
If not already the case, the FULL file should be a complete screen of ALL black pixels. Fill up every pixel of every line and it might be easier to seperate buffers headers and data.
Also for the first line, are you taking into account that you cannot draw or type over your user name? So the first line has less DATA space. And the reason for the larger size of the first line is for the color data and the name of the DS, as it highlights usernames in the color set.
Do you guys know how to read other users profiles in pictochat yet? I do not have two DS's but does it create tabs of other users names that you can click to type privately to them, and also read their profile? I have no clue. Would the profile data give us anymore info about direct DS to DS communication rather than full room communication, as reading someone elses profile would only be sent to your specific DS.
Ok, im sure i sound like a retard, but maybe i should crack open my second DS and go buy a wireless card (as my WRT54G i just bought isnt going to be much help ATM)
Peace
#30032 - Darkain - Sat Nov 27, 2004 9:36 pm
DynamicStability wrote: |
Do you guys know how to read other users profiles in pictochat yet? I do not have two DS's but does it create tabs of other users names that you can click to type privately to them, and also read their profile? I have no clue. Would the profile data give us anymore info about direct DS to DS communication rather than full room communication, as reading someone elses profile would only be sent to your specific DS. |
yus, there are tabs at the top of the screen where you can read others profiles. from what i can tell, i think the profile info is sent over the same time the "i've entered the chat room" message is sent over, and then stored on the local system. and no, you cannot have private conversations between 2 DSs. i would love to get a 3rd DS to try this sort of stuff out further, but that just isnt possible for me at this time.
_________________
-=- Darkain Dragoon -=-
http://www.darkain.com
DarkStar for Nintendo DS
#30043 - gladius - Sat Nov 27, 2004 10:55 pm
Got a new network card so I can start working on the captures now. When the DS'es are setting up their connection, the parent unit just sends out beacons, then when I go into download games, the parent unit sends an Ack packet, then an Auth. Only then does the child unit start sending (according to AiroPeek). Then they go on to do Assoc Req's, and then just send keep-alives until I press okay to download the game on both units. So the bad news is there might be some non-standard comms happening to handshake the two units initially. Time to brush up on my 802.11 protocols :).
#30061 - Darkain - Sun Nov 28, 2004 1:52 am
gladius wrote: |
Got a new network card so I can start working on the captures now. When the DS'es are setting up their connection, the parent unit just sends out beacons, then when I go into download games, the parent unit sends an Ack packet, then an Auth. Only then does the child unit start sending (according to AiroPeek). Then they go on to do Assoc Req's, and then just send keep-alives until I press okay to download the game on both units. So the bad news is there might be some non-standard comms happening to handshake the two units initially. Time to brush up on my 802.11 protocols :). |
great! and i just wanted to say thanx for all the help you have provided.
ive been sorting thru my mario dump 2 a bit... checking out packets 8370 and on... getting some interesting strings. it appears that the packets are 512 bytes in size, 14 bytes header, 498 data. byte 11 increments with each packet being sent. the maching reciving the data sends back an acknowledgement packet that is 10 bytes in size, with the 7th byte being the same incremented ID. in both examples, the following 3 bytes after the incremented ID are 0's, so its possible it may be a 16-bit or 32-bit number.
Code: |
face_demo_wait_yoshi.bca
face_demo_wait_yoshi.btp
face_demo_yoshi.bca
face_demo_yoshi.bmd
face_demo_yoshi.btp
mdst_kira1_spa.bin
opening_star.bca
opening_star_short.bca
USA
texBank_U.bmd
bakubaku
basabasa
batta_block
battan
battan_king
big_snowman
birikyu
bombhei
bombking
book
boss_teresa
c_jugem
chair
choropu
donguru
donkaku
donketu
dossy
dosune
eyekun
gamaguchi
hanachan
hojiro
horuhei
huwahuwa
hyuhyu!
iwante"
jango#
jugem$
keronpa%
killer&
|
_________________
-=- Darkain Dragoon -=-
http://www.darkain.com
DarkStar for Nintendo DS
#30064 - tepples - Sun Nov 28, 2004 1:59 am
Nothing to do with the prequel to Super Puzzle Fighter II, I assume...
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.
#30066 - mikeandbandit - Sun Nov 28, 2004 2:26 am
does the DS also continue to send out signals while in sleep mode, does it changed based on whether it is waiting or acting as a beacon. Also can DS auto-detect other Dss on that mode?
#30071 - chizu - Sun Nov 28, 2004 2:40 am
mikeandbandit wrote: |
does the DS also continue to send out signals while in sleep mode, does it changed based on whether it is waiting or acting as a beacon. Also can DS auto-detect other Dss on that mode? |
Pictochat does not emit anything while in sleep mode. Metroid emits the same thing awake or asleep on the server screen. Mario also emits the same thing awake or asleep.
Nothing is emitted by a client DS waiting for a server to show up as far as I can tell. I think it's merely listening for a probe from a server DS, and when it recieves that it starts negotiating with the server DS.
#30072 - Darkain - Sun Nov 28, 2004 2:52 am
chizu wrote: |
mikeandbandit wrote: | does the DS also continue to send out signals while in sleep mode, does it changed based on whether it is waiting or acting as a beacon. Also can DS auto-detect other Dss on that mode? |
Pictochat does not emit anything while in sleep mode. Metroid emits the same thing awake or asleep on the server screen. Mario also emits the same thing awake or asleep.
Nothing is emitted by a client DS waiting for a server to show up as far as I can tell. I think it's merely listening for a probe from a server DS, and when it recieves that it starts negotiating with the server DS. |
if two units are in pictochat, and the client goes into sleep mode, it sends out a MAC Deauth packet. it seems to have a friendly shutdown, not an instant cut off.
if the server goes into sleep mode, no packets are sent from it at all.
when you resume from sleep mode, no packets are sent at all until you select "yes" from resume communications prompt.
_________________
-=- Darkain Dragoon -=-
http://www.darkain.com
DarkStar for Nintendo DS
#30075 - Darkain - Sun Nov 28, 2004 3:00 am
http://ds.darkain.com/metroid.zip
this dump contains me hosting a metroid game, and then having a second unit join in, and then a couple seconds of gameplay.
also, the info on how to do everyting is spread out across several forums, and peronsal IM conversations and other various places... i'm going to try to compile as much information on the wifi hacking as possible on my site:
http://www.darkain.com/portability.php?portid=1&page=8
_________________
-=- Darkain Dragoon -=-
http://www.darkain.com
DarkStar for Nintendo DS
#30076 - mikeandbandit - Sun Nov 28, 2004 3:00 am
so what your saying is that DS auto detection while in sleep mode is up to the program and the developer, which is what i had suspected. Is it then possible to download an app into the DSs memory which could alert you whenever any DS communication within range is active?
#30077 - Seiru - Sun Nov 28, 2004 3:05 am
I have a network card now that works, but only one DS. Oh well.
#30078 - Darkain - Sun Nov 28, 2004 3:10 am
Seiru wrote: |
I have a network card now that works, but only one DS. Oh well. |
sadly, about all you can get with 2 DSs is beacons... this is a problem for many around here that wanna get into this stuff.
_________________
-=- Darkain Dragoon -=-
http://www.darkain.com
DarkStar for Nintendo DS
#30080 - Seiru - Sun Nov 28, 2004 3:13 am
Yeah, I'm having fun playing with the beacons :-P
#30081 - chizu - Sun Nov 28, 2004 3:26 am
mikeandbandit wrote: |
so what your saying is that DS auto detection while in sleep mode is up to the program and the developer, which is what i had suspected. Is it then possible to download an app into the DSs memory which could alert you whenever any DS communication within range is active? |
It should be possible to do such a thing.
Seiru wrote: |
Yeah, I'm having fun playing with the beacons :-P |
So am I :P
One thing you could look into with just the beacons is to see if there's a way to make a PC WiFi card look like another DS to a real DS. I've been trying to do this, but have made very little progress.
#30082 - Seiru - Sun Nov 28, 2004 3:41 am
Ehh..my AiroPeek gives me an error when I try to re-send a DS beacon.
#30083 - gladius - Sun Nov 28, 2004 3:49 am
There is a bit of a fundamental problem that I'm running into for further investigations here. We need to send raw 802.11b packets. To do this you either need drivers that expose that functionality (i.e. the airopeek ones, too bad they aren't documented), or drivers you can modify (i.e. Linux).
The big problem with AiroPeek is that it can't/won't retransmit control or management messages, which is how you set up a 802.11b connection.
So, looks like I'm going to be setting up a Linux partition :P. The other crappy part about this is that it talking to the DS will be chipset specific probably.
#30085 - mikeandbandit - Sun Nov 28, 2004 3:59 am
q/ here if both the propretary and the standard wifi protocols are able to be picked up and used by routers, then why did nintendo include the standard 802.11 and not just go with the low power comsumption option solely, unless they essentially had to have both as the nintendo protocol is essentially a tweaked 802.11 right? anyway why include both if they are both capable of online play?
#30086 - Zhila - Sun Nov 28, 2004 4:06 am
I'd say the quickest way to get this thing going is to first set up a proxy. Basically, figure out how to detect say.. Room B, then have one DS in Room A, the other in Room B. Then have a program on the PC that will connect to both rooms, and have it relay the messages back and forth to eachother, logging what activity occurs. At which point, you can then to a slight modification to the program to say inverse the colors, try different numbers to see of color messages can be sent, and then start sending various messages. Before long, one would learn the DS protocol and be able to make an application for it (this is pretty much the same way I learned the IRC protocol).
#30087 - chizu - Sun Nov 28, 2004 4:17 am
gladius wrote: |
There is a bit of a fundamental problem that I'm running into for further investigations here. We need to send raw 802.11b packets. To do this you either need drivers that expose that functionality (i.e. the airopeek ones, too bad they aren't documented), or drivers you can modify (i.e. Linux).
The big problem with AiroPeek is that it can't/won't retransmit control or management messages, which is how you set up a 802.11b connection.
So, looks like I'm going to be setting up a Linux partition :P. The other crappy part about this is that it talking to the DS will be chipset specific probably. |
Yeah, I've been wondering about how to send raw 802.11b packets. I'm already using Linux, the linux-wlan-ng drivers, and the hostap drivers, but I've yet to figure out how to transmit some raw packet data. I'm thinking that it might be possible to throw the hostap driver in Master mode and use it's libraries to generate DS-like packets?
I'm collecting a bunch of the information that's been discovered here on my website, there's a little bit of how to do this stuff on Linux there too.
#30089 - gladius - Sun Nov 28, 2004 4:31 am
chizu wrote: |
Yeah, I've been wondering about how to send raw 802.11b packets. I'm already using Linux, the linux-wlan-ng drivers, and the hostap drivers, but I've yet to figure out how to transmit some raw packet data. I'm thinking that it might be possible to throw the hostap driver in Master mode and use it's libraries to generate DS-like packets?
I'm collecting a bunch of the information that's been discovered here on my website, there's a little bit of how to do this stuff on Linux there too. |
That's a nice resource, thanks. And thanks also to Darkain for all the work on getting this stuff rolling, nice page there too :).
For sending raw 802.11b packets in Linux you can use AirJack, http://sourceforge.net/projects/airjack/ which is unfortunately only compatible with a few chipsets, prism2 mainly. Or, just hack the driver up to add a userland hook that accepts a raw packet and forwards it onto the hardware. It's non-trivial, that's for sure, unless someone discovers a different way :).
#30091 - chizu - Sun Nov 28, 2004 4:47 am
gladius wrote: |
For sending raw 802.11b packets in Linux you can use AirJack, http://sourceforge.net/projects/airjack/ which is unfortunately only compatible with a few chipsets, prism2 mainly. Or, just hack the driver up to add a userland hook that accepts a raw packet and forwards it onto the hardware. It's non-trivial, that's for sure, unless someone discovers a different way :). |
Hmm, I'm not really up on my kernel level C, so I'll give AirJack a try. I've alreadly got several prism2.5 cards since those used to be the only things that Linux worked well with.
Thanks for finding AirJack, I've been looking for something like that for a good chunk of today.
#30092 - Zhila - Sun Nov 28, 2004 4:54 am
Any chance this stuff can work wth an at76c503 chipset? It's very popular with USB cards, and it took me forever to get drivers to work with Linux (source code doesn't play nice to me, binary files weren't available).
#30093 - chizu - Sun Nov 28, 2004 5:01 am
Zhila wrote: |
Any chance this stuff can work wth an at76c503 chipset? It's very popular with USB cards, and it took me forever to get drivers to work with Linux (source code doesn't play nice to me, binary files weren't available). |
Probably not, the driver for that chipset lacks promiscuous/monitor mode. You might be able to pick up some beacon frames addressed to the broadcast address but that's it.
#30094 - Zhila - Sun Nov 28, 2004 5:08 am
Quote: |
Probably not, the driver for that chipset lacks promiscuous/monitor mode. You might be able to pick up some beacon frames addressed to the broadcast address but that's it. |
Is this a limitation of the software driver, or a limitation of the hardware itself?
#30096 - chizu - Sun Nov 28, 2004 5:15 am
Zhila wrote: |
Quote: | Probably not, the driver for that chipset lacks promiscuous/monitor mode. You might be able to pick up some beacon frames addressed to the broadcast address but that's it. |
Is this a limitation of the software driver, or a limitation of the hardware itself? |
I think it is a limitation of the card's firmware.
#30097 - Zhila - Sun Nov 28, 2004 5:18 am
Hmm.. from what I understand, the atmel-based cards do not have a firmware so to speak, rather, when the device is initilized, the driver sends the firmware image to the device, which is then stored on internal RAM, and when power is lost, so is the firmware, which must be updated with each cold boot of the device. So, then, in your opinion, is this still a software driver problem?
#30098 - chizu - Sun Nov 28, 2004 5:32 am
Zhila wrote: |
Hmm.. from what I understand, the atmel-based cards do not have a firmware so to speak, rather, when the device is initilized, the driver sends the firmware image to the device, which is then stored on internal RAM, and when power is lost, so is the firmware, which must be updated with each cold boot of the device. So, then, in your opinion, is this still a software driver problem? |
In a way, the linux driver does send the firmware image to the device at initilization but this firmware is just the Amtel coded firmware. So unless you can find/write firmware that supports Monitor or Promiscuous mode, capturing most DS packets won't be possible.
#30105 - Darkain - Sun Nov 28, 2004 9:56 am
Hey there all! it's Dumpkain again!... i mean, Darkain. i got another dump for ya. 4 minutes long playing mario 64 2 player. played 2 games of running around getting the star... not to exciting gameplay, but exciting that we have more data to sort thru now!!
Mario 64 0 Dump 3 (1mb zip - 5.5mb unpacked)
also, you can get the latest on everything from a new section on my - Nintendo DualScreen - Wi-Fi Hacking
_________________
-=- Darkain Dragoon -=-
http://www.darkain.com
DarkStar for Nintendo DS
#30106 - Darkain - Sun Nov 28, 2004 10:00 am
oh, i forgot to mention, i started this dump in the middle.. it doesnt have the initial handshake and wireless download isnt there, since i did all that ealier in a previous dump... just so you dont go and try lookin for that data in this dump. ;)
_________________
-=- Darkain Dragoon -=-
http://www.darkain.com
DarkStar for Nintendo DS
#30108 - Darkain - Sun Nov 28, 2004 12:03 pm
http://ds.darkain.com/mario%20beacon.bin
so, i was watching the mario 64 beacon data before starting a game up. it appears to be sending 10 consecutive packets in a row, with 40 byte headers and 96 bytes of data. byte 32 appears to be the incrementing counter byte, ranging from 0 to 9 in each packet.
in this dump, i've stripped out all of the MAC header information, so we can look directly at the DS info. the packets where all sent as beacon packets, and this is the data contained in the "WPA" section of the packets. if my memory serves me correctly, isnt WPA encryption... but the DS is using this part of the message as data... could *this* be how Ni-Fi defer from Wi-Fi?
if you look in the binary, you will see the strings for the game name, game description, and the host's DS's name. the name of the host for this game is "Darkain(tm)", with the (tm) being the actual TM character. the (tm) appears as "! or 0x22 0x21. i'm not too familiar w/ unicode or UTF-16, but i dont think this is either of those. the seperation between normal characters in the Nin format is a 0x00, and i dont think any PC standard text format uses those, do they?
anyways, hopefully this is good info for anyone that wants to try to re-create the process of downloading a ROM to their DS, as the first step would be broadcasting that a download server is available.
happy hacking! :)
_________________
-=- Darkain Dragoon -=-
http://www.darkain.com
DarkStar for Nintendo DS
#30109 - Two9A - Sun Nov 28, 2004 12:30 pm
Darkain: This looks like standard Unicode-16. Standard charaters are padded with zeros (for example A=0x0041) and the trademark character is 0x2122; take a look at http://www.unicode.org/charts/PDF/U2100.pdf. So, it seems to be following some standards :)
#30110 - Darkain - Sun Nov 28, 2004 12:35 pm
Two9A wrote: |
Darkain: This looks like standard Unicode-16. Standard charaters are padded with zeros (for example A=0x0041) and the trademark character is 0x2122; take a look at http://www.unicode.org/charts/PDF/U2100.pdf. So, it seems to be following some standards :) |
hey, thanx for the info, you are correct! :D that'll make things a bit easier knowing that it is a standard format like that.
_________________
-=- Darkain Dragoon -=-
http://www.darkain.com
DarkStar for Nintendo DS
#30111 - PhoenixSoft - Sun Nov 28, 2004 12:57 pm
Here's what I've seen while playing with Mario Beacon in Notepad:
Quote: |
?
@ @ ?Up? @ C? b ?/E?{?ahr?f 6?!_2?B_S?g ? ? ? ???????,,??¸???????? ?
@ @ ?Up? @ ?n b ? ?? ??? ??,??y??? ? ?w paf f pf gq p? ?[UU ?
@ @ ?Up? @ ?? b w???ffffafff??????????lB?????????w???fv??jffwff?j?f??kh ? ? xg wg wg vf ff ?? ?
@ @ ?Up? @ ?? b ?? ?? q? ? j? `? ???????\??\???].??\????????5??U?Q???D???????af af ?
@ @ ?Up? @ ?? b ?? ?? ?? ??
??
?? f j ? ??jffff?w???????? ?? ??????? ?
@ @ ?Up? @ e? b ???? ??
?
D a r k a i n "! S u p e r M a r i ?
@ @ ?Up? @ ?? b o 6 4 D S S c r a m b l e t o ?
@ @ ?Up? @ ?? b g e t t h e S t a r s !
T h e c a p s w i l l h e l p y o u o u t . ?
@ @ ?Up? @ ?? H ?
@ @ ?Up? @ ?? |
^ Raw data
Quote: |
D a r k a i n "! S u p e r M a r i ?
@ @ ?Up? @ ?? b o 6 4 D S S c r a m b l e t o ?
@ @ ?Up? @ ?? b g e t t h e S t a r s !
T h e c a p s w i l l h e l p y o u o u t . |
^ Section of data
Quote: |
D a r k a i n "! S u p e r M a r i
?
@ @ ?Up? @ ?? b
o 6 4 D S S c r a m b l e t o
?
@ @ ?Up? @ ?? b
g e t t h e S t a r s !
T h e c a p s w i l l h e l p y o u o u t . |
As you can see above, this:
Appears to be a separator in the data.
This is probably worthless information to the rest of ya, but I just thought I would submit it to make me feel special and like I'm part of this :)
#30112 - Darkain - Sun Nov 28, 2004 1:00 pm
Quote: |
Appears to be a separator in the data. |
ya, like i said, there is DS header information in there... that segment should appear 10 times (since there are 10 packets), and be slightly different each time.
if i remember correctly (i dont have the hex editor open right now), the first 6 bytes are the MAC address of the unit, and i havent have a chance to figure out the rest of the header other then the incremented id.
_________________
-=- Darkain Dragoon -=-
http://www.darkain.com
DarkStar for Nintendo DS
#30115 - PhoenixSoft - Sun Nov 28, 2004 1:22 pm
Darkain - here are some words I found in your Mario 64 Download 2 file, in order of when they appear in the file:
data
enemy
entry
normal_obj
vrbox
iron_ball
wanwan
iron_ball.bmd
chain.bmd
wanwan.bmd
wanwan_attack.bca
wanwan_wait.bca
e3_start_map_r00.bmd
coin
door
obj_kokuten
obj_pathlift
wanwan.bmd
wanwan_attack.bca
wanwan_wait.bca
e3_start_map_r00.bmd
coin
door
obj_kokuten
obj_pathlift
This was all near the end, I saw tons more object references etc throughout the file.
#30125 - Abscissa - Sun Nov 28, 2004 6:50 pm
If we're seeing raw unicode in the multiboot data packets, am I correct in interpreting that means the DS multiboot does not use encryption?
#30127 - gladius - Sun Nov 28, 2004 6:56 pm
We aren't sure yet. It's not been totally confirmed how the DS'es handshake. However, it's looking increasingly unlikely that encryption was used, as just about everything is in plaintext.
#30132 - tepples - Sun Nov 28, 2004 7:27 pm
[pessimist]
But watch the packet checksums be RSA encrypted, essentially putting digital signature on everything sent over the air.
[/pessimist]
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.
#30135 - Darkain - Sun Nov 28, 2004 7:35 pm
Mario 64 - From Japanese to English
this site lists the japanese names for in-game characters, and their english counterparts. it explains what some of the weird words we are seeing in the mario 64 dump are.... example: "Jugemu", which is "Lakitu" in the english version.
_________________
-=- Darkain Dragoon -=-
http://www.darkain.com
DarkStar for Nintendo DS
#30137 - gladius - Sun Nov 28, 2004 7:53 pm
Darkain, did you find a nice way to save packets in raw format from Airopeek? I'm just working on the pictochat a little more, just getting the raw packet data seems to be a pain in the butt. Writing a parser for the text format won't be too bad though.
#30139 - localhost - Sun Nov 28, 2004 8:15 pm
For online play I would be willing to bet if we could get some EoIP bridging software, we could make this happen. All I have found on the subject are routers made by www.mikrotik.com. I'm going to keep looking. It would be good if we find this software, if it would let you filter traffic based on MAC address and only allow DS MAC's pass. This would be all that would be necessary for online play, no matter what protocol because it would be layer 2 and I doubt Nintendo reinvented the wheel here.
#30140 - ravuya - Sun Nov 28, 2004 8:35 pm
tepples wrote: |
[pessimist]
But watch the packet checksums be RSA encrypted, essentially putting digital signature on everything sent over the air.
[/pessimist] |
Sounds pretty expensive computationally... but not outside the realm of possibility.
_________________
Rav (Win/Mac/Linux games for free)
#30141 - Zhila - Sun Nov 28, 2004 9:25 pm
eg.... I can't seem to get Airsnort with my Atmel Chipset nor Network Stumbler with my Prism chipset to pick up my DS in either Super Mario 64x4 nor Pictochat. I only have 1 DS, can't pick up packets, but at least I'd like to be able to see the fact that my DS exists.
_________________
Current high scores on Super Mario 64 DS:
Shell Smash - 50230
Wanted - 140
#30143 - Abscissa - Sun Nov 28, 2004 9:49 pm
ravuya wrote: |
tepples wrote: | [pessimist]
But watch the packet checksums be RSA encrypted, essentially putting digital signature on everything sent over the air.
[/pessimist] |
Sounds pretty expensive computationally... but not outside the realm of possibility. |
The checksums are only 32-bit though, aren't they? So wouldn't they be limited to 32-bit encryption max? And hence not all that difficult to crack?
#30146 - gladius - Sun Nov 28, 2004 10:11 pm
I've made some new dumps of pictochat sending messages. Gotta run, or I'd post some more, but two are multi-line dumps and one is a completely full one line dump. We are close on the 2 line image using the current format, however the 5 line image is quite a bit off, something funky going on there. http://members.fortunecity.com/infinityhq/dsdev/dsdev.html for pics and source.
#30147 - Darkain - Sun Nov 28, 2004 10:21 pm
gladius wrote: |
I've made some new dumps of pictochat sending messages. Gotta run, or I'd post some more, but two are multi-line dumps and one is a completely full one line dump. We are close on the 2 line image using the current format, however the 5 line image is quite a bit off, something funky going on there. http://members.fortunecity.com/infinityhq/dsdev/dsdev.html for pics and source. |
kew kew. i just looked at your pics. nice work. ive also linked to your page from my ds wifi page.
i might look into multi-lined dumps a bit later, but right now, im playing around w/ some multi-boot dumps. i wanna be able to transmit code to the DS ASAP, this way we can start the home-brew dev scene. now, i dont want anyone to get their hopes up yet about this idea, im just mentioning to say that this is what i'm currently looking into, so i may not have any dumps again for a bit (unless someone specifically requests something they want)
_________________
-=- Darkain Dragoon -=-
http://www.darkain.com
DarkStar for Nintendo DS
#30148 - Darkain - Sun Nov 28, 2004 10:24 pm
gladius wrote: |
I've made some new dumps of pictochat sending messages. Gotta run, or I'd post some more, but two are multi-line dumps and one is a completely full one line dump. We are close on the 2 line image using the current format, however the 5 line image is quite a bit off, something funky going on there. http://members.fortunecity.com/infinityhq/dsdev/dsdev.html for pics and source. |
hey, wait a minutes... i was just looking at your images... remember, the first line of text (first 2 rows of tiles) are pushed over to the right to make room for the name... so just move the bitmap bits over to the right by 48 pixels for all tile rows, and add in blank space as a filler on the first line where the name would appear. this should fix up your alighment issue.
_________________
-=- Darkain Dragoon -=-
http://www.darkain.com
DarkStar for Nintendo DS
#30150 - chizu - Sun Nov 28, 2004 10:30 pm
Here's my breakdown of Mario 64 probing with more dumps of the multiboot probes to play with.
1 packet is sent out when you start the probing. This contains a normal 80 byte long 802.11 management frame. The management frame tags each contain normal 802.11 data, except tag 221 which contains the information the DS is sending out. This first frame tag 221 consists of
Code: |
00 09 bf 00 0a 00 00 00 01 00 00 00 11 00 40 00 28 f4 00 09 fe 01 08 00
|
and it's 802.11 sequence number is 0. I seem to be missing a lot of packets though, as I get sequence number 7 next, then 8, then 10, and it jumps around by 6 or so for most of the log. I'm in a really bad spot for low level wireless hacking, there's sometimes 6 or 7 wifi networks active here. My pcap files confirm what Darkain said about there being 10 192 byte packets.
I've put together a file containing the 221 tags from what I believe is one of each of the 10 packets.
http://projects.spicious.com/ds/downloads/10packets.txt
Here's the first pcap file that's from.
http://projects.spicious.com/ds/downloads/mario64probes.pcap
Here's the second pcap file, the 4th packet is the only one from this one.
http://projects.spicious.com/ds/downloads/mario64probes-4.pcap
Here's those 10 packets as a binary instead of the hex codes with 24 bytes of EFEFEF seperating them.
http://projects.spicious.com/ds/downloads/10packets.bin
My name is a little more difficult than Darkain's to find in the packets, as it's written in hiragana. ちず is 0x3061 0x305A.
I'm working on making AirJack work with a 2.6 linux kernel to rebroadcast these packets to see if the DS finds them. I still think it's possible to do without AirJack though, by finding a way to load up the 221 tag in the hostap drivers management frames.
#30151 - ravuya - Sun Nov 28, 2004 10:42 pm
Abscissa wrote: |
ravuya wrote: | tepples wrote: | [pessimist]
But watch the packet checksums be RSA encrypted, essentially putting digital signature on everything sent over the air.
[/pessimist] |
Sounds pretty expensive computationally... but not outside the realm of possibility. |
The checksums are only 32-bit though, aren't they? So wouldn't they be limited to 32-bit encryption max? And hence not all that difficult to crack? |
I was thinking about this in the shower today, actually (where everyone does their best thinking, duh). Because of the US export laws they can't possibly make a DS with any kind of crypto solution with > 64-bit keys, unless they were to ensure that the DS is never exported outside of the US; but this can't really be ensured thanks to sites like lik-sang and playasia.
_________________
Rav (Win/Mac/Linux games for free)
#30152 - Darkain - Sun Nov 28, 2004 10:45 pm
ravuya wrote: |
I was thinking about this in the shower today, actually (where everyone does their best thinking, duh). Because of the US export laws they can't possibly make a DS with any kind of crypto solution with > 64-bit keys, unless they were to ensure that the DS is never exported outside of the US; but this can't really be ensured thanks to sites like lik-sang and playasia. |
i've been thinking about the while "RSA Secured" thing too... my theory is that this is going to be an optional feature to developers to use in multi-player games, and the current launch titles mearly dont use it (thankfully).
_________________
-=- Darkain Dragoon -=-
http://www.darkain.com
DarkStar for Nintendo DS
#30153 - ravuya - Sun Nov 28, 2004 10:59 pm
I really have no idea why it's there. It could potentially be there for later use in case the whole internet access thing goes through and credit card payments or other secure data transfer is required.
_________________
Rav (Win/Mac/Linux games for free)
#30157 - localhost - Mon Nov 29, 2004 12:06 am
#30159 - allenu - Mon Nov 29, 2004 12:20 am
Haha, awesome. I was wondering when this great work was gonna show up on slashdot.
#30161 - Darkain - Mon Nov 29, 2004 12:59 am
yus, i'm well aware of this... everyone has come to me all at the same time saying "SLASHDOTTED!!" and i just laugh! my page has been quite sluggish, but still loads, and all of the torrents on the site are killing my local bandwidth here at home.
i'm hoping this will interest more tallented developers that have access to the right hardware, so that they could help us out on decoding packets, and eventually writing software for the DS.
_________________
-=- Darkain Dragoon -=-
http://www.darkain.com
DarkStar for Nintendo DS
#30164 - siul1979 - Mon Nov 29, 2004 2:24 am
Darkain wrote: |
i'm hoping this will interest more tallented developers that have access to the right hardware, so that they could help us out on decoding packets, and eventually writing software for the DS. |
One can only hope, hehe.
#30169 - Jsm - Mon Nov 29, 2004 3:27 am
Hey guys, I was doing some experiment on m64 too and I got the packets when m64 is searching for other dses and I was wondering what would happen if I would broadcast the same packets from my pc, (you know trying to make the ds think my pc is a ds) but I can't find any program to do this, I get some error on AiroPeek about it not being able to send the packets. Maybe someone can help?
At worse I could try to write a program to send the packets, I know some winsock stuff but i was wondering when creating the socket object should I create it with an ip of 255.255.255.255 for broadcast and it would work?
#30170 - gladius - Mon Nov 29, 2004 3:44 am
This is the problem I posted about before. The DS doesn't run an IP stack, so we have to send it raw 802.11b packets. Unfortunately nearly all drivers for Windows do not expose that kind of functionality. The ones that do are custom (see AiroPeek), but even they don't support sending control messages. This is the major stumbling block right now. Hence my foray into Linux which is slowly moving along :).
#30177 - Darkain - Mon Nov 29, 2004 4:34 am
gladius wrote: |
This is the problem I posted about before. The DS doesn't run an IP stack, so we have to send it raw 802.11b packets. Unfortunately nearly all drivers for Windows do not expose that kind of functionality. The ones that do are custom (see AiroPeek), but even they don't support sending control messages. This is the major stumbling block right now. Hence my foray into Linux which is slowly moving along :). |
a friend of mine came up w/ the idea of possibly using the linksys router that has the open-source firmware, and thus had linux ported to it.
reasons?
1) it already runs linux
2) it is already designed to broadcast control messages
thing is, i dunno how hard it would be to code for the router, and constantly reflashing it would become tedious and annoying... so this may be a project saved for later after packet sending is perfected, and we want to setup a dedicated ds server... i dunno, i'm just rambling at this point. *goes back to decoding packets*
_________________
-=- Darkain Dragoon -=-
http://www.darkain.com
DarkStar for Nintendo DS
#30180 - MumblyJoe - Mon Nov 29, 2004 4:56 am
Besides the slashdotting, this thread and Darkains work have been getting ALOT of attention everywhere I look, even in the piracy channels on efnet :P
_________________
www.hungrydeveloper.com
Version 2.0 now up - guaranteed at least 100% more pleasing!
#30184 - rasz - Mon Nov 29, 2004 6:00 am
first of all - HELLO :)
I'm from /.
Darkain wrote: |
a friend of mine came up w/ the idea of possibly using the linksys router that has the open-source firmware, and thus had linux ported to it. |
Nope, Linksys WRT54G and the like use EVIL Broadcom chipsets - no source code, no real SDK, Not GPL compiliant. Those evil scumbags violate GPL and should be sued to death .. but there are no real GPL activists so its not gonna happen (Stallman is an Idiot btw).
BUT :) there is one other interesting hardware :
http://rtl8181.sourceforge.net/
We have a working OPEN SOURCED wifi driver that allows one to send and receive raw data. The boxes with realtek 8181 are sold for like 30$.
Other option would be APs based on Prism cards (2 2.5 3 GT and others) or Cisco (basically tuned up prism).
This non encrypted bootcode really excites me. Picochat looks cool too, but being able to boot your own code with say PIM capabilities would be great + there is a money contest for the first person booting Linux on DS :)
#30185 - Darkain - Mon Nov 29, 2004 6:04 am
rasz wrote: |
+ there is a money contest for the first person booting Linux on DS :) |
$1,000 is what i've heard.. yes, i know. :)
_________________
-=- Darkain Dragoon -=-
http://www.darkain.com
DarkStar for Nintendo DS
#30190 - Krakken - Mon Nov 29, 2004 9:01 am
MumblyJoe wrote: |
Besides the slashdotting, this thread and Darkains work have been getting ALOT of attention everywhere I look, even in the piracy channels on efnet :P |
That is starting to annoy me a little bit. Darkain is doing a lot here but there are also a few others who are working on this project to decode the protocol yet they recieve no credit.
#30191 - Darkain - Mon Nov 29, 2004 9:17 am
Krakken wrote: |
MumblyJoe wrote: | Besides the slashdotting, this thread and Darkains work have been getting ALOT of attention everywhere I look, even in the piracy channels on efnet :P |
That is starting to annoy me a little bit. Darkain is doing a lot here but there are also a few others who are working on this project to decode the protocol yet they recieve no credit. |
right. i think gladius has helped out greatly in decoding packets. and there are many others i am working with as well. who evers name appears isnt the important thing here tho, its the fact that we *NEED* to keep pushing forward.
because of the slashdotting, many developers have come forward to me with similar projects and vasts amounts of ideas. we have the pictochat image decoding going on here, we also have members here trying to decode the ARM9 binary code from the mario dump. outside of these forums, i know of at least 3 teams working on trying to tunnel the wireless multiplayer gameplay. and at this point, i'm focusing completely on wireless multi-boot download from a pc. there are countless amounts of other projects going on right now as well.
things are coming along smoothly at this point, much faster then anyone could even have imagined. we all have our own agenda, but we also have to try to keep this a team effort as much as possible. i, personally, have been trying my best to not hold anything back. the second i make a discovery, i post. yes, i have been wrong a few times because i have rushed information, but later corrected it.
i've been hearing a some teams talking about keeping information on the DS secret for the time being, and some have even requested that i do the same. i simply wont. i want information available to as many people as possible, this way, someone that has an idea or the knowledge for the task at hand can help out.
_________________
-=- Darkain Dragoon -=-
http://www.darkain.com
DarkStar for Nintendo DS
#30192 - mymateo - Mon Nov 29, 2004 10:22 am
Darkain, if you died whilest working on this project, you would truly be a martyr. In other words, "Well put!"
#30204 - benjamin - Mon Nov 29, 2004 1:40 pm
Quote: |
've been hearing a some teams talking about keeping information on the DS secret for the time being, and some have even requested that i do the same. i simply wont. i want information available to as many people as possible, this way, someone that has an idea or the knowledge for the task at hand can help out. |
I think its great you've taken this attitude. This was discussed briefly on #dsdev on efnet last night. Unfortunately the one area I would like to have a hand in is pouring over the mariods mb rom, but to do that requires access to an arm9 emu, which apparently someone has written (anon) and has decided to keep private. Going through the mario mb rom will help to shed light on the issues being discussed in phantom-inker's thread on VIDEO and CPU/MEM masking.
its becoming apparent that while the homebrew hacking efforts are moving speedily, they are probably not moving as fast as they could and that is in large part due to the secrecy by those with the tools and hardware (and info).
So props for being so open about it. I am not sure what the motivation is behind keeping things secret, perhaps certain groups want to spring a significant ammount of progress on the scene and reap the credit and legacy. I have no time for that kind of stuff, I am purely interested in getting my code up and running on the DS.
Props to everyone here and elsewhere who have been working on seeing that through.
#30208 - Tim Schuerewegen - Mon Nov 29, 2004 3:28 pm
benjamin wrote: |
I am not sure what the motivation is behind keeping things secret, perhaps certain groups want to spring a significant ammount of progress on the scene and reap the credit and legacy. |
Maybe because all of this is not-so-legal and certain (wise) people don't want to get their hands burnt and/or go to jail?
#30210 - benjamin - Mon Nov 29, 2004 3:43 pm
The things I am referring to are not illegal to my knowledge, for instance writing and distributing an ARM9 emulator. Correct me if I'm wrong but the last time I checked emulators were not illegal.
#30211 - ravuya - Mon Nov 29, 2004 3:50 pm
Tim Schuerewegen wrote: |
benjamin wrote: | I am not sure what the motivation is behind keeping things secret, perhaps certain groups want to spring a significant ammount of progress on the scene and reap the credit and legacy. |
Maybe because all of this is not-so-legal and certain (wise) people don't want to get their hands burnt and/or go to jail? |
I think the silence is mostly because the idiots who want a DS emulator the most are also the most incapable of delivering it; i.e. pirates.
_________________
Rav (Win/Mac/Linux games for free)
#30213 - MumblyJoe - Mon Nov 29, 2004 4:03 pm
Good call. The reason people want it to be kept secret is like when release groups release roms, they like to pretend they have done something that anyone with just about any flash card hardware couldn't have done.
Having said that, the work you guys are doing (and sorry if I sounded like I was giving Darkain all the credit) is fantastic, and I am following your efforts very closely. Unfortunately while I understand the process (I have some CCNa etc training) I have nothing to offer except for support.
_________________
www.hungrydeveloper.com
Version 2.0 now up - guaranteed at least 100% more pleasing!
#30248 - mclysenk - Mon Nov 29, 2004 8:52 pm
As it stands now, it seems like the next major obstacle is getting stuff sent to the DS. The popular WEP cracking programs AirSnort and AirCrack both use AiroPeek in their windows ports to do low level packet manipulation.
While investigating this, I noticed AiroPeek's API (Peek.dll) has the PeekPacketSend function exposed, which might do the trick. Has anyone tried using this to send data to the DS? I'd try this out myself, but for some odd reason AiroPeek won't work with my wireless card. I'd go out and buy a new one if I knew of a cheap brand that worked.
#30251 - bveina - Mon Nov 29, 2004 9:25 pm
actually that would be some really useful information. i desperately want to get a look at the stuff the goes out of my DS but my card uses broadcom hence im skrewed. what is a cheap pci card i could go out and get.
#30253 - Darkain - Mon Nov 29, 2004 9:39 pm
mclysenk wrote: |
While investigating this, I noticed AiroPeek's API (Peek.dll) has the PeekPacketSend function exposed, which might do the trick. Has anyone tried using this to send data to the DS? I'd try this out myself, but for some odd reason AiroPeek won't work with my wireless card. I'd go out and buy a new one if I knew of a cheap brand that worked. |
wont work. it cannot send control signals, only data packets. from the looks of it right now, we are gonna need a linux box with the right wireless card to be able to transmit the needed packets to the DS. i've been in contact w/ some developers that are more familiar with linux than i, and we will probably be trying out some test enviornments in the next week or two.
my laptop lcd screen is dieing out on me (again), so i'm considering instead of taking it around with me everywhere i go, to hook up a monitor and turn it into a linux workstation specifically geared towards this project.
_________________
-=- Darkain Dragoon -=-
http://www.darkain.com
DarkStar for Nintendo DS
#30265 - Suddenly_Dead - Mon Nov 29, 2004 11:10 pm
rasz wrote: |
first of all - HELLO :)
I'm from /.
Darkain wrote: | a friend of mine came up w/ the idea of possibly using the linksys router that has the open-source firmware, and thus had linux ported to it. |
Nope, Linksys WRT54G and the like use EVIL Broadcom chipsets - no source code, no real SDK, Not GPL compiliant. Those evil scumbags violate GPL and should be sued to death .. but there are no real GPL activists so its not gonna happen (Stallman is an Idiot btw). |
Linksys' website has the firmware source code to all their linux-based products, and their firmware revisions. I'm not particularily sure what you're talking about there, other than plugging your project. Unless of course it isn't the real source, I've not really checked out the code yet, however I doubt that is true.
http://www.linksys.com/support/gpl.asp
Linux does sound like it may be the way to go on this for now, yay to open source software. And of course, yay to all of you working on this and keeping that work in the open.
#30269 - Rolman - Tue Nov 30, 2004 12:18 am
Well, yes and no.
Linksys has been compliant to the GPL for some time now, releasing the source code of their Linux embedded products, nice and all. This, of course, has spurred development of interesting projects like OpenWRT.
However, the GPL'd parts of the source code currently don't include the binary-only drivers for the Broadcom chipsets. That means that, while the operating system can be tailored to do almost anything, the current wireless drivers impose a limit on how to use the hardware and this could severely affect the development of such a custom DS-compatible hotspot/router.
I'm not sure since I haven't read much on how exactly and to what extent is the hardware exposed by those drivers, but I've seen them causing bugs that were very hard to tackle because of their closed state.
_________________
Otaku no naka no otaku, Otaking da!!!
#30272 - mclysenk - Tue Nov 30, 2004 12:41 am
Darkain wrote: |
wont work. it cannot send control signals, only data packets. from the looks of it right now, we are gonna need a linux box with the right wireless card to be able to transmit the needed packets to the DS.
|
Forgive my ignorance, but I'm still learning stuff about networking. What is the difference between a control signal and a data packet? I can't seem to find any good references.
#30273 - Darkain - Tue Nov 30, 2004 12:46 am
mclysenk wrote: |
Darkain wrote: |
wont work. it cannot send control signals, only data packets. from the looks of it right now, we are gonna need a linux box with the right wireless card to be able to transmit the needed packets to the DS.
|
Forgive my ignorance, but I'm still learning stuff about networking. What is the difference between a control signal and a data packet? I can't seem to find any good references. |
control packets, such as beacons, auth, deauth, ack... things like those. data packets would be like the ones that contain the pictochat images. the drivers and api for airopeek does *not* allow for sending of control packets. i think the api also prevents you from sending data packets w/ 0 bytes of data (in other words, just the MAC header). this too, is a problem, as the DS sends out a decent amount of emtpy data packets, i'm asuming so it can monitor signal strengths on those packets.
until we can get the auth handshaking working (which there isnt a sollution to in windows right now as far as i know), we cant do any other forms of communications.
_________________
-=- Darkain Dragoon -=-
http://www.darkain.com
DarkStar for Nintendo DS
#30281 - mclysenk - Tue Nov 30, 2004 1:15 am
Are control signals part of the 802.11b specification or the IP layer? Unless I'm way off the mark, the NDIS drivers used by AiroPeek bypass the IP layer, so you could send a fake auth/ack/whatever.
As for 0 length packets, it seems Peek.dll requires packets to be terminated with 4 zeroed bytes, so maybe you were having problems with that? I haven't quite finished reversing the api calls so I could be wrong.
#30282 - Darkain - Tue Nov 30, 2004 1:31 am
mclysenk wrote: |
Are control signals part of the 802.11b specification or the IP layer? Unless I'm way off the mark, the NDIS drivers used by AiroPeek bypass the IP layer, so you could send a fake auth/ack/whatever.
As for 0 length packets, it seems Peek.dll requires packets to be terminated with 4 zeroed bytes, so maybe you were having problems with that? I haven't quite finished reversing the api calls so I could be wrong. |
everything is raw MAC packets. nothing on the DS uses an IP layer yet. if you could send me some API docs, i would be greatful. but like i said, everything i'm reading seems to point to a "no" on support for sending them using airopeek.
_________________
-=- Darkain Dragoon -=-
http://www.darkain.com
DarkStar for Nintendo DS
#30283 - mclysenk - Tue Nov 30, 2004 1:35 am
Darkain wrote: |
everything is raw MAC packets. nothing on the DS uses an IP layer yet. if you could send me some API docs, i would be greatful. but like i said, everything i'm reading seems to point to a "no" on support for sending them using airopeek. |
Thank you for the quick response. I don't have anything working yet since I can't test anything, but once I get a new network card I'll post some code, or at least be able to definitively say AiroPeek (and Windows) is a no-go.
#30286 - Zhila - Tue Nov 30, 2004 1:58 am
I thought I would mention this first, but wouldn't the NIC have to have a Nintendo registered MAC address for the DS to even listen to it, or would a MAC cloning process be trivial, or is it dependant on the capability of the cards? Once things get rolling, I'd love to be able to test this stuff, but I'm not really in the position to get any new NICs. (I have a Linksys WC11 ver.3 (Prism2/NDIS) and a Belkin USB F5D6050 WLAN Adaptor (Atmel 76c503 RFMD))
_________________
Current high scores on Super Mario 64 DS:
Shell Smash - 50230
Wanted - 140
#30287 - ravuya - Tue Nov 30, 2004 1:59 am
Zhila wrote: |
I thought I would mention this first, but wouldn't the NIC have to have a Nintendo registered MAC address for the DS to even listen to it, or would a MAC cloning process be trivial, or is it dependant on the capability of the cards? Once things get rolling, I'd love to be able to test this stuff, but I'm not really in the position to get any new NICs. (I have a Linksys WC11 ver.3 (Prism2/NDIS) and a Belkin USB F5D6050 WLAN Adaptor (Atmel 76c503 RFMD)) |
MAC cloning is usually quite trivial. XP has an option to edit it built right in the OS, and most routers have the same capability. I'm pretty sure Linux and OS X do too, but I've never had a reason to try it out there.
(Nice Prism2, though. Should go great with Linux)
_________________
Rav (Win/Mac/Linux games for free)
#30288 - Darkain - Tue Nov 30, 2004 2:00 am
Zhila wrote: |
I thought I would mention this first, but wouldn't the NIC have to have a Nintendo registered MAC address for the DS to even listen to it, or would a MAC cloning process be trivial, or is it dependant on the capability of the cards? Once things get rolling, I'd love to be able to test this stuff, but I'm not really in the position to get any new NICs. (I have a Linksys WC11 ver.3 (Prism2/NDIS) and a Belkin USB F5D6050 WLAN Adaptor (Atmel 76c503 RFMD)) |
it is pretty common for devices today to have MAC address cloing, so this really isnt a problem.
_________________
-=- Darkain Dragoon -=-
http://www.darkain.com
DarkStar for Nintendo DS
#30290 - mikeandbandit - Tue Nov 30, 2004 3:13 am
just thought of this, how do we know when the DS is actaully listening, as it could be searching for a specific signal which only nintendo would know at this point in order for it to begin transmitting in a manner that can be easily used to connect online or just to a PC. Basically, im saying the DS amy not be listening to the PC because its waiting to recieve the Specific command to do so. Isn there a way to capture and emulate the signal a DS sends when its searching for clients in multiplayer?
#30293 - Darkain - Tue Nov 30, 2004 3:39 am
mikeandbandit wrote: |
just thought of this, how do we know when the DS is actaully listening, as it could be searching for a specific signal which only nintendo would know at this point in order for it to begin transmitting in a manner that can be easily used to connect online or just to a PC. Basically, im saying the DS amy not be listening to the PC because its waiting to recieve the Specific command to do so. Isn there a way to capture and emulate the signal a DS sends when its searching for clients in multiplayer? |
my theory is this right now....
the DS is fully IEEE 802.11b compliant, running at 0.5, 1, 2mbps speeds. for things like wireless multiplayer download or pictochat, one unit acts as an access point, and sends out beacons, just like a PC AP would. the difference between WiFi and NiFi? none! WiFi (IEEE 802.11) uses radio waves to send binary data back and forth at a specific set of frequencies (identified by channels), and in this binary data, we have MAC (Media Access Control) packets.
http://www.uwsg.indiana.edu/usail/network/nfs/network_layers.html
the IEEE 802.11b standard does not require an IP layer to be present to be compliant. everyone asumes that because current DS software does not have an IP stack, and pull an IP addy from their router, that it therefor isnt IEEE 802.11b. this is un-true. it mearly means that it is exposing layers 3 thru 7 with a different protocol..... think of it this way: remember back in the days of NetBEUI, IPX/SPX, and AppleTalk networks? TCP/IP (IPv4 and IPv6) are the two most commonly used data communication protocols out there nowdays.
i believe that "NiFi" is mearly an alternative to TCP/IP for the DS. see, the TCP/IP protocol is actually a bit complex in terms of what all it can support, hence why it is used for general internet communcations. to create a more basic sollution, it appears as tho nintendo came up with their own alternative to TCP/IP. now, this doesnt mean that they wont use TCP/IP in future games (they already said there will eventually be internet based games, wich TCP/IP is a requirement for), but this is on a per-game basis, and nothing out there right now uses such a protocol yet.
the reason why we are able to capture packets from the DS right now is because we are doing this at Layer 2 (like a MAC dump), not Layer 3 (like a TCP dump). this bypasses any sort of protocol translations, and gives us raw binary data to work with.
-------------------------------------
so, in short, "NiFi" is an alternative to TCP (Layer 3), not an alternative to WiFi (802.11, Layer 2)
_________________
-=- Darkain Dragoon -=-
http://www.darkain.com
DarkStar for Nintendo DS
#30295 - localhost - Tue Nov 30, 2004 4:19 am
OK, I only have one DS but I setup madden 2005 to host a game and captured the packets using ethereal on linux. It sends out 2 alternating packet to the following MACs 03:09:bf:00:00:00 and 03:09:bf:00:00:00. I can't find any significant use for the destination macs. I don't know if maybe this is a multicast address or what. Will keep searching and give more info on what else I can find.
Also the packets to 00 are CLNP packets 30B in size
03 are LLC at 28B in size.
#30300 - mikeandbandit - Tue Nov 30, 2004 5:08 am
do we have any know executibles for the DS that will work in boot mode, (of course assuming will actually get to that point where the we can send data to the DS) i ask because it may be easier for the DS to put up signals in the download mode rather than pictochat as it may not be looking for any specific type of data, but rather an executable it is compatible with. Nintendo has said that it is possible for the kiosks to be built to allow DS demos when in range, so it may not be verifying the presence of a DS per se. if we could circumvent the entire handshake process that would be great. also could the two alternating signals be 1) a main madden server, and 2) a general mac address for all DSs?
#30301 - chizu - Tue Nov 30, 2004 5:10 am
Darkain, I'm really inclined to think that as well.
localhost wrote: |
OK, I only have one DS but I setup madden 2005 to host a game and captured the packets using ethereal on linux. It sends out 2 alternating packet to the following MACs 03:09:bf:00:00:00 and 03:09:bf:00:00:00. I can't find any significant use for the destination macs. I don't know if maybe this is a multicast address or what. Will keep searching and give more info on what else I can find.
Also the packets to 00 are CLNP packets 30B in size
03 are LLC at 28B in size. |
This is very, very similar to what Metroid does. I think those are a type of broadcast address, perhaps some sort of MAC subnetting? Anyone with more knowledge MAC address assignment than "first 6 bytes are the manufacturer, last 6 bytes are the individual device" know what that address is? Googleing has turned up very little.
Last edited by chizu on Tue Nov 30, 2004 5:41 am; edited 1 time in total
#30304 - mikeandbandit - Tue Nov 30, 2004 5:33 am
i couldnt trace the mac, but is it only for madden or do ther games use the same/similar mac address
#30306 - chizu - Tue Nov 30, 2004 5:45 am
mikeandbandit wrote: |
i couldnt trace the mac, but is it only for madden or do ther games use the same/similar mac address |
Metroid uses the same MAC address for the same types of packets as Madden. It's the Nintendo MAC address with a 03 instead of 00 prefixing it.
#30309 - localhost - Tue Nov 30, 2004 6:06 am
I'm not a good C programmer but I think that on the linux side that libnet http://www.packetfactory.net/projects/libnet/ would be the library needed to send raw data to the DS. We could forge MAC to be a DS style MAC. I'm gonna research this more tomorrow. I don't develop GBA code but if I can get some type of Pictochat thing going, I know I'll be on the right path and somebody more knowlegable can expand the code to download code to the ds.
#30312 - rasz - Tue Nov 30, 2004 6:31 am
Suddenly_Dead wrote: |
Linksys' website has the firmware source code to all their linux-based products, and their firmware revisions. I'm not particularily sure what you're talking about there, other than plugging your project. Unless of course it isn't the real source, I've not really checked out the code yet, however I doubt that is true. |
this is NOT a real source code, they provided compiled .o files dynamically linked with GPLed kernel files and libraries. They SCREWED whole Linux community by not providing ANY source code to the wireless chipsets they make. They are crooks. I say FUCK YOU Broadcom. This company is EVIL. They exploit the community. All they do is take (GPL stuff for their products) and dont give back.
Please DO NOT buy Broadcom shit.
#30314 - Darkain - Tue Nov 30, 2004 6:40 am
first off, i'm not too happy with the tone of the previous post. if you have a problem with a company, this isnt the place to take up that sort of an arguement. and useless name-calling isnt going to get anything accomplished around here.
and as a matter of fact, i'm not getting too much done around here either at the moment. sadly, my laptop screen is now completely dead. ya see, before, the backlighiting on it would flicker on and off at times. now it wont turn on at all. for those of you not too familiar w/ laptop LCDs.. well, lets just put it this way, they are a bit darker than a normal GBA when there isnt any backlighting. ;)
this isnt the first time this has happened to this laptop. the backlighting went out once before, and was fixed. sadly tho, i was unable to fix it this time around. so, for now, my current project is simply to figure out how to get back into the swing of things around here.
_________________
-=- Darkain Dragoon -=-
http://www.darkain.com
DarkStar for Nintendo DS
#30316 - outRider - Tue Nov 30, 2004 7:18 am
If anyone has a Pocket PC running WM2003 can you not use the NDIS/NDISUIO implementations on those devices to read and write raw data to a built-in wifi radio or PCMCIA card?
Here's the relevent section on MSDN:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wceddk5/html/wce50conNetworkDrivers.asp
_________________
outRider
#30317 - ecurtz - Tue Nov 30, 2004 7:23 am
Does anybody have the setup/handshake packets from pictochat snooped? (Waiting for a compatible wifi unit to arrive.)
I'm 90% sure the last tiny bug Gary Linscott is having with his display code is simply that it's sending the blank area behind the name and he wasn't accounting for that (I emailed him.) Anyway, assuming the chat format is solved, I'd be willing to look at the handshake stuff.
- eli
#30318 - TauZero - Tue Nov 30, 2004 7:46 am
benjamin wrote: |
I think its great you've taken this attitude. This was discussed briefly on #dsdev on efnet last night. Unfortunately the one area I would like to have a hand in is pouring over the mariods mb rom, but to do that requires access to an arm9 emu, which apparently someone has written (anon) and has decided to keep private. Going through the mario mb rom will help to shed light on the issues being discussed in phantom-inker's thread on VIDEO and CPU/MEM masking.
|
What about the ARMulator and GDB? Or hell maybe even an ARM9 aware version of objdump could be used to do the dissassembly.
#30319 - chizu - Tue Nov 30, 2004 8:00 am
localhost wrote: |
I'm not a good C programmer but I think that on the linux side that libnet http://www.packetfactory.net/projects/libnet/ would be the library needed to send raw data to the DS. We could forge MAC to be a DS style MAC. I'm gonna research this more tomorrow. I don't develop GBA code but if I can get some type of Pictochat thing going, I know I'll be on the right path and somebody more knowlegable can expand the code to download code to the ds. |
libnet does do quite a bit of what we want to do (might over manage some stuff), but the problem with using it is finding drivers able to broadcast the packets it generates. Currently the AirJack drivers look like they're the only drivers able to broadcast raw layer 2 802.11b traffic. I've been trying to port these drivers to 2.6 for the last day or so with little progress as I lack the experience to work quickly with kernel level code (or any advanced C really). I'm basically stuck reading up on linux kernel programming, so I might just break down and compile up a 2.4 kernel to test some of this stuff with AirJack.
And rasz, I share your frustration with broadcom. They have created some of the least useful wireless technology I've had to deal with in the past, but Darkain makes a very good point about this not being the place to flame a company.
#30321 - chizu - Tue Nov 30, 2004 8:13 am
ecurtz wrote: |
Does anybody have the setup/handshake packets from pictochat snooped? (Waiting for a compatible wifi unit to arrive.)
I'm 90% sure the last tiny bug Gary Linscott is having with his display code is simply that it's sending the blank area behind the name and he wasn't accounting for that (I emailed him.) Anyway, assuming the chat format is solved, I'd be willing to look at the handshake stuff.
- eli |
I have a pictochat dump (server starting, one client joining, talking for a while, client leaving, server shutting down) in gzipped pcap format.
http://projects.spicious.com/ds/downloads/pictochat.pcap.gz
Messages are of varying size and this was a few minutes of traffic. 10:10:B8 is the server with the username ちず and 0D:1F:FA is the client (I forget the username).
I'm not sure how complete it is though, my wireless card seems to have problems grabbing that many packets at a time. There may be some missing, I haven't tried messing with this log yet.
#30331 - The One - Tue Nov 30, 2004 12:15 pm
http://www2.cex.co.uk/cex_feature.asp?ct=1&id=7932
More publicity... No names mentioned this time just "geeks" and "amateur coders".
Good luck with the project, good work so far!
One
_________________
oO www.GCDemos.com Oo
#30332 - Zhila - Tue Nov 30, 2004 12:45 pm
Darkain wrote: |
first off, i'm not too happy with the tone of the previous post. if you have a problem with a company, this isnt the place to take up that sort of an arguement. and useless name-calling isnt going to get anything accomplished around here.
and as a matter of fact, i'm not getting too much done around here either at the moment. sadly, my laptop screen is now completely dead. ya see, before, the backlighiting on it would flicker on and off at times. now it wont turn on at all. for those of you not too familiar w/ laptop LCDs.. well, lets just put it this way, they are a bit darker than a normal GBA when there isnt any backlighting. ;)
this isnt the first time this has happened to this laptop. the backlighting went out once before, and was fixed. sadly tho, i was unable to fix it this time around. so, for now, my current project is simply to figure out how to get back into the swing of things around here. |
I know exactly what you are talking about. The backlight of my LCD screen went out once, so I sent it in under warrenty and they fixed it. Then, it started to flicker out again, but it seemed that if you pressed that little peg down that is normally pressed by the screen itself when you close the laptop, the screen would come back on. Now, the backlight is gone completely again, so I have it hooked to a monitor (although a rather cheep monitor).
_________________
Current high scores on Super Mario 64 DS:
Shell Smash - 50230
Wanted - 140
#30418 - mikeandbandit - Wed Dec 01, 2004 1:51 am
#30423 - Darkain - Wed Dec 01, 2004 2:30 am
remember reading about FCC class IDs on the back of every electronic device ever made basically? i believe it was class 15 of the FCC. the device must accept any interfearance that it receives. the DS's LCD unit apparently is on aprox the same freq as that of a TV tuner. things like this happen all the time, actually... such as the TV that produced the signal for the emergancy distress system not too long ago.
_________________
-=- Darkain Dragoon -=-
http://www.darkain.com
DarkStar for Nintendo DS
#30425 - mikeandbandit - Wed Dec 01, 2004 2:38 am
ok thanx anyway i think i finally have some helpful info
notice the replies at the bottom, it appears the inserting a flash cart gives you an optional pak sometimes at boot, can we fool the DS into using all the hardware? wireless link, dual processors, 4mb ram, etc but running the majority of its data off the GBA port? also it looks like it may open the doors for custom user created mods for a handheld, let alone a internet capable console.
http://www.dual-scene.com/modules.php?op=modload&name=News&file=article&sid=16&mode=thread&order=0&thold=0
#30428 - Darkain - Wed Dec 01, 2004 2:57 am
mikeandbandit wrote: |
ok thanx anyway i think i finally have some helpful info
notice the replies at the bottom, it appears the inserting a flash cart gives you an optional pak sometimes at boot, can we fool the DS into using all the hardware? wireless link, dual processors, 4mb ram, etc but running the majority of its data off the GBA port? also it looks like it may open the doors for custom user created mods for a handheld, let alone a internet capable console.
http://www.dual-scene.com/modules.php?op=modload&name=News&file=article&sid=16&mode=thread&order=0&thold=0 |
if you insert a gameshark, it does the same thing. prob w/ an "option pak" is that it isnt a selectable option from the menu. it just displays it, and wont let you do anything with it.
_________________
-=- Darkain Dragoon -=-
http://www.darkain.com
DarkStar for Nintendo DS
#30435 - dagamer34 - Wed Dec 01, 2004 4:24 am
Anybody know what flash carts cause the rumble option to appear on the DS?
_________________
Little kids and Playstation 2's don't mix. :(
#30436 - Darkain - Wed Dec 01, 2004 4:27 am
dagamer34 wrote: |
Anybody know what flash carts cause the rumble option to appear on the DS? |
you mean the "ds option pak" message? ;)
i think this is caused from bad dumps to the cart. i have a theory it has something to do with not being able to read the header correctly on the ROM. ive had my cart show up a couple of times as having nothing on it, and then i take it out and put it back in and it works. havnt seen the option pak message on my cart specifically, but i have w/ my gameshark.
_________________
-=- Darkain Dragoon -=-
http://www.darkain.com
DarkStar for Nintendo DS
#30437 - dagamer34 - Wed Dec 01, 2004 4:29 am
Darkain wrote: |
dagamer34 wrote: | Anybody know what flash carts cause the rumble option to appear on the DS? |
you mean the "ds option pak" message? ;)
i think this is caused from bad dumps to the cart. i have a theory it has something to do with not being able to read the header correctly on the ROM. ive had my cart show up a couple of times as having nothing on it, and then i take it out and put it back in and it works. havnt seen the option pak message on my cart specifically, but i have w/ my gameshark. |
Option pak, yeah...
_________________
Little kids and Playstation 2's don't mix. :(
#30450 - Darkain - Wed Dec 01, 2004 9:16 am
http://hello.typepad.com/hello_nintendo/2004/06/gameboy_ds_wish.html#c1465951
Quote: |
Clearly, someone is going to hack their way into the DS's internals via the wifi connection within a week of the DS release. So I think there's a chance Nintendo will open up some kind of easily accessible dev kit. But, who knows. |
i just thought that this was amusing, considering the date it was posted. just something i randomly found while searching for other ds wifi hacking projects on the net.
_________________
-=- Darkain Dragoon -=-
http://www.darkain.com
DarkStar for Nintendo DS
#30454 - Darkain - Wed Dec 01, 2004 10:38 am
http://www.darkain.com/portability.php?portid=1&page=8
i just updated the page. i posted the Ni-Fi theory, much like i did here. i also added in another FAQ question, because i'm tired of people saying "The DS is masking its SSID!!11!"
Q: Why can't I see the SSID for my DS? Is is masked?
A: NO! the DS appears to be using a BSSID instead of a SSID. SSID at Wikipedia.org - "Ad-hoc wireless networks that consist of client machines without an access point use the BSSID (Basic Service Set Identifier)." Some people have reported strange "MAC Addresses" in the headers of the binary files posted above. The BSSID addresses that the DS appears to use is either the MAC address of the unit, or a slightly modified version of the MAC address for the unit, such as the first of the 6 octets being different.
i've also added the note that you may be able to use Kismet and the Linksys WRT54G router to sniff packets. I will be personally trying this out here in the next couple of days to see how well it works for me.
if there is anything else you think i should throw into the FAQ? i'm all ears right now. until i get a laptop replacement, im sorta stuck twiddling my thumbs on this project... heh...
_________________
-=- Darkain Dragoon -=-
http://www.darkain.com
DarkStar for Nintendo DS
#30463 - rasz - Wed Dec 01, 2004 2:02 pm
I can, ppl are morons and will believe in anything
Just like "hanging CDs on your cars mirror will let you pass radars unseen".
DS can produce interferences, but it cannot produce recognisable pictore.
#30466 - pipomolo42 - Wed Dec 01, 2004 2:47 pm
Hello all,
So, from what I've read here, the only cards that could be used to simulate a DS under GNU/Linux would be the cards based on prism2/2.5/3, prism54, or atheros chipsets, as they are working great either in client and access point mode, and their driver is (nearly completely) free software.
from what i've read on the madwifi site (driver for atheros), the closed source part of the driver is just a wrapper that prevents the user to input a wrong (according to FCC) frequency or emitting power... so i assume there are 99% chances that we'll be able to forge our own packets, even at MAC level.
now, about the prism based cards : as these use a more complete firmware (whereas the atheros does everything in software) there are chances we won't be able to modify the MAC packets... On the other hand, I guess the prism can be used as an access point only thanks to some logics in the driver, so it sounds also possible that they accept anything at the MAC layer.
But I haven't read any source code yet, so I really don't know what can or can't be done with these...
Does someone has any suggestions or comments?
Personally, I live in France, and I will only get my DS this week end, from a friend that lives in Japan... Told him to get me a second one, but I don't think that there are still some un-preordered units available in this country ;) .
#30509 - XSF04 - Wed Dec 01, 2004 7:20 pm
Darkain,
Even if you don't come at the end with a success story, I just want to say thanks you from everybody who read your post. The world is better going with people like you trying to figure out how things work.
Thanks
_________________
-XSF04-
Excess for the way it meant to be.
#30519 - gladius - Wed Dec 01, 2004 8:13 pm
I have succesfully sent raw 802.11b broadcast and control packets using the Atheros driver and can also recieve raw packets at the same time. The madwifi driver is relatively easy for a kernel driver newbie to work on as well (me :), so when there are problems (i.e. it modifying the packet when I don't want it to), I can zip in and hopefully patch it up relatively quickly.
Haven't managed to get the DS to respond to anything yet, but that will hopefully come in time. Right now I'm just trying to simulate the broadcast that advertises that the multiboot mario is available. However, I've run into the old problem whereby it looks like the broadcasting DS knows about the client DS without an 802.11b signal being sent. I hope there isn't some funny business going on there, and I'm just misunderstanding the protocol/packets.
#30522 - Darkain - Wed Dec 01, 2004 8:20 pm
gladius wrote: |
I have succesfully sent raw 802.11b broadcast and control packets using the Atheros driver and can also recieve raw packets at the same time. The madwifi driver is relatively easy for a kernel driver newbie to work on as well (me :), so when there are problems (i.e. it modifying the packet when I don't want it to), I can zip in and hopefully patch it up relatively quickly. |
ok, i think i know what new wifi card i'm going to purchase for the new laptop now.
i've been specifically attempting to decode these very packets (m64ds beacons), so maybe we should hop on AIM (or equiv) and discuss this further?
_________________
-=- Darkain Dragoon -=-
http://www.darkain.com
DarkStar for Nintendo DS
#30524 - localhost - Wed Dec 01, 2004 8:27 pm
What libraries did you use to send the packets out the adapter? [url=http://groups.google.com/groups?hl=en&lr=&threadm=3913286B.23A800C0%40dit.upm.es&rnum=8&prev=/groups%3Fq%3Dlinux%2520raw%2520packets%2520send%26hl%3Den%26lr%3D%26sa%3DN%26tab%3Dwg]
This google group[/url] thread talks about it. I just haven't tried putting anything together. For simplicity sake, I just wanted to send out the same beacons that the DS sends out in pictochat with of course a slightly different mac source and see if the ds will see this and send anything else. I only have 1 ds so all I see are beacons currently. If that will work, then maybe the rest would be downhill. Also, has somebody with 2 ds's tried seeing what the results were when 2 ds's had the same nick, just curious about the result.
I had thought libnet might help but someone else stated that it wouldn't do right and I haven't even tried to prove them right or wrong yet. I'm guessing the main problem is that most drivers try to prevent you from sending out packets that are malformed with incorrect source MAC, etc.
#30555 - gladius - Thu Dec 02, 2004 4:38 am
libnet didn't work for me. I'm just using packet sockets and some slight driver modifications. Haven't been able to work on it today so far unfortunately. However, I did fix the pictochat decoding bug, and posted some new dumps on my site.
Edit: DS stuff locate here: http://members.fortunecity.com/infinityhq/dsdev/dsdev.html
Last edited by gladius on Thu Dec 02, 2004 9:05 am; edited 1 time in total
#30571 - crazyc - Thu Dec 02, 2004 7:28 am
For those of you with prism2 cards, I've gotten airjack working on linux 2.6 and added the ability to set tx rates since the DS seems to only support the lower ones. I also wrote a quick and dirty tool to replay raw pcap captures over the airjack interface. I tried running some of the captures posted here against my DS, but no dice, it didn't reply. I've uploaded a tarball here. BTW, this was only built against 2.6.3, other kernel versions may vary.
#30574 - Zen Punk - Thu Dec 02, 2004 8:27 am
Hey gladius, I was just looking at the bitmaps of your Pictochat dumps on your website and I noticed something...the dump labeled "all lines full" isn't quite. There's one pixel near the top-left corner that is not filled in. I just wanted to point that out in case it was a bug and not just a spot you missed(doubtful, you probably just weren't quite as thorough with the stylus as you thought.)
Also, I was having trouble finding that page until I dug through my browser history. Did you know that your DS page is not linked anywhere from the rest of your site? If this isn't intentional, maybe you might want to stick a link somewhere, in the "projects" section I would imagine?
Hope I helped a little. Good night (or morning/afternoon, heh, durn internet makes those sayings useless...)
#30577 - gladius - Thu Dec 02, 2004 9:14 am
crazyc, nice work! The reason you probably aren't getting any response from the DS is the authentication going on in the 802.11b protocol that won't allow you to just replay the packets unfortunately. It needs to have some smarts to even set a connection up. Secondly, I'm not sure if the captures online here have the 802.11b control frames neccesary.
Zen Punk, yup I know the all full is missing one pixel, thanks, perhaps I should call it 99.9% full :). Also, yes I've been too lazy to update my main site with a link to the DS portion. That is done now.
Just plugging away on driver mods and 802.11b specs right now. Wireless comms with the DS is looking to be quite non-trivial unfortunately.
#30612 - RiZeUp - Thu Dec 02, 2004 8:28 pm
a moderator on the teamxlink forums is reporting that they have succesfully tunnelled pictochat.
http://www.teamxlink.co.uk/forum/viewtopic.php?t=4485&sid=157d69bc70a359907d5d70a225b9f6f2
_________________
~RiZeUp
#30632 - leonard_ - Thu Dec 02, 2004 11:26 pm
So why they don't give proove or share the protocol ? ( OS used, patched drivers and so on ?)
Till they don't deliver that kind of material, I consider the previous post as a FAKE !
#30640 - dagamer34 - Fri Dec 03, 2004 1:39 am
leonard_ wrote: |
So why they don't give proove or share the protocol ? ( OS used, patched drivers and so on ?)
Till they don't deliver that kind of material, I consider the previous post as a FAKE ! |
Giving an incomplete method to people isn't exactly a good idea as many people will rush out to buy the equipment they used for tunneling. Besides, the app they used is still probably in an early alpha. However, since they are claiming it CAN be done, then that gives new hope to us who are trying to send data to the DS.
Instead of being skeptical, let's try being optomistic...
_________________
Little kids and Playstation 2's don't mix. :(
#30649 - crazyc - Fri Dec 03, 2004 4:51 am
Quote: |
The reason you probably aren't getting any response from the DS is the authentication going on in the 802.11b protocol that won't allow you to just replay the packets unfortunately. |
I didn't think it would work, was just really testing the driver.
Quote: |
It needs to have some smarts to even set a connection up. |
Well sure, but I was hoping to see at least an association request.
Quote: |
Secondly, I'm not sure if the captures online here have the 802.11b control frames neccesary. |
Some of the captures do have beacons.
#30653 - gladius - Fri Dec 03, 2004 6:35 am
I have managed to get the DS to send back an 802.11b authentication succesful message to me :). The modded drivers and source for the program to show proof of concept are on my DS page (usual url). It only works with atheros chipsets. Note to observers, this doesn't mean multiboot will be possible, just research should speed up a bit now.
Crazyc,
Yes, the captures have beacons, but from what I remember they are missing an initial authentication step. Try just putting a DS into pictochat and broadcasting the packet a-auth from the sniffer download on my site to see if you can get a response as well. I'm not sure if your card does CRC automatically, mine does, so I just send the first 30 bytes of the packet. If not, send the full 34, the CRC is correct.
#30682 - ravuya - Fri Dec 03, 2004 4:05 pm
Good work, gladius. I'll yank down the source and see if I can figure out what's going on.
_________________
Rav (Win/Mac/Linux games for free)
#30725 - crazyc - Fri Dec 03, 2004 11:28 pm
I just uploaded a new tarball with a fix for a nasty bug that would cause an oops on card removal.
Quote: |
Try just putting a DS into pictochat and broadcasting the packet a-auth from the sniffer download on my site to see if you can get a response as well. |
I tried to get that file but fortunecity seems to redirect me to strange sites whenever i try to get files with bz2 extentions. The .zip and .c files work fine.
#30740 - gladius - Sat Dec 04, 2004 2:55 am
Yeah, that's because they weren't there for some reason, could've sworn I uploaded them last night. They should be up there now, can somebody check that they are inded there and I'm not just hallucinating? Thanks :).
#30741 - crazyc - Sat Dec 04, 2004 3:26 am
Quote: |
They should be up there now, can somebody check that they are inded there and I'm not just hallucinating? |
Yup, they work now.
#30800 - crazyc - Sat Dec 04, 2004 10:56 pm
Gladius, after some work on my modifications to airjack, I did get my DS to respond to the auth packet. Nice work.
#30801 - gladius - Sat Dec 04, 2004 11:09 pm
Awesome! Right now I'm trying to figure out the CRC on the multiboot packets, any help there would be greatly appreciated :). I'll post some raw mario multiboot packets later on tonight. It is a repeating sequence of 10 beacons with 0x88 bytes of information in each essentially (they put it in a custom tag in an 802.11b management frame). They do not change each time, so if anybody has captures from another game that supports multiboot that would be greatly appreciated.
#30805 - gladius - Sun Dec 05, 2004 12:06 am
Well, here is a rough outline of the mario beacon packets (and I'm assuming multi-boot packets in general). The CRC appears to only be applied to data after the CRC, as modifying anything there causes mario to not be detected. However, I was able to modify some values before the CRC element and it would still succesfully detect mario available. All packets seem to be neccesary.
Okay, I got the mario beacon file up. The format is very simple, 4 byte integer denoting the size of the packet, then that many bytes (the packet), then another length, etc, till EOF. Anyone that wants to take a crack at figuring out the CRC algorithm is more than welcome :).
// Packet description:
// First 24 bytes, 802.11B header. 0x14 = packet sequence # (2 bytes?)
// Next 12 bytes, fixed parameters, first 8 bytes, timestamp
// 50 bytes in, beginning of custom tag. should be 0xDD (custom)
// next byte, length of tag, 0x88 for mario beacon packets
// From offset 52 from now on:
// 0x00: 28 bytes - unknown (fixed for mario)
// 0x1C: 1 byte - 0x02 on final packet, 0 otherwise
// 0x1D: 2 bytes - unknown
// 0x20: 1 byte - packet seq. number
// 0x21: 2 bytes - CRC
// 0x23: 1 byte - packet seq. number, but when 9, it's 1???
// 0x24: 1 byte - total number of packets in message
// 0x25: 2 bytes - length of data segment?
// 0x27: x bytes - packet data
struct mbPacketHeader {
__u8 unk1[28];
__u8 final;
__u8 unk2[2];
__u8 seqNum;
__u16 crc;
__u8 seqNum2;
__u8 numPackets;
__u16 length;
__u8 data[0x62];
} __attribute__ ((packed));
#30812 - crazyc - Sun Dec 05, 2004 2:54 am
This program seems to return the correct checksum when run against your dump.
Code: |
#include <stdio.h>
#include <fcntl.h>
#include <sys/stat.h>
int main(int argc, char **argv)
{
int fd, offset, i;
unsigned int sum;
unsigned short *sum_ptr = ∑
struct stat file_info;
char *buffer;
char *currframe;
if((argc != 2) || ((fd = open(argv[1], O_RDONLY)) == -1))
return -1;
fstat(fd, &file_info);
buffer = malloc(file_info.st_size);
read(fd, buffer, file_info.st_size);
close(fd);
for(offset = 0; offset < file_info.st_size; offset += (4 + ((int *)currframe)[0]))
{
currframe = buffer + offset;
sum = 0;
for(i = 0x2d; i < 0x60; i++)
sum += ((unsigned short *)currframe)[i];
printf("%hx\n", (sum_ptr[0] + sum_ptr[1] + 1) * -1);
}
return 1;
} |
#30813 - gladius - Sun Dec 05, 2004 3:11 am
Great job! That works perfectly. I can now make the DS think that Guper Mario 64 is available for download :). I'll post the code and data for that a little later on.
#30829 - Atwood - Sun Dec 05, 2004 9:18 am
That's great! I wonder what the possibilities are for hacked beacons to be used to shuffle non-game data into the DS. Sounds like it could be a good alternative to a flash cart.
#30834 - PhoenixSoft - Sun Dec 05, 2004 10:25 am
Once we have control of the DS via multiboot, we could load ARM9 code in from a flash cart in the GBA port, right?
#30836 - arbitrary - Sun Dec 05, 2004 10:36 am
Is anyone else expecting that there's going to be a digital signature on the multiboot code?..... which would mean all you could do is boot Mario (or other sniffed multiboot game images), and not homebrew/modified code?
#30839 - Darkain - Sun Dec 05, 2004 11:54 am
gladius: did you leave your card in 11mbps, or did you force it down to 2mbps? this is about the only thing i can think of that is left in my code that possibly wouldnt be working. i cant figure out a way to force my card to drop it's TX rate (realtek, win32).
_________________
-=- Darkain Dragoon -=-
http://www.darkain.com
DarkStar for Nintendo DS
#30844 - crazyc - Sun Dec 05, 2004 2:15 pm
Quote: |
Is anyone else expecting that there's going to be a digital signature on the multiboot code? |
Seems quite possible.
Quote: |
did you leave your card in 11mbps, or did you force it down to 2mbps? this is about the only thing i can think of that is left in my code that possibly wouldnt be working. |
I haven't gotten my DS to reply to the multiboot beacons, but to get it to reply to the pictochat beacons, it had to be transmitting at 2mbps.
#30874 - Abscissa - Sun Dec 05, 2004 7:30 pm
gladius wrote: |
Great job! That works perfectly. I can now make the DS think that Guper Mario 64 is available for download :). I'll post the code and data for that a little later on. |
Awesome. Can you post some pics of that, too? I gotta see that :)
arbitrary wrote: |
Is anyone else expecting that there's going to be a digital signature on the multiboot code?..... which would mean all you could do is boot Mario (or other sniffed multiboot game images), and not homebrew/modified code? |
Unless it somehow *did* prevent booting sniffed multiboot images, I'd really bet against it. I don't see why they would bother doing something that prevents homebrew if it does nothing to prevent piracy. Piracy is their main concern. As far as I've seen, everything they've done that hinders homebrew has just been a side-effect of piracy-prevention measures. And I'd have to agree with what someone else suggested earlier: that even if there is a digital signature, it may only be optional.
#30878 - gladius - Sun Dec 05, 2004 7:52 pm
Abscissa, I posted a pic of it booting up Gary's Gamo 64 :).
Darkain, yes, it had to be in 2mb/s transmission mode. Secondly, it had to be using the short preamble. I did not see a way to force short preamble outside of modifying the driver source for my drivers.
crazyc, you mean you can't get it to see a new game type? Hm.. that's strange. Perhaps the becaon transmitting code is somewhat fubared in your drivers?
#30883 - crazyc - Sun Dec 05, 2004 8:31 pm
Quote: |
Secondly, it had to be using the short preamble. I did not see a way to force short preamble outside of modifying the driver source for my drivers. |
Hmmm... I didn't change the preamble length at all. It would be odd if pictochat works with long preamble but multiboot doesn't.
Quote: |
Perhaps the becaon transmitting code is somewhat fubared in your drivers? |
I don't think so. I received the packets with another machine in monitor mode and they seem to be exactly what should have been transmitted.
Edit: you're right, it's only transmitting 180 bytes of each frame.
Quote: |
I don't see why they would bother doing something that prevents homebrew if it does nothing to prevent piracy. |
If people get their own code running on the DS, it may make it easier to dump the carts.
#30899 - Darkain - Sun Dec 05, 2004 10:23 pm
[quote="gladius"]Darkain, yes, it had to be in 2mb/s transmission mode. Secondly, it had to be using the short preamble. I did not see a way to force short preamble outside of modifying the driver source for my drivers.[quote]
ok, i played around w/ my drivers some more, and i can force it into 2mbps short preamble mode (this was actually quite easy, and i was just blind before). my problem now is that every time i send a packet, it isnt sending, but rather, is saying it is a "TX Error" packet, and my router replys w/ a ReSend.
i sooo cant wait for me to be able to get a second peice of wireless equipment setup that works, this way i can actually monitor the out-going packets. *gets on the fone and starts calling friends w/ wireless cards*
_________________
-=- Darkain Dragoon -=-
http://www.darkain.com
DarkStar for Nintendo DS
#30902 - Hajaz - Sun Dec 05, 2004 11:14 pm
#30911 - dagamer34 - Mon Dec 06, 2004 2:27 am
Hajaz wrote: |
http://www.teamxlink.co.uk/forum/viewtopic.php?p=31388#31388
xlink's roadmap for DS |
Good job presenting what you have/will be doing Hajaz. I only hope that your team will find compatibility in tunnels DS signals with ALL routers.
_________________
Little kids and Playstation 2's don't mix. :(
#30912 - Hajaz - Mon Dec 06, 2004 2:41 am
I doubt anyone will get regular routers working any time soon.
:(
#30915 - dagamer34 - Mon Dec 06, 2004 3:43 am
Hajaz wrote: |
I doubt anyone will get regular routers working any time soon.
:( |
In any case, I guess Linksys will be getting quite a bit of business.
_________________
Little kids and Playstation 2's don't mix. :(
#30916 - mikeandbandit - Mon Dec 06, 2004 3:47 am
is there a program availble where i can test to see if my router can pick up DS handshake beacons?
#30917 - Darkain - Mon Dec 06, 2004 3:49 am
mikeandbandit wrote: |
is there a program availble where i can test to see if my router can pick up DS handshake beacons? |
look, the only reason why the WRT54G works is because it runs a customizable build of linux. just treat it as if it where no different than a PC w/ a wireless NIC. what they are doing wont work on most routers.
_________________
-=- Darkain Dragoon -=-
http://www.darkain.com
DarkStar for Nintendo DS
#30918 - mikeandbandit - Mon Dec 06, 2004 3:52 am
oh so basically i will just need use linux and a wireless card huh?
#30919 - Darkain - Mon Dec 06, 2004 3:53 am
mikeandbandit wrote: |
oh so basically i will just need use linux and a wireless card huh? |
yes, exactly. altho, there is a win32 project in the works right now. it doesnt *work* yet, but we think we may be close to something.
_________________
-=- Darkain Dragoon -=-
http://www.darkain.com
DarkStar for Nintendo DS
#30920 - merlinds - Mon Dec 06, 2004 4:58 am
This link was posted by chaosknight at the dslinux forums it points to a page by darkfader. http://www.darkfader.net/ds/
Seems like some leaked technical documents
In the files memory map.txt and filesystem.txt there seems to be a lot of info as far as how the hardware works and spec.txt seems to have a lot of developer related info. Infact there is the email of the author of the document so might be worth sending some emails with specific questions.
Infact there is a lot of useful stuff on that page including cpp files for reading roms etc etc.
#30923 - crazyc - Mon Dec 06, 2004 5:22 am
Quote: |
Perhaps the becaon transmitting code is somewhat fubared in your drivers? |
Turns out the firmware on my card, 1.4.9, was corrupting large beacon frames. Upgrading to 1.6.3 caused the DS to detect the game download.
#30924 - gladius - Mon Dec 06, 2004 5:25 am
Cool, I'm trying to get the authorization process going so we can start transferring data over. Turning out to be a pain in the butt though. I'm not sure if my timing is off, or I'm misreading the spec somehow, but it doesn't work yet.
#31021 - willgonz - Tue Dec 07, 2004 1:54 am
So what I am trying to understand is....How does the header look in the send game beacon. Where does game code begin? For example:
H=Header
D=Data
HHHHHHHH
HHHHHHHH
HHHHHHHH
DDDDDDD
DDDDDDD
DDDDDDD
DDDDDDD
DDDDDDD
I want to embed a simple piece of ASM that does a hello world.
#31025 - gladius - Tue Dec 07, 2004 2:14 am
willgonz, there is no section of the data that appears to be ARM code in the beacons advertising a multibot game. I'm not sure if this is what you are asking though.
What I'm attempting (and still failing) to do right now is actually get to the point where I can send a game to the DS that it will start executing. At that point you will be able to try sending over small programs.
crazyc, any progress on your end? I can post my program that attempts to set up the 802.11b connection with the DS if you'd like. It doesn't work, but I'm not sure if that's my drivers not working properly or my actual code yet.
#31029 - crazyc - Tue Dec 07, 2004 3:01 am
Quote: |
crazyc, any progress on your end? I can post my program that attempts to set up the 802.11b connection with the DS if you'd like. It doesn't work, but I'm not sure if that's my drivers not working properly or my actual code yet. |
What can you get from it so far? I've gotten it to send an association request but it won't ack my reply.
#31031 - gladius - Tue Dec 07, 2004 3:25 am
So, you've gotten past the authentication packet? I can't even get that far. Mine broadcasts the beacon packets and waits for a reply essentially. Upon recieving the reply I attempt to ack, then confirm authentication, which is what the real DS does. No dice so far though. I'm wondering if they switch to long preamble for those packets or something along those lines.
#31036 - crazyc - Tue Dec 07, 2004 3:59 am
Quote: |
So, you've gotten past the authentication packet? |
Yeah, I just got it to ack my association response (at least the ds sends an ack and a clear to send after it). I've posted the code here.
Quote: |
Upon recieving the reply I attempt to ack, then confirm authentication, which is what the real DS does. |
I don't bother with the ack's, and it seems to work.
#31038 - gladius - Tue Dec 07, 2004 4:08 am
Haha, I took my ACK sending out and I'm up to the association as well. Thanks for the tip :). Now, to see if I can get past the Assoc. request.
Edit: I can get past the Assoc. request. The source will be up in a few minutes once I've finished cleaning it up. It was getting a tad too messy :P. Now working on the sending protocol.
Edit #2: The source is up, hopefully this is a decent enough base to start working off of to get an actual multiboot communications program running.
#31130 - CoolkcaH - Wed Dec 08, 2004 2:41 am
I have a Asus WL500g router that uses linux just like Linksys WRT54G, so probably there is no problem to make a custom firmware that can comunicate with the DS.
I think many people have this router and for the ones that will buy a new one for the DS instead of a card, it maybe a good option.
More information and custom linux firmwares at:
http://www.inside-gsm.com/Wireless/Accesspoints/Asus_WL500g/asus_wl500g.html
http://forum.chupa.nl
http://wl500g.dyndns.org
I don't know much about wireless, but if I can do anything to help test it just ask. I only have one DS at the moment but I have friends with more..
#31134 - gladius - Wed Dec 08, 2004 3:02 am
Well, I've gotten past the Assoc. request, in that it's at least sending an ACK back to me. But after that when I try to start simulating the keep-alive packets (at least that's what i think they are) I'm not getting any luck. The latest source is up on my page.
Another thing I've noticed is that the DS is quite senstive to timing. The timing delays might need to be adjusted based on the speed of your processor.
#31136 - crazyc - Wed Dec 08, 2004 3:06 am
Quote: |
Well, I've gotten past the Assoc. request, in that it's at least sending an ACK back to me. But after that when I try to start simulating the keep-alive packets (at least that's what i think they are) I'm not getting any luck. The latest source is up on my page. |
Same here, it just sends a deauth packet after about 2 seconds. I think we need to get a better idea of what the contents of the data packets are. I'm not sure how though.
#31156 - Tim Schuerewegen - Wed Dec 08, 2004 1:16 pm
Now that I have mastered the art of raw 802.11 frame sending and receiving from Windows, I can finally start working on the ds wireless multiboot protocol. I will let ya (gladius, crazyc) know if I discover anything. Keep up the good work.
#31169 - cesium - Wed Dec 08, 2004 4:51 pm
Tim Schuerewegen wrote: |
Now that I have mastered the art of raw 802.11 frame sending and receiving from Windows, I can finally start working on the ds wireless multiboot protocol. I will let ya (gladius, crazyc) know if I discover anything. Keep up the good work. |
I'd like to do the same. Could you guide us along the path to raw 802.11 in Windows..... master?
cesium
#31199 - Darkain - Wed Dec 08, 2004 8:40 pm
Tim Schuerewegen wrote: |
Now that I have mastered the art of raw 802.11 frame sending and receiving from Windows, I can finally start working on the ds wireless multiboot protocol. I will let ya (gladius, crazyc) know if I discover anything. Keep up the good work. |
i am curious to know your sollution, and to know if you have tested it by packet sniffing on an alternate system to make sure the packets arent being altered by the hardware before sending?
_________________
-=- Darkain Dragoon -=-
http://www.darkain.com
DarkStar for Nintendo DS
#31217 - Tim Schuerewegen - Wed Dec 08, 2004 10:49 pm
Darkain wrote: |
i am curious to know your sollution, and to know if you have tested it by packet sniffing on an alternate system to make sure the packets arent being altered by the hardware before sending? |
I have written my own driver for a specific wireless adapter, due to the lack of an existing driver/sdk/whatever that allows such kind of hardware access from within Windows. (linux is not an option)
The packets are only modified slightly by hardware. The hardware automatically adds the seq. number and the frame crc.
However, when replaying the Mario multiboot beacons the DS does not respond at all, altough the frames look ok in AiroPeek.
#31223 - willgonz - Thu Dec 09, 2004 12:46 am
I have a test lab with all types of Windows versions. I also have access to an unlimited amount of PCMCIA wireless cards configurations because of other WiFi testing products at work. Feel free to send me a PM to a link for a beta version of software or drivers. If you want to test with other configurations.
#31228 - Tim Schuerewegen - Thu Dec 09, 2004 1:15 am
Tim Schuerewegen wrote: |
However, when replaying the Mario multiboot beacons the DS does not respond at all, altough the frames look ok in AiroPeek. |
[22:59] <gladius> yes, sometimes it misses them if you send too quickly
It's working now. I was sending the beacon packets too fast so I added a small delay as suggested by gladius.
http://users.belgacom.net/bn845065/DSCF0005.JPG
http://users.belgacom.net/bn845065/DSCF0016.JPG
#31231 - Rain - Thu Dec 09, 2004 1:36 am
i know that the main goal of this thread (hell, of this forum) is to get comunication with the ds through a computer...
I don't want to be overly skeptical... but... how don't we know that there's a ds off the picture named Darkain(tm) sending mario packets? :)
I'm asking this because i keep reading *somewhere* that windows can't manage raw packets like that (yes, i do think that whoever is saying that doesn't really know how to do it)....
If the game name was different (like the Gary Gamo64DS), i would be much more confidant on that...
But hey, i really hope that's true, cuz no way in hell i'm installing linux... ever! :D
#31246 - willgonz - Thu Dec 09, 2004 4:17 am
Ok It's true. They are really doing it. It is still in the unknown of what any OS can do for the DS. I think you can talk to the DS using any OS, but it is just a matter of making it do it.
All of this is research, you are going to see theories come and go. Things you think you can't do will be done. If someone could build, someone could unbuild it.
#31247 - Darkain - Thu Dec 09, 2004 4:37 am
Rain wrote: |
i know that the main goal of this thread (hell, of this forum) is to get comunication with the ds through a computer...
I don't want to be overly skeptical... but... how don't we know that there's a ds off the picture named Darkain(tm) sending mario packets? :)
I'm asking this because i keep reading *somewhere* that windows can't manage raw packets like that (yes, i do think that whoever is saying that doesn't really know how to do it)....
If the game name was different (like the Gary Gamo64DS), i would be much more confidant on that...
But hey, i really hope that's true, cuz no way in hell i'm installing linux... ever! :D |
the people going around saying it isnt possible are the ones that are either a) people that love linux and hate microsoft (yus, ive dealt with alot of this in the past week or three) or b) people that try and give up too easily.
i personally do beleive that it was successful from windows. we spent the entire day in the irc channel discussing this, and at first, it wasnt working. gladius offered some suggestions, such as forced 2mbps tx rate, short preamble, and ~200ms delay between packets, and then it started to work.
i can understand being skeptical about any sort of announcement made. i am, too. i've been trying to pick apart each and every dev group out there to get as much information as possible from each, to see if they are legit or not.
and just remember, given enough time, ANYTHING is possible. :)
_________________
-=- Darkain Dragoon -=-
http://www.darkain.com
DarkStar for Nintendo DS
#31249 - dagamer34 - Thu Dec 09, 2004 5:25 am
So I'm guessing that the next step in your plan is to get the DS to actually start downloading the Mario multiboot rom from your computer, right?
_________________
Little kids and Playstation 2's don't mix. :(
#31258 - Boeboe - Thu Dec 09, 2004 8:51 am
cool, you are also from Belgium =)
I see you are using one of those cheap usb-wifi adapters. I was also planning to buy one of those, so it's good to see you have been working with that on the ds. (though I wonder: is the range any good on those things?). I guess that you can do more tweaking with this usb stuff then with a complete hardware wi-fi card. Maybe it's even possible to write some sort of unified DS driver for this?
Anyway, keep up the good work, I'll be following it as the wireless hacking scene progresses.
#31262 - flat235 - Thu Dec 09, 2004 10:51 am
Hi folks,
I'm Andy from Team Xlink - DArkain mentioned to me that you had the injection part working in Windows :) Looks like it was Tim who cracked it - excellent work man :)
We're cleaning up our WRT54G relaying code - and I was wondering if it would be any use to you guys as far as hacking goes - because - the WRT firmware we're making would relay *all* the control and data frames to a PC app - encspaulating them in UDP.
If anyone's interested - I'll send you our stuff as soon as it's finished :)
Also, do you plan on making your work public, Tim? I know a lot of people who would be extremely happy to only need to buy a USB memory stick to play online - instead of a router :)
Andy
#31267 - Krakken - Thu Dec 09, 2004 12:49 pm
Tim Schuerewegen wrote: |
[22:59] <gladius> yes, sometimes it misses them if you send too quickly
|
That's interesting, it's the same for the GBA.
#31272 - Zhila - Thu Dec 09, 2004 1:57 pm
Okay, if I'm hearing correctly, Tim is using a USB wi-fi adaptor. Any chance this adaptor is Atmel-based. If so, I could get to working on this now. Currently, with my USB Adaptor/Linux system can't pick up the DS, however, it would be a simple plug switch to get it on Windows, which then would also mean I wouldn't have to dosconnect from the internet whenever I attempted to work with the DS.
_________________
Current high scores on Super Mario 64 DS:
Shell Smash - 50230
Wanted - 140
#31274 - Tim Schuerewegen - Thu Dec 09, 2004 2:13 pm
Zhila wrote: |
Okay, if I'm hearing correctly, Tim is using a USB wi-fi adaptor. Any chance this adaptor is Atmel-based. If so, I could get to working on this now. Currently, with my USB Adaptor/Linux system can't pick up the DS, however, it would be a simple plug switch to get it on Windows, which then would also mean I wouldn't have to dosconnect from the internet whenever I attempted to work with the DS. |
No, not Atmel based. I am using a Sweex 802.11g USB stick. It has a (very rare) ZyDAS ZD1211 chipset combined with a (very common) RFMD2958 RF chip.
http://www.sweex.com/product.asp?pid=412
http://www.sweex.com/dealer.asp
However, there is another device, the D-Link DWL-122 802.11b USB stick, which is much much much more easier to get, and it has a Prism chipset, which, at first sight, is very good "documented" (read: open source linux driver). Maybe someone else can write the necessary win32 code for sending/receiving raw 802.11 frames using this device? Or maybe someone cares to donate me such device, so I could give it a go? (no promises though)
#31277 - Zhila - Thu Dec 09, 2004 2:19 pm
Well, if I remember correctly (not sure all the number details), but my Belkin USB WiFi Adaptor has an Atmel chip, and also some kind of RFMD like you mentioned before. Other than that, I have a Linksys Wireless 802.11b PCMCIA Card ver.3 (Prism2, NDIS 5.1).
_________________
Current high scores on Super Mario 64 DS:
Shell Smash - 50230
Wanted - 140
#31333 - nessup - Fri Dec 10, 2004 4:39 am
Tim, I had that idea way before you did. We were planning to use frame pushing all along. Con.tact.me.
nessandahalf AIM
nessup@cox.net MSN
nessandahalf YIM
#31334 - Darkain - Fri Dec 10, 2004 5:09 am
nessup wrote: |
Tim, I had that idea way before you did. We were planning to use frame pushing all along. Con.tact.me.
nessandahalf AIM
nessup@cox.net MSN
nessandahalf YIM |
i aplaud your attempt to get every developer working on win32 and the ds to try to join team nitro...
_________________
-=- Darkain Dragoon -=-
http://www.darkain.com
DarkStar for Nintendo DS
#31353 - mymateo - Fri Dec 10, 2004 9:42 am
As his current sig, Zhila wrote: |
Current high score on Super Mario 64 DS: Shell Smash - 50230 |
Ha, got you beat by 660 pts, man! High score 50,890! Boo-yah!
Anyways, not to stray off topic, I'm wondering if it's worth buying a wireless NIC just yet, or should I wait for a little longer before making that decision (the decision, more specifically, of WHAT card to get... I will get one eventually)...
#31365 - Zhila - Fri Dec 10, 2004 2:53 pm
Quote: |
Anyways, not to stray off topic, I'm wondering if it's worth buying a wireless NIC just yet, or should I wait for a little longer before making that decision (the decision, more specifically, of WHAT card to get... I will get one eventually)... |
Best to wait until something is definately working. As far as which card to get, in theory, any card should work; however, this is just theory. So far, in practice, my Linksys PCMCIA Wireless Adaptor (WPC11 ver 3) is not able to even detect the presense of my Nintendo DS, while my Belkin USB Wireless Adaptor (F5D6050) is able to see the Nintendo DS, but is neither able to connect to it, nor is ethereal under Windows able to pick up packets (not even beacon packets).
If you are going to buy a card, I'd say to wait until someone succeeds in fully communitcating with the Nintendo DS. If you just wanted something for the Nintendo DS, that Linksys Router that is discussed earlier seems promising, as the people working are writing firmware for it so one can simply send UDP packets to it, and it will process the contents and send raw packets based on the data.
_________________
Current high scores on Super Mario 64 DS:
Shell Smash - 50230
Wanted - 140
#31370 - flat235 - Fri Dec 10, 2004 4:25 pm
Yes - the sweex stick research is excellent Tim - nice work :)
I'm going to attempt to arrange a DLink stick for you asap - any others you think may be worth taking a look at?
A
#31371 - Tim Schuerewegen - Fri Dec 10, 2004 4:52 pm
flat235 wrote: |
I'm going to attempt to arrange a DLink stick for you asap - any others you think may be worth taking a look at? |
The reason why I think that the DWL-122 could also be used to communicate with the DS without driver is because 1) it's also USB and 2) it has *a* Prism chipset, which supposedly is documented very good.
#31377 - ecurtz - Fri Dec 10, 2004 5:51 pm
semi-OT but this thread is a monster anyway...
You can get a refurb DWL-122 from TigerDirect, directly or through Amazon, for $20. I ordered one I should be playing with this weekend. NOTE: THESE HAVE NOT BEEN PROVEN TO WORK.
#31471 - Krakken - Sat Dec 11, 2004 2:19 am
My DWL-122 should be with me any day now. Ordered it a few days ago.
#31504 - netdroid9 - Sat Dec 11, 2004 2:00 pm
Just wondering, has anyone actually dumped the roms for the NDS. I'm thinking that the protocol would be inside a rom. If it's one of those chip dyes though... *shivers at the thought of having to rip up a $150 piece of hardware just for a rom*...
If it's in the bios, and the bios is in a rom instead of a dye though, wouldn't it be unencrypted? It'd have to be the first thing the ARM9 calls I assume.
#31512 - mymateo - Sat Dec 11, 2004 6:14 pm
ecurtz wrote: |
semi-OT but this thread is a monster anyway...
You can get a refurb DWL-122 from TigerDirect, directly or through Amazon, for $20. I ordered one I should be playing with this weekend. NOTE: THESE HAVE NOT BEEN PROVEN TO WORK. |
Or you can order two brand spanking new ones for $30 (which is roughly $37 CDN) and that includes shipping... if you get your bid in at the right time! :) *Smiles evily 'cause even if it doesn't work with the DS he can sell one of them locally and make up the price and end up with a FREE DWL-122 USB Wireless Adapter*
Edit: I should have said "Or you can order two brand spanking new ones on eBay for $30" Whoops! My bad...
#31569 - netdroid9 - Sun Dec 12, 2004 10:44 am
I'm looking at the mario 64 download 2.apc, and I'm thinking that it might use a standard form of compression. I'm looking into it.
#31586 - tinycoder - Sun Dec 12, 2004 7:13 pm
Hi everyone,
First of all, I'd like to thank all of you for all the work and the efforts you're putting on the way to the DS homebrew development.
I've got 2 DS (US and Japanese), one copy of Mario DS, another one of Mr Driller, and yesterday I finally found a card (D-Link DWL-610, Realtek driver) that allow me to get packets. If I'm right the next step is to send a multiboot game to a DS from a computer. I think I'm gonna work on some wireless drivers for windows. Don't know If I will be able to make it, but well If you don't give it a try.... you know the rest. I'm open to any suggestions, so if any of you prefer me to help in another way just tell me.
_________________
Everyone in the world is my psy.
http://www.tinytoolz.com
#31596 - Darkain - Sun Dec 12, 2004 10:06 pm
tinycoder wrote: |
I finally found a card (D-Link DWL-610, Realtek driver) that allow me to get packets. |
If my memory serves me correctly, that card uses the Realtek 8180 chipset to be exact, right?
_________________
-=- Darkain Dragoon -=-
http://www.darkain.com
DarkStar for Nintendo DS
#31604 - tinycoder - Sun Dec 12, 2004 11:22 pm
Darkain wrote: |
tinycoder wrote: | I finally found a card (D-Link DWL-610, Realtek driver) that allow me to get packets. |
If my memory serves me correctly, that card uses the Realtek 8180 chipset to be exact, right? |
You're right. It effectively uses the Realtek 8180 chipset. BTW the installation of these drivers to make Airopeek works with the card was a little tricky. I had to modify the .inf file drivers. Anyway.
I took a quick look on some packets from Mario DS and Mr Driller. It seems that the beacons that say "I'm a DS and I have a game available for download" are managed the same way by the 2 games (guess it's the same structure for all game that manage multiplayer game with only one game pak). As you noticed it when you worked on Mario DS Beacons, threre's a serie of 10 packets. each packet size is 136 bytes. Here's what I found for now :
Header Total: 38 bytes
28 bytes=> ? (MAC adress and other stuff I don't know)
1 byte => Flag that tell if this is the last packet
2 byte => ?. For mario it's 2 and for Mr driller it's 4.
1 byte => packet id (To be detected by a DS, 10 packets 0-9, seems to be needed)
2 byte => seems to be the CRC like gladius said it.
1 byte => Seems to be linked to the packetID byte. this byte have always the same value as packetID,
except when packetID= 9, this byte equal 1.
1 byte => Seems to be always 9, well that what I noticed in Mario and Mr Driller.
2 byte => Length of the data that follow (often 0x62)
Data Total: 98 bytes
Depending of the packet, here what we can find in the data part:
Packet 6: The name of DS that Host the game => 20 Bytes
Packet 6-7: The game title => 96 bytes
Packet 7-9: The description of the game => 128 Bytes (To be honnest I'l not really sure yet)
I guess that the icon of the game is on the firsts packets. But well this is just assumption.
_________________
Everyone in the world is my psy.
http://www.tinytoolz.com
Last edited by tinycoder on Mon Dec 13, 2004 3:36 pm; edited 3 times in total
#31607 - Darkain - Mon Dec 13, 2004 12:16 am
tinycoder wrote: |
I took a quick look on some packets from Mario DS and Mr Driller. It seems that the beacons that say "I'm a DS and I have a game available for download" are managed the same way by the 2 games (guess it's the same structure for all game that manage multiplayer game with only one game pak). |
could you possibly post the airopeek file containing the 10 packets, so i can start fiddling with it a bit?
_________________
-=- Darkain Dragoon -=-
http://www.darkain.com
DarkStar for Nintendo DS
#31609 - tinycoder - Mon Dec 13, 2004 12:54 am
Darkain wrote: |
could you possibly post the airopeek file containing the 10 packets, so i can start fiddling with it a bit? |
Here's for you: http://www.tinytoolz.com/ds.htm
_________________
Everyone in the world is my psy.
http://www.tinytoolz.com
#31621 - gladius - Mon Dec 13, 2004 4:11 am
flat235 wrote: |
Hi folks,
I'm Andy from Team Xlink - DArkain mentioned to me that you had the injection part working in Windows :) Looks like it was Tim who cracked it - excellent work man :)
We're cleaning up our WRT54G relaying code - and I was wondering if it would be any use to you guys as far as hacking goes - because - the WRT firmware we're making would relay *all* the control and data frames to a PC app - encspaulating them in UDP.
If anyone's interested - I'll send you our stuff as soon as it's finished :)
Also, do you plan on making your work public, Tim? I know a lot of people who would be extremely happy to only need to buy a USB memory stick to play online - instead of a router :)
Andy |
Hi Andy,
I'm sure I'm speaking for a lot of people when I say I'd be very interested in seeing that app :). The more people working on the wireless the better.
#31624 - ravuya - Mon Dec 13, 2004 4:20 am
Andy, more code can't hurt. :)
_________________
Rav (Win/Mac/Linux games for free)
#31632 - kaeru23frog - Mon Dec 13, 2004 7:18 am
tinycoder wrote: |
I took a quick look on some packets from Mario DS and Mr Driller. It seems that the beacons that say "I'm a DS and I have a game available for download" are managed the same way by the 2 games (guess it's the same structure for all game that manage multiplayer game with only one game pak). |
Do you have the Japanese version of Mr. Driller? The english doesn't have a single-pak feature.
_________________
Shell Smash: 55730
Bounce and Trounce: 163
#31641 - tinycoder - Mon Dec 13, 2004 11:49 am
kaeru23frog wrote: |
Do you have the Japanese version of Mr. Driller? The english doesn't have a single-pak feature. |
Yes, this is the japanese version of Mr Driller. I bought this one because as you mentioned it, the US version doesn't support multiplayer with a single pak.
_________________
Everyone in the world is my psy.
http://www.tinytoolz.com
#31662 - tinycoder - Mon Dec 13, 2004 4:08 pm
Here's the stucture of the the packet 6 and 7 (packetID= 05, and 06).
Code: |
struct MultiBootPacketHeader
{
u8 stuff1[28];
u8 flagLastPacket;
u8 stuff2[2];
u8 packetID;
u16 crc;
u8 stuff3; //Seems to be linked to packetID
u8 nbPackets;
u16 dataLength;
}
struct MBPacket6Data
{
MBPacketHeader header
u8 stuff[55];
u8 nameLength;
u8 name[20];
u16 nbMaxPlayer; //Have to test this
u8 gameTitle_part1[20];
}
struct MBPacket7Data
{
MBPacketHeader header;
u8 gameTitle_part2[76];
u8 gameDesc[22];
}
|
The icon of the game seems to be 32x32, I still have to work on this.
If possible I'd like someone to test the nbMaxPlayer Attribute in the packet 6 to send to the DS. It's right after the name of the DS that host the game.
_________________
Everyone in the world is my psy.
http://www.tinytoolz.com
#31681 - tinycoder - Mon Dec 13, 2004 7:12 pm
I finally managed to dump the icon of the game that the DS host.
It's a 32x32 image in 16 colors. It's not compressed and it's composed of 16 8x8 pixel blocks (character mode in GBA). So the First 6 packet contain the palette (32 bytes, 16 bit colors) and the image data (512 bytes). The last bytes of the image is the beginning of the 6th packet. I'm gonna put some file on my temporary website so that everybody could take a look at it. The next part is to find the use of the packet 8 and 9 (the packet 8 contain a part of the game description...). After all of this I envisage to work on the drivers for windows that will allow us to make our computer act like a DS. I'm gathering some information everywhere as I can, so if someone has already worked on these stuff.... just tell me.
_________________
Everyone in the world is my psy.
http://www.tinytoolz.com
#31685 - tinycoder - Mon Dec 13, 2004 8:22 pm
Like I promised here's the files needed to see the image of the game hosted : http://www.tinytoolz.com/ds
_________________
Everyone in the world is my psy.
http://www.tinytoolz.com
#31687 - Fatnickc - Mon Dec 13, 2004 8:41 pm
Having seemingly shied away from this topic for a long time (what with no DS in Eroupe an' all) I thought I should finally post one of my ideas (the others are just plain crazy), even if they aren't tried or tested. Surely if we can make an imagebe displayed in the PictoChat application (from the early pages etc.)and we can decode the packets 'just-about', we could write a fairly big program to determine what shape (let us presume only from the keyboard part) is being sent, we could send another image etc. and so on, making something nearly resembling a game (in no way). Then, for the other images we could write something like : (not-real-code-at-all)
Code: |
if(key()!=TRUE) { //aka if we are getting a hand-drawn image
send_out(no); //send the image saying that it isn't accepted
}
key() {
if(key_click()==adata||bdata||etcdata) //you get the idea
........................................... //ditto
}
|
Presumably it would be hell to get up and running, but presumably it would be possible.
Of course, you would have already sniffed the various packets from letter 'a' and 'b' etc. so that you could just compare the two (sent and stored) and see what it was.
Mildly insane, but perhaps mildly possible.
-_:.Nick.:_-
#31702 - tepples - Tue Dec 14, 2004 12:46 am
Handwriting OCR is teh hard. But if you can pull it off, then you can port some text adventures.
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.
#31707 - Tim Schuerewegen - Tue Dec 14, 2004 1:04 am
Today I decided to work on multiboot again instead of tunneling and was able to get "deauthenticated" by my DS.
Here's the log generated by my application:
http://users.belgacom.net/bn845065/sniffer_mario_download_04.zip
The application runs on Windows and talks directly to the Sweex 802.11g USB stick.
#31710 - ecurtz - Tue Dec 14, 2004 1:16 am
tepples wrote: |
Handwriting OCR is teh hard. But if you can pull it off, then you can port some text adventures. |
Recognizing the characters from the pictochat keyboard is trivial however. I think a plugin to run the infocom interpreter on our pictochat server is a natural.
I'm slowly progressing on pictochat packets, but I can now (sort of) capture my own, so that should help some. The DWL-122 works well with KisMac, so if anybody else is on OS X I recommend it, rather than messing with official airport cards.
#31727 - mymateo - Tue Dec 14, 2004 3:52 am
ecurtz wrote: |
The DWL-122 works well with KisMac, so if anybody else is on OS X I recommend it, rather than messing with official airport cards. |
Sounds like good news for me, having just ordered that same card for myself. However, I don't own a Mac (or a decent Mac emulator - not that that would do any good), so any ideas on whether or not Windows drivers could be modified to work yet?
#31729 - splattergnome - Tue Dec 14, 2004 4:11 am
OFF-TOPIC:
ecurtz wrote: |
tepples wrote: | Handwriting OCR is teh hard. But if you can pull it off, then you can port some text adventures. |
Recognizing the characters from the pictochat keyboard is trivial however. I think a plugin to run the infocom interpreter on our pictochat server is a natural. |
There are already text adventure interpreters for the GBA (GBAFrotz, among others) - but they are very unwieldy. I do see opportunity for them on the DS using both the keyboard and "scrollable" word lists)... also interesting would be a MUD interpreter at one point in time.
splatty
#31756 - ecurtz - Tue Dec 14, 2004 8:35 am
tinycoder wrote: |
Code: |
struct MultiBootPacketHeader
{
u8 stuff1[28];
u8 flagLastPacket;
u8 stuff2[2];
u8 packetID;
u16 crc;
u8 stuff3; //Seems to be linked to packetID
u8 nbPackets;
u16 dataLength;
}
|
|
This probably isn't much help, but...
Code: |
struct MultiBootPacketHeader
{
// this bit is the "official" MAC frame
u8 frameControl[2]; // 80 00 for beacon
u8 durationID[2];
u8 destMAC[6];
u8 sourceMAC[6];
u8 otherMAC[6];
u8 sequence[2]; // increasing counter
// end MAC frame (at least as far as the DS seems to use it)
u8 stuff1[4];
u8 flagLastPacket;
u8 stuff2[2];
u8 packetID;
u16 crc;
u8 stuff3; //Seems to be linked to packetID
u8 nbPackets;
u16 dataLength;
}
|
The pictochat beacon packets seem to nearly match the Mario ones. I bet that part of that is a manufacturer code/ game id.
Code: |
pictochat beacon contents:
C680A200 // semi-regular change - timestamp?
00000000C8002100010282840301010505 // game id?
D2020000 // regular change - packet id?
00DD200009BF000A000000 // includes a generic Nintendo MAC
mario beacon contents:
C6606201
00000000D8002100010282840301010505
01020000
00DD880009BF000A000000
|
#31764 - netdroid9 - Tue Dec 14, 2004 9:22 am
hmm... I doubt it would need a timestamp really.
Code: |
C6606201 // Game ID (Changes sometimes, could contain a certain code validating the game as official Mario 64 DS? It would change offen to confuse pirates or cheaters.)
00000000D8002100010282840301010505 // Encryption code (It's got to be somewhere, why not the first place the NDS looks and the last place anyone else would look? It could be the code for a transfer of game-data (more cheater lockouts).)
01020000 // Packet Checksum (Validates the beacon, could use nonstandard technique?)
00DD880009BF000A000000 // Generic NDS MAC |
Thats what I think it could be. Just a wild guess.
#31835 - abonetochew - Wed Dec 15, 2004 3:51 am
Hey guys, I've been following this thread for a while, and I wan't to know if my current hardware is of any use. I have a Linksys WMP54G with the Broadcom chipset on my Windows 2000 machine and a Linksys WRT54G router on my LAN. Can I use these for raw packet send/receive with my DS's?
_________________
DS... shiny...
#31846 - netdroid9 - Wed Dec 15, 2004 5:56 am
I'm pretty sure the one connected to your PC won't work (Isn't boradcom suppost to be one of the ones that malform the raw packets?) But the one connected to the LAN might work (Not sure either)
#31902 - tinycoder - Wed Dec 15, 2004 8:00 pm
Remember this :
Code: |
struct MultiBootPacketHeader
{
u8 stuff1[28];
u8 flagLastPacket;
u8 stuff2[2];
u8 packetID;
u16 crc;
u8 stuff3; //Seems to be linked to packetID
u8 nbPackets;
u16 dataLength;
}
|
I made a new dump of Mario, where I start to host a game and then a few second later a player is connecting to the host. I noticed that beetween the two dumps, stuff2[2] change a little. In fact It seems that the second byte of stuff2 is actually the number of player that are connected to the game.
The first byte of stuff2 is initializated randomly when you start to host a game either Mr Driller or Mario (1, 0, 2 or 4. Never saw other numbers). It could be a nintendo channel for a DS that host a game (which could make sense since you can be in a room where more than one game is hosted).
An other thing is that in the dump where a player is connected, the last packet contain the name of the DS connected. I assume that this packet contain all the name of the connected player. But what's weird is that the size is limited (98 bytes, remember). Since there can be 16 DS connected I doubt that this last packet can hold the all names by itself. Hence the utility of the flagLastPacket, which could mean that there can be more that 10 packets according to the number of bytes needed to hold all the names of the players. But well this is all asssumption as usual. I have to see a friend by friday (an other programmer) who have a DS too. We will do some test whith 3 DS connected. From there I could have confirmation of some stuff.
ecurtz wrote: |
Code: |
struct MultiBootPacketHeader
{
// this bit is the "official" MAC frame
u8 frameControl[2]; // 80 00 for beacon
u8 durationID[2];
u8 destMAC[6];
u8 sourceMAC[6];
u8 otherMAC[6];
u8 sequence[2]; // increasing counter
// end MAC frame (at least as far as the DS seems to use it)
u8 stuff1[4];
u8 flagLastPacket;
u8 stuff2[2];
u8 packetID;
u16 crc;
u8 stuff3; //Seems to be linked to packetID
u8 nbPackets;
u16 dataLength;
}
|
The pictochat beacon packets seem to nearly match the Mario ones. I bet that part of that is a manufacturer code/ game id.
|
I took a look at it and they don't seem to match each other. But I'm gonna take a closer look at it.
_________________
Everyone in the world is my psy.
http://www.tinytoolz.com
#31974 - xabib - Thu Dec 16, 2004 10:43 am
http://www.darkfader.net/ds/
It may be of general interest for loading code...
#31976 - netdroid9 - Thu Dec 16, 2004 11:55 am
We've seen that, lots & lots of times. I'm hopeing for some progress in getting a copy of that BIOS so we can get that API code...
I can't figure out where the data begins in Mario DS dump 2, can anyone post a copy of just the data that's in there?
#32148 - cesium - Sat Dec 18, 2004 5:10 pm
I'd like to learn the details of the commands that are send over
USB to control the USB Wi-Fi sticks described in this thread.
Can someone point me to sites or docs for getting started?
I've got Prism chipset docs for a PCMCIA card, but no USB Wi-Fi docs.
Thanks,
cesium
#32197 - mymateo - Sun Dec 19, 2004 8:04 am
Krakken wrote: |
My DWL-122 should be with me any day now. Ordered it a few days ago. |
Anyone know yet if this works with the DS for sure or not? If so, Mac, Windows or Linux? If Windows, W2K? If Linux, which one?
#32203 - ecurtz - Sun Dec 19, 2004 9:23 am
cesium wrote: |
I'd like to learn the details of the commands that are send over
USB to control the USB Wi-Fi sticks described in this thread.
Can someone point me to sites or docs for getting started?
|
It depends on your OS. I'm on a Mac, and the best resource looks to be the KisMac source code from KisMac homepage
If you're on Linux it seems to be Kismet or
airJack (might be down or gone, should be available elsewhere.) Most of the guys here are using Linux, so that's probably easiest.
I don't know about Windows, but there should be a port of Kismet. You could also try ethereal but I couldn't get it to see the ds in the very short time I tried it.
In general my understanding of how usb communication works is you just fill out an appropriate header (defined with the driver you're using) and dump that to the pipe you've opened (by knowing the usb id of the device, or just where the thing is mapped.) That's how the usb gba flash equipment works anyway.
mymateo wrote: |
Anyone know yet if this works with the DS for sure or not? If so, Mac, Windows or Linux? If Windows, W2K? If Linux, which one? |
The DWL-122 works fine for capturing frames on OS X. I haven't tried sending yet, but the prismII drivers seem to be pretty popular for the wireless hacking crowd, so I have high hopes.
#32260 - gladius - Mon Dec 20, 2004 6:48 am
Just a little status update, in a rather unfortunate twist it appears to be easier to connect to a DS that is advertising a game then it is to make a DS believe a game is available for download. I've been able to get Mario to think I have connected to it, and have gotten as far as sending my own name for my virtual DS across. I mostly did that to test my theories on the protocol, which seem to be mostly correct.
As far as the state of getting a DS to start multibooting, I can keep the DS from sending the deauth now, by simply still sending out the beacon packets 5 times per second. But I can't seem to get it to believe my association response. It sends back an ACK, but then simply ACKS all packets I send from there on in, which makes me think that it's not authenticated yet. It's quite possible there is something in the beacons that is tripping me up, and you can't just blindy replay those, so that's the next area to explore.
crazyc, if you are still out there, any progress?
#32261 - mymateo - Mon Dec 20, 2004 7:32 am
What does deauth mean? Sounds like "death", just with a "u" in it. (forgive my cluelessness... which is why I don't bother trying to assist in things I don't understand)
#32262 - tepples - Mon Dec 20, 2004 7:40 am
"Deauth" (dee-awth) is short for de-authorize, de-authenticate, etc.
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.
Last edited by tepples on Mon Dec 20, 2004 7:54 am; edited 1 time in total
#32263 - Darkain - Mon Dec 20, 2004 7:42 am
mymateo wrote: |
What does deauth mean? Sounds like "death", just with a "u" in it. (forgive my cluelessness... which is why I don't bother trying to assist in things I don't understand) |
auth = authentication
deauth = de-authentication
_________________
-=- Darkain Dragoon -=-
http://www.darkain.com
DarkStar for Nintendo DS
#32267 - Darkain - Mon Dec 20, 2004 9:35 am
http://ds.darkain.com/mario.bmp (1kb)
http://ds.darkain.com/driller.bmp (1kb)
WMB Beacon Packets are now almost fully decoded... (i think?). we have the image decoded, as well as the blatently obvious unicode strings that you can see with even a basic text editor like notepad. i wish there where some more games out there to help verify some of the other theories we have about the NDS WMB packet header information.
http://ds.darkain.com/wmb.zip (11kb) - this zip file contains the win32 console app, source code, and bin files used for converting from WMB beacons to a 32x32 bitmap image of the icon. since the text locations are also known about, i may shove those into the next build as well.
the image is 4 tiles by 4 tiles. tiles are 8x8 pixels, 4bpp (16 color).
wmb packets are 136 bytes in length (plus a MAC header that i stripped out). this can be further broken down to 38 bytes of NDS header followed by 98 bytes of data per packet. my first thought that it was 96 bytes per packet, which would allow for perfect alignment of 32byte tiles, but this is wrong. the tiles are NOT packet aligned, like they where in pictochat (hence why it took me longer to figure out what the hell my alignment problem was)
i shoved all of the "data" sections of the 10 packets into an array w/ all MAC and NDS headers stripped, and then parsed the data from there. the first 32 bytes are pallete information. 16 unique 15-bit enteries. directly after the colors comes the tile data. from the looks of the mario icon, entry 0x0 represents transparent. this falls in perfectly with GBA sprites and backgrounds, much like pictochat tiles do.
because i was working with one packet dump format (that included the NDS header, but stripped the MAC header), and then was later given some more dumps (both MAC and NSD headers stripped), the conversion app supports a command line switch to handle the two format. i'll add a third for ones that include the MAC header as well in the next build. currently, no extra options means packet w/ NSD w/o MAC headers, the -s option is for "small", or packets w/o NDS/MAC headers. i'll use -m for w/ MAC/NSD headers later on.
now that i got basic data from the WMB packets figured out, i'm gonna start working on a WMB builder app... that is, one that takes in a BMP file and some sort of a text/ini/xml file (not sure which yet) and build a set of WMB beacons packets. and of course, this is moving along with what others are doing to shove this data into the unit.
_________________
-=- Darkain Dragoon -=-
http://www.darkain.com
DarkStar for Nintendo DS
#32276 - Tim Schuerewegen - Mon Dec 20, 2004 12:32 pm
tinycoder wrote: |
If possible I'd like someone to test the nbMaxPlayer Attribute in the packet 6 to send to the DS. It's right after the name of the DS that host the game. |
I have just tested the nbMaxPlayer field. However, it seems that the DS is treating it as a u8.
0x0000 -> "1/0"
0x0004 -> "1/4"
0x00FF -> "1/55"
0x0100 -> "1/0"
#32278 - netdroid9 - Mon Dec 20, 2004 2:06 pm
Use an XML for sure.
I'm wondering, nintendo already has a multiboot system (I think) for the GBA, could the NDS one be based off it?
#32281 - tinycoder - Mon Dec 20, 2004 5:02 pm
Tim Schuerewegen wrote: |
I have just tested the nbMaxPlayer field. However, it seems that the DS is treating it as a u8.
0x0000 -> "1/0"
0x0004 -> "1/4"
0x00FF -> "1/55"
0x0100 -> "1/0" |
Thanks tim. Yeah of course it's treating it as a u8. I made a mistake when I posted the stucture of the packet. nbMaxplayer is a u8 and the the next byte is unknown yet. But thanks to your test it's effectively seems that the u8 is linked to the nbMaxPlayer, but I must have forgotten something since when the byte is 0xFF the resulting value is "1/55". I'm gonna think about it in the following days even if I'm gonna have less time (XChristmas, ... well you know). Ho, by the way. Remember that ?
http://forum.gbadev.org/viewtopic.php?t=4447&postdays=0&postorder=asc&start=315
Can you or gladius, if he's there, just test the stuff2[16] thing for me.
Thanks again for your help.
Darkain wrote: |
i shoved all of the "data" sections of the 10 packets into an array w/ all MAC and NDS headers stripped, and then parsed the data from there. the first 32 bytes are pallete information. 16 unique 15-bit enteries. directly after the colors comes the tile data. from the looks of the mario icon, entry 0x0 represents transparent. this falls in perfectly with GBA sprites and backgrounds, much like pictochat tiles do. |
Just in case you didn't read this previous post:
http://forum.gbadev.org/viewtopic.php?t=4447&postdays=0&postorder=asc&start=300
Merry Christmas, and Happy new years to all of you. See you in one week !
_________________
Everyone in the world is my psy.
http://www.tinytoolz.com
#32294 - Tim Schuerewegen - Mon Dec 20, 2004 9:57 pm
Code: |
struct MultiBootPacketHeader
{
u8 stuff1[28];
u8 flagLastPacket;
u8 stuff2[2];
u8 packetID;
u16 crc;
u8 stuff3; //Seems to be linked to packetID
u8 nbPackets;
u16 dataLength;
}
|
The two last bytes (u16?) of stuff1 seems to be used by the DS to keep beacons from different games apart. At first my app was only sending the Mario 64 beacons, so only one game showed up on the DS. Then I added the Mr. Driller beacons to my app but using the "stuff1" data from Mario 64 which had a weird side-effect, the DS was combining beacons from both games into a single merged game. By changing either one bit (haven't tested all possible combinations) in byte [26] or [27] of stuff1, the DS will display two seperate games available for download and not the merged one.
Mario 64 = 0x0040 (u16)
Mr. Driller = 0x0000 (u16)
So for example, if you that 0x0040 from Mario 64 into 0x0000, then the DS will no longer be able to distinguish Mario 64 and Mr. Driller and will display a very funny merged game :)
Btw, that value actually also seems to be mirrored in 2 other places in "stuff1" but it has no effect on the effect described here.
#32296 - ghettron - Mon Dec 20, 2004 10:18 pm
Quote: |
So for example, if you that 0x0040 from Mario 64 into 0x0000, then the DS will no longer be able to distinguish Mario 64 and Mr. Driller and will display a very funny merged game :) |
You tricked it into merging the game icons? Thats sounds really cool. You should post a pic of that. Keep up the good work.
#32297 - Tim Schuerewegen - Mon Dec 20, 2004 11:03 pm
ghettron wrote: |
You tricked it into merging the game icons? Thats sounds really cool. You should post a pic of that. Keep up the good work. |
This is how it is supposed to look, two different games.
http://users.belgacom.net/bn845065/ds-merged-01.jpg
Here's the merged game. Exactly what is merged is random and depends on which packets were seen by the DS.
http://users.belgacom.net/bn845065/ds-merged-02.jpg
#32298 - ravuya - Mon Dec 20, 2004 11:08 pm
Now that's just weird-lookin'.
_________________
Rav (Win/Mac/Linux games for free)
#32301 - Tim Schuerewegen - Mon Dec 20, 2004 11:29 pm
tinycoder wrote: |
But thanks to your test it's effectively seems that the u8 is linked to the nbMaxPlayer, but I must have forgotten something since when the byte is 0xFF the resulting value is "1/55". |
The DS can only display 2 digits, and 0xFF (hex) is 255 (decimal) so...
tinycoder wrote: |
Can you or gladius, if he's there, just test the stuff2[16] thing for me. |
I hope you were referring to stuff2[2]? If so then changing those values has no effect on what the DS displays.
#32304 - Tim Schuerewegen - Mon Dec 20, 2004 11:47 pm
If you change following values the DS will *not* show the game.
stuff1[8] = 0x01
stuff1[9] = 0x00
I have tried this with stuff1[8] going from 0 to 15 (first test) and then stuff1[9] also going from 0 to 15 (second test). Both tests only displayed the game where the value pair was 0x01/0x00.
Update:
Bit 1 of stuff1[19] has to be 1 or else the DS will also not show the game.
#32310 - crazyc - Tue Dec 21, 2004 1:21 am
Quote: |
crazyc, if you are still out there, any progress? |
'Fraid not, been rather busy.
#32335 - Jsm - Tue Dec 21, 2004 4:25 am
Is this of any use ?
go here : http://www.fcc.gov/oet/fccid/help.html#examples
in the first 2 txt boxes (left of (Grantee Code only search)) enter:
BKE NTR001
then if you click on summary or details, there seems to be alot of stuff...
#32368 - Tim Schuerewegen - Tue Dec 21, 2004 2:12 pm
Here's a pictochat beacon coming from room D
Code: |
0000 80 00 00 00 ff ff ff ff ff ff 00 09 bf 0a 34 3c
0010 00 09 bf 0a 34 3c 10 00 c6 20 1c 00 00 00 00 00
0020 c8 00 21 00 01 02 82 84 03 01 07 05 05 fb 02 00
0030 00 00 dd 20 00 09 bf 00 0a 00 00 00 01 00 00 00
0040 00 00 00 00 01 00 08 01 c0 00 c0 00 48 23 3e 98
0050 03 01 04 00 |
Byte 0x50 is the room number (A=0 B=1 C=2 D=3)
Byte 0x51 is the number of people in the room (x/16)
The two bytes at 0x4E and 0x4F appear to be connected to the increasing number at 0x44.
The 802.11 channels used by pictochat are:
- Room A = Channel 1
- Room B = Channel 7
- Room C = Channel 13
- Room D = Channel 7
#32386 - wrath_child - Wed Dec 22, 2004 4:57 am
in regards to the fcc stuff in the test setup pics their are 2 pic that refer to an antenna port could this be a way to boost range and also what could that little card be sticking out the back?
heres the link
https://gullfoss2.fcc.gov/prod/oet/forms/blobs/retrieve.cgi?attachment_id=466890&native_or_pdf=pdf
#32397 - Tim Schuerewegen - Wed Dec 22, 2004 11:00 am
The "DS Download Play" menu only lists games when the beacons are broadcasted on one of the following channels.
1, 3, 4, 5, 7, 9, 10, 11, 13, 14
Beacons broadcasted on channels 2, 6, 8, 12 are ignored by the DS.
Update:
Added channel 14 to the list of supported channels.
Last edited by Tim Schuerewegen on Wed Dec 22, 2004 11:19 am; edited 1 time in total
#32398 - Darkain - Wed Dec 22, 2004 11:04 am
Tim Schuerewegen wrote: |
The "DS Download Play" menu only lists games when the beacons are broadcasted on one of the following channels.
1, 3, 4, 5, 7, 9, 10, 11, 13
Beacons broadcasted on channels 2, 6, 8, 12 are ignored by the DS. |
what about channel 14?
_________________
-=- Darkain Dragoon -=-
http://www.darkain.com
DarkStar for Nintendo DS
#32405 - PhoenixSoft - Wed Dec 22, 2004 12:07 pm
wrath_child wrote: |
what could that little card be sticking out the back? |
I'd say it's an official flash card loaded with a wireless communication test file.
#32430 - Tim Schuerewegen - Wed Dec 22, 2004 8:23 pm
Here are the 802.11 beacons from Ridge Racer DS:
http://users.belgacom.net/bn845065/nds-wmb-beacons-ridge-racer-ds.zip
(the above file was generated with custom software running on Windows XP using a Sweex 802.11g USB stick)
If anyone has the necessary harware/software to capture 802.11 traffic, and a DS game with "single cart multi-player" support that is *not* listed below, then please PM me.
- Mario 64 DS (US)
- Mr. Driller (JAP)
- Ridge Racer (US)
- Band Brothers (JAP)
Update:
Added Band Brothers (JAP) to the list.
#32571 - Tim Schuerewegen - Fri Dec 24, 2004 12:45 am
gladius wrote: |
I've been able to get Mario to think I have connected to it, and have gotten as far as sending my own name for my virtual DS across. I mostly did that to test my theories on the protocol, which seem to be mostly correct. |
I was able to associate with Ridge Racer DS. Now have to figure out what to do next. Wish I had two DS's to capture the multiboot traffic :)
#33119 - naikrovek - Thu Dec 30, 2004 11:09 pm
If any of you are in or near Peoria, Illinois, I'd be happy to meet up with you and provide a 2nd DS to help with the effort.
I wouldn't ship my DS anywhere or go anywhere without it (it is dear to me, lol) but I'd be happy to meet up with anyone who needed it to capture the traffic between two DSs.
#33144 - mymateo - Fri Dec 31, 2004 4:02 am
Same here. Anyone living near Penticton, B.C. Canada wanting a 2nd DS to capture with, I'd likely volunteer.
#33422 - GTsphere - Mon Jan 03, 2005 5:48 am
Tim Schuerewegen wrote: |
The reason why I think that the DWL-122 could also be used to communicate with the DS without driver is because 1) it's also USB and 2) it has *a* Prism chipset, which supposedly is documented very good. |
I recently just picked up a DWL-122 and it does work, at least for capturing packets & seeing the MAC in Netstumbler. The only thing I had to do is change the preamble mode strictly to short. (I did this in Windows XP). I'm now going to try the DWL-122 in Fedora Core 3, so hopefully I'll post some results.
As for the packet dump, it was while running SMB64DS, using Etheral in WindowsXP. It showed basic information like the DS usernames, but I'm still working on getting more information out of it. Any ideas?
#33712 - MadHarvey - Fri Jan 07, 2005 6:28 am
For the people modifying drivers to send packets to the DS, what exactly needs to be changed? I looked at gladius's madwifi drivers, and it seems that some of the 80211 encapsulation is eliminated?
I have a Zydas based adapter on my linux box. It has a very simple one source file driver that is easy to modify. I'd like to get up to where you guys are.
Also, 2.6 series kernels have a packet generator built in. It seems capable of producing custom MAC packets, although I've never used it.
#33731 - gladius - Fri Jan 07, 2005 7:21 pm
What needs to be modified is highly hardware/driver dependent. The way I went about it, which is a terrible hack, is to take any packets that are sent to the network interface, and put them directly on the wire.
Normally, 802.11 drivers encapsulate the packet in a data packet type, but this is not what we want for the DS. We need to be able to send management packets as well. If you can figure out how to add an ioctl() or similar that just puts packets directly on the wire, that would be great as well.
The best situation would be getting the hardware to think it is associated with the DS so it can send out hardware ACK's and retries. This requires technical documentation on the chipset unfortunately, as the protocol the DS uses has a few little extensions from the normal 802.11 connection process.
Unfortunately, the atheros chipset I use seems to overwrite key values of the sent packets with it's own hardware calculated values. I ordered a new wifi stick to try and figure out which values are modified, and the e-bay seller sent me one with a different chipset than the one I want (prism2). Yay e-bay.
#33740 - crazyc - Fri Jan 07, 2005 11:52 pm
Quote: |
I ordered a new wifi stick to try and figure out which values are modified, and the e-bay seller sent me one with a different chipset than the one I want (prism2). |
If you are trying to get a usb prism 2 adapter, I have a patch for hostap to fix tx of raw frames in monitor mode, and it should (although i haven't tried) work with usb devices, while airjack only works with pcmcia devices. Plus, hostap is a lot more stable.
#33759 - Kasten - Sat Jan 08, 2005 7:29 am
I've gotten lost in the large number of posts, so sorry if this has been asked before but where can i get packet dumper for windows? All the ones I've seen are for linux. I have a ZD1201 if that maders. And if possable how can I transmite packets?
#33769 - eric - Sat Jan 08, 2005 3:11 pm
Hi gladius,
gladius wrote: |
Unfortunately, the atheros chipset I use seems to overwrite key values of the sent packets with it's own hardware calculated values. |
That doesn't sound good. I just got a atheros card and was going to try to help out with the multiboot decoding.
Could it be that the closed source HAL conponent of the madwifi driver is altering your data? If that's the case you might be able to talk to one of the developers.
Should I bother setting up the atheros card or is it a lost cause?
Eric
#33771 - ozfunghi - Sat Jan 08, 2005 5:48 pm
hi,
i'm new here and got this link through the xlink forum. Since i'ts practically forbidden to open your mouth over there, i thought i'd come here. I've got some info and a question.
First, i have 4 wifi enabled pc's at my place; three of them found a signal sent by my DS (only have one). One of them was a Sweex pci card (802.11B realtek), another one was a Medion USb nic (802.11G), and the last one was a US robotics pci 802.11G card. My laptop didn't find anything (Toshiba portege 802.11B). I used netstumbler.
The two PCI cards found my DS while waiting for other players in SM64 VS play, these signals were the most clear. My USB nic didn't find anything here. All three did find my DS AFTER entering a chatroom in pictochat. None of them found anything using the download option in the main menu of the DS.
Most of the time my the DS was sending 2 Mbit per second, except for the US robotics pci card that received 3.5 instead of 2. This card also 'thought' to be able to see the DS AFTER i shut it down. It was also the only card that didn't give a channel number, and didn't have a green dot next to the mac adres, but a 'network'-kind of icon.
Maybe this may be usefull to some of you that are putting together a compatibility list, i don't know.
Anyway, for my question: IF the DS gets tunneled, may i assume i'm pretty safe with the wifi cards i have? I mean, at least ONE should work; right?
thanks...
M
#33773 - gladius - Sat Jan 08, 2005 8:09 pm
crazyc wrote: |
If you are trying to get a usb prism 2 adapter, I have a patch for hostap to fix tx of raw frames in monitor mode, and it should (although i haven't tried) work with usb devices, while airjack only works with pcmcia devices. Plus, hostap is a lot more stable. |
Yup, I'm going to get a usb prism2 adapter. I'll let you know when I pick it up. Any luck with DS comms with the hostap mod?
eric wrote: |
That doesn't sound good. I just got a atheros card and was going to try to help out with the multiboot decoding.
Could it be that the closed source HAL conponent of the madwifi driver is altering your data? If that's the case you might be able to talk to one of the developers.
Should I bother setting up the atheros card or is it a lost cause? |
Sure, setting it up would definitely not hurt! It might be you have a different chipset and it will magically work. Not likely, but who knows :).
Afaik, the HAL doesn't do any modification of packet data. That is right from the developers mouth, so unless that has changed recently, it's the hardware. I'm unsure as to which values it is modifying, and the values may be dependent on the packet type that is set when sending the packet. So I'm still quite hopeful it will work - I just need to find out what bytes the chipset is really putting onto the wire. Hence the ordering of wireless card #2. Now it looks like I'm going to be getting wireless card #3 :).
It might be possible to get the one I ordered into promisc. mode, but the linux drivers are completely borked, so it's pretty much useless from a dev standpoint.
#33774 - djemergency - Sat Jan 08, 2005 8:17 pm
GTsphere wrote: |
Tim Schuerewegen wrote: |
The reason why I think that the DWL-122 could also be used to communicate with the DS without driver is because 1) it's also USB and 2) it has *a* Prism chipset, which supposedly is documented very good. |
I recently just picked up a DWL-122 and it does work, at least for capturing packets & seeing the MAC in Netstumbler. The only thing I had to do is change the preamble mode strictly to short. (I did this in Windows XP). I'm now going to try the DWL-122 in Fedora Core 3, so hopefully I'll post some results.
As for the packet dump, it was while running SMB64DS, using Etheral in WindowsXP. It showed basic information like the DS usernames, but I'm still working on getting more information out of it. Any ideas? |
how do I setup short in xp?
_________________
DS Paparazzi!
Get Nintendo DS News:
When you want or how you want...
http://dspaparazzi.blogspot.com/
#33775 - crazyc - Sat Jan 08, 2005 8:42 pm
gladius wrote: |
Yup, I'm going to get a usb prism2 adapter. I'll let you know when I pick it up. Any luck with DS comms with the hostap mod? |
Yeah, it works fine, at least as much as was working before. It's a small patch, so I'll post it here. It's against hostap 0.2.5.
Code: |
diff -ru driver/modules/hostap_80211_tx.c driver/modules/hostap_80211_tx.c
--- driver/modules/hostap_80211_tx.c 2004-07-05 18:45:01.000000000 -0500
+++ driver/modules/hostap_80211_tx.c 2004-12-06 15:17:09.000000000 -0600
@@ -58,6 +58,8 @@
return 0;
}
+ if (local->iw_mode == IW_MODE_MONITOR) goto monitor;
+
if (local->ddev != dev) {
use_wds = (local->iw_mode == IW_MODE_MASTER &&
!(local->wds_type & HOSTAP_WDS_STANDARD_FRAME)) ?
@@ -216,6 +218,8 @@
memcpy(skb_put(skb, ETH_ALEN), &hdr.addr4, ETH_ALEN);
}
+monitor:
+
iface->stats.tx_packets++;
iface->stats.tx_bytes += skb->len;
diff -ru driver/modules/hostap.c driver/modules/hostap.c
--- driver/modules/hostap.c 2004-07-11 21:06:14.000000000 -0500
+++ driver/modules/hostap.c 2004-12-07 11:00:10.000000000 -0600
@@ -401,7 +401,7 @@
if (local->iw_mode == IW_MODE_REPEAT)
return HFA384X_PORTTYPE_WDS;
if (local->iw_mode == IW_MODE_MONITOR)
- return HFA384X_PORTTYPE_PSEUDO_IBSS;
+ return HFA384X_PORTTYPE_DEBUG;
return HFA384X_PORTTYPE_HOSTAP;
}
diff -ru driver/modules/hostap_ioctl.c driver/modules/hostap_ioctl.c
--- driver/modules/hostap_ioctl.c 2004-10-03 18:20:57.000000000 -0500
+++ driver/modules/hostap_ioctl.c 2005-01-08 13:26:52.000000000 -0600
@@ -1045,7 +1045,7 @@
hostap_monitor_set_type(local);
if (hostap_set_word(dev, HFA384X_RID_CNFPORTTYPE,
- HFA384X_PORTTYPE_PSEUDO_IBSS)) {
+ HFA384X_PORTTYPE_DEBUG)) {
printk(KERN_DEBUG "Port type setting for monitor mode "
"failed\n");
return -EOPNOTSUPP;
diff -ru driver/modules/hostap_wlan.h driver/modules/hostap_wlan.h
--- driver/modules/hostap_wlan.h 2004-09-26 01:14:17.000000000 -0500
+++ driver/modules/hostap_wlan.h 2004-12-06 15:19:49.000000000 -0600
@@ -448,7 +448,7 @@
enum { HFA384X_PORTTYPE_BSS = 1, HFA384X_PORTTYPE_WDS = 2,
HFA384X_PORTTYPE_PSEUDO_IBSS = 3, HFA384X_PORTTYPE_IBSS = 0,
- HFA384X_PORTTYPE_HOSTAP = 6 };
+ HFA384X_PORTTYPE_DEBUG = 5, HFA384X_PORTTYPE_HOSTAP = 6 };
#define HFA384X_RATES_1MBPS BIT(0)
#define HFA384X_RATES_2MBPS BIT(1)
|
#33793 - GTsphere - Sun Jan 09, 2005 4:37 am
djemergency wrote: |
how do I setup short in xp? |
Okay in XP first make sure you installed the drivers that came with the DWL-122 (on the CD). I don't think hacked drivers will work with this, but who knows. Anyways, then bring up Network Connections and then right click on the wireless network connection and go to properties.
Inside of there, click 'Configure' for your WiFi NIC. Then go to the tab that says "Advanced". Inside of there you should see an option for Preamble mode. Change it to Short.
That should setup the DWL-122 for short preamble mode in XP.
Fire up netstumbler and it should see the DS. Also Ethereal, the WinXP build, works great. No special drivers needed. So far I have dumped both of my DS's playing Metriod Prime together for roughly 10 minutes. I have also done SMB64DS with both DS's as well. Parts of the dumps show, in plain text, the name of the DS and a few other things. If I was infront of my laptop I would post the findings, but I'm currently at work. I will try to do this asap for anyone who is interested.
Also, I noticed this and maybe someone else has. When using Pictochat between two DS's, and sniffing with Ethereal, I was unable to pick up certain chat rooms. For instance, if I used the first chat room I could not see any packets at all using the DWL-122. But if I used the 3rd Chat Room, I would capture roughly 700+ packets/s. Anyone else see this? I am assuming that this is probably because of the channels that the rooms use.
As for using the DWL-122 in Fedora Core 3, the lights come on at first so the device does get power through the USB. Then using NDISwrapper to install the drivers works, and FC3 can see the device and it will notice once the device is unplugged. But doing a modprobe ndiswrapper either sits there for ever and then freezes the entire system or dumps a random error. After dumping the error, doing a modprobe again then freezes the system. Interesting, eh?
I hope this helps out.
#33795 - dagamer34 - Sun Jan 09, 2005 5:10 am
Since TeamXLink seems to have had success with a USB internet adapter with the Zydas chipset though only available in the UK (the Sweex one Tim was using), I have also found a USB adapter with the same chipset available in the US for a cheap price of $15.
Fact sheet: http://www.airlinkplus.com/wireless/awll3025.htm
Fry's Online: http://shop1.outpost.com/category/Outpost/Networkingtab/Wireless+Networking/Wireless+USB+Adapters/?site=sr:SEARCH:MAIN_RSLT_PG
If anyone has $15+ to spare for testing a relatively cheap USB adapter, this is the one to get. If this one works especially in our efforts, it would be a lot easier on everyone because of it's cheap price.
_________________
Little kids and Playstation 2's don't mix. :(
#33800 - rubburner - Sun Jan 09, 2005 8:24 am
dagamer34, i have the airlink usb card you're talking about. I can see the ds in netstumbler, but i'm not too sure if this is what you're looking for. I'm a newbie to this stuff so I'm not sure what you wanted to test. If this information is of no help, i apologize for the space i'm taking up! btw, you guys are the GREATEST!
#33804 - MadHarvey - Sun Jan 09, 2005 11:01 am
I also have a zydas based adapter made by Zonet. It was around $15. It uses the zd1201 chipset. I have modified the linux driver to put skbs directly into the usb pipe without altering them, and have added functionality for setting short preamble as well. I can see the DS in airsnort...
Using Gladius's software, I still cannot make the DS acknowledge my beacons or anything, but I'm still messing around with the driver.
Is it important to be in monitor mode when sending the packets? My card doesn't seem work well after changing the driver to allow it to transmit in monitor mode.
Is it important to be in Master (ap) mode? I would think that we would want the card sending out its own management packets, so I would guess we shouldn't be in Master mode.
I
#33806 - netdroid9 - Sun Jan 09, 2005 11:43 am
If the management packets aren't required or no damage occurs without them enabled, just turn them off and see if it makes a difference. You want direct access to the wifi hardware without all the normal packets.
#33815 - crazyc - Sun Jan 09, 2005 5:34 pm
Quote: |
Using Gladius's software, I still cannot make the DS acknowledge my beacons or anything, but I'm still messing around with the driver. |
Check those packets with another computer. Orinoco clone (the zd1201 appears to be one) firmwares seem to like to mangle packets. Newer Prism2 firmwares don't corrupt beacons any more, but still "fix" sequence numbers, timestamps and will silently send retries if not explicitly told not to. It's probably not a big deal, but it's still annoying that the frames I want transmitted are being modified.
#33841 - k1ckme - Sun Jan 09, 2005 10:02 pm
Has anybody had any luck with linksys wireless usb adapters?
I was able to pick up the ds (009bf65fe95) with net stumbler . I'm pretty sure this is the nintendo because I did the look up option on it and it come's up with this.
Quote: |
00-09-BF (hex) Nintendo Co.,Ltd.
0009BF (base 16) Nintendo Co.,Ltd.
11-1 HOKOTATE-CHO
KAMITOBA, MINAMI-KU
KYOTO 601-8501
JAPAN
|
I haven't had any luck with etheral though , probably because I can't figure out what the hell im doing in it. ;)
#33845 - k1ckme - Sun Jan 09, 2005 10:41 pm
sorry for repaeting the information I just read thrugh the whole topic I only had read 25 before.
#33847 - Tim Schuerewegen - Sun Jan 09, 2005 10:57 pm
k1ckme wrote: |
sorry for repaeting the information I just read thrugh the whole topic I only had read 25 before. |
Thank you very much for these three useless posts :)
#33850 - crazyc - Sun Jan 09, 2005 11:26 pm
Quote: |
It might be possible to get the one I ordered into promisc. mode, but the linux drivers are completely borked, so it's pretty much useless from a dev standpoint. |
What chipset is it?
BTW, I've been playing with an acx100 chipset device and it seems to work fairly well for ds comms. If anyone is interested, i can post a patch for the linux driver.
BTW2, does any have a raw dump of pictochat handshaking?
#33859 - gladius - Mon Jan 10, 2005 2:36 am
crazyc wrote: |
Quote: | It might be possible to get the one I ordered into promisc. mode, but the linux drivers are completely borked, so it's pretty much useless from a dev standpoint. |
What chipset is it?
|
It's an SiS 162u. Usb 2.0, with support for 802.11b only. Nice little card other than the fact I have to use ndiswrapper to get it going in linux.
crazyc wrote: |
BTW, I've been playing with an acx100 chipset device and it seems to work fairly well for ds comms. If anyone is interested, i can post a patch for the linux driver.
BTW2, does any have a raw dump of pictochat handshaking? |
I do not have a dump of pictochat handshaking currently, but I can grab one in a day or so. Did you check Darkain's site? I'm not sure if he has any raw pictochat dumps though.
#33882 - eric - Mon Jan 10, 2005 1:37 pm
Hi Gladius,
I'm running your crccalc.c app with my atheros card. I get about 3 seconds of downloading then it disconnects with a communications error.
I'm using a netgear WG311T which has the atheros AR5002G chipset inside.
I don't seem to be able to see beacon packets though. I'm using kismet for packet capture. Is there any special trick required to capture DS beacon packets?
When I do a multiboot transfer with Mario, Kismet detects the first packet only after I hit the "Touch to start" button on the sender DS.
Eric
#33896 - gladius - Mon Jan 10, 2005 11:41 pm
eric wrote: |
I'm running your crccalc.c app with my atheros card. I get about 3 seconds of downloading then it disconnects with a communications error.
I'm using a netgear WG311T which has the atheros AR5002G chipset inside.
I don't seem to be able to see beacon packets though. I'm using kismet for packet capture. Is there any special trick required to capture DS beacon packets?
When I do a multiboot transfer with Mario, Kismet detects the first packet only after I hit the "Touch to start" button on the sender DS. |
I haven't updated the programs on the site in a while, so I'm not sure what is happening with crccalc.c, but 3 seconds sounds about right for the client DS to assume the host is messed up after getting all the beacons, and then having the host fail to associate with the DS.
The program right below will attempt to associate with the DS (and fails on my card). Give that one a try.
To see the beacon packets, you'll need to be in monitor mode, and listening on the appropriate channel. Sometimes Mario is on different channels other than 1. Other than that I'm not sure why you wouldn't be seeing them.
#33899 - MadHarvey - Mon Jan 10, 2005 11:55 pm
Quote: |
I don't seem to be able to see beacon packets though. I'm using kismet for packet capture. Is there any special trick required to capture DS beacon packets?
|
I don't know why, but I can't use kismet to capture DS packets either. Give Ethereal a shot, it works very well for me. Airsnort also works, but not as nice since its mainly used for decryption rather than analysis
#33947 - eric - Tue Jan 11, 2005 2:20 pm
gladius wrote: |
I haven't updated the programs on the site in a while, so I'm not sure what is happening with crccalc.c, but 3 seconds sounds about right for the client DS to assume the host is messed up after getting all the beacons, and then having the host fail to associate with the DS.
The program right below will attempt to associate with the DS (and fails on my card). Give that one a try.
|
It still seems to lock up after about 3 seconds. There appears to be a slight pause between the 14 byte & 30 byte response packets.
Here's the output.
Code: |
Recieved auth packet, size 34
Got association request, size 70.
Got ACK for ASSOC. response, assuming DS connected.
Beginning Multiboot handshaking...
Got ACK packet: 1, d, length 14
Got ACK packet: 1, d, length 14
Got ACK packet: 1, d, length 14
Got ACK packet: 1, d, length 14
Got ACK packet: 1, d, length 14
Got ACK packet: 1, d, length 14
Got ACK packet: 1, d, length 14
Got ACK packet: 1, d, length 14
Got ACK packet: 1, d, length 14
Got unk packet: 0, c, length 30
Got unk packet: 0, c, length 30
Got unk packet: 0, c, length 30
Got unk packet: 0, c, length 30
Got unk packet: 0, c, length 30
Got unk packet: 0, c, length 30
Got unk packet: 0, c, length 30
|
MadHarvey wrote: |
I don't know why, but I can't use kismet to capture DS packets either. Give Ethereal a shot, it works very well for me. Airsnort also works, but not as nice since its mainly used for decryption rather than analysis
|
Thanks for the tip MadHarvey. Ethereal works nicely. I can see the beacons now.
I think Kismet is trying to throw out bad or miss-read packets. It might be getting confused with DS packet data.
#33959 - gladius - Tue Jan 11, 2005 5:52 pm
Well, the good news is that it is managing to authenticate with your chipset as well. So that's good. However, the bad news is that it fails at the same point mine does, in the Assoc. response. The client DS doesn't actually send a specific message back after an Assoc. response, it just sends a normal small ACK. However, it also sends a normal small ACK to packets it doesn't understand, but are addressed to it. So your chipset is having the same problem that mine does.
If you have another wireless card that can sniff the traffic, sniffing the attempt to set up would be very useful so we can find out what the Atheros is mangling. I'm about to get wireless card #3 for that purpose :).
Edit: I've uploaded the new version of the code that I'm currently using. Feel free to give that a try. The DS won't disconnect now during the send process, but it still won't boot. There is also code in there for connecting to a DS that it advertising a multiboot game (only tested with mario so far). This works intermittently on my card, about 5% of the time.
#33990 - gladius - Wed Jan 12, 2005 3:55 am
Well, I have some good and bad news. The DWL-122 I just got works great as a sniffer, and the Atheros only modifies the sequence number of the packet it sends. I've also figured out what was going wrong before, the card would keep resending packets automatically as it thought it hadn't recieved a reply. Fixed that, and a few other little things, but still no luck.
#34112 - iball - Thu Jan 13, 2005 6:55 pm
Hi gang, long time lurker, first time poster.
We have this new $25,000 gizmo at work called a Fluke OptiView Series II Integrated Network Analyzer that also does wireless sniffing duties.
It's pretty hardcore and not only does capture but decode. It also recognizes the first 6 digits of the MAC address as "Ninten".
It captures EVERYTHING. I was only able to play around with it and the DS for a few minutes the other day, but I plan on taking it home to do some "research" with two DS systems to try to capture and decode as much as I can of Ridge Racer downloads and Mario 64 downloads.
Once I get some good data, I'll try and post it here.
#34125 - darkfader - Thu Jan 13, 2005 10:22 pm
<deleted>
Last edited by darkfader on Tue Mar 01, 2005 8:38 pm; edited 1 time in total
#34128 - mtg101 - Thu Jan 13, 2005 10:47 pm
iball wrote: |
Hi gang, long time lurker, first time poster.
We have this new $25,000 gizmo at work called a Fluke OptiView Series II Integrated Network Analyzer that also does wireless sniffing duties.
It's pretty hardcore and not only does capture but decode. It also recognizes the first 6 digits of the MAC address as "Ninten".
It captures EVERYTHING. I was only able to play around with it and the DS for a few minutes the other day, but I plan on taking it home to do some "research" with two DS systems to try to capture and decode as much as I can of Ridge Racer downloads and Mario 64 downloads.
Once I get some good data, I'll try and post it here. |
Wow - that's some serious kit. So... everyone who's trying to crack DS wireless, what info would be useful to you from this sort of kit? If you ask iball nicely you might get a trove of information posted here!
_________________
---
Speaker for the Dead
#34130 - iball - Thu Jan 13, 2005 11:21 pm
Yeah, just what is missing from the info gathered in this thread so far?
And my work is in the info-sec field anyway, so this is pretty much standard kit for me to find unauthorized APs and walk them down.
What I'll do is just capture all the traffic between both DS's since the Fluke can "lock-in" on which stations (DS's in this case) you wish to capture the traffic. I'll probably just save it all in a raw packet dump everyone can open in Ethereal or something. Plan to run Ridge Racer in multiplayer one-cart mode to try to capture the entire download to another DS. Of course, since the carts themselves are using RSA encryption (look at the back of the DS) I don't know if the RSA chips are embedded in the DS itself or just the cart so that the entire download is also encrypted and decrypted on the fly on the guest DS itself. Good way to find out I guess.
Also played around with pictochat a little and found that when sending anything (tap "SEND") it DOES toss it out over the air, but I didn't have enough time to do a proper capture and decode session.
More to follow after I start working on it this weekend.
Now, what do people want me to capture? I mave SM 64, Ridge Racer, Asphalt, and the Metroid demo of course. But I'm first starting with the Ridge Racer download capture.
#34131 - iball - Thu Jan 13, 2005 11:24 pm
Oh yeah, the Fluke seems to use it's own "branded" Wi-Fi PCMCIA card. I'll try to hunt down who the REAL manufacturer is and post that here so you guys can get the same brand of card.
It's 802.11b/g compatible. Will have to find out the chipset used in it for you laptop people, or those with PCMCIA readers in their PC boxen.
#34135 - ecurtz - Fri Jan 14, 2005 12:08 am
iBall I think you're starting in the right place. Any single cart downloads are great, as would be a complete login, message back and forth, logout sequence in pictoChat. Several people are close on sending Mario and pictoChat, but knowing the captures were totally complete would be nice. I've personally mostly looked at pictoChat, and haven't been able to catch it "logging in" to the room, so I don't know how it identifies the user names (it keeps track of the joined MACs, but doesn't seem to resend the text names.)
So far the wireless transfers do not seem to be encrypted at all. That appears to be only the cartridge interface itself.
#34153 - Scha - Fri Jan 14, 2005 10:28 am
It might not log inn at all. Just transmiting the message without caring who gets it and not. And just displaying every message it picks up.
Scha :D
#34157 - NoMis - Fri Jan 14, 2005 11:00 am
But it displays the username for each message, wich could be part of the image. But it also has a couple of rooms and each room has a user limit so there must be a login somewhere.
NoMis
#34167 - ecurtz - Fri Jan 14, 2005 5:47 pm
The image transfer format is known and doesn't include the name. The room beacons list all the MAC addresses, but no names, so there has to be some way that it learns the names of the other chatters. The obvious place for this to be broadcast is when you join a new chatroom, but I haven't found this in any of the pictoChat captures people have posted, and I only have one DS for testing.
Last edited by ecurtz on Sat Jan 15, 2005 12:22 am; edited 1 time in total
#34177 - Darkain - Fri Jan 14, 2005 10:52 pm
i'll have the second DS again in a few hours, i could possibly dump a few more things then.
_________________
-=- Darkain Dragoon -=-
http://www.darkain.com
DarkStar for Nintendo DS
#34237 - Edude - Sun Jan 16, 2005 3:54 am
so if its wifi then is it possible to send roms to it via the download an play function? it would be great for people who write games. does anybody know what type of mem it has avalibe for download and play i gotta get ma ds and try programing
#34238 - netdroid9 - Sun Jan 16, 2005 3:55 am
We CAN'T download-play yet (I think).
#34243 - Darkain - Sun Jan 16, 2005 5:36 am
i'll give ya a hint... the answere is 27 pages long. start reading. ;)
_________________
-=- Darkain Dragoon -=-
http://www.darkain.com
DarkStar for Nintendo DS
#34250 - eric - Sun Jan 16, 2005 3:04 pm
Hi Gladius,
gladius wrote: |
Edit: I've uploaded the new version of the code that I'm currently using. Feel free to give that a try. The DS won't disconnect now during the send process, but it still won't boot. There is also code in there for connecting to a DS that it advertising a multiboot game (only tested with mario so far). This works intermittently on my card, about 5% of the time. |
I was playing around with your dsmultiboot.c app. I added a small function that logs all packets sent/received into a pcap file.
This works well in itself but causes the DS handshaking to fail most of the time.
I guess the current code is quite time critical at the moment.
I wouldn't have thought pcap logging would cause too much overhead though. :-(
Here's the pcap logging mod.
http://nuvie.sourceforge.net/temp/pcap.patch
Eric
#34255 - CoolkcaH - Sun Jan 16, 2005 4:16 pm
Have a look at this:
http://www.teamxlink.co.uk/forum/viewtopic.php?t=6715&sid=05414117a842d9c3d390f8cd25f9f2cb
http://www.teamxlink.co.uk/binary/misc/2ds_log.rar
"Use Etherereal or whatever to view it. Spot the super-evil auth / assoc in there?
TD"
This is what everyone is looking for ; )
#34257 - Tim Schuerewegen - Sun Jan 16, 2005 4:25 pm
CoolkcaH wrote: |
This is what everyone is looking for ; ) |
The authentication/association ACK's (D4 ...) are missing.
#34260 - gladius - Sun Jan 16, 2005 5:55 pm
eric wrote: |
I was playing around with your dsmultiboot.c app. I added a small function that logs all packets sent/received into a pcap file.
This works well in itself but causes the DS handshaking to fail most of the time.
I guess the current code is quite time critical at the moment. |
Yes the code is currently quite time critical. In fact, that is the reason I think it is not connecting properly to the DS'es right now. The timing when I see two DS'es locally connect is very similar every time. And now that I updated the drivers, I can finally get past the assoc. request. But it connects very infrequently again, and then loses connection after a few hundred packets usually. I'm wondering if the code won't have to be in the driver itself, so it can be much more time exact. Currently I'm noticing some rather large delays when sending data to the Atheros driver.
I'll put up the new stuff when I have time to go into Linux. I've been quite busy in the past week, and don't anticipate I'll have much time to work on this for a few weeks.
#34298 - Darkain - Mon Jan 17, 2005 9:21 am
http://ds.darkain.com/hack/0005.jpg
just been playing around w/ the beacons today. :)
(no, it doesnt load anything... i was playing around with the BEACONS)
_________________
-=- Darkain Dragoon -=-
http://www.darkain.com
DarkStar for Nintendo DS
#34310 - ghettron - Mon Jan 17, 2005 5:02 pm
Good work Darkain. Cool Stuff.
#34311 - RiZeUp - Mon Jan 17, 2005 5:51 pm
Hey Tim,
Is there a way I could take a look at your current work?
I have a Zydas based USB stick(iNexQ UR055g) and I thought I could maybe help out with the little knowledge I might have.
_________________
~RiZeUp
#34355 - eric - Tue Jan 18, 2005 2:17 pm
Hi Guys,
I'm starting to look into the DS multiboot handshaking sequence. I was wondering if anyone has any ideas on what the last four bytes in each DS packet are for? Do you think they could be some type of packet signing? Maybe the DS will only multiboot with a device that can generate these four byte codes corectly.
These bytes have me a little scared.
Here's an example response packet from the DS. Please disregard the first 0x90 bytes as they are the prism monitoring header.
Code: |
0000 44 00 00 00 90 00 00 00 61 74 68 30 00 00 00 00 D....... ath0....
0010 00 00 00 00 00 00 00 00 44 00 01 00 00 00 04 00 ........ D.......
0020 c5 2b 02 00 44 00 02 00 00 00 04 00 a5 7c 0d de .+..D... .....|..
0030 44 00 03 00 00 00 04 00 01 00 00 00 44 00 04 00 D....... ....D...
0040 00 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 ........ ........
0050 00 00 00 00 44 00 06 00 00 00 04 00 2b 00 00 00 ....D... ....+...
0060 00 00 00 00 00 00 00 00 00 00 00 00 44 00 08 00 ........ ....D...
0070 00 00 04 00 04 00 00 00 44 00 09 00 00 00 04 00 ........ D.......
0080 00 00 00 00 44 00 0a 00 00 00 04 00 26 00 00 00 ....D... ....&...
0090 18 11 f0 00 00 09 bf 64 1d 55 00 09 bf 45 50 7d .......d .U...EP}
00a0 03 09 bf 00 00 10 40 00 04 81 07 01 45 00 72 00 ......@. ....E.r.
00b0 69 00 62 91 32 17 i.b.2.
|
Another quick question. Does anyone know how to capture in ethereal without inserting the prism headers?
Eric
#34360 - Tim Schuerewegen - Tue Jan 18, 2005 2:46 pm
eric wrote: |
I was wondering if anyone has any ideas on what the last four bytes in each DS packet are for? Do you think they could be some type of packet signing? |
Those four bytes make up the 802.11 "Frame Check Sequence" (32 bit CRC) field.
(summary)
http://www.zytrax.com/tech/wireless/802_mac.htm
(detailed)
http://standards.ieee.org/getieee802/802.11.html
#34540 - jstart - Fri Jan 21, 2005 4:16 am
Hey i finally read through this post and have learned alot but most of you are using Windows and im a mac guy
I was just wondering before I go out and buy wireless cards and stuff
All I need is basically a wireless card and kismac right?
Or am i missing alot?
#34543 - dagamer34 - Fri Jan 21, 2005 4:44 am
jstart wrote: |
Hey i finally read through this post and have learned alot but most of you are using Windows and im a mac guy
I was just wondering before I go out and buy wireless cards and stuff
All I need is basically a wireless card and kismac right?
Or am i missing alot? |
Not just any wireless card will work as many are incapabale of sending out raw unaltered 802.11 frames.
_________________
Little kids and Playstation 2's don't mix. :(
#34544 - sandymac - Fri Jan 21, 2005 4:44 am
jstart wrote: |
I was just wondering before I go out and buy wireless cards and stuff All I need is basically a wireless card and kismac right? |
If you want to capture traffic then sure. Check out http://forum.gbadev.org/viewtopic.php?p=34337#34337
If you want to broadcast traffic to the DS you're going to need to write your own code. It'd be great if you took the KisMAC source and altered it to work as a tool to send DS traffic. I'm pretty sure the needed functions are there to send raw 802.11 frames.
_________________
"He who dares not offend cannot be honest." -- Thomas Paine
#34547 - jstart - Fri Jan 21, 2005 5:28 am
Thanks but from what ive heard an airport card wont work should i get a usb one or something anyone know good mac compatible ones?
#34553 - Darkain - Fri Jan 21, 2005 8:11 am
i been busy w/ class lately... but hey, i think i got a little bit further on the wireless. the DS wont drop my connection anymore. i made it past auth and assoc now. i'm gonna start on the actual WMB download now.
_________________
-=- Darkain Dragoon -=-
http://www.darkain.com
DarkStar for Nintendo DS
#34554 - sandymac - Fri Jan 21, 2005 8:21 am
jstart wrote: |
Thanks but from what ive heard an airport card wont work should i get a usb one or something anyone know good mac compatible ones? |
I got a cheap USB one (Syntax USB-400) for about $15. The KisMAC site has a nice list of compatible nics. See the previously linked post for links.
_________________
"He who dares not offend cannot be honest." -- Thomas Paine
#34565 - jstart - Fri Jan 21, 2005 6:15 pm
I found the syntax at ecost.com but it syas its only windows compatible
It says Drivers:Windows 98SE/2000/ME/XP
Does it work on Mac anyway or what?
#34601 - kraka40 - Sat Jan 22, 2005 3:03 am
I've been looking into getting multiboot.c to compile on macos as well. It looks like it may not be a wireless card issue as much as a kernel library one.
The code on linux uses the packet() library that is unique to linux. There isn't anything quite like it on a bsd based os. I am about 5-10 years from my C programming / UNIX hacking past so my skills are weak here .. I'd be eager to hear what others have done to help out in this effort on the macos platform.
#34606 - jstart - Sat Jan 22, 2005 3:50 am
I haven't done much yet because i need a wireless card
I know ive said this a few times but does anyone know which usb wireless things are for mac
#34608 - ecurtz - Sat Jan 22, 2005 4:27 am
I've started playing with the KisMac source, but I can't get my aging Windows box to sniff packets, so I'm not sure how close to working my beacon sends are.
jstart - I'm using a DWL-122, which is a prism2 based usb receiver. They are relatively cheap, and the prism2 drivers are popular, however I can't guarentee you can do anything more than sniff with it (that works well.)
- eli
#34609 - jstart - Sat Jan 22, 2005 4:32 am
Alright ill get the DWL-122 and start workin
Im glad there are some Mac hackers out there in the vast Windows world
:)
#34617 - kraka40 - Sat Jan 22, 2005 4:25 pm
Does anyone have exp. w/ the Cisco Aironet card and KisMac .. I'm having a hell of a time getting it to work. I keep getting an unable to associate error.
#34637 - sandymac - Sun Jan 23, 2005 2:38 am
kraka40 wrote: |
Does anyone have exp. w/ the Cisco Aironet card and KisMac .. I'm having a hell of a time getting it to work. I keep getting an unable to associate error. |
Downgrade the firmware. Newer firmwares change things such that third party programs that try to directly interact with the hardware fail.
_________________
"He who dares not offend cannot be honest." -- Thomas Paine
#34641 - quonic - Sun Jan 23, 2005 4:45 am
I have not read the entire thread but I believe the resson some chips can not listen to the DS. Is It is possible that the DS modulates its freq. at a different. Resulting in the questions "Why does my wireless nic card not detect my DS?"
On second thought it might be the drivers that modulate the frequency, or maby not. I'm just speculating on what me and my father had talk over regarding how the DS communicates.
EDIT: corrected misspellings :P
_________________
Comming Soon: http://www.spyingwind.com
#34645 - octopusfluff - Sun Jan 23, 2005 5:30 am
quonic wrote: |
I have not read the entire thread but ...
|
(trimmed for brevity)
I highly recommend you go back and read the whole thread.
#34651 - Darkain - Sun Jan 23, 2005 9:07 am
ugh... first posters... please, READ THE THREAD, instead of posting "i havnt read the thread, but have XYZ theory"
we have a krap load of theories running around why people can/cant see the DS.
_________________
-=- Darkain Dragoon -=-
http://www.darkain.com
DarkStar for Nintendo DS
#34658 - eric - Sun Jan 23, 2005 2:50 pm
Hi Guys,
I've been playing around with Gladius's multiboot.c program over the weekend.
I can get past the Association request/response but get stuck on the beginnings of the data transfer.
I've modified the program to insert the frame crc after each packet and that seems to work fine.
The problem I'm having is when I send the data + CF Poll packet I only get an ack back from the DS not the Data + Ack which I see when sniffing the two DS's talking together.
Here's the data packet I'm sending and the ack I get back.
Data packet:
Code: |
0000 28 02 00 02 03 09 bf 00 00 00 00 09 bf 64 1d 55 (....... .....d.U
0010 00 09 bf 64 1d 55 90 05 06 01 02 00 03 11 01 00 ...d.U.. ........
0020 00 00 00 00 00 00 52 12 97 b6 ......R. ..
|
Ack packet:
Code: |
0000 d4 10 00 00 00 09 bf 64 1d 55 12 93 02 fa .......d .U....
|
The DS will ack these data packets for a while but eventually it will stop responding.
Here's the packet dump from auth to lack of response. It's in ethereal libpcap format.
http://nuvie.sourceforge.net/temp/multiboot_sample.data
This was just reconstructed from packets I think I'm sending. I haven't got a second wireless card yet so I can't see what the atheros card is really sending to the DS.
Any thoughts or suggestions?
Eric
#34679 - kraka40 - Mon Jan 24, 2005 1:28 am
sandymac wrote: |
kraka40 wrote: | Does anyone have exp. w/ the Cisco Aironet card and KisMac .. I'm having a hell of a time getting it to work. I keep getting an unable to associate error. |
Downgrade the firmware. Newer firmwares change things such that third party programs that try to directly interact with the hardware fail. |
Thanks that did it (after downgrading two revs on the aironet card). Now on my powerbook I can capture DS packets and analyze with ethereal. Very nice. Now to do this programmatically. If anyone has ANY code snippets that work on MacOS please post them or a link.
Thx
#34701 - quonic - Mon Jan 24, 2005 4:38 pm
octopusfluff wrote: |
quonic wrote: | I have not read the entire thread but ...
|
(trimmed for brevity)
I highly recommend you go back and read the whole thread. |
I just spent the last 2 hours reading this 28 page thread, by your recomendation. and my therory on the type of modulations used by different WLAN devices still hold some mustard.
http://www.sweex.com/product.asp?pId=285
^^
This site show the modulations that this paticular device can listen to.
"Modulation: 802.11g OFDM, 802.11b CCK, DQPSK, DBPSK"
Thanks to darkains' web site for leading me to this site.
Also here is a reference to the 802.11g OFDM Modulation:
http://www-106.ibm.com/developerworks/wireless/library/wi-ieee.html
_________________
Comming Soon: http://www.spyingwind.com
#34702 - kraka40 - Mon Jan 24, 2005 4:57 pm
.. for the MACOS hackers out there here is a link to sample code from Apple for reading and writing raw ethernet packets
haven't had a chance to look through it enough, but I'm sure this will help as they are using the AF_NDRV routines that I have started playing with for reading/writing raw packets on darwin.
http://developer.apple.com/samplecode/BSDLLCTest/BSDLLCTest.html
#34733 - Darkain - Tue Jan 25, 2005 5:59 am
ok, question... who is still workin on nifi hacking that has transmission abilities?
basically, im stuck *again*. right after the auth+assoc process, there is what looks like a layer 3 handshaking process. im trying to initiate this with the client DS, but it wont even respond to the first packet i send out. i noticed that the destination address was 03:09:BF instead of 00:09:BF for these packets... i switched mine over to match, and still no go.
any ideas?
_________________
-=- Darkain Dragoon -=-
http://www.darkain.com
DarkStar for Nintendo DS
#34735 - Darkain - Tue Jan 25, 2005 6:49 am
hmmm, it appears as tho those next few packets are a power management handshaking process. i found the problem too... GO DRIVERS THAT DONT OUTPUT WHAT I WANT THEM TO!!! wee!!
bytes 0x02-0x03 of 802.11 header: http://www.javvin.com/protocolWLAN.html Quote: |
Duration/ID (ID) -
* Station ID is used for Power-Save poll message frame type.
* The duration value is used for the Network Allocation Vector (NAV) calculation. |
in the packets i initially captured, the value is always as 0x00 0x02, but when i try and retransmit that value, im capturing 0x00 0x00. since this is power saving stuff, the value is an ID, not a DURATION.
Tim, you think this could be fixed up at all within the drivers?
_________________
-=- Darkain Dragoon -=-
http://www.darkain.com
DarkStar for Nintendo DS
#34749 - eric - Tue Jan 25, 2005 2:35 pm
Darkain wrote: |
ok, question... who is still workin on nifi hacking that has transmission abilities?
basically, im stuck *again*. right after the auth+assoc process, there is what looks like a layer 3 handshaking process. im trying to initiate this with the client DS, but it wont even respond to the first packet i send out. i noticed that the destination address was 03:09:BF instead of 00:09:BF for these packets... i switched mine over to match, and still no go.
any ideas? |
I'm stuck after the assoc response handshake too. I think in my case I'm not calculating the correct crc for the Data + CF-Poll packet. I don't have a second wireless card to sniff my connection at the moment so my progress is rather slow. The DS responds to my packs with a small ack. Not the data + ack that is required. :(
I might see if I can turn off the sequence number logic in the mad_wifi driver. Another option might be to get the driver to append the correct crc32 value before the packet goes on the wire. I'm calculating the crc in userspace ATM which will be incorrect if the driver changes any info in the packet before sending.
Eric
#34766 - gladius - Tue Jan 25, 2005 9:49 pm
Well, good to hear people are still banging away on this. eric, the atheros hardware automatically adds the crc to the packets from what i've seen. If you are adding your own crc, you are simply putting an extra 4 bytes of bad data on the end of the packet. Try taking the CRC calculation out. Also, the sequence number is hardware controlled, I haven't been able to find a hardware switch for it either.
I've finally gotten around to posting my source for connecting to the DS (along with the modified drivers). Unfortunately, as I stated before it is very flaky and appears to be quite timing dependent, I haven't been able to get past a few hundred packets exchanged. And most of those are retries. Have at it though, and good luck :).
The modified madwifi drivers do not modify anything except for the sequence number, and this is controlled by hardware, but this appears to not matter (it might of course, but as I've been able to connect without fixing it, I'm ignoring it for now).
Also, I have disabled hardware retry/acks in the new driver when sending packets, which is what allowed the progress to be made.
http://members.fortunecity.com/infinityhq/dsdev/dsdev.html for the newest source.
#34802 - eric - Wed Jan 26, 2005 2:28 pm
Hi Gladius,
I tried your modified driver and source code. I still seem to be getting plain short acks back from the DS after the association response is sent. I'm planning to get another wifi card soon so I can see what's going on. I borrowed an old atmel based USB wifi device from a friend but it doesn't support permiscuous mode. :(
Eric
#34832 - Darkain - Wed Jan 26, 2005 10:07 pm
eric wrote: |
I still seem to be getting plain short acks back from the DS after the association response is sent. |
short ack? like a 14 byte packet? because that is what is suposed to happen.
srv: beacon
ds: auth (stage 1)
srv: ack
srv: auth (stage 2)
ds: ack
ds: assoc req
srv: ack
srv: assoc rsp
ds: ack
from here, the srv starts a layer 3 handshaking process that doesnt seem to work w/ my card :( about 10-15 packets into it, the two unit exchange names and other peices of information about themselves.
also, make sure you keep sending the beacons, this way the DS doesnt drop your connection.
_________________
-=- Darkain Dragoon -=-
http://www.darkain.com
DarkStar for Nintendo DS
#34864 - eric - Thu Jan 27, 2005 1:41 pm
Darkain wrote: |
short ack? like a 14 byte packet? because that is what is suposed to happen. |
I'm just getting acks without the data section
Code: |
0000 d4 10 00 00 00 09 bf 64 1d 55 12 93 02 fa .......d .U.... |
I'm getting my second wifi card tomorrow so I'll be able to see what my card is sending to the DS.
Eric
#34882 - Darkain - Thu Jan 27, 2005 7:20 pm
eric wrote: |
Darkain wrote: | short ack? like a 14 byte packet? because that is what is suposed to happen. |
I'm just getting acks without the data section
Code: | 0000 d4 10 00 00 00 09 bf 64 1d 55 12 93 02 fa .......d .U.... |
I'm getting my second wifi card tomorrow so I'll be able to see what my card is sending to the DS.
Eric |
again, it is suposed to be a 14 byte ack. that is exactly what it should be.
_________________
-=- Darkain Dragoon -=-
http://www.darkain.com
DarkStar for Nintendo DS
#35029 - eric - Sat Jan 29, 2005 4:07 pm
ecurtz wrote: |
I've started playing with the KisMac source, but I can't get my aging Windows box to sniff packets, so I'm not sure how close to working my beacon sends are.
jstart - I'm using a DWL-122, which is a prism2 based usb receiver. They are relatively cheap, and the prism2 drivers are popular, however I can't guarentee you can do anything more than sniff with it (that works well.)
- eli |
I have a dwl-122 too. I tried to get it sniffing on my G5 powermac. Using Kismac I only seem to get every other packet. It looks like I'm capturing under 50% of the traffic. :-(
I switched back to linux on an old celeron 600Mhz machine and got a near perfect capture.
Is there any trick to getting kismac to capture cleanly?
I did notice that it kept trying to set the channel hop freq to 0.25 seconds. I only selected channel 1 so it shouldn't try to hop but I have a feeling this value might be causing my packet loss.
Eric
#35040 - sandymac - Sat Jan 29, 2005 6:46 pm
eric wrote: |
[...]Using Kismac I only seem to get every other packet. It looks like I'm capturing under 50% of the traffic. :-(
[...]Is there any trick to getting kismac to capture cleanly? |
Of the games I have I've only ever seen my DS broadcast on channels 1, 7, and 13 so you can set KisMAC to only hop between those channels in the Drivers Prefs window. Once you've found which channel the DS is using then tell KisMAC to only use that channel.
After I get my DS locked on one channel I don't think I'm missing any packets. All I have are dumps of the beacon packets which aren't that interesting but if someone wants then go for it.
_________________
"He who dares not offend cannot be honest." -- Thomas Paine
#35584 - naikrovek - Mon Feb 07, 2005 4:35 pm
i leave for a week, and when i come back this thread is exactly where it was before? no new posts for a week?
What happened? Did this development effort suddenly screech to a halt for a reason? or is the development going on, just without updates?
??
#35586 - Darkain - Mon Feb 07, 2005 5:39 pm
naikrovek wrote: |
i leave for a week, and when i come back this thread is exactly where it was before? no new posts for a week?
What happened? Did this development effort suddenly screech to a halt for a reason? or is the development going on, just without updates?
?? |
nope, last time i checked, *everyone* more or less gave up on the wireless efforts. :( i wish there was others out there besides me trying to get this stuff working, but that doesnt seem to be the case anymore, and my time has been cut extremely short lately.
_________________
-=- Darkain Dragoon -=-
http://www.darkain.com
DarkStar for Nintendo DS
#35587 - ravuya - Mon Feb 07, 2005 7:16 pm
Darkain wrote: |
naikrovek wrote: | i leave for a week, and when i come back this thread is exactly where it was before? no new posts for a week?
What happened? Did this development effort suddenly screech to a halt for a reason? or is the development going on, just without updates?
?? |
nope, last time i checked, *everyone* more or less gave up on the wireless efforts. :( i wish there was others out there besides me trying to get this stuff working, but that doesnt seem to be the case anymore, and my time has been cut extremely short lately. |
Well, if you look at how the fanboy armies are cutting into XLink and the other tunnelling providers for not getting the magical wireless tunnelling that was promised working..
_________________
Rav (Win/Mac/Linux games for free)
#35589 - gladius - Mon Feb 07, 2005 7:53 pm
I haven't given up yet, but getting a reliable connection up and running is turning out to be extremely difficult. I have been working on trying to figure out what makes it so unreliable, there has just been no new progress. Besides, even if I did get it working, it would be with one specific type of chipset on linux to boot. I don't see a huge number of people using that, so it would be more for the technical achievement than anything. It'll probably end up being cheaper and faster to build/buy a passthrough than use the wireless.
#35590 - syn[] - Mon Feb 07, 2005 7:58 pm
Hey, I'm new around here, but I'm still working at it. I think as the cart hacking progresses, the wifi hacking part will get a boost. At the moment there isn't a real reason to mess with wifi (in my mind) other than pictochat. Also, there is the fact that I only have one DS, which makes the progress on my end slim to nil. But, I'm gonna keep dorking out and tinkering with it.
#35640 - naikrovek - Tue Feb 08, 2005 8:07 pm
Darkain wrote: |
naikrovek wrote: | i leave for a week, and when i come back this thread is exactly where it was before? no new posts for a week?
What happened? Did this development effort suddenly screech to a halt for a reason? or is the development going on, just without updates?
?? |
nope, last time i checked, *everyone* more or less gave up on the wireless efforts. :( i wish there was others out there besides me trying to get this stuff working, but that doesnt seem to be the case anymore, and my time has been cut extremely short lately. |
If I had the knowledge to do this I'd be doing it as well. I think if we got a few DSs together and put them through some network exersizes that we'd have a bit more insight into what's happening. If it takes getting it working on just one chipset on just one platform, then do it. someone will do what they can to port it over.
I don't know what I can do to get progress going again, but whatever it is, pretend i said it, and feel INSPIRED! MOTIVATED!! ENERGIZED!!!
#35641 - Darkain - Tue Feb 08, 2005 8:13 pm
http://www.darkain.com/nintendo_ds/wifisites.php
that is my continueing list of decent reference sites, broken down into two sections
1) wikipedia
2) everything else
_________________
-=- Darkain Dragoon -=-
http://www.darkain.com
DarkStar for Nintendo DS
#35644 - ecurtz - Tue Feb 08, 2005 9:40 pm
I'm still working on it very slowly, as the real world allows. Anybody else working with prism2 stuff who wants to compare notes can contact me.
#35647 - syn[] - Tue Feb 08, 2005 10:24 pm
Im using an orinoco based card, but i have so much traffic in the area (there are 4 connectable, unencrypted APs within range, and plenty of other ones are saturating the air with packets) that its hard to sift through all the junk and such. Also, as I stated, having one DS is a problem. I'll prolly pick another one up soon ;)
#35859 - NoMis - Fri Feb 11, 2005 4:27 pm
Whats the current status on the wireless side? I saw alot of activity in the cart encryption latly but it's gotten very quiet around the wireless cracking.
NoMis
#35891 - MumblyJoe - Sat Feb 12, 2005 1:20 am
I would say the current status is that the people working on it are temporarily stuck. However I wouldn't worry about it too much, there is still plenty of fun games you can buy for now.
As for people like me, who have not-a-pinch-of-shit of an idea about wireless and have too many other topics to learn about for other projects to really help, I recommend reading through the I/O docs which are floating around and working upgrading your libraries.
_________________
www.hungrydeveloper.com
Version 2.0 now up - guaranteed at least 100% more pleasing!
#36446 - Maverick - Sun Feb 20, 2005 4:26 pm
Has anyone taken multiple rips of the same thing to see how the unknown values change between each one?
Looking at the dumps i have found, this is what i can see:
0009BF000A00 MAC Address
0000
0100
40 or 00
00
11 or 0F
00
40 or 00
00
A903 or 6493 or D137 or DA07 Unique Game ID(Random? Stays the same for each packet)
700B
FE or 00
01
0800
1100 or 1805
40 or 16
00
00(02 if footer)
00 or 02 or 04 stays the same through the whole transmission
00
00 or 01 or 02 etc Current packet number
xxxx CRC
00 or 01 or 02 etc Current packet number(if last packet then number of players)
09 Maximum number of packets
62 Length of transmission(01 on footer)
00
The data sent is divided into blocks of upto 62 bytes
Pics are in tile format, same as GBA
Image is 32x32, 16 colours
Text is in unicode
Hosting DS name is sent, then game name, then game description
Last packet contains slave DS data
This is the end of the Multiboot Initiation
Multiple Multiboot Initiations can be sent as the DS will not attempt to connect until the user has selected a game. The DS now sends a download request and waits for another transmission, the Multiboot Game is now sent in a similar format.
I know this is really just a collection of the information already discovered, but who knows
#36615 - Tim Schuerewegen - Fri Feb 25, 2005 11:46 pm
I was going to write a Windows driver for my RTL8180 based card two or so weeks ago but got forced/sucked into ds emulator development. Now that things on the ds homebrew development front seem to be calming down I have decided to switch to wifi dev again. However, instead of writing a Windows driver for hardware that might not even be suited for what I want to do, I have decided to take the Linux route seeing that the rtl8180-sa2400 open source driver now recently also supports the GCT RF chip used by my card. So far I managed to compile/install the driver and associcate with my neighbour's unprotected wireless router. Tomorrow I will perform some tests by modifying the driver source code to see which fields of an outgoing 802.11 frame are modified by the hardware. Wish me luck!
#36616 - bahnhof - Fri Feb 25, 2005 11:59 pm
good luck
#36618 - dagamer34 - Sat Feb 26, 2005 1:31 am
good luck
_________________
Little kids and Playstation 2's don't mix. :(
#36646 - nicscool - Sat Feb 26, 2005 10:43 pm
Holy....
Man I've been reading this post for like 2 hours...
Good luck guys.
I might start stuffing around with it too next week when I get it.
Also I have 182.b I forgot the full name but you know what I mean. Anyway it is 22mbps!
#36660 - PhoenixSoft - Sun Feb 27, 2005 8:15 am
nicscool wrote: |
Holy....
Man I've been reading this post for like 2 hours...
Good luck guys.
I might start stuffing around with it too next week when I get it.
Also I have 182.b I forgot the full name but you know what I mean. Anyway it is 22mbps! |
No, I certainly don't know what you mean. 802.11b is 11 Mbps, and 802.11g is 54 Mbps. The DS uses 802.11b, but only at 2 Mbps. Maybe you are getting 2 and 22 mixed up?
#36661 - Darkain - Sun Feb 27, 2005 8:21 am
PhoenixSoft wrote: |
No, I certainly don't know what you mean. 802.11b is 11 Mbps, and 802.11g is 54 Mbps. The DS uses 802.11b, but only at 2 Mbps. Maybe you are getting 2 and 22 mixed up? |
and i dont think you know your wireless technologies. 802.11b+ supports a 22mbps connection rate, as well as 33 and 44mbps. also, it could possibly be 802.11b dual-band, using a pair of 11mbps signals at the same time.
_________________
-=- Darkain Dragoon -=-
http://www.darkain.com
DarkStar for Nintendo DS
#36694 - Mug - Mon Feb 28, 2005 9:41 am
you can already play the DS multiplayer online with XLink. Each client needs 2 DSs though. Its gonna go public when they work it out with 1 DS per client.
#36695 - Darkain - Mon Feb 28, 2005 9:46 am
Mug wrote: |
you can already play the DS multiplayer online with XLink. Each client needs 2 DSs though. Its gonna go public when they work it out with 1 DS per client. |
HAHAHAHAHAAAAA!!!! and where have you been?
they posted fud. couldnt get it to work. users got annoyed. they ditched the project. users got more annoyed. they deleted their DS forum.
end of story.
_________________
-=- Darkain Dragoon -=-
http://www.darkain.com
DarkStar for Nintendo DS
#36696 - Mug - Mon Feb 28, 2005 9:54 am
what the hell is fud?
#36697 - Darkain - Mon Feb 28, 2005 10:06 am
Mug wrote: |
what the hell is fud? |
http://en.wikipedia.org/wiki/FUD
(and make sure you read the entire article...)
_________________
-=- Darkain Dragoon -=-
http://www.darkain.com
DarkStar for Nintendo DS
#36698 - Mug - Mon Feb 28, 2005 10:14 am
Ok so whats the deal then?
#36699 - Darkain - Mon Feb 28, 2005 10:15 am
Mug wrote: |
Ok so whats the deal then? |
the deal is... xlink is useless when it comes to DS hacking/tunneling.
_________________
-=- Darkain Dragoon -=-
http://www.darkain.com
DarkStar for Nintendo DS
#36702 - Mug - Mon Feb 28, 2005 10:41 am
so what does it actually manage to do?
#36705 - Soccr743 - Mon Feb 28, 2005 11:53 am
Basically Mug, what Darkain is trying to say is that they left the project because they knew that they couldnt get it to work. It was a failed attempt I suppose at tunneling the DS. It manages to do nothing really...
-----Soccr743-----
_________________
http://www.cubedstudios.com
#36706 - Mug - Mon Feb 28, 2005 12:15 pm
ive heard a few cases of it working. Are these most likley rare or once off scenarios?
#36708 - netdroid9 - Mon Feb 28, 2005 12:55 pm
I believe what you are refering to is false information, or BS.
#36710 - Mug - Mon Feb 28, 2005 1:05 pm
Yeah it might be. I'm not too up to date on the subject (as you can tell) so I didnt know any better than to believe what I was hearing. Thanks for the heads up though
#36721 - syn[] - Mon Feb 28, 2005 6:31 pm
They basically lied. They said they tunneled MP:H:FH. It was bullshit. They knew it was BS, and they had the audacity to say they "Never made outrageous claims." I posted on their little "farewell" post and they got on me for saying that they mislead people and were arrogant throughout the whole process.
#38946 - naikrovek - Sat Apr 02, 2005 8:06 am
what's the story, this thread is on page THREE? used to be in the top three threads on page one, when sorted by last post age...
What's going on with this, if anything?
#38953 - linus - Sat Apr 02, 2005 10:57 am
well this forums not really about wireless cracking, but as far as i know not much is really happening (id like it to though, get some homebrew booting from wireless) i think people have kinda started working in other areas and now weve got PassMe's people have started coding (hooray!).
if people are still working on wireless or tunnelling let me know cos ive obviously lost track somewhere.
#38980 - Tim Schuerewegen - Sat Apr 02, 2005 8:44 pm
I am looking for people with a Ralink RT2500 based PCI, Mini PCI or CardBus card that are willing to test my Windows driver and application on Windows 2000, XP, 2003 or Longhorn. The first part of the application sends multiboot beacons to the DS. The second part captures all frames on a certain channel. Please PM me if you are interested.
#38990 - Maverick - Sat Apr 02, 2005 10:21 pm
I have a Sweex LC100040 ZyDas 1211 USB 2.0. I can see the DS's in NetStumbler, but know nothing of packet capture\customising drivers\wifi programming, so i can get no further than this. Havent found any good info on this yet either.
Will maybe try again in a few weeks time.
#39035 - gl0b - Sun Apr 03, 2005 4:32 pm
Tim Schuerewegen wrote: |
I am looking for people with a Ralink RT2500 based PCI, Mini PCI or CardBus card that are willing to test my Windows driver and application on Windows 2000, XP, 2003 or Longhorn. The first part of the application sends multiboot beacons to the DS. The second part captures all frames on a certain channel. Please PM me if you are interested. |
Hi tim, I have RT2500 based cards one PCI an another on CardBus im really interested in monitor mode drivers or software u wrote for it or for DS. Does this driver work with airopeek? (packet capture)
I also have a couple DS & mario64 for packet captures if u want :)
Thanks in advance
_________________
----!-----
Next generation DS
#39071 - hoagie - Mon Apr 04, 2005 5:33 am
#39072 - NEiM0D - Mon Apr 04, 2005 5:55 am
Hoax.
#39078 - muckers - Mon Apr 04, 2005 9:58 am
It does seem a little too good to be true. And, quite frankly, a little out of the blue as well. You would've thought that they'd update progress and scream from the rooftops that they beat Xlink (quitters) to it.
#39079 - taichi - Mon Apr 04, 2005 10:28 am
hoagie wrote: |
http://jadrule.tk/ |
wow *.* really, to god to be true
#39081 - TJ - Mon Apr 04, 2005 10:48 am
I really doubt it, but I guess we will see in a few days.
They don't provide enough hard information to really make a judgement on if it is BS.
#39083 - PhoenixSoft - Mon Apr 04, 2005 11:07 am
The mention of it working at any wireless hotspot gives it away as a hoax.
#39098 - the_angry_monkey - Mon Apr 04, 2005 2:53 pm
Why oh why do people spend that much time creting a hoax? and why set a relaese date of April 11th? April 1st I could understand but this is just confusing (and irritating)
#39111 - Zhila - Mon Apr 04, 2005 5:28 pm
Well, obviously because April 11 is my birthday, and it's a present for me.
_________________
Current high scores on Super Mario 64 DS:
Shell Smash - 50230
Wanted - 140
#39129 - TJ - Mon Apr 04, 2005 10:15 pm
Quote: |
The mention of it working at any wireless hotspot gives it away as a hoax. |
Ah, I didn't notice that.
I would have to say it is BS too then, since you cannot control a router from software on the PC side.
#39153 - Darkain - Tue Apr 05, 2005 5:58 am
TJ wrote: |
Quote: | The mention of it working at any wireless hotspot gives it away as a hoax. |
Ah, I didn't notice that.
I would have to say it is BS too then, since you cannot control a router from software on the PC side. |
plus each router is uniquely different.
now, i could understand if it was only ONE specific router with CUSTOM firmware... but, they have no details, and a very shittie web site
_________________
-=- Darkain Dragoon -=-
http://www.darkain.com
DarkStar for Nintendo DS
#39161 - the_angry_monkey - Tue Apr 05, 2005 9:28 am
I emailed and got these replies (to be read bottom to top like an email RE)
Within the next couple days alot more screenshots, and picture with a ds online and the software in the background, will be available in the coming days.
On Apr 4, 2005 11:13 AM, Alex Ford <alex.ford@marketing-guild.com> wrote:
> Any chance of a mini statement, some screens of the tunneling in
> action etc... anything to make this a real top quality story for a
> site that's just getting off the ground? I really look forward to
> hearing more on the 11th
>
> Alex
>
> > -----Original Message-----
> > From: Public Relations At Jadrule [mailto:pr.jadrule@gmail.com]
> > Sent: 04 April 2005 16:12
> > To: Alex Ford
> > Subject: Re: DS Tunnelling
> >
> > Its obviously not a hoax. You will see on the 11th. We cant reveal
> > any info about the loophole. We want to be the only ones tunneling
> > DS.
> >
> > On Apr 4, 2005 9:56 AM, Alex Ford <alex.ford@marketing-guild.com>
> wrote:
> > > Hi,
> > >
> > > My name is Alex Ford, and I write a column for www.nisute.com . I
> was
> > > really looking for a bit of further information regarding your
> product,
> > > including information on how you intend it to work at wireless
> hotspots.
> > > Also a quick explanation of the loophole you found would be much
> > > appreciated by myself and readers of the site. Finally a lot of
> opinion
> > > believes this to be a hoax, and in which case why April 11th and
> > > not April 1st.
> > >
> > > Yours faithfully
> > >
> > > Alex Ford (the_angry_monkey)
> > >
>
#39183 - bagu - Tue Apr 05, 2005 6:50 pm
(I assume here that this wireless-tunneling thing is for real)
Quote: |
We want to be the only ones tunneling DS. |
This attitude pisses me off to a remarkable degree.
Why don't they just, for the greater good of the platform and all developers out there who has cool ideas, give back to the community instead? They probably are where they are because they just found that last bit of information to piece all the available info and public research together..
Oh well. It's not the first thing I reverse engineer.
#39189 - NEiM0D - Tue Apr 05, 2005 8:29 pm
Let's not waste any more comments on this scam.
Real news should be reported here!
#39190 - hoagie - Tue Apr 05, 2005 8:33 pm
bagu wrote: |
This attitude pisses me off to a remarkable degree.
Why don't they just, for the greater good of the platform and all developers out there who has cool ideas, give back to the community instead? |
'cause they see dollar signs...or its a hoax
#39225 - Darkain - Wed Apr 06, 2005 4:46 am
NEiM0D wrote: |
Let's not waste any more comments on this scam.
Real news should be reported here! |
agreed. YOU are the person making progress, not anyone else. these guys are just spreading more useless claims just like everyone before them, and not giving up a single fact on it working at all other then word of mouth (which by the way, its piss easy to fake on the internet)
/me bows down to neimod to managed to actually have a minor conversation w/ the DS. :D (too bad im in school now, or else i would devote time back into the wireless front on the DS)
_________________
-=- Darkain Dragoon -=-
http://www.darkain.com
DarkStar for Nintendo DS
#39292 - lambi1982 - Thu Apr 07, 2005 2:06 am
To Darkain, just wondering if this loop hole by any chance could be a signal from their software that activates TCP/IP on the DS, Maybe it is implemented in the hardware and we just dont know YET.
I was just wondering.
( I am just wondering, don't want this to be a rumor)
When the power is on, isn't the DS always listening?
_________________
Who, Me?
#39305 - Mike - Thu Apr 07, 2005 7:26 am
lambi1982 wrote: |
To Darkain, just wondering if this loop hole by any chance could be a signal from their software that activates TCP/IP on the DS, Maybe it is implemented in the hardware and we just dont know YET.
I was just wondering.
( I am just wondering, don't want this to be a rumor)
When the power is on, isn't the DS always listening? |
Well, suppose that's true. You'd still have to find a way to signal the DS first, in "RAW" mode, to enable this supposed hidden feature. And that can't be done with the use of a "router" as they claim, a standard router plainly doesn't know how to communicate with the DS natively.
#39308 - the_angry_monkey - Thu Apr 07, 2005 9:35 am
But could you use some software on a pc to send a signal via a wireless NIC to activate TCP/IP and thereafter it should be possible to use the DS with any router etc.... Interesting thoughts here
#39309 - Mike - Thu Apr 07, 2005 9:51 am
the_angry_monkey wrote: |
But could you use some software on a pc to send a signal via a wireless NIC to activate TCP/IP and thereafter it should be possible to use the DS with any router etc.... Interesting thoughts here |
Yes, however, these people claim two things;
- You don't need a NIC, only a router, to use their software.
- Their software works with all routers, impossible as you'd need to hack the firmware of each and every model on the market seperately.
#39319 - the_angry_monkey - Thu Apr 07, 2005 12:01 pm
Ah I see well there goes that theory then
hoagie wrote: |
bagu wrote: |
This attitude pisses me off to a remarkable degree.
Why don't they just, for the greater good of the platform and all developers out there who has cool ideas, give back to the community instead? |
'cause they see dollar signs...or its a hoax |
Actually the site stated that the project was free of charge
#39330 - crazyc - Thu Apr 07, 2005 3:27 pm
Quote: |
/me bows down to neimod to managed to actually have a minor conversation w/ the DS. |
Details?
#39990 - Sukanu - Thu Apr 14, 2005 8:10 am
hey everyone, you might want to check that link again.
#39992 - polysign - Thu Apr 14, 2005 8:25 am
Which link? Can't find it anymore...
#39993 - Sukanu - Thu Apr 14, 2005 8:31 am
http://jadrule.tk/
but it doesent matter anymore, ive been off the fourm for a month and was reading from bottem to top, this thred came before the one deatacated to that site, sorry for the unintentional bump
#39995 - netdroid9 - Thu Apr 14, 2005 9:27 am
Hoax.
The 'Yeah it's a hoax' and 'April fools' gives it away, doesn't it :).
#45404 - dsboi - Fri Jun 10, 2005 11:44 am
Oct. 6, 2004--RF Micro Devices, Inc. today announced the Company has begun production shipments of its 802.11 wireless local area network (WLAN) transceiver for use in the new Nintendo DS.
Any guesses as to which IC they are shipping?
#45415 - darkfader - Fri Jun 10, 2005 2:30 pm
RF9008.
Anyone tried to contact RFMD yet and asked for some datasheets? :P
#45501 - dsboi - Sat Jun 11, 2005 6:40 am
DarkFader - google shows only your site in the whole wide world with RF9008 on it.
How sure are you?
#45504 - dsboi - Sat Jun 11, 2005 8:31 am
If you look at their public product offering then this seems the closest http://www.tmcnet.com/usubmit/2003/Sep/1020183.htm
#45911 - bb1647 - Thu Jun 16, 2005 3:05 pm
Tim, I want to know that wifime can support Asus WK-138g, the wireless driver will support this PCI card ?
I found that the PCI card's chipset was Marvell Libertas 802.11b/g , will WIFIME support this chipset ?
#45915 - FourScience - Thu Jun 16, 2005 5:50 pm
bb1647 wrote: |
Tim, I want to know that wifime can support Asus WK-138g, the wireless driver will support this PCI card ?
I found that the PCI card's chipset was Marvell Libertas 802.11b/g , will WIFIME support this chipset ? |
1) I think this is the wrong thread to be asking that.
2) Why didn't you look it up for yourself. It's clear in the DS Flash Equipment board, in Tim's WifiMe thread, that if your card isn't a PCI/PCMCIA card listed on the Compatibility page, then it won't work.
If everyone keeps asking if their card works then we'd have to search and answer their question every day for months.
Think I'm being rude? On the contrary, to humor you I looked your card up in case it's a new version of the compatible Asus card. I downloaded the drivers and peeked at the .inf file. It doesn't look like a RT2560-based chipset. Look at the black microchip on your card and tell me what it says though (the big square one).
EDIT: Yeah, I'm pretty sure it's a Marvell Libertas chipset.
_________________
Work in progress: Dual-Soft.com
#62700 - Lucas Novae - Sun Dec 04, 2005 4:17 pm
Ok so I started reading this thread a few days ago, and only after I got passed the 3rd of december did I realize that this thing was a year old. I was so excited about the effort and the hopes that people would create the possibility to upload game demos to the DS or to tunnel local-only multiplayer to Net multiplayer that I didn't notice the discrepency in the year.
Not that I want to revive past failures (if it is one), but what's up with just letting this go? I realize that there were difficulties with the dropped signal, but I can't beleive a whole community would just leave everything be, forget about the whole story, and move on.
Now that Nintendo has actually released their WiFi network (which I've tried with MK:DS), wouldn't there be more to learn from it? Can't more analyse be done in order to complement what was already acheived and revive the effort?
It's too bad I have no clue how wireless works (I'm just your run-of-the-mill php programmer), or I'd work on this day and night as Darkdain has done... :(
#62704 - AnalogMan - Sun Dec 04, 2005 5:59 pm
That's exactly what sgstair is doing (done technically). Here's his site where you can watch his progress.
http://akkit.org/dswifi/
#62832 - Darkflame - Tue Dec 06, 2005 8:20 am
AnalogMan wrote: |
That's exactly what sgstair is doing (done technically). Here's his site where you can watch his progress.
http://akkit.org/dswifi/ |
Yes, and the recent tests work fantasticaly.
I can detect 6 Wi-Fi connections with it from where I am sitting (4 of which are unsecured ;p)