[BPI-R4] bad switch performance in upload

my problem that i reported is fixed:

100mbit voip phone:

root@OpenWrt:~# ethtool lan2
Settings for lan2:
	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: Symmetric Receive-only
	Link partner advertised auto-negotiation: Yes
	Link partner advertised FEC modes: Not reported
	Speed: 100Mb/s
	Duplex: Full
	Port: Twisted Pair
	PHYAD: 2
	Transceiver: external
	Auto-negotiation: on
	MDI-X: Unknown
	Supports Wake-on: d
	Wake-on: d
	Link detected: yes

my rpi5 (htpc) on lan1:

Settings for lan1:
	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 
	                                     1000baseT/Half 1000baseT/Full 
	Link partner advertised pause frame use: Transmit-only
	Link partner advertised auto-negotiation: Yes
	Link partner advertised FEC modes: Not reported
	Speed: 1000Mb/s
	Duplex: Full
	Port: Twisted Pair
	PHYAD: 1
	Transceiver: external
	Auto-negotiation: on
	MDI-X: Unknown
	Supports Wake-on: d
	Wake-on: d
	Link detected: yes

dangowrt mentioned that some link partners might have problems, but i assume its something different then what i reported because i had problems on client side. guillo seems to have problems on all lan ports after using that 100mbit device?

Yes when a 100Mbits device is connected all the ports are limit to 100Mbits in upload (device to router)

@frank-w i’m on the latest snapshot

That would be bad and should probably be considered a bug. If you have one 100 Mbit device plugged into the switch, you’d normally expect other devices to still run a 1Gbit if they are capable.

who all have this issue can you please show ethtool like @oli did for the port having a 1G client while having 100M client on another port? just to nail this a bit down (advertisement issue should be fixed, but maybe it is another one)

@oli can you do 1G bidirectional traffic to the rpi5?

i dont know how, the rpi5 is running libreelec and i have no idea if they have an iper3 package. any idea how to verify that?

You can use also another device,just to make sure you can have ~940mbit/s bidirectional while havin the 100m device connected

i will see if i can plug in the laptop tomorrow. i have no other device - all are connected by wifi, only the rpi5 is connected with a cable.

Hello,

This is the data when 100M device is connected (on lan2):

Settings for lan2:
	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: Symmetric
	Link partner advertised auto-negotiation: Yes
	Link partner advertised FEC modes: Not reported
	Speed: 100Mb/s
	Duplex: Full
	Port: Twisted Pair
	PHYAD: 2
	Transceiver: external
	Auto-negotiation: on
	MDI-X: Unknown
	Supports Wake-on: d
	Wake-on: d
	Link detected: yes
Settings for lan3:
	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 
	                                     1000baseT/Half 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: Twisted Pair
	PHYAD: 3
	Transceiver: external
	Auto-negotiation: on
	MDI-X: Unknown
	Supports Wake-on: d
	Wake-on: d
	Link detected: yes

And an iperf from lan3 (a rpi4) to the R4 when 100M is connected

