0

Recently, I’ve resumed playing Mario Kart DS, an old (2005) Nintendo game available on the Nintendo DS console, including playing online. The online service has been closed by Nintendo for a long time now, but people have volunteered to create replacements, the most famous probably being Wiimmfi, that only requires to set a DNS server address manually on the console.

Things are not that simple however. Because it’s an old game, it can only connect to either plain unprotected, open Wifi networks, or WEP-“protected” ones, which have now almost completely disappeared from domestic routers wireless configurations, and aren’t advisable even when they’re still available. To be able to give internet access to the console, options remain, among which :

  1. Sharing the phone’s mobile internet wirelessly
  2. Using a WEP/unencrypted soft AP on a computer acting as a router to the domestic wireless network

Both being temporary options to be shut down once the gaming session is over.

For option 1, I use the wireless AP of my Samsung A04s (One UI 6.0/Android 14).

I achieve option 2 by means of a laptop running Ubuntu 23.10 and two wireless adapters :

  • On the domestic Wifi side, an Intel PCIe adapter (Intel Corporation Wi-Fi 6 AX201 160MHz)
  • On the soft AP side, an old Belkin USB adapter (F5D7050 v3, rt73usb driver)

Problem

The problem is that while the mobile solution (1) works well, solution 2 fails and I can’t tell why. That is unfortunate because it would be my favorite, not needing to drain my phone’s battery and data plan (a poor man’s 5GB/month one).

I thought it was related to some traffic not going through, but snooping on the connection in both cases (to compare the one that works to the one that doesn’t) I didn’t notice anything going wrong in that respect. There’s some UDP traffic at the end and I suspect it’s where the console decides the connection isn’t good, but it does go through nevertheless.

The error message is very harsh since it says the console can’t access the internet, so I tried to connect another device, with which I was able to surf the net without problems.

Question

Now I’m at a loss and that’s why I came here, in the hope someone with more expertise than me could point in the right direction.

Where is the problem ? Maybe it’s related to the connection taking too much time ? In which case, would it be possible to set up a wireless bridge with the hardware I have ?

As I mentioned in the title, here are two pcap files, one for the successful case (1) and one for the failed case (2). Case 1 has been snooped on in monitor mode, as it didn’t involve the computer from which I was capturing.

Additional information

  • nftables rules on the computer acting as a wireless router (automatically created by Network Manager) :
table ip nm-shared-wlx002275ae45ff {
    chain nat_postrouting {
        type nat hook postrouting priority srcnat; policy accept;
        ip saddr 10.42.0.0/24 ip daddr != 10.42.0.0/24 masquerade
    }

    chain filter_forward {
        type filter hook forward priority filter; policy accept;
        ip daddr 10.42.0.0/24 oifname "wlx002275ae45ff" ct state { established, related } accept
        ip saddr 10.42.0.0/24 iifname "wlx002275ae45ff" accept
        iifname "wlx002275ae45ff" oifname "wlx002275ae45ff" accept
        iifname "wlx002275ae45ff" reject
        oifname "wlx002275ae45ff" reject
    }
}
9
  • 1
    Some clarification: you are observing traffic on the Soft AP interface that you're sure is from the game console, correct? Did you created a bridged or a routed setup with your Soft AP? If routed, did you create a NAT (SNAT or MASQUERADE) rule for internet-bound traffic?
    – Daniel B
    Commented Apr 29 at 17:20
  • @DanielB That's where I am observing traffic indeed. It's a routed setup. I didn't create any iptables rule, and none has been created (I checked the five tables : filter, nat, mangle, raw, and security, all are empty with ACCEPT policy). That indeed surprised me, since I was expecting at least one rule, and I wonder how NAT is performed since it clearly does NAT (other devices connect with no problem and have internet access)
    – NovHak
    Commented Apr 29 at 21:06
  • Ah my bad, I somehow missed that iptables was long gone, and replaced by nftables ! Well, at least I wasn’t stuck at the older times of ipchains… So yes, such rules are in place, I’m pasting them in the question.
    – NovHak
    Commented Apr 29 at 21:45
  • In both pcaps the Nintendo DS is clearly getting Internet connectivity, but it both cases everything stops after what looks to be a UDP-based NAT test. Without knowing Nintendo's protocol for NAT testing, it's hard to know what's going on with the NAT test. Can you connect your Linux box to your home LAN via wired Ethernet? If so, you could make it a transparent bridge instead of a NAT gateway. But an 802.11 client STA can't bridge other STA's traffic into an AP, so you can't use bridging if your Linux box connects to the LAN as an 802.11 client STA.
    – Spiff
    Commented Apr 29 at 22:58
  • 1
    @Spiff I finally found out why it wasn’t working, when I suddenly had the idea to switch both wireless adapters’ roles, using my old Belkin on the domestic Wifi side, and my laptop’s Intel adapter in AP mode, and suddenly everything works ! I guess the Belkin wasn’t performing well in AP mode and some traffic was lost, which wasn’t directly noticeable in the packet capture because while it was showing what was effectively received, it was only showing what was supposed to be transmitted (and likely was partially only)
    – NovHak
    Commented May 3 at 5:09

1 Answer 1

0

I found the cause of my problem : my old Belkin adapter wasn’t performing well in AP mode. I switched wireless adapters’ roles, putting the Belkin in charge of the domestic Wifi side and the integrated Intel adapter in charge of the AP, and everything worked.

That being said, that forced me to connect to the net on the 2.4 GHz band, because that’s all the Belkin is capable of, but since the Intel adapter is capable of working in AP mode and Managed mode at the same time (i.e. playing both roles simultaneously, though it’s a little more tricky), I ended up doing just that…

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .