[SOLVED] Ethernet module doesn't work - 12th Gen intel with Fedora 37

Hello,

I just install a fresh fedora 37 on my new frame.work laptop.
And when I plug my RJ45 cable in the module, nothing happen.

The network parameter panel said the cable is unplugged.

I tested the cable with another laptop, and the it is working fine.

sudo lsusb said:

Bus 003 Device 003: ID 27c6:609c Shenzhen Goodix Technology Co.,Ltd. Goodix USB2.0 MISC
Bus 003 Device 002: ID 32ac:0002 Framework HDMI Expansion Card
Bus 003 Device 004: ID 8087:0032 Intel Corp. AX210 Bluetooth
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 002: ID 0bda:8156 Realtek Semiconductor Corp. USB 10/100/1G/2.5G LAN
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

How can i make it work ?

Regards,
Matthieu

I am not that great at Linux(I play around but not much more) but if you can lets try and make sure that this isn’t a driver issue.

if you have another system with fedora 37 on it go and plug in the card on it, and see if it works, if it does I would reinstall the drivers for Ethernet.

if that doesn’t work I would try and live boot into a different Distro(or fedora would also work) and see if it is working.
hope this helps.

Hello delta_v, thanks for taking some time to answer me.

During laptop boot, 2 leds are blinking.
Then on the fedora login screen, the leds are off.

On a usb live with fedora 37, it is working fine, i have the network with the ethernet module.

It means it is a driver issue on my Fedora installation ?
How can i reinstall it ? (if it is the solution)

@Leorat_Matthieu can you please check your dmesg for kernel messages related to your ethernet card?

Please paste them here or use a pastebin service.

Also, please tell us the result of ip addr.

I don’t have a concrete idea of how to fix the driver issue, but first I would try running the code sudo dnf up, I use more Debian based Distros but this should upgrade all the packages to the latest version. reboot and make sure that it is working. If it is still not working I would try and re-flash your USB with a Fedora 37 ISO and install it again(this probably will take like 30 minutes).
The lights on boot up are usually normal(I don’t own a framework yet so I don’t know for sure but that wouldn’t be a cause for worry)
Have you used ifconfig ? this should say if you can see the realtek adapter as an eth(0,1,2…ect.) connection(if you share the results remember to delete your IP address from the results). If it shows up try and plug it in and see if it works. Otherwise reinstall Fedora.
Unfortunately I don’t know how to install drivers on Fedora, but there might a be a ‘device manager’ in one of your apps that controls drivers, I would check and see if you can change the driver to a different one.
I hope this works

There is the result of the commands you talked about

[matthieu@fedora ~]$ dmesg | grep '2-1.2\|2-4'
[    2.024830] usb 2-4: new SuperSpeed USB device number 2 using xhci_hcd
[    2.038229] usb 2-4: New USB device found, idVendor=0bda, idProduct=8156, bcdDevice=31.04
[    2.038235] usb 2-4: New USB device strings: Mfr=1, Product=2, SerialNumber=6
[    2.038237] usb 2-4: Product: USB 10/100/1G/2.5G LAN
[    2.038239] usb 2-4: Manufacturer: Realtek
[    2.038240] usb 2-4: SerialNumber: 4013000001
[    2.816798] cdc_ncm 2-4:2.0: MAC-Address: 9c:bf:0d:00:1e:5f
[    2.816808] cdc_ncm 2-4:2.0: setting rx_max = 16384
[    2.816850] cdc_ncm 2-4:2.0: setting tx_max = 16384
[    2.817199] cdc_ncm 2-4:2.0 eth0: register 'cdc_ncm' at usb-0000:00:0d.0-4, CDC NCM (NO ZLP), 9c:bf:0d:00:1e:5f
[    2.824282] cdc_ncm 2-4:2.0 enp0s13f0u4c2: renamed from eth0
[   39.141725] mei_hdcp 0000:00:16.0-b638ab7e-94e2-4ea2-a552-d1c54b627f04: bound 0000:00:02.0 (ops i915_hdcp_component_ops [i915])
[ 3126.479327] mei_hdcp 0000:00:16.0-b638ab7e-94e2-4ea2-a552-d1c54b627f04: bound 0000:00:02.0 (ops i915_hdcp_component_ops [i915])
[ 4888.431081] usb 2-1.2: new SuperSpeed USB device number 4 using xhci_hcd
[ 4888.444100] usb 2-1.2: New USB device found, idVendor=0bda, idProduct=8153, bcdDevice=30.11
[ 4888.444115] usb 2-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=6
[ 4888.444120] usb 2-1.2: Product: USB 10/100/1000 LAN
[ 4888.444123] usb 2-1.2: Manufacturer: Realtek
[ 4888.444127] usb 2-1.2: SerialNumber: 000002000000
[ 4889.096790] usb 2-1.2: reset SuperSpeed USB device number 4 using xhci_hcd
[ 4889.110289] usb 2-1.2: Dell TB16 Dock, disable RX aggregation
[ 4889.138202] r8152 2-1.2:1.0: load rtl8153a-3 v2 02/07/20 successfully
[ 4889.162252] r8152 2-1.2:1.0 eth0: v1.12.13
[ 4889.708607] r8152 2-1.2:1.0 enp0s13f0u1u2: renamed from eth0
[matthieu@fedora ~]$ ip addr
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
2: enp0s13f0u4c2: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc fq_codel state DOWN group default qlen 1000
    link/ether 9c:bf:0d:00:1e:5f brd ff:ff:ff:ff:ff:ff