Connecting to host 192.168.1.1, port 5201
[  5] local 192.168.1.8 port 55098 connected to 192.168.1.1 port 5201
[  7] local 192.168.1.8 port 55106 connected to 192.168.1.1 port 5201
[ ID][Role] Interval           Transfer     Bitrate         Retr  Cwnd
[  5][TX-C]   0.00-1.00   sec  11.0 MBytes  92.0 Mbits/sec    0    263 KBytes       
[  7][RX-C]   0.00-1.00   sec  72.4 MBytes   607 Mbits/sec                  
[  5][TX-C]   1.00-2.00   sec  9.07 MBytes  76.1 Mbits/sec    0    310 KBytes       
[  7][RX-C]   1.00-2.00   sec   111 MBytes   932 Mbits/sec                  
[  5][TX-C]   2.00-3.00   sec  8.70 MBytes  73.0 Mbits/sec    0    310 KBytes       
[  7][RX-C]   2.00-3.00   sec   112 MBytes   940 Mbits/sec                  
[  5][TX-C]   3.00-4.00   sec  8.33 MBytes  69.9 Mbits/sec    0    310 KBytes       
[  7][RX-C]   3.00-4.00   sec   112 MBytes   940 Mbits/sec                  
[  5][TX-C]   4.00-5.00   sec  8.45 MBytes  70.9 Mbits/sec    0    310 KBytes       
[  7][RX-C]   4.00-5.00   sec   111 MBytes   933 Mbits/sec                  
[  5][TX-C]   5.00-6.00   sec  8.33 MBytes  69.8 Mbits/sec    0    310 KBytes       
[  7][RX-C]   5.00-6.00   sec   112 MBytes   941 Mbits/sec                  
[  5][TX-C]   6.00-7.00   sec  9.88 MBytes  82.9 Mbits/sec    0    331 KBytes       
[  7][RX-C]   6.00-7.00   sec   112 MBytes   940 Mbits/sec                  
[  5][TX-C]   7.00-8.00   sec  8.33 MBytes  69.9 Mbits/sec    0    331 KBytes       
[  7][RX-C]   7.00-8.00   sec   112 MBytes   940 Mbits/sec                  
[  5][TX-C]   8.00-9.00   sec  8.95 MBytes  75.1 Mbits/sec    0    331 KBytes       
[  7][RX-C]   8.00-9.00   sec   112 MBytes   938 Mbits/sec                  
[  5][TX-C]   9.00-10.00  sec  8.26 MBytes  69.3 Mbits/sec    0    331 KBytes       
[  7][RX-C]   9.00-10.00  sec   111 MBytes   931 Mbits/sec                  
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID][Role] Interval           Transfer     Bitrate         Retr
[  5][TX-C]   0.00-10.00  sec  89.3 MBytes  74.9 Mbits/sec    0             sender
[  5][TX-C]   0.00-10.00  sec  87.8 MBytes  73.6 Mbits/sec                  receiver
[  7][RX-C]   0.00-10.00  sec  1.06 GBytes   907 Mbits/sec    0             sender
[  7][RX-C]   0.00-10.00  sec  1.05 GBytes   904 Mbits/sec                  receiver

If you need something else you can ask me.

1 Like

Looks like it is a tx issue from client pov (dsa receive,tx to mac)

So it is not the same bug as before ?

i have indeed the same problem:

