R7800 ethernet troubleshooting

Router is running 21.02.1
ISP-speed is 250/25 MBit/s.

When I connect a 100 MBit/s device to one of the LAN-port the download speed is only 20-30 MBit/s.
When I connect the LAN-port to another GE capable switch and connect the 100MBit device then to the second switch I achieve 90 MBit/s.
So I assume that there is a problem with R7800 and 100 MBit speed.
Perhaps a duplex problem?

swconfig says the port is in full-duplex:

> root@RTR01:~# swconfig dev switch0 port 4 get link
> port:4 link:up speed:100baseT full-duplex txflow rxflow auto

Manually switching to 100MBit/s fails:

> root@RTR01:~# swconfig dev switch0 port 4 set link "speed 100baseT"
> Failed to set attribute: Operation not supported

So these are my questions:
How can I change the speed/duplex settings with swconfig on R7800?
How can I see ethernet errors, collisions etc.?

Usecase is an AP connected via telephone cable (only 100Mb capable).

Telephone cable? standard telephone cable is not rated for ethernet signals. What specific cable type are you using?

You're right. It is a 4 pair telephone cable (15m CAT3?). And it worked quite well for a couple of years (with 100 MBit/s).

To exclude the cable, I did the testings with my laptop directly at the R7800.
Don't know, why the connecton is broken now. Perhaps the last OpenWrt update?
Therefore I want to investigate deeper. But I am unable to set speed and duplex manually on the R7800.

It is possible, but unlikely that the update directly impacted your connection speeds. More likely is that it was marginal in the first place and/or conditions changed (one or more of the conductors within the cable may be failing, or the terminations may be weak). Cat3 is rated for 10Mbps ethernet, although for short runs in relatively ideal situations, it may be able to run faster. Replace it with a proper 4-pair Cat5e or Cat6 cable and you should be good.

IMO, it is not worth investigating deeper unless you do it purely as an intellectual curiosity. Otherwise, you're wasting time digging into what will come down to a simple answer: the cable you've been using isn't up to spec for what you want to do with it.

1 Like

Hi, i am quite aware, that there might be problems with the CAT3 cabling.
Therefore I tested with my laptop and a 3m patchcord directly connected to the router.

The results are:

Laptop set to "auto", router says 1000/FD.
Speedtest gives 260/26 (expected)

Laptop set to "100/FD", router says 100/FD.
Speedtest gives 30/25 (too slow)

Laptop set to "100/HD", router says 100/HD.
Speedtest gives 24/27 (too slow)

So the problem persists without the CAT3 cable.
And that is what I do not understand and what I want to investigate.


Try with iperf3 between two systems directly wired to the router.

Things become strange:

iperf between the AP and laptop via CAT3 cable are OK:
(AP is server)
[AP]-100FD(CAT3)-[LAN R7800 LAN]-100FD-[Laptop]

[ ID] Interval           Transfer     Bandwidth
[  4]   0.00-10.00  sec   112 MBytes  94.4 Mbits/sec                  sender
[  4]   0.00-10.00  sec   112 MBytes  94.4 Mbits/sec                  receiver

The only "bad" combination is a 100MBit/s device connected to the R7800 when the R7800 is connected to ISP modem and has to route the traffic.
When I put another router between the ISP and let the R7800 switch everything is fine.
Also, when the R7800 routes and the speed is converted by another switch from 100 to 1000 everything is fine, too.

[ISP]-1GE-[WAN R7800 LAN]-100FD-[Laptop]
Speedtest ookla 30/25

Good (WNDR3700 as speed-converter):
[ISP]-1GE-[WAN R7800 LAN]-1GE-[LAN WNDR3700 LAN]-100FD-[Laptop]
Speedtest ookla 76/28

Good (WNDR3700 as NAT and routing device):
[ISP]-1GE-[WAN WNDR3700 LAN]-1GE-[LAN R7800 LAN]-100FD-[Laptop]
Speedtest ookla 80/27

So it seems to be a problem with routing/natting traffic that comes from a 100MBit port.
Any ideas?

And now I remember that I removed my virtual OPNsense FW, which was connected via gigabit to R7800. The 100MBit traffic was switched to the OPNsense box and there it was "converted" to gigabit line speed and went back to R7800.

BTW: Flashing 19.x.y made no difference.

1 Like

That is an interesting finding. I wonder if it is a hardware limitation for the built-in switch or the topology within that device.

If you really want to test this fully, roll back to the stock firmware and test again. If the problem persists, it could be something related to the hardware. If it goes away, maybe there is a bug somewhere in OpenWrt.

If you're investigating, I'd also be curious if this causes the entire network to have issues, or just that single 100Mbps Half Duplex device (so if you do a test from machine "A" at 100M FDX or 1G FDX connected to the router while machine "B" is connected at 100M HDX, does machine "A" experience the same bottleneck)?

In the meantime, two thoughts:

  • do you actually need to worry about the 100M Half Duplex mode of operation (once you replace the cable)? Or is this all theoretical?
  • If a 100M HDX device will live on the network, can you insert a gigabit switch (as you have done in your test) to prevent that device from affecting the R7800?

Good idea!

Only the 100Mbps (Full + Half Duplex) connection is affected.

Replacement of the cable is not that easy. Otherwise I would have done that first.

Of course. If I can't solve the prob.

At all R7800 users:
Can anyone check, whether this bug is reproducable?

1 Like

Just reverted to stock and the problem is gone:
I achieve 80/27 with a 100FD link.

Back to OpenWrt: 30/25.

Seems to be an OpenWrt problem.
How can I report a bug?

1 Like
1 Like

Bug is reported.

Funny thing: when I reactivate my OPNsense FW as described here the speed over the 100FD line is good.
But wifi download connected to R7800 drops down to 80%.
Connection to R7800 with patchcord gives 100% download speed.

I gave up and bought an RT3200.
Now everything is fine :slight_smile:
Kudos @dangowrt

1 Like

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.