Bug 213685 - RTL8156B devices are very slow with r8152 driver
Summary: RTL8156B devices are very slow with r8152 driver
Status: NEW
Alias: None
Product: Drivers
Classification: Unclassified
Component: Network (show other bugs)
Hardware: Intel Linux
: P1 high
Assignee: drivers_network@kernel-bugs.osdl.org
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2021-07-08 22:11 UTC by linux
Modified: 2021-07-11 14:05 UTC (History)
0 users

See Also:
Kernel Version: 5.13
Subsystem:
Regression: No
Bisected commit-id:


Attachments

Description linux 2021-07-08 22:11:09 UTC
I have two USB-C Realtek RTL8156B devices:

Choetech 2.5G:

[16300.679037] usb 3-1.3: reset high-speed USB device number 3 using xhci_hcd
[17276.777386] usb 1-4: new high-speed USB device number 3 using xhci_hcd
[17277.022438] usb 1-4: New USB device found, idVendor=0bda, idProduct=8156, bcdDevice=31.00
[17277.022444] usb 1-4: New USB device strings: Mfr=1, Product=2, SerialNumber=6
[17277.022446] usb 1-4: Product: USB 10/100/1G/2.5G LAN
[17277.022448] usb 1-4: Manufacturer: Realtek
[17277.022450] usb 1-4: SerialNumber: 001000001

Rivet Killer E3100U:

[18126.491346] usb 1-4: USB disconnect, device number 3
[18131.677381] usb 1-4: new high-speed USB device number 4 using xhci_hcd
[18131.922512] usb 1-4: New USB device found, idVendor=1a56, idProduct=3100, bcdDevice=31.00
[18131.922515] usb 1-4: New USB device strings: Mfr=1, Product=2, SerialNumber=6
[18131.922517] usb 1-4: Product: USB 10/100/1G/2.5G LAN
[18131.922518] usb 1-4: Manufacturer: Rivet
[18131.922519] usb 1-4: SerialNumber: 001000001

However, first of all both adapters are not recognized automatically, even though the device and vendor ID is indeed in the list of the r8152 driver. After doping the following:

modprobe r8152
echo "0bda 8156" > /sys/bus/usb/drivers/r8152/new_id

$ dmesg

[20743.316625] r8152 1-4:1.0: load rtl8156b-2 v1 04/15/21 successfully
[20743.748898] r8152 1-4:1.0 (unnamed net_device) (uninitialized): netif_napi_add() called with weight 256
[20743.749246] r8152 1-4:1.0 eth0: v1.12.11
[20743.828839] r8152 1-4:1.0 enp1s0f0u4: renamed from eth0

$ ifconfig
enp1s0f0u4: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.0.52  netmask 255.255.255.0  broadcast 192.168.0.255
        inet6 fe80::2e0:4cff:fe84:f0b0  prefixlen 64  scopeid 0x20<link>
        inet6 fdad::2e0:4cff:fe84:f0b0  prefixlen 64  scopeid 0x0<global>
        ether 00:e0:4c:84:f0:b0  txqueuelen 1000  (Ethernet)
        RX packets 92960  bytes 111413971 (106.2 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 61417  bytes 61814124 (58.9 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

$ ethtool enp1s0f0u4

Settings for enp1s0f0u4:
	Supported ports: [ TP	 MII ]
	Supported link modes:   10baseT/Half 10baseT/Full
	                        100baseT/Half 100baseT/Full
	                        1000baseT/Half 1000baseT/Full
	                        2500baseT/Full
	Supported pause frame use: No
	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: 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: No
	Link partner advertised auto-negotiation: Yes
	Link partner advertised FEC modes: Not reported
	Speed: 1000Mb/s
	Duplex: Full
	Auto-negotiation: on
	Port: MII
	PHYAD: 32
	Transceiver: internal
	Supports Wake-on: pumbg
	Wake-on: g
        Current message level: 0x00007fff (32767)
                               drv probe link timer ifdown ifup rx_err tx_err tx_queued intr tx_done rx_status pktdata hw wol
	Link detected: yes


The driver tells that the device is configured 1000Mb/s but the actual speed is ~100Mb/s. This behaviour is consistent with two computers, both network devices, several different cables, and switches. I also hooked the device up to an 2.5 Gbits/s transceiver. Additionally, I measured the speed of the USB ports used with a USB 3 thumb drive, that reached ~230MB/s (~2000Mb/s). Changing the MTU size is also not improving the situation.

I would be very glad if that could be fixed and I'm happy testing patches.
Comment 1 linux 2021-07-11 14:05:56 UTC
I had some time fiddeling around. I wanted to make sure that did not exidentally hooked up the adapters to an USB 2.0 port or similar. Therefore, I hocked it up to a real USB-C port on my Desktop Workstation. USB should definetely not be problem:

[26025.593358] usb 2-1: new SuperSpeed USB device number 2 using xhci_hcd
[26025.615389] usb 2-1: New USB device found, idVendor=0bda, idProduct=8156, bcdDevice=31.00
[26025.615395] usb 2-1: New USB device strings: Mfr=1, Product=2, SerialNumber=6
[26025.615399] usb 2-1: Product: USB 10/100/1G/2.5G LAN
[26025.615402] usb 2-1: Manufacturer: Realtek
[26025.615404] usb 2-1: SerialNumber: 001000001
[26025.748908] usb 2-1: reset SuperSpeed USB device number 2 using xhci_hcd

I would be very nice if someone could look at this bug. I can also be at help for performance testing etc. Just tell me what you need.

Note You need to log in before you can comment on or make changes to this bug.