Realtek USB 10 100 1G 2.5G LAN DELL Alienware AW1022 2.5GBe

Asked by NOC

Hello,

my notebook "DELL Alienware X15 R1" has a USB-C dongle adapter to which you can connect a network cable. I am using Ubuntu 22.10 which is up-to-date.

$ uname -a
Linux myhost 5.19.0-31-generic #32-Ubuntu SMP PREEMPT_DYNAMIC Fri Jan 20 15:20:08 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux

$ lsusb
Bus 004 Device 020: ID 413c:b097 Dell Computer Corp. USB 10/100/1G/2.5G LAN

$ udevadm monitor -e
UDEV [8447.374955] add /devices/pci0000:00/0000:00:14.0/usb4/4-2 (usb)
ACTION=add
DEVPATH=/devices/pci0000:00/0000:00:14.0/usb4/4-2
SUBSYSTEM=usb
DEVNAME=/dev/bus/usb/004/020
DEVTYPE=usb_device
PRODUCT=413c/b097/3101
TYPE=0/0/0
BUSNUM=004
DEVNUM=020
SEQNUM=6682
USEC_INITIALIZED=8447366063
ID_VENDOR=Realtek
ID_VENDOR_ENC=Realtek
ID_VENDOR_ID=413c
ID_MODEL=USB_10_100_1G_2.5G_LAN
ID_MODEL_ENC=USB\x2010\x2f100\x2f1G\x2f2.5G\x20LAN
ID_MODEL_ID=b097
ID_REVISION=3101
ID_SERIAL=Realtek_USB_10_100_1G_2.5G_LAN_1013000001
ID_SERIAL_SHORT=1234567890
ID_BUS=usb
ID_USB_INTERFACES=:ffff00:020d00:0a0001:020600:0a0000:
ID_VENDOR_FROM_DATABASE=Dell Computer Corp.
REALTEK_MODE1=1
REALTEK_MODE2=3
ID_PATH=pci-0000:00:14.0-usb-0:2
ID_PATH_TAG=pci-0000_00_14_0-usb-0_2
DRIVER=usb
ID_FOR_SEAT=usb-pci-0000_00_14_0-usb-0_2
.LOCAL_ifNum=
MAJOR=189
MINOR=403
TAGS=:snap_cups_ippeveprinter:snap_cups_cupsd:seat:
CURRENT_TAGS=:snap_cups_ippeveprinter:snap_cups_cupsd:seat:

$ tail -f /var/log/syslog
Feb 24 15:25:31 myhost kernel: [11070.323985] usb 4-2: USB disconnect, device number 20
Feb 24 15:25:31 myhost systemd-udevd[113550]: 4-2: Process '/usr/lib/snapd/snap-device-helper unbind snap_cups_cupsd /devices/pci0000:00/0000:00:14.0/usb4/4-2 189:403' failed with exit code 1.
Feb 24 15:25:31 myhost systemd-udevd[113550]: 4-2: Process '/usr/lib/snapd/snap-device-helper unbind snap_cups_ippeveprinter /devices/pci0000:00/0000:00:14.0/usb4/4-2 189:403' failed with exit code 1.
Feb 24 15:25:34 myhost kernel: [11073.342953] usb 4-2: new SuperSpeed USB device number 21 using xhci_hcd
Feb 24 15:25:34 myhost kernel: [11073.364315] usb 4-2: New USB device found, idVendor=413c, idProduct=b097, bcdDevice=31.01
Feb 24 15:25:34 myhost kernel: [11073.364319] usb 4-2: New USB device strings: Mfr=1, Product=2, SerialNumber=6
Feb 24 15:25:34 myhost kernel: [11073.364320] usb 4-2: Product: USB 10/100/1G/2.5G LAN
Feb 24 15:25:34 myhost kernel: [11073.364321] usb 4-2: Manufacturer: Realtek
Feb 24 15:25:34 myhost kernel: [11073.364322] usb 4-2: SerialNumber: 1234567890
Feb 24 15:25:34 myhost mtp-probe: checking bus 4, device 21: "/sys/devices/pci0000:00/0000:00:14.0/usb4/4-2"
Feb 24 15:25:34 myhost mtp-probe: bus: 4, device: 21 was not an MTP device
Feb 24 15:25:34 myhost systemd-udevd[113550]: 4-2:2.0: Process '/usr/lib/snapd/snap-device-helper add snap_cups_cupsd /devices/pci0000:00/0000:00:14.0/usb4/4-2/4-2:2.0 0:0' failed with exit code 1.
Feb 24 15:25:34 myhost systemd-udevd[113568]: 4-2:2.1: Process '/usr/lib/snapd/snap-device-helper add snap_cups_cupsd /devices/pci0000:00/0000:00:14.0/usb4/4-2/4-2:2.1 0:0' failed with exit code 1.
Feb 24 15:25:34 myhost systemd-udevd[113550]: 4-2:2.0: Process '/usr/lib/snapd/snap-device-helper add snap_cups_ippeveprinter /devices/pci0000:00/0000:00:14.0/usb4/4-2/4-2:2.0 0:0' failed with exit code 1.
Feb 24 15:25:34 myhost systemd-udevd[113568]: 4-2:2.1: Process '/usr/lib/snapd/snap-device-helper add snap_cups_ippeveprinter /devices/pci0000:00/0000:00:14.0/usb4/4-2/4-2:2.1 0:0' failed with exit code 1.
Feb 24 15:25:34 myhost mtp-probe: checking bus 4, device 21: "/sys/devices/pci0000:00/0000:00:14.0/usb4/4-2"
Feb 24 15:25:34 myhost mtp-probe: bus: 4, device: 21 was not an MTP device
Feb 24 15:25:34 myhost systemd-udevd[113550]: 4-2: Process '/usr/lib/snapd/snap-device-helper bind snap_cups_cupsd /devices/pci0000:00/0000:00:14.0/usb4/4-2 189:404' failed with exit code 1.
Feb 24 15:25:34 myhost systemd-udevd[113550]: 4-2: Process '/usr/lib/snapd/snap-device-helper bind snap_cups_ippeveprinter /devices/pci0000:00/0000:00:14.0/usb4/4-2 189:404' failed with exit code 1.

The USB NIC is not recognized. I tried installing the package "r8125-dkms" or "r8168-dkms" however without success.
EDIT: I booted into Windows OS and the NIC is correctly detected and configured. In Windows it is shown as "RTL8156Bx64_S5WOL.ndi.NT" so the chip being used seems to be 8156B. So I visited the Realtek website and searched for USB NIC 2.5GBe drivers <https://www.realtek.com/en/component/zoo/category/network-interface-controllers-10-100-1000m-gigabit-ethernet-usb-3-0-software> and the correct one should be "USB NIC Linux driver for kernel up to 5.17" which is version "2.16.3" from "2022/08/09". The downloaded file name is "r8152-2.16.3.tar.bz2" and despite the confusing name I tried to uncompress and install it. However when I run

$make all

I get the error:

root@myhost:/home/tom/Downloads/r8152-2.16.3# make all
make -C /lib/modules/5.19.0-31-generic/build M=/home/tom/Downloads/r8152-2.16.3 clean
make[1]: Verzeichnis „/usr/src/linux-headers-5.19.0-31-generic“ wird betreten
make[1]: Verzeichnis „/usr/src/linux-headers-5.19.0-31-generic“ wird verlassen
make -C /lib/modules/5.19.0-31-generic/build M=/home/tom/Downloads/r8152-2.16.3 modules
make[1]: Verzeichnis „/usr/src/linux-headers-5.19.0-31-generic“ wird betreten
warning: the compiler differs from the one used to build the kernel
  The kernel was built by: x86_64-linux-gnu-gcc-12 (Ubuntu 12.2.0-3ubuntu1) 12.2.0
  You are using: gcc (Ubuntu 12.2.0-3ubuntu1) 12.2.0
  CC [M] /home/tom/Downloads/r8152-2.16.3/r8152.o
