LAN capped at 100 Mbit/s

Hello,
I’m facing an issue with my OpenWrt setup where one of my LAN ports (Port 3) is stuck at 100 Mbps, even though it supports and has previously worked at 1 Gbps. I’ve tried a bunch of things but I couldn't solve the issue yet.

My previous router (from my ISP) didn't have this issue and gave my PC 1 Gbps. A few days ago, my current setup suddenly gave me 1 Gbps too, but now, without changing anything, it went back to 100 Mbps.

I have a Netgear Nighthawk R7800 X4S and a Cat7 ethernet cable. The OpenWrt version is 23.05.5.

If I force 1 Gbps or disable auto negotiation on my PC, the LAN connection stops working, at least from what I've tried.

Thank you in advance!

Force the port on the router side ?

Even cat7 cables can go bad.

Disconnect and reconnect the cable going to the port, what does dmesg say about it ?

2 Likes

I believe I tried that, but how do you recommend doing that? I couldn't find any official instructions, I'm new to OpenWrt.

I have reconnected the cable, I have also switched ports, but it didn't help

You need ethtool to do it, from cli.

If it's a bad cable, switching port won't help, no ?

Could be hardware damage to the port or the device at the other end of the cable. Look at the sockets-- sometimes one of the pins gets bent and has the same effect as a bad cable.

A simple test would be to swap the cable from lan1 (which has a device linked at 1 Gb) over to lan3 and see if lan3 then links at 1 Gb.

It seems so unlikely to me that the cable is the issue, it worked completely fine with the ISP router and has worked with the OpenWrt router recently, I still don't know why it suddenly doesn't work again. It could be the cable, but it would be a hassle getting a new one as it's in my attic and quite long

That didn't work, I've tried this

Ethtool apparently only allows modifying the settings for the CPU-facing interface like eth0? eth0 is 1000 Mbit/s but Port 3 isn't, I can't change it with ethtool.

I also tried
swconfig dev switch0 port 3 set link "speed 1000 duplex full"
but I got Failed to set attribute: Operation not supported