wget / realtek-r8152-linux

A kernel module for Realtek RTL8152/RTL8153 Based USB Ethernet Adapters - Meant to be used in distributions only - For upstream bugs, please report them to your distribution maintainer or to Realtek.
https://www.realtek.com/en/component/zoo/category/network-interface-controllers-10-100-1000m-gigabit-ethernet-usb-3-0-software
154 stars 43 forks source link

Help to install on proxmox #29

Open delta-whiplash opened 1 year ago

delta-whiplash commented 1 year ago

Hello am a noob and I need help I have an asus ASUS USB-C2500 on my proxmox setup I tried to use it with kernel driver but I was stuck at 2500mbits half duplex autoneg off I tried to install the asus official driver but I had a lot of make error Then I tried to the content of this video https://youtu.be/sAfPm2CxfI4

but same issue I tried to follow this gist : https://gist.github.com/wooyey/8a83cb8bfc1ce0e461d7b359a7d72d43 then Install your repo content with this commands : make make modules make install sudo depmod -a sudo update-initramfs -u

reboot but I still have the same issue

this is the output of my ethtool command ethtool enx04421a3c7069 Settings for enx04421a3c7069: Supported ports: [ ] Supported link modes: Not reported Supported pause frame use: No Supports auto-negotiation: No Supported FEC modes: Not reported Advertised link modes: Not reported Advertised pause frame use: No Advertised auto-negotiation: No Advertised FEC modes: Not reported Speed: 2500Mb/s Duplex: Half Auto-negotiation: off Port: Twisted Pair PHYAD: 0 Transceiver: internal MDI-X: Unknown Current message level: 0x00000007 (7) drv probe link Link detected: yes

this is the content of my dmesg ┌─[root@pulsar]─[~] └──╼ # dmesg| grep enx [ 4.476858] cdc_ncm 2-5:2.0 enx04421a3c7069: renamed from eth0 [ 6.325383] IPv6: ADDRCONF(NETDEV_CHANGE): enx04421a3c7069: link becomes ready

luciust commented 1 year ago

It seems you don't have the USB rules for starters as you still play with cdc_ncm driver... Look here it seems this is also needed for your USB NIC model: https://github.com/wget/realtek-r8152-linux/issues/30

delta-whiplash commented 1 year ago

Hello I tried the steps but I have now this issue

┌─[root@pulsar]─[~/realtek-r8152-linux] [master ⚡] 
└──╼ # make install          

make -C /lib/modules/6.2.16-4-pve/build M=/root/realtek-r8152-linux INSTALL_MOD_DIR=kernel/drivers/net/usb modules_install
make[1]: Entering directory '/usr/src/linux-headers-6.2.16-4-pve'
  INSTALL /lib/modules/6.2.16-4-pve/kernel/drivers/net/usb/r8152.ko
  SIGN    /lib/modules/6.2.16-4-pve/kernel/drivers/net/usb/r8152.ko
  DEPMOD  /lib/modules/6.2.16-4-pve
Warning: modules_install: missing 'System.map' file. Skipping depmod.
make[1]: Leaving directory '/usr/src/linux-headers-6.2.16-4-pve'
modprobe r8152
modprobe: ERROR: could not insert 'r8152': Exec format error
make: *** [Makefile:45: install] Error 1
┌─[✗]─[root@pulsar]─[~/realtek-r8152-linux] [master ⚡] 
└──╼ # 
luciust commented 1 year ago

Exec format error? Hmmm... Try make clean before install, also - paste 'uname -a'

delta-whiplash commented 1 year ago
┌─[root@pulsar]─[~/realtek-r8152-linux] [master ⚡] 
└──╼ # make 
make -C /lib/modules/6.2.16-4-pve/build M=/root/realtek-r8152-linux modules
make[1]: Entering directory '/usr/src/linux-headers-6.2.16-4-pve'
  CC [M]  /root/realtek-r8152-linux/r8152.o
  MODPOST /root/realtek-r8152-linux/Module.symvers
  CC [M]  /root/realtek-r8152-linux/r8152.mod.o
  LD [M]  /root/realtek-r8152-linux/r8152.ko
  BTF [M] /root/realtek-r8152-linux/r8152.ko