oli@DESKTOP-RA0V02P:~$ iperf3 -c 192.168.1.1 --bidir
Connecting to host 192.168.1.1, port 5201
[  5] local 192.168.1.225 port 56022 connected to 192.168.1.1 port 5201
[  7] local 192.168.1.225 port 56032 connected to 192.168.1.1 port 5201
[ ID][Role] Interval           Transfer     Bitrate         Retr  Cwnd
[  5][TX-C]   0.00-1.00   sec  12.9 MBytes   108 Mbits/sec    0    366 KBytes       
[  7][RX-C]   0.00-1.00   sec  66.4 MBytes   556 Mbits/sec                  
[  5][TX-C]   1.00-2.00   sec  11.1 MBytes  93.3 Mbits/sec    0    431 KBytes       
[  7][RX-C]   1.00-2.00   sec   111 MBytes   930 Mbits/sec                  
[  5][TX-C]   2.00-3.00   sec  11.8 MBytes  98.6 Mbits/sec    0    431 KBytes       
[  7][RX-C]   2.00-3.00   sec   111 MBytes   934 Mbits/sec                  
[  5][TX-C]   3.00-4.00   sec  10.8 MBytes  90.2 Mbits/sec    0    431 KBytes       
[  7][RX-C]   3.00-4.00   sec   112 MBytes   941 Mbits/sec                  
[  5][TX-C]   4.00-5.00   sec  10.8 MBytes  90.2 Mbits/sec    0    431 KBytes       
[  7][RX-C]   4.00-5.00   sec   112 MBytes   941 Mbits/sec                  
[  5][TX-C]   5.00-6.00   sec  10.9 MBytes  91.2 Mbits/sec    0    431 KBytes       
[  7][RX-C]   5.00-6.00   sec   112 MBytes   941 Mbits/sec                  
[  5][TX-C]   6.00-7.00   sec  11.6 MBytes  97.5 Mbits/sec    0    431 KBytes       
[  7][RX-C]   6.00-7.00   sec   112 MBytes   942 Mbits/sec                  
[  5][TX-C]   7.00-8.00   sec  11.0 MBytes  92.3 Mbits/sec    0    431 KBytes       
[  7][RX-C]   7.00-8.00   sec   112 MBytes   941 Mbits/sec                  
[  5][TX-C]   8.00-9.00   sec  11.2 MBytes  94.4 Mbits/sec    0    458 KBytes       
[  7][RX-C]   8.00-9.00   sec   112 MBytes   941 Mbits/sec                  
[  5][TX-C]   9.00-10.00  sec  10.5 MBytes  88.1 Mbits/sec    0    458 KBytes       
[  7][RX-C]   9.00-10.00  sec   112 MBytes   938 Mbits/sec                  
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID][Role] Interval           Transfer     Bitrate         Retr
[  5][TX-C]   0.00-10.00  sec   112 MBytes  94.4 Mbits/sec    0             sender
[  5][TX-C]   0.00-10.02  sec   111 MBytes  92.8 Mbits/sec                  receiver
[  7][RX-C]   0.00-10.00  sec  1.05 GBytes   904 Mbits/sec    0             sender
[  7][RX-C]   0.00-10.02  sec  1.05 GBytes   898 Mbits/sec                  receiver

iperf Done.
oli@DESKTOP-RA0V02P:~$ iperf3 -c 192.168.1.1 
Connecting to host 192.168.1.1, port 5201
[  5] local 192.168.1.225 port 52952 connected to 192.168.1.1 port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec  12.4 MBytes   104 Mbits/sec    0    240 KBytes       
[  5]   1.00-2.00   sec  11.2 MBytes  94.4 Mbits/sec    0    240 KBytes       
[  5]   2.00-3.00   sec  11.1 MBytes  93.3 Mbits/sec    0    250 KBytes       
[  5]   3.00-4.00   sec  11.2 MBytes  94.4 Mbits/sec    0    250 KBytes       
[  5]   4.00-5.00   sec  11.2 MBytes  94.4 Mbits/sec    0    262 KBytes       
[  5]   5.00-6.00   sec  11.2 MBytes  94.4 Mbits/sec    0    264 KBytes       
[  5]   6.00-7.00   sec  11.4 MBytes  95.4 Mbits/sec    0    264 KBytes       
[  5]   7.00-8.00   sec  11.2 MBytes  94.4 Mbits/sec    0    264 KBytes       
[  5]   8.00-9.00   sec  11.2 MBytes  94.4 Mbits/sec    0    264 KBytes       
[  5]   9.00-10.00  sec  11.1 MBytes  93.3 Mbits/sec    0    264 KBytes       
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec   114 MBytes  95.2 Mbits/sec    0             sender
[  5]   0.00-10.02  sec   112 MBytes  94.2 Mbits/sec                  receiver

iperf Done.

after ethtool -A wan autoneg off rx off tx off (i use wan as i plugged in my workstation in the first rj45 port) i get:

