You are not logged in.

#1 2021-12-30 20:41:24

kilobytech
Member
Registered: 2018-07-01
Posts: 22

RTL8156B not working on Thinkpad T14

I have a RTL8156B 2.5G Ethernet to USB Adapter. This adapter works fine with Archlinux on Laptop 0 (Dell Latitude E5570). But the same adapter with the same Ethernet Cable at the same Switch Port and same Kernel Version doesn't work on Laptop 1 (Lenovo ThinkPad T14). I'm not sure where to search any differences, as I already tried to rule out all differences. Both systems are up-to-date according to `pacman -Syu`.

ip a reports `NO-CARRIER`. Also, the green LED on the Adapter just flashes briefly from time to time when connected to Laptop 1. On Laptop 0 the green LED is lit up steady.

Also tested with newest RC Kernel 5.16.0-rc7-1-mainline, with this Kernel the Adapter is also not working on the Lenovo Laptop.

When running Windows, the Adapter works fine on both Laptops.


uname on Laptop 0 (working):

Linux nb-kbch-0 5.15.12-arch1-1 #1 SMP PREEMPT Wed, 29 Dec 2021 12:04:56 +0000 x86_64 GNU/Linux

dmesg on Laptop 0 (working):

[   56.492467] usb 2-3: new SuperSpeed USB device number 4 using xhci_hcd
[   56.510030] usb 2-3: New USB device found, idVendor=0bda, idProduct=8156, bcdDevice=31.00
[   56.510042] usb 2-3: New USB device strings: Mfr=1, Product=2, SerialNumber=6
[   56.510047] usb 2-3: Product: USB 10/100/1G/2.5G LAN
[   56.510050] usb 2-3: Manufacturer: Realtek
[   56.510054] usb 2-3: SerialNumber: 0013000000
[   56.533219] cdc_ncm 2-3:2.0: MAC-Address: 1c:bf:ce:d4:03:b5
[   56.533228] cdc_ncm 2-3:2.0: setting rx_max = 16384
[   56.533365] cdc_ncm 2-3:2.0: setting tx_max = 16384
[   56.533956] cdc_ncm 2-3:2.0 eth0: register 'cdc_ncm' at usb-0000:00:14.0-3, CDC NCM, 1c:bf:ce:d4:03:b5
[   56.549367] cdc_ncm 2-3:2.0 enp0s20f0u3c2: renamed from eth0
[   58.183923] kauditd_printk_skb: 25 callbacks suppressed

ip a on Laptop 0 (working):

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
10: enp0s20f0u3c2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 1c:bf:ce:d4:03:b5 brd ff:ff:ff:ff:ff:ff
    inet 172.16.90.102/24 brd 172.16.90.255 scope global dynamic noprefixroute enp0s20f0u3c2
       valid_lft 290sec preferred_lft 290sec
    inet6 fe80::e2f8:37e4:65de:77b5/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever

uname on Laptop 1 (not working):

Linux nb-kbch-1 5.15.12-arch1-1 #1 SMP PREEMPT Wed, 29 Dec 2021 12:04:56 +0000 x86_64 GNU/Linux

dmesg on Laptop 1 (not working):

[   90.215107] usb 7-2: new SuperSpeed USB device number 4 using xhci_hcd
[   90.232470] usb 7-2: New USB device found, idVendor=0bda, idProduct=8156, bcdDevice=31.00
[   90.232482] usb 7-2: New USB device strings: Mfr=1, Product=2, SerialNumber=6
[   90.232486] usb 7-2: Product: USB 10/100/1G/2.5G LAN
[   90.232489] usb 7-2: Manufacturer: Realtek
[   90.232491] usb 7-2: SerialNumber: 0013000000
[   90.311860] cdc_ncm 7-2:2.0: MAC-Address: 1c:bf:ce:d4:03:b5
[   90.311869] cdc_ncm 7-2:2.0: setting rx_max = 16384
[   90.311920] cdc_ncm 7-2:2.0: setting tx_max = 16384
[   90.312360] cdc_ncm 7-2:2.0 eth0: register 'cdc_ncm' at usb-0000:07:00.4-2, CDC NCM, 1c:bf:ce:d4:03:b5
[   90.919339] cdc_ncm 7-2:2.0 enp7s0f4u2c2: renamed from eth0
[   91.305297] kauditd_printk_skb: 13 callbacks suppressed

ip a on Laptop 1 (not working):

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
8: enp7s0f4u2c2: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc fq_codel state DOWN group default qlen 1000
    link/ether 1c:bf:ce:d4:03:b5 brd ff:ff:ff:ff:ff:ff

Last edited by kilobytech (2021-12-30 20:48:42)

Offline

#2 2021-12-30 20:54:40

Head_on_a_Stick
Member
From: The Wirral
Registered: 2014-02-20
Posts: 9,003
Website

Re: RTL8156B not working on Thinkpad T14

How are you assigning the IP addresses on both machines?

Use this command to check for any conflicting networking services and compare the output on both laptops:

find /etc/systemd -type l -exec test -f {} \; -print | awk -F'/' '{ printf ("%-40s | %s\n", $(NF-0), $(NF-1)) }' | sort -f

(© seth)

Perhaps also try spoofing a different MAC address on the non-working machine. The router might be getting confused seeing the same device with different hostnames.


Jin, Jîyan, Azadî

Offline

#3 2021-12-30 21:14:39