Skipping BTF generation for /root/realtek-r8152-linux/r8152.ko due to unavailability of vmlinux
make[1]: Leaving directory '/usr/src/linux-headers-6.2.16-4-pve'
┌─[root@pulsar]─[~/realtek-r8152-linux] [master ⚡] 
└──╼ # make install
make -C /lib/modules/6.2.16-4-pve/build M=/root/realtek-r8152-linux INSTALL_MOD_DIR=kernel/drivers/net/usb modules_install
make[1]: Entering directory '/usr/src/linux-headers-6.2.16-4-pve'
  INSTALL /lib/modules/6.2.16-4-pve/kernel/drivers/net/usb/r8152.ko
  SIGN    /lib/modules/6.2.16-4-pve/kernel/drivers/net/usb/r8152.ko
  DEPMOD  /lib/modules/6.2.16-4-pve
Warning: modules_install: missing 'System.map' file. Skipping depmod.
make[1]: Leaving directory '/usr/src/linux-headers-6.2.16-4-pve'
modprobe r8152
modprobe: ERROR: could not insert 'r8152': Exec format error
make: *** [Makefile:45: install] Error 1
┌─[✗]─[root@pulsar]─[~/realtek-r8152-linux] [master ⚡] 
└──╼ # uname -r
6.2.16-4-pve
┌─[root@pulsar]─[~/realtek-r8152-linux] [master ⚡] 
└──╼ # 

Do you know what am I doing wrong

OryxGazella commented 1 year ago

@delta-whiplash I just got this connector today and struggled with the same problems wrt getting it to work in proxmox 8.

What did the trick for me was:

  1. Making the code changed mentioned here that @luciust mentioned and then doing a make install.
  2. Adding a udev rule for the vendor and device id added in step 1 above (0b05) <-- vendor 1976 <--- device For point number 2 edit the file /etc/udev/rules.d/50-usb-realtek-net.rules and add the line
    ATTR{idVendor}=="0b05", ATTR{idProduct}=="1976", ATTR{bConfigurationValue}!="$env{REALTEK_MODE1}", ATTR{bConfigurationValue}="$env{REALTEK_MODE1}"

After rebooting I got on ethtool

ethtool enxfc34972d1e94
...
        Speed: 2500Mb/s
        Duplex: Full
        ...
delta-whiplash commented 1 year ago

I have the same issue could you give a step by step tutorial without details just to let me know if I didn't do something

luciust commented 1 year ago

@delta-whiplash You are close

  1. Exec format error means you've probably upgraded kernel but did not reboot your Proxmox yet - do system upgrade and reboot
  2. Add the line

ATTR{idVendor}=="0b05", ATTR{idProduct}=="1976", ATTR{bConfigurationValue}!="$env{REALTEK_MODE1}", ATTR{bConfigurationValue}="$env{REALTEK_MODE1}" to the /etc/udev/rules.d/50-usb-realtek-net.rules and reboot again

delta-whiplash commented 1 year ago

Hello again I still have the issue

┌─[root@pulsar]─[~/realtek-r8152-linux] [master ⚡] 
└──╼ # make install
make -C /lib/modules/6.2.16-10-pve/build M=/root/realtek-r8152-linux INSTALL_MOD_DIR=kernel/drivers/net/usb modules_install
make[1]: Entering directory '/usr/src/linux-headers-6.2.16-10-pve'
  DEPMOD  /lib/modules/6.2.16-10-pve
