Can't get 1Gbit on Mox Classic

Hello,
I can’t get even close to my internet connection 1 Gbit/s download speed with my Mox Classic.
My setup is as follows:
Cablerouter in bridge mode over Cat5e to Turris Classic with two WIFI Cards one 2.4 one 5Ghz.
With both Wifi cards disabled and just one device connected over ethernet I just get between 150 and 300 Mbit/s. In the months since I have my mox I couldn’t get more than 1/3 of my theoretical max bandwidth.I checked today again that I can get the full bandwidth from trough my cable router if I disable bridge mode.
The Mox is running Turris OS 4.0 and just the standard configuration it came up in the Install wizard.
First I thought the device is thermal throttling (it got really hot this summer) so I cooled with an USB Fan but the problem is still existing.
I’m new to the Turris ecosystem and the whole custom router/home network game,
so if you have any ideas/help how to fix the bottleneck I would really appreciate it.

Ben

I haven’t tested throughput with my MOX yet, but i like the netdata package, have a look at CPU and the network interfaces while doing a spead/load test.

Thanks for the tip Netdata looks awesome but a bit overwhelming.
While I tested again the cpu load seemed normal with loadpeaks of max 50% but still just around 200mbit/s. Would be helpful to know what kind of throughput other Mox users achieve.

I did a quick test with iperf3 over Ethernet: [Turris Omnia] <-> [Switch]<-> [MOX] <-> [Laptop]

  • down from TO to Laptop ~880 Mbit/s
  • up from Laptop to TO ~670 Mbit/s
  • down from TO to MOX ~920Mbit/s
  • up from MOX to TO ~910Mbit/s

Edit: MOX is configured in Router Mode so TO is WAN and Laptop is in LAN.

I can get 980 MBit/s with a MOX with PC connected to MOX WAN (MOX in access point mode) with iperf2.

Because of your replies I first tested the LAN bandwidth over Ethernet between 2 devices with ipfer3
~950 Mbit/s
The LAN/Ethernet module C seams to be fine.
Then I installed iperf3 on the MOX trough LuCi and ran the test again. (PC over lan to Mox)
~800Mbit/s
I don’t know how to configure the MOX as an Access Point to test WAN bandwidth. @ssdnvv if you could share your setup in more detail I would really appreciate that.

edit: my first iperf3 test between PC and Mox was to low because I accidentally used WLAN…

I’d suggest a quick look at output of top or htop during the test.

While testing the cpu 1 min load peaks to 1.4 if I have the the LuCI realtime charts open.
If I just use Netdata to monitor the 1 min load peaks are only 0.5
Or I don’t understand for what i should look out in htop?

I’d look mainly at CPU utilization. 50% will typically mean one fully busy “process”. If that happens, I’d look at which process causes that.

Over 50% i get only with internal LAN tests running who come close to the theoretical 1Gbit. While i do external tests like fast.com, Netmetr, speedtest.net the CPU utilization is below 20% and the speed max 300Mbit/s

2 Likes

I got local WAN testing with iperf3 done and only got ~400 Mbits/s. Thanks again for the help so that i could narrow down the problem to the WAN connection. But there is nothing more I could do to fix it. Maybe a reset but that didn’t worked the last few times i tried…

Here’s another thread stating the bandwidth cannot be reached: Up/Downspeed MOX problems .
I suggested turris staff having a look into it as I believe that is a software issue…

1 Like

There’s one single setting in Foris where you can set MOX to behave as PC and give MOX a static IPv4- address (e.g. 192.168.1.1). Then connect MOX WAN to your laptop/PC/Mac and give the interface on laptop/PC/Mac IPv4- address in the same range (e.g. 192.168.1.2). Then run iperf. Would be nice if you could report CPU-utilization while iperf is running, because I missed to do that.

After my last post I got in touch with the Support, they also assured me that the hardware shouldn’t be the bottleneck. So I tested again and got the ~1Gbti/s between my laptop and MOX via WAN . But as soon as I connect the Modem its back to ~300Mbit/s (used the same cable, and my modem is still providing 1Gbit/s). I tried to recreate the 1G results through WAN but wasn’t able to set it up again. Unfortunately right now I don’t have the time to read up on network setup or test more methodically (so far I’ve punched in like a monkey IP-, Gateway-Addresses and Networkmasks until something worked messed with firewall settings etc).
tl;dr I don’t trust my own local WAN testing, the only thing i can state certainly is that the Internet speed should be much higher. Thanks again for all the replies, if there are any changes or I get more reliable testing done I will post them here.

With higher speeds on a WAN it becomes important to tweak OS performance settings. I’m pretty sure the team tested gigabit in their lab, but real world is a bit more complicated.

Check this out: https://serverfault.com/a/758350/164448

Default kernel settings are probably more appropriate for a wider audience than random numbers found on the Internet.

What did you try to change? What is the improvement?

1 Like

It’s not about random numbers, but about the correct process to actually tweak the WAN performance.

Well a number of the sysctls in the linked post really only affect tcp connections starting or ending on the router, they will do almost nothin.g for tcp connections with end-points in your internal network (aka for packets that are just routed)

1 Like

It’s true, but I’ve linked that post as an example of what kernel perf tuning looks like as it is much more complicated when you reach higher speeds, especially on WAN.
Connections from LAN run through NAT on the router, unless you disabled it. Packets there are not just routed.

Sure it is not that simple, albeit there is a lot of obsoleted advice in the internet, that once was good advice but has been superseded by better auto-tuning of the linux kernel. That said, “WAN performance” is not a function of the router alone, the endpoints also need to be capable ot saturate a link and that is where TCP-tuning will get potentially important again, but this part is router agnostic and not specific to the MOX. If I understood the OP correctly, he observed less performance with the MOX than with another router, so I doubt that the endpoints TCP configuration is the relevant parameter here.

True, but the TCP parameters in the posted link still are irrelevant for a router’s NAT/firewalling/routing performance, they will affect TCP connections terminating on the router though. So if one uses a proxy, like squid on the router, TCP parameter very much become relevant again (or when using the router as OpenVPN end point or webserver).

3 Likes