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:
(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.
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?
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?
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.
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)
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.