Warning: modules_install: missing 'System.map' file. Skipping depmod.
make[1]: Leaving directory '/usr/src/linux-headers-6.2.16-10-pve'
modprobe r8152
modprobe: ERROR: could not insert 'r8152': Exec format error
make: *** [Makefile:45: install] Error 1
┌─[✗]─[root@pulsar]─[~/realtek-r8152-linux] [master ⚡] 
└──╼ # uname -r
6.2.16-10-pve
┌─[root@pulsar]─[~/realtek-r8152-linux] [master ⚡] 
└──╼ # apt install pve-headers-6.2.16-10-pve
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Note, selecting 'proxmox-headers-6.2.16-10-pve' instead of 'pve-headers-6.2.16-10-pve'
proxmox-headers-6.2.16-10-pve is already the newest version (6.2.16-10).
proxmox-headers-6.2.16-10-pve set to manually installed.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
┌─[root@pulsar]─[~/realtek-r8152-linux] [master ⚡] 
└──╼ # apt install pve-headers              
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following NEW packages will be installed:
  pve-headers
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 2,584 B of archives.
After this operation, 9,216 B of additional disk space will be used.
Get:1 http://download.proxmox.com/debian/pve bookworm/pve-no-subscription amd64 pve-headers all 8.0.2 [2,584 B]
Fetched 2,584 B in 0s (62.1 kB/s)       
Selecting previously unselected package pve-headers.
(Reading database ... 145694 files and directories currently installed.)
Preparing to unpack .../pve-headers_8.0.2_all.deb ...
Unpacking pve-headers (8.0.2) ...
Setting up pve-headers (8.0.2) ...
┌─[root@pulsar]─[~/realtek-r8152-linux] [master ⚡] 
└──╼ # make install                                   
make -C /lib/modules/6.2.16-10-pve/build M=/root/realtek-r8152-linux INSTALL_MOD_DIR=kernel/drivers/net/usb modules_install
make[1]: Entering directory '/usr/src/linux-headers-6.2.16-10-pve'
  DEPMOD  /lib/modules/6.2.16-10-pve
Warning: modules_install: missing 'System.map' file. Skipping depmod.
make[1]: Leaving directory '/usr/src/linux-headers-6.2.16-10-pve'
modprobe r8152
modprobe: ERROR: could not insert 'r8152': Exec format error
make: *** [Makefile:45: install] Error 1
┌─[✗]─[root@pulsar]─[~/realtek-r8152-linux] [master ⚡] 
└──╼ #  

I did this image image

I got the code from git clone https://github.com/wget/realtek-r8152-linux.git

I tried this steps with no improvement

delta-whiplash commented 1 year ago

I rebooted one more time then I tried again

Linux pulsar 6.2.16-10-pve #1 SMP PREEMPT_DYNAMIC PMX 6.2.16-10 (2023-08-18T11:42Z) x86_64
           This system is optimised by: eXtremeSHOK.com

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Tue Aug 29 10:32:21 CEST 2023 from 192.168.0.119 on pts/0
┌─[root@pulsar]─[~] 
└──╼ # cd realtek-r8152-linux 
┌─[root@pulsar]─[~/realtek-r8152-linux] [master ⚡] 
└──╼ # ls
compatibility.h  Makefile  modules.order  Module.symvers  r8152.c  r8152.ko  r8152.mod  r8152.mod.c  r8152.mod.o  r8152.o  ReadMe.txt
┌─[root@pulsar]─[~/realtek-r8152-linux] [master ⚡] 
└──╼ # make
make -C /lib/modules/6.2.16-10-pve/build M=/root/realtek-r8152-linux modules
make[1]: Entering directory '/usr/src/linux-headers-6.2.16-10-pve'
make[1]: Leaving directory '/usr/src/linux-headers-6.2.16-10-pve'
┌─[root@pulsar]─[~/realtek-r8152-linux] [master ⚡] 
└──╼ # make install
make -C /lib/modules/6.2.16-10-pve/build M=/root/realtek-r8152-linux INSTALL_MOD_DIR=kernel/drivers/net/usb modules_install
make[1]: Entering directory '/usr/src/linux-headers-6.2.16-10-pve'
  INSTALL /lib/modules/6.2.16-10-pve/kernel/drivers/net/usb/r8152.ko
  SIGN    /lib/modules/6.2.16-10-pve/kernel/drivers/net/usb/r8152.ko
  DEPMOD  /lib/modules/6.2.16-10-pve
Warning: modules_install: missing 'System.map' file. Skipping depmod.
make[1]: Leaving directory '/usr/src/linux-headers-6.2.16-10-pve'
modprobe r8152
modprobe: ERROR: could not insert 'r8152': Exec format error
make: *** [Makefile:45: install] Error 1
┌─[✗]─[root@pulsar]─[~/realtek-r8152-linux/realtek-r8152-linux-2.16.3.20221209] [master ⚡] 
└──╼ # dmesg | grep r8152
[  114.828812] r8152: disagrees about version of symbol module_layout
[  310.032551] r8152: disagrees about version of symbol module_layout
[  332.153421] r8152: disagrees about version of symbol module_layout

I tried with the December release too