Speed capped at maximum 100Mbps

This week I have flashed a Ubiquiti EdgeRouter Lite with OpenWrt and I have noticed that there is a drop in the network speed; a speedtest isn't getting above the 100Mbps:

image
(This graph is coming from Domoticz where I monitor the network speed of my internet connection)

The only thing I noticed is that the br-lan hasn't got the duplex mode configured:

Settings for br-lan:
        Supported ports: [ ]
        Supported link modes:   Not reported
        Supported pause frame use: No
        Supports auto-negotiation: No
        Supported FEC modes: Not reported
        Advertised link modes:  Not reported
        Advertised pause frame use: No
        Advertised auto-negotiation: No
        Advertised FEC modes: Not reported
        Speed: 1000Mb/s
        Duplex: Unknown! (255)
        Port: Other
        PHYAD: 0
        Transceiver: internal
        Auto-negotiation: off
        Link detected: yes

Could this be the reason that my speed is caped or is there another reason why I am not able to use the full 400Mbps of my internet connection?

All devices and cabling must be capable of supporting 1Gbps for 1Gbps to be negotiated, else the negotiated speed will fall back to a lower one, in this case 100Mbps.

Test both devices on either side of the cable, and test the cable itself. Some CAT5 cable can push 1Gbps, but that's a happy accident and is not recommended; you're best off using CAT6 where possible.

Thanks for your reply!

There was a CAT5 cable being used, but when using CAT6 cables (on both the "WAN" and "LAN" side) the speed is still caped at 100Mbps....

Are both devices capable of gigabit speeds? If one device can do only 100Mbps, then the link will go no faster than 100Mbps. For example, my own Ubiquiti EdgeRouter 3 and 4 boxes can do gigabit speeds, but the VDSL "modems" they're plugged into can do only 100Mbps, so the link is capped at 100Mbps (and my Internet connection tops out at 80Mbps anyway, so 100Mbps is more than enough... for now).

Something else just occurred to me: the UBNT OEM firmware supports HW offloading for some functions. Does OpenWRT also support the same HW offloading for those functions? That's a question whose answer I don't know, because I've never put OpenWRT on any UBNT kit of mine. Could any lack of offloading support be throttling your throughput?

Hi

it is wrong measure

you need to run ethtool on specific physical interface
i suppose it is DSA device, so correct will be
ethtool lan1

lan2,lan3,lan4,wan .. whatever

Not this time around :wink:

The ER3 (or ER-Lite) has three discrete Ethernet ports without a switch, unlike, say, the ER-X.

1 Like

Are both devices capable of gigabit speeds?

Yes they are.

Does OpenWRT also support the same HW offloading for those functions?

Unfortunately I can't answer that question as I am not that big of an expert of OpenWrt... Hopefully someone else is able to answer this question.

Any chance your ISP might be throttling you, whether intentionally or accidentally? Could there be a fault upstream of your router, over which you might have no control?

Ok, my mistake

still,using ethtool on bridge could not work
it must be used on physical port

Use on the port (eth0 etc) that is connected to the modem.

If your modem uses DHCP you can disconnect the router, connect a PC directly to the modem, and test ISP speed from it. Temporarily booting a live OS would be preferable to make sure that your regular OS doesn't get attacked while directly connected to the Internet.

1 Like

Just connected a laptop directly to the ISP modem and the speed test is 400Mbps.
Connecting back to Edgerouter results in a speed test of 100Mbps.

Is there anything else I can try/need to change?

What speeds do you observe with the original Ubiquiti firmware on it?

Sorry, can't tell. I started using the OpenWrt firmware without using the Ubiquiti firmware first.

Fortunately, the ER-Lite has an easily-removable USB stick inside the chassis, should you wish to test with the vendor's own firmware.

Does ethtool on the router port connected to the modem show linked at 1000?

Yes it does:

Settings for eth1:
        Supported ports: [ TP MII ]
        Supported link modes:   10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Full
                                1000baseX/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
                                1000baseX/Full
        Advertised pause frame use: No
        Advertised auto-negotiation: Yes
        Advertised FEC modes: Not reported
        Link partner advertised link modes:  10baseT/Half 10baseT/Full
                                             100baseT/Half 100baseT/Full
                                             1000baseT/Full
        Link partner advertised pause frame use: Symmetric Receive-only
        Link partner advertised auto-negotiation: Yes
        Link partner advertised FEC modes: Not reported
        Speed: 1000Mb/s
        Duplex: Full
        Port: MII
        PHYAD: 6
        Transceiver: external
        Auto-negotiation: on
        Link detected: yes

My provider is known to artificially negotiate 100mb link on 3rd party devices that don't come from the provider. This dirty move is easily solved by setting/forcing 1000mb link in the stock router software.

However, today I installed OpenWRT and find that it doesn't have that setting like stock software.

Could you please advice how to force 1000mb link on OpenWRT?
(OpenWrt version 22.03.5 installed on Xiaomi MI 3G).

All devices in the network are 1Gbps speed, and so are cables and the internet connection (Optic fibre modem)

Something like ethtool or an equivalent might be of help.

How do I force an Ethernet speed? is one possible source of information.

I don't think the kernel DSA drivers support that level of control over the PHY section. You could use a managed switch in between. It would seem though that if they forced their port to 100 it wouldn't link with anything at 1000.