oli@DESKTOP-RA0V02P:~$ iperf3 -c 192.168.1.1 --bidir
Connecting to host 192.168.1.1, port 5201
[  5] local 192.168.1.225 port 38498 connected to 192.168.1.1 port 5201
[  7] local 192.168.1.225 port 38512 connected to 192.168.1.1 port 5201
[ ID][Role] Interval           Transfer     Bitrate         Retr  Cwnd
[  5][TX-C]   0.00-1.00   sec   115 MBytes   967 Mbits/sec    2    523 KBytes       
[  7][RX-C]   0.00-1.00   sec   109 MBytes   916 Mbits/sec                  
[  5][TX-C]   1.00-2.00   sec   112 MBytes   937 Mbits/sec    0    594 KBytes       
[  7][RX-C]   1.00-2.00   sec   112 MBytes   937 Mbits/sec                  
[  5][TX-C]   2.00-3.00   sec   112 MBytes   938 Mbits/sec    0    618 KBytes       
[  7][RX-C]   2.00-3.00   sec   112 MBytes   937 Mbits/sec                  
[  5][TX-C]   3.00-4.00   sec   112 MBytes   937 Mbits/sec    0    622 KBytes       
[  7][RX-C]   3.00-4.00   sec   112 MBytes   937 Mbits/sec                  
[  5][TX-C]   4.00-5.00   sec   112 MBytes   938 Mbits/sec    0    631 KBytes       
[  7][RX-C]   4.00-5.00   sec   112 MBytes   938 Mbits/sec                  
[  5][TX-C]   5.00-6.00   sec   112 MBytes   944 Mbits/sec    0    636 KBytes       
[  7][RX-C]   5.00-6.00   sec   112 MBytes   937 Mbits/sec                  
[  5][TX-C]   6.00-7.00   sec   112 MBytes   935 Mbits/sec    0    638 KBytes       
[  7][RX-C]   6.00-7.00   sec   112 MBytes   938 Mbits/sec                  
[  5][TX-C]   7.00-8.00   sec   112 MBytes   937 Mbits/sec    0    649 KBytes       
[  7][RX-C]   7.00-8.00   sec   111 MBytes   930 Mbits/sec                  
[  5][TX-C]   8.00-9.00   sec   113 MBytes   947 Mbits/sec    0    662 KBytes       
[  7][RX-C]   8.00-9.00   sec   111 MBytes   933 Mbits/sec                  
[  5][TX-C]   9.00-10.00  sec   112 MBytes   939 Mbits/sec    0    665 KBytes       
[  7][RX-C]   9.00-10.00  sec   112 MBytes   938 Mbits/sec                  
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID][Role] Interval           Transfer     Bitrate         Retr
[  5][TX-C]   0.00-10.00  sec  1.10 GBytes   942 Mbits/sec    2             sender
[  5][TX-C]   0.00-10.00  sec  1.09 GBytes   939 Mbits/sec                  receiver
[  7][RX-C]   0.00-10.00  sec  1.09 GBytes   936 Mbits/sec    0             sender
[  7][RX-C]   0.00-10.00  sec  1.09 GBytes   934 Mbits/sec                  receiver

iperf Done.

so seems like i was not having this problem anymore because i was using eth1 (sfp-rj45 adapter) to connect my workstation. so this bug is still open then

@guillomep @oli

Skimmed through the thread. If I read it correctly, when you have one client (A) physically limited to 100Mbps and connected to R4’s switch. A second client (B) capable of 1Gbps and connected to R4’s switch. The problem is client B will transmit at 100Mbps instead of 1Gbps.

If you have a third client (C, say Win PC) capable to 1Gbps. Could you test: set client C to limit by software to 100Mbps. Connect client C to R4’s switch in place of client A. Now for client B, does it still only able to transmit at 100Mbps ?

whats the purpose of this test? i dont want to mess around anymore with my ethernet cable (from/to my workstation) as its already so fcked that i often lose connection. so if you are a developer and need this for figuring out whats going on, i am willing to mess around with my cables or get the laptop from the basement with another cable. but if not, dont get me wrong, i dont want to test that. maybe guillomep want to give this a try. also, for me it makes no sense why it should behave any different when i set a client to 100mbit and plug it into an “old” 100mbit port.

The goal of my suggested experiment is to narrow down the scope of the problem.