Internet speed capped at 100mbps by the router

Hello.

A few months ago I flashed my ASUS RT-AC85P router with OpenWRT 21.02.3 firmware. Everything has been working great, but I have recently noticed that my internet speed wouldn't go past 95 mb/s, which is well below what my ISP provides (200 mb/s). To test the speed connection I used the dslreports speed test, as well as a few others.
I contacted my ISP - they assured me everything was right on their end and the issue has to be on my end, so I began troubleshooting.
Eventually, I think I narrowed down the problem to the 'wan' interface being limited to 100mb/s by the router for some reason.
Here's what I've tried:

1. Connecting the ethernet cable directly to my PC, omitting the router
This fixes the problem, my internet speed went back to the full 200 mb/s - tested with the dslreports test again.
I have also repeated this with every ethernet cable that I'm using - they're all working fine and providing the full 200mb/s speed. All the cables I use are ethernet cat5e cables, which should be capable of handling 1Gb/s speed.
I believe this eliminates the possibility of a faulty ethernet cable.

2. Googling for people experiencing similar issues
This has brought me to various threads on the OpenWRT forums.
The first one I found suggested running the following command for further troubleshooting:

dev=$(ifstatus wan | grep "device | awk '{print $2}' | sed 's/"//g;s/,//g'); echo "Interface: $dev, Speed: $(cat /sys/class/net/$dev/speed)"

The output of the command ran on my device is:

Interface: wan, Speed: 100

At this point I knew this output wasn't what it should be and suspected that the issue is my router somehow establishing wrong connection speed.

3. ethtool

After further googling, I obtained more information with the ethtool utility.
I ran the following commands and obtained the following output:

ethtool eth0

Settings for eth0:
        Supported ports: [ MII ]
        Supported link modes:   1000baseT/Full
        Supported pause frame use: Symmetric Receive-only
        Supports auto-negotiation: No
        Supported FEC modes: Not reported
        Advertised link modes:  1000baseT/Full
        Advertised pause frame use: Symmetric Receive-only
        Advertised auto-negotiation: No
        Advertised FEC modes: Not reported
        Speed: 1000Mb/s
        Duplex: Full
        Port: MII
        PHYAD: 0
        Transceiver: internal
        Auto-negotiation: on
        Current message level: 0x000000ff (255)
                               drv probe link timer ifdown ifup rx_err tx_err
        Link detected: yes

ethtool wan

        Supported ports: [ TP MII ]
        Supported link modes:   10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Full
        Supported pause frame use: Symmetric Receive-only
        Supports auto-negotiation: Yes
        Supported FEC modes: Not reported
        Advertised link modes:  10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Full
        Advertised pause frame use: Symmetric Receive-only
        Advertised auto-negotiation: Yes
        Advertised FEC modes: Not reported
        Link partner advertised link modes:  10baseT/Half 10baseT/Full
                                             100baseT/Half 100baseT/Full
        Link partner advertised pause frame use: No
        Link partner advertised auto-negotiation: Yes
        Link partner advertised FEC modes: Not reported
        Speed: 100Mb/s
        Duplex: Full
        Port: MII
        PHYAD: 0
        Transceiver: external
        Auto-negotiation: on
        Supports Wake-on: d
        Wake-on: d
        Link detected: yes

Just like before, I believe this output points out where the issue lies. Unfortunately, I lack the understanding of this part of networking and I don't know why the wan interface is limited to 100mb/s and doesn't advertise 1000mb/s as the option like other interfaces.
I then tried forcing the speed of the wan interface to 1000 with the ethtool utility with the following command:

ethtool -s wan speed 1000 duplex full autoneg on

But that broke internet connectivity entirely and I had to fix it with ethtool -s wan autoneg on to bring it back on. The interface reverted to 100mb/s again.

At this point I have no idea how to fix this issue. Before I switched to OpenWRT as my firmware I had the full internet speed.
I'd appreciate if someone could offer ideas on how to fix or further troubleshoot the issue.

Do you have a simple unmanaged gigabit switch you can insert between the upstream device (modem?) and your router's WAN? Don't connect anything else to that switch.

The idea is to see if there is a negotiation issue specifically between the two devices (which may be solved with the gigabit switch in between), or if it is an issue you've got on your OpenWrt side entirely.

Also, check your physical port to make sure that there aren't any debris or bent pins or anything else that might physically affect some of the connections.

2 Likes

The router does not see the modem advertising 1000. This is unusual. Do try what @psherman said, pass the modem through a switch that is definitely 1000.

Have you considered the WAN port may be faulty?

Further to @psherman suggestion, perhaps try Asus stock firmware?

fwiw, I have two RT-AC57u v1 (MT7621 like RT-AC85p) both suffering WAN port faults.
One was caused by storm damaged about a month ago. WAN port is 'stuck' in 100 mbps mode.

Another one of unknown history, 'seems' to work at first glance. Passes speed tests in stock firmware and OpenWrt. No packet loss. No errors in any logs. Cut long story short, web browsing is some times unreliable if WAN port is in gigabit mode. Works perfectly in 100mb mode.

Thanks for the replies.

Unfortunately I don't have an unmanaged gigabit switch, unless a Raspberry Pi 4 can serve as one? But then I imagine things could get complicated and I'm not sure if I'm competent enough to set it up with a Raspberry Pi 4 as the switch. Still, if that's a possibility I'm down to try.

I am somewhat hesitant to believe the WAN port could be damaged, but I could be wrong. I bought the router brand new a few months ago and it came in the original, wrapped package. When it had the stock firmware and I tested the speed and it was normal - the full 200mb/s. Unfortunately I didn't test the speed again right after flashing it with OpenWRT, so I can't be sure but I don't believe the WAN port is damaged. I never experienced any power outages and have always been careful with handling the router and cables.
Anyway, I inspected the WAN port visually and all the pins seem to be in a perfect condition and there's no dust in the port.

Is it possible to tell if OpenWRT is the culprit without flashing the stock firmware again? I'd rather avoid doing so if possible.

Do you have another gigabit router you can connect to your ISP?

Then wire the RT-AC85p to this router and perform an internet speed test.

22.03.0-rc5 is also available fwiw.

I do have another gigabit router - Asus RT-N66U that I used before the current one. It definitely worked at the full speed, even though I flashed it with DD-WRT.
I will connect it as you said and perform the speed test. Just to make sure that I understood correctly, my wiring setup should be:
my PC -> RT-AC85P -> RT-N66U -> ISP modem
Is that correct?

yes.
ensure LAN IP of AC85p and N66u are on different subnets.
eg. 192.168.2.1 and 192.168.1.1

1 Like

I'm getting the full 200mb/s speed with the setup you suggested.
I even took a peak at the OpenWRT system log, and having the RT-AC85P connected to RT-N66U gave the following log:

Wed Jul 13 18:18:59 2022 kern.info kernel: [ 2014.361917] mt7530 mdio-bus:1f wan: Link is Up - 1Gbps/Full - flow control rx/tx

Whereas connecting the RT-AC85P back directly to the modem gives:

Wed Jul 13 18:25:34 2022 kern.info kernel: [ 2409.618051] mt7530 mdio-bus:1f wan: Link is Up - 100Mbps/Full - flow control off

Yes, probably not a difference here, but always upgrade to the latest version when a bug is suspected.

The page for RT-AC85p says the current version is 21.02.3.
Is it safe to update to 22.03.0-rc5 anyway?

You can connect a spare PC to the Wan port just to see what it auto-negotiates

What was installed before you installed this?

I don't have a spare PC, but I can connect it to my main PC temporarily if it helps.

The stock firmware - ASUSWRT.

This would be fine as long as you have a way to connect to the LAN side to view the connection speed that was negotiated. You could use your phone or similar on wifi.

1 Like

How have you configured the DSA settings?

How many cpu ports does this device have originally?

Have you used the same ethernet cable when trying in the router and the computer?

You could try shifting the wan port to a lan port in dsa settings to verify if the wan port works or not. But usually when auto negotiation speed gets to small there is a cable or connector fault.

And you have set up the wan protocol right to match the ISP?

Actually I did it without any other device, I connected the PC to the router's WAN port and then went back to the original configuration to check the system log since it's persistent.
Once again, the system log says a 1Gbps connection was established when connected to the PC:

Wed Jul 13 20:45:08 2022 kern.info kernel: [10783.155602] mt7530 mdio-bus:1f wan: Link is Up - 1Gbps/Full - flow control off

I haven't changed anything about the settings, I left them by default since everything seemed to be working fine. I can run some commands that will show more information if it helps.

I'm not sure how to determine the answer to this question.

I have tried it with the same and different cables - the result is the same (capped at 100mb/s).

I'm not sure how to do that without more instructions.
Given that it handles the full speed when connected to another router, doesn't that eliminate the possibility of a faulty cable or connector?

As above I haven't changed any settings since it seemed to be working fine, I don't believe my ISP requires a specific configuration.
I'm open to provide more information if you need it.

It seems that there is a negotiation issue that is occuring between your modem and your router. This is a relatively rare situation, and it is clear that your router is not experiencing an outright failure (with hardware or firmware) since it is able to successfully negotiate a 1G link when connecting to other devices (i.e. your RT-N66U and your computer).

Therefore, what I would recommend is the following:

  • Roll back to 21.02.3 (the current official stable release) and test with that version of the firmware.
  • Roll forward to 22.03.0-RC5 and see what happens on this RC version.

make sure you do not keep settings when you upgrade/downgrade the firmware. Aside from potential issues with compatibility from release to release, we want to test with a completely default configuration (or default to the greatest extent possible).

1 Like

I will try updating to 22.03.0-rc5 without preserving the settings, but since I'm currently on 21.02.3 I'm confused about the suggestion to roll back to it. Could you explain what you meant?