kilobytech
Member
Registered: 2018-07-01
Posts: 22

Re: RTL8156B not working on Thinkpad T14

Thanks, there are some different services between Laptop 0 and Laptop 1:

Laptop 0 (working):

bluetooth.service                        | bluetooth.target.wants
dbus-org.bluez.service                   | system
dbus-org.freedesktop.ModemManager1.service | system
dbus-org.freedesktop.NetworkManager.service | system
dbus-org.freedesktop.nm-dispatcher.service | system
dbus-org.freedesktop.timesync1.service   | system
dirmngr.socket                           | sockets.target.wants
display-manager.service                  | system
fstrim.timer                             | timers.target.wants
gcr-ssh-agent.socket                     | sockets.target.wants
getty@tty1.service                       | getty.target.wants
gpg-agent-browser.socket                 | sockets.target.wants
gpg-agent-extra.socket                   | sockets.target.wants
gpg-agent.socket                         | sockets.target.wants
gpg-agent-ssh.socket                     | sockets.target.wants
haveged.service                          | sysinit.target.wants
libvirtd-ro.socket                       | sockets.target.wants
libvirtd.service                         | multi-user.target.wants
libvirtd.socket                          | sockets.target.wants
ModemManager.service                     | multi-user.target.wants
NetworkManager.service                   | multi-user.target.wants
NetworkManager-wait-online.service       | network-online.target.wants
nfs-server.service                       | multi-user.target.wants
nginx.service                            | multi-user.target.wants
p11-kit-server.socket                    | sockets.target.wants
pipewire-media-session.service           | pipewire.service.wants
pipewire-session-manager.service         | user
pipewire.socket                          | sockets.target.wants
pulseaudio.socket                        | sockets.target.wants
remote-fs.target                         | multi-user.target.wants
rpcbind.service                          | multi-user.target.wants
systemd-timesyncd.service                | sysinit.target.wants
ufw.service                              | multi-user.target.wants
virtlockd.socket                         | sockets.target.wants
virtlogd.socket                          | sockets.target.wants
xdg-user-dirs-update.service             | default.target.wants

Laptop 1 (not working):

bluetooth.service                        | bluetooth.target.wants
dbus-org.bluez.service                   | system
dbus-org.freedesktop.ModemManager1.service | system
dbus-org.freedesktop.NetworkManager.service | system
dbus-org.freedesktop.nm-dispatcher.service | system
dbus-org.freedesktop.resolve1.service    | system
dbus-org.freedesktop.timesync1.service   | system
dirmngr.socket                           | sockets.target.wants
display-manager.service                  | system
fstrim.timer                             | timers.target.wants
gcr-ssh-agent.socket                     | sockets.target.wants
getty@tty1.service                       | getty.target.wants
gpg-agent-browser.socket                 | sockets.target.wants
gpg-agent-extra.socket                   | sockets.target.wants
gpg-agent.socket                         | sockets.target.wants
gpg-agent-ssh.socket                     | sockets.target.wants
haveged.service                          | sysinit.target.wants
libvirtd-ro.socket                       | sockets.target.wants
libvirtd.service                         | multi-user.target.wants
libvirtd.socket                          | sockets.target.wants
ModemManager.service                     | multi-user.target.wants
NetworkManager.service                   | multi-user.target.wants
NetworkManager-wait-online.service       | network-online.target.wants
nfs-server.service                       | multi-user.target.wants
nginx.service                            | multi-user.target.wants
p11-kit-server.socket                    | sockets.target.wants
pipewire-media-session.service           | pipewire.service.wants
pipewire-pulse.socket                    | sockets.target.wants
pipewire-session-manager.service         | user
pipewire.socket                          | sockets.target.wants
remote-fs.target                         | multi-user.target.wants
rpcbind.service                          | multi-user.target.wants
systemd-resolved.service                 | multi-user.target.wants
systemd-timesyncd.service                | sysinit.target.wants
ufw.service                              | multi-user.target.wants
virtlockd.socket                         | sockets.target.wants
virtlogd.socket                          | sockets.target.wants
xdg-user-dirs-update.service             | default.target.wants

I guess the Pulseaudio/Pipewire differences are not from interest here. For testing purposes, I stopped the systemd-resolved service which is just running on Laptop 1. But this didn't change anything to the problem here.

Also tried to manually set an IP to rule out some DHCP/NetworkManager issues, without any success. I guess the issue is that the Adapter doesn't get any Carrier, which doesn't make any sense as it gets a Carrier when rebooting to Windows on the same machine without changing anything on the Adapter:

➜  ~ sudo ip a add 172.16.90.150/24 dev enp7s0f4u2c2
➜  ~ sudo ip link set dev enp7s0f4u2c2 up
➜  ~ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
9: enp7s0f4u2c2: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc fq_codel state DOWN group default qlen 1000
    link/ether 1c:bf:ce:d4:03:b5 brd ff:ff:ff:ff:ff:ff
    inet 172.16.90.150/24 scope global enp7s0f4u2c2
       valid_lft forever preferred_lft forever

Offline

#4 2022-01-05 20:18:58

kilobytech
Member
Registered: 2018-07-01
Posts: 22

Re: RTL8156B not working on Thinkpad T14

Ok, found the issue, upower prohibited getting a Link. Stopping the service immediately fixed the issue

sudo systemctl stop upower.service

Offline

Board footer

Powered by FluxBB