(3)DS Download Play - Tunneling?

Discussion in '3DS - Flashcards & Custom Firmwares' started by Steffan, Feb 22, 2012.

Feb 22, 2012
  1. Steffan
    OP

    Newcomer Steffan Newbie

    Joined:
    Sep 7, 2006
    Messages:
    5
    Country:
    Hey everyone,

    With Monster Hunter 3G not having online multiplayer, I started looking into ways to enable Download Play over the internet.(Also known as "tunneling")
    Because if I can't play online, I won't have anyone to play with at all. And that makes me sad.

    I found a tunneling program called Xlink Kai, which is used by PSP Monster Hunter players to play online with each other, but unfortunately it does not support either NDS or 3DS.
    I believe the main reason for this program not having DS/3DS support is because setting up a connection between the PC and the console is too hard.

    Now, if I recall correctly there used to be a thing called WifiMe, which was used to send some homebrew app to the DS using download play. Doesn't this mean that a connection between PC and DS is possible after all? It even let you send data from your PC to your DS, so to me it seems that WifiMe was pretty advanced for its time. (considering that was back in '06 or something)
    The way I see it, if this WifiMe can be used to make the console think your PC is another DS, the DS could send the multiplayer data to the PC after which the software running on the PC sends it to the other player over the internet. Then when the other player receives this data, it gets passed on to their DS, allowing for DS Download Play over the internet.

    Now, I have to say that I really don't know much about any of this, so I'm ready to be laughed at, scolded at and pissed on for even thinking this could be possible.
    But hey, you never know, maybe we can make something work if we try.

    I'd like to hear what others have to say on the subject.
     
    1 person likes this.
  2. someonewhodied

    Member someonewhodied Lazy Person

    Joined:
    Sep 21, 2008
    Messages:
    869
    Country:
    United States
    In theory, it could be possible with a nintendo wifi usb connector. I may still have mine somewhere. If i find it I'll take a look. I dont know much about how it works though, so i can't guarantee any results.


    You could also take the wireless thingy (not sure if its a chip, antennae, or something else) out of a spare ds/3ds and with some knowledge of soldering and programming, make a program and the hardware for wireless play through apps. I doubt anyones gonna worry about that till the 3ds is at least hacked with basic stuff though.
     
  3. Luigi2012SM64DS

    Banned Luigi2012SM64DS G-old member

    Joined:
    Aug 27, 2011
    Messages:
    2,060
    Location:
    Minecrapt
    Country:
    Canada
    if this is possible we will be able to hack the 3ds
     
  4. KvinMoreaux

    Newcomer KvinMoreaux Member

    Joined:
    Feb 23, 2012
    Messages:
    18
    Country:
    France
    I think it was possible but really hard...

    1st step listen comunications between 2 3ds (packet sniffing).

    When you have enought data make a tool which can auto-detect, sniff and forward the data to another tool for resend the data other the air...
     
  5. danny8ds

    Newcomer danny8ds Newbie

    Joined:
    Feb 23, 2012
    Messages:
    3
    Country:
    United States
    You wouldn't be able to hack through this with WiFI Me, since it runs in ds-mode.
     
  6. Memoir

    Member Memoir Undeserved

    Joined:
    Jun 24, 2007
    Messages:
    2,933
    Location:
    Wyoming
    Country:
    United States
    Actually.. This may be possible.. With constant on Wireless (unlike the DS), there might be a way to do the same thing done with the PSP... huh...
     
  7. whofan

    Newcomer whofan Newbie

    Joined:
    May 17, 2009
    Messages:
    9
    Country:
    Finland
    Tunneling raw 802.11 frames over the internet is very hard. The timing needs to be perfect and I think there's just too much latency over a typical internet connection to get the 3ds systems to communicate reliably. A 3ds simply won't accept packets that arrive too late. Streetpass might work timing-wise, but the 3ds also changes the mac address it uses in streetpass communications regularly.

    Conclusion: It's hard but not impossible.
     
    1 person likes this.
  8. AceWarhead

    Member AceWarhead "Must Construct Additional Pylons"

    Joined:
    Apr 9, 2011
    Messages:
    1,276
    Country:
    United States
    So basically what you're saying is the timing must be exact to the millisecond? Man, that would be a hard feat to accomplish...
     
  9. ferofax

    Member ferofax End of the World

    Joined:
    Jan 26, 2009
    Messages:
    2,564
    Location:
    Philippines
    Country:
    Philippines
    i remember that's the case with DS wifi, which is why the Xlink Kai team gave up on the DS tunneler. the DS assumes you're near each other and therefore expects near-instant responses, something that's fairly hard to accomplish on the internet.
     
  10. Tsukurimashou

    Member Tsukurimashou GBAtemp Regular

    Joined:
    Oct 8, 2011
    Messages:
    128
    Country:
    Japan
    I don't think it's really different than LAN with PC and hamachi did it.
     
  11. Cyan

    Global Moderator Cyan GBATemp's lurking knight

    Joined:
    Oct 27, 2002
    Messages:
    16,402
    Location:
    Engine room, learning
    Country:
    France
    The Local Wifi used by DS (and maybe 3DS too?), was tagged "NiFi".
    It's a Wifi packet without the last TCP/IP layer as it doesn't require an internet connection.
    NiFi can't be used with usual 802.11 drivers as they expect a fully formed packet ready for Internet communication.

    It's not a problem from Hamachi/XlinkKai/etc., but a driver problem which prevent your card from seeing full correct packets.


    SGStair (Stephen Stair) started a NiFi Tunneling program back when he developed the DS Wifi lib for homebrew use.
    http://www.akkit.org/dstunnel/
    Of course you will need a RT2500 chipset to enable WiiFi me driver for your computer to communicate with the DS before sending the data into the tunnel.


    His project is currently inactive since 2006.
    Maybe he could share it with interested programmers?
     
    2 people like this.
  12. Steffan
    OP

    Newcomer Steffan Newbie

    Joined:
    Sep 7, 2006
    Messages:
    5
    Country:
    Exactly, this is what I mean.
    When a connection between the DS and PC has been set up using a wireless adapter/card with the RT2500 chipset, the process of sending data over the internet should be nearly identical to how Kai does it with the PSP.
    I believe the Nintendo Wifi USB adapter actually uses this chipset? Because if so, a lot of people probably already have the hardware needed to get this working.

    Connecting the 3DS and PC is one thing, I'm sure it can be done, but what about actually sending the data over the internet? Unfortunately I know only very basic C++, so I can't really tell how hard it is to accomplish this.
    If there really cannot be any delay, as ferofax said, it would be a hard task, but then again other tunneling software like Hamachi and Kai does exist, so this makes me wonder how hard it could really be.
    Maybe I should try to contact this Stephen Stair guy and see what his stance is on this.
     
  13. sychotix

    Newcomer sychotix Advanced Member

    Joined:
    Jul 26, 2011
    Messages:
    64
    Country:
    United States
    I think a much easier way of doing this would be to have a PC near the 3DS broadcasting the Download Play signal sniff all the packets, send them all to the desired PC, which then rebroadcasts those packets in order for the other 3DS to pick it up. Then have that PC retransmit all packets sent out as a reply (or however the download play process works) back the same way.

    A cool idea, but alot less likely for this to happen, is to have programs that will simply broadcast pre-captured packets in order for download-play to happen, as about the closest alternative to pirating a game we will get at this point in time. The chances of the 3DS actually accepting such old packets are probably pretty slim, since the packets are probably timestamped and signed (thus we can't edit the timestamp).
     
  14. pelago

    Member pelago Member

    Joined:
    Feb 20, 2006
    Messages:
    879
    Country:
    United Kingdom
    Eh? That's pretty much a description of tunneling, which is what we're talking about here. If the problem is that the 3DS won't accept a delay, though, then I can't see how this will work over the Internet.
     
  15. akari212

    Member akari212 GBAtemp Regular

    Joined:
    Dec 21, 2010
    Messages:
    214
    Location:
    Tokyo
    Country:
    Japan
    DS assumes no hops were done while communicating DS-DS since it's a P-2-P connection. That's why it's impossible to be done without some heavily modified network schema. It has nothing to do with latency, because DS sucks maintaining it's latency. I got average of 52-100+ms while connected on Local WiFi network with 100% Signal / 97% Quality

    As the one person said here. It's possible, but that would be really hard to do.
     
  16. sychotix

    Newcomer sychotix Advanced Member

    Joined:
    Jul 26, 2011
    Messages:
    64
    Country:
    United States
    There isn't that much of a delay when transmitting over the internet. I'm sure it would be unnnoticable to the 3DS, as long as they were broadcast the same way, and probably spoofed with the same MAC address.
     
  17. RedJiggly

    Member RedJiggly GBAtemp Regular

    Joined:
    Jun 8, 2011
    Messages:
    215
    Location:
    There
    Country:
    Netherlands
    The delay would be about equivalent to the speed of your internet connection, right?
     
  18. sychotix

    Newcomer sychotix Advanced Member

    Joined:
    Jul 26, 2011
    Messages:
    64
    Country:
    United States
    Yes and no. You also have to take into consideration the time it takes for your computer to process the information, send it out, go through all the hops before your actual destination, the destination waiting till it can actually process that information, then actually processing it, then broadcasting it. This all should take a short amount of time irl though. Just think of sending an IM to someone right next to you. Its not instant, but pretty damn close.
     
  19. pelago

    Member pelago Member

    Joined:
    Feb 20, 2006
    Messages:
    879
    Country:
    United Kingdom
    The delay will be a few tens of milliseconds at least, which might be enough for the 3DS to reject it as "not fast enough" as it might be expecting delays of only single-digit milliseconds. Still, it would be nice if someone could experiment with this a bit.
     
  20. vashgs

    Member vashgs GBAtemp Regular

    Joined:
    Feb 1, 2008
    Messages:
    236
    Country:
    United States
    It's not too terribly difficult. The actual application is rather simple to write, you just need to interface with the hardware properly. The best case scenario, you get the correct hardware to sniff NiFi packets, you write a well-threaded application to interpret this data and package it nicely for transfer over the internet, then on the other end quickly unpackage it back into the form that the receiving DS is expecting. After all of that fun stuff, you interface with your hardware once more and transmit the packets to the receiving DS. If you've written your program well enough and you and your partner aren't on separate continents, perhaps the delay will be small enough that the DS still accepts it. As we all know, best case scenario doesn't exist, so when the delay is rejected, you'll have to look into editing timestamps. Editing the timestamps won't be possible in the case of the 3DS (yet), but even so, this might be an interesting DS project (since it apparently hasn't been done before?). Best of luck!

    P.S. Just as an added bit of fun, if you were to look into the project for the DS (where full debuggers are readily available), you could simply modify the timestamp check on the DS itself, rather than bother with altering each and every packet. There may be a bit of noticeable lag, but it could still be possible.
     
  21. Dartz150
    This message by Dartz150 has been removed from public view by Cyan, Jul 28, 2013, Reason: do not bump if you have nothing to add. Devs already know how to do it..
    Jul 28, 2013

Share This Page