3: wlp166s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 8c:f8:c5:ee:0a:66 brd ff:ff:ff:ff:ff:ff
    inet 192.168.2.8/24 brd 192.168.2.255 scope global dynamic noprefixroute wlp166s0
       valid_lft 79400sec preferred_lft 79400sec
    inet6 2a01:cb15:81a3:4000:a3fa:9ca1:dc5e:2d0d/64 scope global dynamic noprefixroute 
       valid_lft 1798sec preferred_lft 598sec
    inet6 fe80::cabd:9c3f:1b0b:76a4/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
4: enp0s13f0u1u2: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc fq_codel state DOWN group default qlen 1000
    link/ether 8c:ec:4b:f9:e8:7c brd ff:ff:ff:ff:ff:ff
[matthieu@fedora ~]$ ifconfig
enp0s13f0u1u2: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        ether 8c:ec:4b:f9:e8:7c  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

enp0s13f0u4c2: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        ether 9c:bf:0d:00:1e:5f  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Boucle locale)
        RX packets 38  bytes 3830 (3.7 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 38  bytes 3830 (3.7 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

wlp166s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.2.8  netmask 255.255.255.0  broadcast 192.168.2.255
        inet6 *****  prefixlen 64  scopeid 0x0<global>
        inet6 ****  prefixlen 64  scopeid 0x20<link>
        ether 8c:f8:c5:ee:0a:66  txqueuelen 1000  (Ethernet)
        RX packets 1759187  bytes 2522784849 (2.3 GiB)
        RX errors 0  dropped 617  overruns 0  frame 0
        TX packets 465291  bytes 55210606 (52.6 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

sudo dnf up said that every thing is up to date

Hi,
Did you install TLP or a similar service that saves battery life? USB Autosuspend might bei turned on for the device.

Is TLP installed?
Also, do you see this in the logs?

usb 2-3: USB disconnect, device number 74 xhci_hcd 0000:00:0d.0: WARN Set TR Deq Ptr cmd failed due to incorrect slot or ep state. cdc_ncm 2-3:2.0 enx9cbf0d000e38: unregister ‘cdc_ncm’ usb-0000:00:0d.0-3, CDC NCM xhci_hcd 0000:00:0d.0: WARN Set TR Deq Ptr cmd failed due to incorrect slot or ep state.

Hello,
By removing TLP, ethernet module works
There no mention uf usb disconnected in dmesg logs

Reinstalling TLP stop ethernet module.

Following Getting started with Linux - Framework Guides 3.3 section, i disable gnome power profiles

sudo systemctl stop power-profiles-daemon.service

sudo systemctl disable power-profiles-daemon.service

sudo systemctl mask power-profiles-daemon.service

then reboot but it is still off

Hi,
Just edit your /etc/tlp.conf configuration file and include the line USB_DENYLIST=“0bda:8156”

There are examples in that configuration file, please check the syntax in case I got it wrong (just from memory)

After a reboot the card should work.

1 Like

It works perfectly, thank you :slight_smile:
(And our memory was good, it is the right syntax)
To quote the configuration file:

# Exclude listed devices from USB autosuspend (separate with spaces).
# Use lsusb to get the ids.
# Note: input devices (usbhid) and libsane-supported scanners are excluded
# automatically.
# Default: <none>

#USB_DENYLIST="1111:2222 3333:4444"

Thank you @mcz

Marking solved. :slight_smile:

1 Like

Just wanted to thank you for posting this! Saved me a lot of troubleshooting!