I’ve setup RUTX50 with SIM card meant for a phone. I get about 250Mbps measured using the speed test on the administration page - that is good speed in my location. However, any computer connected to the LAN port gets only about 10Mbps.
To remove any doubt, I used two other methods to measure the speed from the RUTX50 itself and from my computer:
curl -o /dev/null https://myserver/to/big/file
iperf -c myserver
In both cases the speed from RUTX50 is much faster than from my computer. To be sure I also ran iperf between RUTX50 and my computer and I got ~100Mbit, which is rather low, the ethernet claims to be 1Gbit, but it’s still lot higher than the 10Mbit when accessing internet.
So it looks like my mobile operator is detecting “tethering” and throttling the speed. I searched how the operator may be detecting it:
- It’s not APN issue, the operator has just one APN and it clearly gives good speeds on the RUTX50 itself.
- I thought it could detecting using TTL, so I’ve run
iptables -t mangle -I POSTROUTING -o qmimux0 -j TTL --ttl-set 64
, but it didn’t help. I used tcpdump and wireshark to inspect the packets going out - they had TTL set to 64 in both cases. - I saw claims that the operator examines the User Agent header in HTTP, but my tests were using HTTPS and iperf, so no User Agent is visible to the operator.
- I saw claims that the operator fingerprints the traffic to detect computers, but I also ran iperf from the RUTX50 and the computer at the same time and again the one from RUTX50 had much higher speed than the one from computer, so it must be some property of the stream, not of the connection as whole.
Is there some other way the operator could be detecting it? Or could it be that it’s not the operator, but the NAT on the device is just that slow?