barronwaffles / dwc_network_server_emulator

A Nintendo DS and Wii server emulator.
GNU Affero General Public License v3.0
1.05k stars 164 forks source link

Failure Connecting with Pokemon Gen IV WFC #73

Open MetSlayer opened 9 years ago

MetSlayer commented 9 years ago

Hi all, project user coming out of the woodwork here.

Over the last few days, I have recruited a friend to test various features in emulated Pokémon games (specifically Gen IV). We are testing with identical copies of Pokémon Diamond (patched with WfcPatcher). We also have save files that were started after Nintendo's service ended and have different Pal Pad codes. I'm going to describe the process we went through to provide as much information as possible.

We went through the process of setting up the connections to the server. This included downloading WiFi compatible DeSmuMe and setting it up, including installing WinPCap. We tested both our local network (default DNS) connections and with the server as DNS in the system WFC settings, and all was good so far. (We also added port forwarding for good measure, but it wasn't necessary to get other in-game functions like GTS to work.)

When testing the GTS, it worked with both emulator and physical console connections (obviously with the latter I had an Action Replay, but our focus is on the first pair). When attempting to test the WiFi Club, we could exchange friend codes and see each other in the WFC. However, when one person attempted to apply to a request by the other, the process would fail (something like 'They failed to respond'). I had encountered the same issue when testing alone on my LAN, but recruited my friend to see if the fact the two users being on the same LAN had anything to do with the issue, and it seems like it is encountered either way.

We are looking for the next steps in this. Unless it's some obvious issue which can be pointed out here, we will attempt to provide packet information from Wireshark. As my friend and I are approaching the limits of our technical knowledge, we can't personally make good use of this info to diagnose the problem. I went ahead and disabled TCP checksum offloading (or as best as I could tell, the settings are not exactly as described for my computer; I can provide the exact properties if needed). I recorded the packets for connecting with the server with the DS system WFC utility and attached them. If someone can, please provide feedback on if providing packet info is indeed the logical next step, and if the kind of information in the file is sufficient once my friend and I schedule our next session. I suspect both of us will need Wireshark, but please confirm that too.

Ultimately, in addition to procedural info to get our connections to work, we are also looking for technical information on why GTS works and WFC is failing in our case. Thank you all for the work on this project so far.

MetSlayer commented 9 years ago

My apologies, but it won't let me attach non-image files to this post. If someone could direct me where to upload my test packets, I'll do that ASAP.

mm201 commented 9 years ago

Sounds like a NAT or firewall issue at one of your ends.

MetSlayer commented 9 years ago

Ok, so with that in mind, should I look to add an exception for DeSmuMe in our firewalls (or disable them temporarily) and double check the port forwarding information? I'm still thinking Wireshark would reveal that info, too.

polaris- commented 9 years ago

If you are still having this issue and still have the packets that you can upload, you can put them on a website like Mediafire or Sendspace or even Dropbox or Google Drive and link it in the comments here. If it's a NAT or firewall issue then it should show up in the packets.

MetSlayer commented 9 years ago

Thank you for the tips. Once my friend and I can find a time to do so, we'll test it out and upload the packets.

MetSlayer commented 9 years ago

Alright, just about ready to get rolling on this again. We had a hiatus because of being busy and changing internet service (which entailed a router change). I have some packets I collected from my end from both before and after my service change via the connection test in the game menu. Please provide some feedback if this is the kind of information needed when we do our full test again.

https://dl.dropboxusercontent.com/u/58387150/Test%201.pcapng https://dl.dropboxusercontent.com/u/58387150/Test%202.pcapng

polaris- commented 9 years ago

I checked over both packet captures. There are no errors in either of these as far as I can tell. I'd need to see a capture where you get the "They failed to respond" message to be able to tell you anything.

MetSlayer commented 9 years ago

We ran into some issues connecting to the server during the connection test. I managed to succeed a couple of times when running a connection test (packets not saved, but very similar to the previous ones I posted), but my friend never got anything but a 52100 error. We walked through the emulator settings to make sure nothing accidentally switched there, and it seemed good.

I attached links to the packets from a couple of the failures on both of our ends. "Conn 1" is me, and "Conn 2" is my friend. (Mind any extra packets from when I checked the public info on what games were connected.) As far as I can tell, only DNS made it through, and the reply was really delayed if it was present at all. I had moments of success interspersed in this where the reply was fairly quick.

https://dl.dropboxusercontent.com/u/58387150/Conn%201%20Error%2052100%201.pcapng https://dl.dropboxusercontent.com/u/58387150/Conn%201%20Error%2052100%202.pcapng https://dl.dropboxusercontent.com/u/58387150/Conn%202%20Error%2052100%201.pcapng https://dl.dropboxusercontent.com/u/58387150/Conn%202%20Error%2052100%202.pcapng

polaris- commented 9 years ago

How are you capturing your packets? All of these only show a DNS query response to the server but nothing else, so there's no useful information in here. Are you filtering the packets somehow? If so, can you give me unfiltered packets?

MetSlayer commented 9 years ago

We are both using Wireshark. We never got to the point of actually doing the in game test because the main menu connection test was sporadic (error 52100). I noticed that too that only DNS queries were present, but I don't think it's the filtering or capture. The only filter in place is ip.addr on either source or destination is the server. I managed to collect the packets in the first post with success, and it showed more than the DNS packets. I also had occasional success on my end in our session when I did nothing different.

We can try collecting packets again later, but I don't know how much information will be useful if we can't even get past the basic connection test.

sonickles9 commented 4 years ago

Bumping this issue, running patched Pokemon Platinum and I've had trouble connecting to some features: Wi-Fi Plaza fails midway throwing a 10626 error. Upon retrying, I get a 52200 error and I need to restart the ROM to connect again. Box data and similar functions in Jubilife's global building work properly though image

edit: I hope this helps https://drive.google.com/file/d/1kU26x9TyX-aOAeaw6Yu0qDjr4ssu3EOm/view?usp=sharing