/home/tom/Downloads/r8152-2.16.3/r8152.c: In function ‘sg_en_store’:
/home/tom/Downloads/r8152-2.16.3/r8152.c:20462:9: error: implicit declaration of function ‘netif_set_gso_max_size’; did you mean ‘netif_set_tso_max_size’? [-Werror=implicit-function-declaration]
20462 | netif_set_gso_max_size(netdev, tso_size);
      | ^~~~~~~~~~~~~~~~~~~~~~
      | netif_set_tso_max_size
cc1: some warnings being treated as errors
make[2]: *** [scripts/Makefile.build:257: /home/tom/Downloads/r8152-2.16.3/r8152.o] error 1
make[1]: *** [Makefile:1850: /home/tom/Downloads/r8152-2.16.3] error 2
make[1]: leaving directory „/usr/src/linux-headers-5.19.0-31-generic“
make: *** [Makefile:24: modules] error 2

and I am still stuck :( *sigh*

Please shed some light how we can get this NIC to work on Ubuntu 22.10, thank you so much in advance.

Question information

Language:
English Edit question
Status:
Answered
For:
Ubuntu r8125 Edit question
Assignee:
No assignee Edit question
Last query:
Last reply:
Revision history for this message
actionparsnip (andrew-woodhead666) said :
#1

What is the output of:

sudo lshw -C network

Thanks

Revision history for this message
NOC (noc-center) said :
#2

This output only shows my WiFi NIC which is not part of this issue. The DELL USB 2.5 GBe network interface is not shown yet by lshw, because there is no module providing support for it yet.

Revision history for this message
actionparsnip (andrew-woodhead666) said :
#3

If you reboot with the device unplugged and log in, open a terminal and run:

lsusb

Then plug in the device, wait a few seconds then run:

dmesg | tail; lsusb

What is the full output please?

Revision history for this message
NOC (noc-center) said :
#4

[ 300.405482] usb 4-2: USB disconnect, device number 2
[ 305.257785] usb 4-2: new SuperSpeed USB device number 6 using xhci_hcd
[ 305.279303] usb 4-2: New USB device found, idVendor=413c, idProduct=b097, bcdDevice=31.01
[ 305.279317] usb 4-2: New USB device strings: Mfr=1, Product=2, SerialNumber=6
[ 305.279322] usb 4-2: Product: USB 10/100/1G/2.5G LAN
[ 305.279326] usb 4-2: Manufacturer: Realtek
[ 305.279330] usb 4-2: SerialNumber: 1234567890
Bus 004 Device 004: ID 0bda:0328 Realtek Semiconductor Corp. USB3.0-CRW
Bus 004 Device 005: ID 2109:0817 VIA Labs, Inc. USB3.0 Hub
Bus 004 Device 003: ID 2109:0817 VIA Labs, Inc. USB3.0 Hub
Bus 004 Device 006: ID 413c:b097 Dell Computer Corp. USB 10/100/1G/2.5G LAN
[...]
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
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

Revision history for this message
actionparsnip (andrew-woodhead666) said :
#5

OK, look online for the USB ID

413c:b097

You may find guides

Revision history for this message
NOC (noc-center) said :
#6

I don't find any guides that will solve this issue. Please point me to the right direction. I'd like to know which module in Ubuntu 22.10 will fit to this network interface and how to install properly so it'll solve the issue.

Revision history for this message
actionparsnip (andrew-woodhead666) said :
#7

https://www.phoronix.com/scan.php?page=news_item&px=Realtek-RTL8153-RTL8156-Linux

Something like that so you can either build the kernel module or try the newest kernel from the mainline kernel PPA

Revision history for this message
NOC (noc-center) said (last edit ):
#8

Well, the link is pointing to:
https://www.realtek.com/en/component/zoo/category/network-interface-controllers-10-100-1000m-gigabit-ethernet-usb-3-0-software

I already visited the mentioned Realtek link and there from the UNIX category I downloaded "USB NIC Linux driver for kernel up to 5.17" version "2.16.3" from 2022/08/09 which gave me the file "r8152-2.16.3.tar.bz2". I unpack the file and try to compile but it fails:

$ make

make -C /lib/modules/5.19.0-31-generic/build M=/home/tom/Downloads/r8152-2.16.3 modules
make[1]: entering directory „/usr/src/linux-headers-5.19.0-31-generic“
warning: the compiler differs from the one used to build the kernel
  The kernel was built by: x86_64-linux-gnu-gcc-12 (Ubuntu 12.2.0-3ubuntu1) 12.2.0
  You are using: gcc (Ubuntu 12.2.0-3ubuntu1) 12.2.0
  CC [M] /home/tom/Downloads/r8152-2.16.3/r8152.o
/home/tom/Downloads/r8152-2.16.3/r8152.c: In function ‘sg_en_store’:
/home/tom/Downloads/r8152-2.16.3/r8152.c:20462:9: error: implicit declaration of function ‘netif_set_gso_max_size’; did you mean ‘netif_set_tso_max_size’? [-Werror=implicit-function-declaration]
20462 | netif_set_gso_max_size(netdev, tso_size);
      | ^~~~~~~~~~~~~~~~~~~~~~
      | netif_set_tso_max_size
cc1: some warnings being treated as errors
make[2]: *** [scripts/Makefile.build:257: /home/tom/Downloads/r8152-2.16.3/r8152.o] error 1
make[1]: *** [Makefile:1850: /home/tom/Downloads/r8152-2.16.3] error 2
make[1]: leaving directory „/usr/src/linux-headers-5.19.0-31-generic“
make: *** [Makefile:24: modules] error 2

I also tried running "make all" it didn't help either. This is what I already explained in detail initially in the top of this post. That means, I am not able to create this module on my own. So let's go ahead and try the existing kernel module r8152

When I click the other link of the phoronix.com URL you posted it will point to <https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next.git/commit/?id=af1fa6b696cca5c559ed6d38cad0213544f299a0>

As you see, there is no identifier for DELL or ALIENWARE or anything similar involved. The identifier 413c:b097 is not included in the kernel module r8152. I double-checked by "modinfo r8152 |grep 413" and "view /usr/src/linux-headers-5.19.0-31/include/linux/usb/r8152.h" there is absolutely nothing related to that DELL identifier. Is it somehow possible to manually add my identifier 413c:b097 into the file "r8152.h" ?? maybe something like this ...

original file says:
[...]
/* Define these values to match your device */
#define VENDOR_ID_REALTEK 0x0bda
#define VENDOR_ID_MICROSOFT 0x045e
#define VENDOR_ID_SAMSUNG 0x04e8
#define VENDOR_ID_LENOVO 0x17ef
#define VENDOR_ID_LINKSYS 0x13b1
#define VENDOR_ID_NVIDIA 0x0955
#define VENDOR_ID_TPLINK 0x2357
[...]

can I add just add a line like so the result will look like that?

[...]
/* Define these values to match your device */
#define VENDOR_ID_REALTEK 0x0bda
#define VENDOR_ID_MICROSOFT 0x045e
#define VENDOR_ID_SAMSUNG 0x04e8
#define VENDOR_ID_LENOVO 0x17ef
#define VENDOR_ID_LINKSYS 0x13b1
#define VENDOR_ID_NVIDIA 0x0955
#define VENDOR_ID_TPLINK 0x2357
#define VENDOR_ID_DELL 0x413c
[...]

if so, what do I need to execute in the following so the kernel will be notified about this change? Or shouldn't I touch the file "/usr/src/linux-headers-5.19.0-31/include/linux/usb/r8152.h" at all and instead ....

*** EDIT ***

I made a successful progress, however I need assistance from a pro to verify if this is the correct way to go. My goal was to add the identifier 413c:b097 to the kernel module r8152. Unfortunately I had no source file r8152.c on my filesystem. I ran "apt install linux-headers-5.19.0-31 && updatedb && locate r8152.c" but still no "r8152.c" found under /usr/src/* where I would have expected it. I also tried "apt install linux-source" but still no success. At the end I downloaded the file from <https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next.git/plain/drivers/net/usb/r8152.c> and saved it under "/usr/src/linux-headers-5.19.0-31/drivers/net/usb".

$ modprobe -r r8152
$ ls /usr/src/linux-headers-5.19.0-31/drivers/net/usb
Kconfig Makefile r8152.c

At the end of file "r8152.c"

/* table of devices that work with this driver */
static const struct usb_device_id rtl8152_table[] = {
        /* Realtek */
        { USB_DEVICE(VENDOR_ID_REALTEK, 0x8050) },
        { USB_DEVICE(VENDOR_ID_REALTEK, 0x8053) },
        { USB_DEVICE(VENDOR_ID_REALTEK, 0x8152) },
        { USB_DEVICE(VENDOR_ID_REALTEK, 0x8153) },
        { USB_DEVICE(VENDOR_ID_REALTEK, 0x8155) },
        { USB_DEVICE(VENDOR_ID_REALTEK, 0x8156) },

        /* Dell */
        { USB_DEVICE(0x413c, 0xb097) },

        /* Microsoft */
        { USB_DEVICE(VENDOR_ID_MICROSOFT, 0x07ab) },
        { USB_DEVICE(VENDOR_ID_MICROSOFT, 0x07c6) },
        { USB_DEVICE(VENDOR_ID_MICROSOFT, 0x0927) },
        { USB_DEVICE(VENDOR_ID_MICROSOFT, 0x0c5e) },
        { USB_DEVICE(VENDOR_ID_SAMSUNG, 0xa101) },
        { USB_DEVICE(VENDOR_ID_LENOVO, 0x304f) },
        { USB_DEVICE(VENDOR_ID_LENOVO, 0x3054) },
        { USB_DEVICE(VENDOR_ID_LENOVO, 0x3062) },
        { USB_DEVICE(VENDOR_ID_LENOVO, 0x3069) },
        { USB_DEVICE(VENDOR_ID_LENOVO, 0x3082) },
        { USB_DEVICE(VENDOR_ID_LENOVO, 0x7205) },
        { USB_DEVICE(VENDOR_ID_LENOVO, 0x720c) },
        { USB_DEVICE(VENDOR_ID_LENOVO, 0x7214) },
        { USB_DEVICE(VENDOR_ID_LENOVO, 0x721e) },
        { USB_DEVICE(VENDOR_ID_LENOVO, 0xa387) },
        { USB_DEVICE(VENDOR_ID_LINKSYS, 0x0041) },
        { USB_DEVICE(VENDOR_ID_NVIDIA, 0x09ff) },
        { USB_DEVICE(VENDOR_ID_TPLINK, 0x0601) },
        {}
};

I modified by inserting a DELL section with my identifier:

/* table of devices that work with this driver */
static const struct usb_device_id rtl8152_table[] = {
        /* Realtek */
        { USB_DEVICE(VENDOR_ID_REALTEK, 0x8050) },
        { USB_DEVICE(VENDOR_ID_REALTEK, 0x8053) },
        { USB_DEVICE(VENDOR_ID_REALTEK, 0x8152) },
        { USB_DEVICE(VENDOR_ID_REALTEK, 0x8153) },
        { USB_DEVICE(VENDOR_ID_REALTEK, 0x8155) },
        { USB_DEVICE(VENDOR_ID_REALTEK, 0x8156) },

        /* Microsoft */
        { USB_DEVICE(VENDOR_ID_MICROSOFT, 0x07ab) },
        { USB_DEVICE(VENDOR_ID_MICROSOFT, 0x07c6) },
        { USB_DEVICE(VENDOR_ID_MICROSOFT, 0x0927) },
        { USB_DEVICE(VENDOR_ID_MICROSOFT, 0x0c5e) },
        { USB_DEVICE(VENDOR_ID_SAMSUNG, 0xa101) },
        { USB_DEVICE(VENDOR_ID_LENOVO, 0x304f) },
        { USB_DEVICE(VENDOR_ID_LENOVO, 0x3054) },
        { USB_DEVICE(VENDOR_ID_LENOVO, 0x3062) },
        { USB_DEVICE(VENDOR_ID_LENOVO, 0x3069) },
        { USB_DEVICE(VENDOR_ID_LENOVO, 0x3082) },
        { USB_DEVICE(VENDOR_ID_LENOVO, 0x7205) },
        { USB_DEVICE(VENDOR_ID_LENOVO, 0x720c) },
        { USB_DEVICE(VENDOR_ID_LENOVO, 0x7214) },
        { USB_DEVICE(VENDOR_ID_LENOVO, 0x721e) },
        { USB_DEVICE(VENDOR_ID_LENOVO, 0xa387) },
        { USB_DEVICE(VENDOR_ID_LINKSYS, 0x0041) },
        { USB_DEVICE(VENDOR_ID_NVIDIA, 0x09ff) },
        { USB_DEVICE(VENDOR_ID_TPLINK, 0x0601) },
        {}
};

and saved the file. In this directory the existing "Makefile" had following content:

# SPDX-License-Identifier: GPL-2.0
#
# Makefile for USB Network drivers
#

obj-$(CONFIG_USB_CATC) += catc.o
obj-$(CONFIG_USB_KAWETH) += kaweth.o
obj-$(CONFIG_USB_PEGASUS) += pegasus.o
obj-$(CONFIG_USB_RTL8150) += rtl8150.o
obj-$(CONFIG_USB_RTL8152) += r8152.o
obj-$(CONFIG_USB_HSO) += hso.o
obj-$(CONFIG_USB_LAN78XX) += lan78xx.o
obj-$(CONFIG_USB_NET_AX8817X) += asix.o
asix-y := asix_devices.o asix_common.o ax88172a.o
obj-$(CONFIG_USB_NET_AX88179_178A) += ax88179_178a.o
obj-$(CONFIG_USB_NET_CDCETHER) += cdc_ether.o
obj-$(CONFIG_USB_NET_CDC_EEM) += cdc_eem.o
obj-$(CONFIG_USB_NET_DM9601) += dm9601.o
obj-$(CONFIG_USB_NET_SR9700) += sr9700.o
obj-$(CONFIG_USB_NET_SR9800) += sr9800.o
obj-$(CONFIG_USB_NET_SMSC75XX) += smsc75xx.o
obj-$(CONFIG_USB_NET_SMSC95XX) += smsc95xx.o
obj-$(CONFIG_USB_NET_GL620A) += gl620a.o
obj-$(CONFIG_USB_NET_NET1080) += net1080.o
obj-$(CONFIG_USB_NET_PLUSB) += plusb.o
obj-$(CONFIG_USB_NET_RNDIS_HOST) += rndis_host.o
obj-$(CONFIG_USB_NET_CDC_SUBSET_ENABLE) += cdc_subset.o
obj-$(CONFIG_USB_NET_ZAURUS) += zaurus.o
obj-$(CONFIG_USB_NET_MCS7830) += mcs7830.o
obj-$(CONFIG_USB_USBNET) += usbnet.o
obj-$(CONFIG_USB_NET_INT51X1) += int51x1.o
obj-$(CONFIG_USB_CDC_PHONET) += cdc-phonet.o
obj-$(CONFIG_USB_NET_KALMIA) += kalmia.o
obj-$(CONFIG_USB_IPHETH) += ipheth.o
obj-$(CONFIG_USB_SIERRA_NET) += sierra_net.o
obj-$(CONFIG_USB_NET_CX82310_ETH) += cx82310_eth.o
obj-$(CONFIG_USB_NET_CDC_NCM) += cdc_ncm.o
obj-$(CONFIG_USB_NET_HUAWEI_CDC_NCM) += huawei_cdc_ncm.o
obj-$(CONFIG_USB_VL600) += lg-vl600.o
obj-$(CONFIG_USB_NET_QMI_WWAN) += qmi_wwan.o
obj-$(CONFIG_USB_NET_CDC_MBIM) += cdc_mbim.o
obj-$(CONFIG_USB_NET_CH9200) += ch9200.o
obj-$(CONFIG_USB_NET_AQC111) += aqc111.o
obj-$(CONFIG_USB_RTL8153_ECM) += r8153_ecm.o

I created a backup of this file by "cp Makefile{,.bak}" and then edited Makefile and removed all lines but:

obj-$(CONFIG_USB_RTL8152) += r8152.o

Then in this directory I executed the command to compile the new r8152 module and revert the Makefile settings:

$ make -C /lib/modules/$(uname -r)/build M=$(pwd) modules
$ rm Makefile; mv Makefile.bak Makefile

This produced some r8152.* files in that directory.

$ ls

Kconfig modules.order r8152.c r8152.mod r8152.mod.o
Makefile Module.symvers r8152.ko r8152.mod.c r8152.o

Then I renamed (backup) the original module "r8152" and copied my new compiled module over to the modules folder:

$ (cd /lib/modules/5.19.0-31-generic/kernel/drivers/net/usb && mv r8152.ko r8152.ko.bak)
$ cp r8152.ko /lib/modules/5.19.0-31-generic/kernel/drivers/net/usb/

Here you see the original module of my Ubuntu 22.10 installation and the manually compiled new module of r8152. The file size differs heavily, I have no clue why this happened ??

$ ls -lh /lib/modules/5.19.0-31-generic/kernel/drivers/net/usb
-rw-r--r-- 1 root root 1,9M Feb 26 18:28 r8152.ko
-rw-r--r-- 1 root root 257K Jan 20 14:57 r8152.ko.ba

However I can now load and use the new module

$ modprobe r8152
$ modinfo r8152 |grep -i 413c

alias: usb:v413CpB097d*dc*dsc*dp*ic*isc*ip*in*

As you see, the new information is in. And right after I loaded the module, the "eth0" interface appeared, I got a DHCP lease and I am online with that USB 2.5 GBe NIC interface.

However I need to know what the "correct" and "best-practice" looks like and how I integrate this change permanently into the system with DKMS. And of course it would be nice if someone from the maintainers could implement this identifiert into that module r8152. Looking forward to your comments.

Thanks.

Revision history for this message
actionparsnip (andrew-woodhead666) said :
#9

if you add it in /etc/modules then it should load at boot and be OK. You can also add the commands in /etc/rc.local (above the "exit 0" line) and that will work too

Revision history for this message
NOC (noc-center) said :
#10

sure, but that will not survive a kernel update. Also /etc/rc.local is not a clean solution IMHO. I supposte DKMS is the best way to go ?

Revision history for this message
actionparsnip (andrew-woodhead666) said :
#11

Try it. You have a work around until you get a nice solution. I'd just go with rc.local and be done :)

Revision history for this message
NOC (noc-center) said :
#12

With all due respect, but without exception all of your previous comments in this context were superfluous, as they were not solution-oriented or helpful. Please only reply if you can really contribute to the problem. Thank you for your understanding and effort.

Revision history for this message
Wenzhuo Zhang (wenzhuo) said :
#13

You may want to try this: [https://github.com/wenzhuoz/realtek-r8152-dkms.git]

I uploaded the dkms deb package I built on jammy, but you can also rebuild it yourself, according to the README.

Can you help with this problem?

Provide an answer of your own, or ask NOC for more information if necessary.

To post a message you must log in.