You are not logged in.
Hi,
This looks to be a regression upstream in the Linux ethernet APIs but I can no longer build and install the proprietary realtek r8125 ethernet drivers on arch from here (https://www.realtek.com/Download/List?cate_id=584). I reached out to realtek on nicfae@realtek.com but not sure how responsive they'd be. I tried taking a look at the new keee abstraction but I'm not sure what changes I have to make to translate from old to new on my own :-(. Asking here in case anyone else has any idea.
After downloading r8125-9.013.02 and running
sudo ./autorun.sh
I get:
[sudo] password for mohkale:
Check old driver and unload it.
Build the module and install
/home/mohkale/Develop/repos/realtek/r8125-9.013.02/src/r8125_n.c:7682:20: error: initialization of ‘int (*)(struct net_device *, struct ethtool_keee *)’ from incompatible pointer type ‘int (*)(struct net_device *, struct ethtool_eee *)’ [-Wincompatible-pointer-types]
7682 | .get_eee = rtl_ethtool_get_eee,
| ^~~~~~~~~~~~~~~~~~~
/home/mohkale/Develop/repos/realtek/r8125-9.013.02/src/r8125_n.c:7682:20: note: (near initialization for ‘rtl8125_ethtool_ops.get_eee’)
/home/mohkale/Develop/repos/realtek/r8125-9.013.02/src/r8125_n.c:7683:20: error: initialization of ‘int (*)(struct net_device *, struct ethtool_keee *)’ from incompatible pointer type ‘int (*)(struct net_device *, struct ethtool_eee *)’ [-Wincompatible-pointer-types]
7683 | .set_eee = rtl_ethtool_set_eee,
| ^~~~~~~~~~~~~~~~~~~
/home/mohkale/Develop/repos/realtek/r8125-9.013.02/src/r8125_n.c:7683:20: note: (near initialization for ‘rtl8125_ethtool_ops.set_eee’)
make[4]: *** [scripts/Makefile.build:244: /home/mohkale/Develop/repos/realtek/r8125-9.013.02/src/r8125_n.o] Error 1
make[3]: *** [/usr/lib/modules/6.9.2-arch1-1/build/Makefile:1919: /home/mohkale/Develop/repos/realtek/r8125-9.013.02/src] Error 2
make[2]: *** [Makefile:240: __sub-make] Error 2
make[1]: *** [Makefile:188: modules] Error 2
make: *** [Makefile:41: modules] Error 2
For context, I didn't know my motherboard (https://www.msi.com/Motherboard/MAG-X57 … K-MAX-WIFI) needed proprietary drivers when I got it. The ones shipping with Linux don't seem to be able to detect the ethernet device (wifi works fine) when I plug it in. If alternatively someone can suggest how to get the native ethernet drivers working I'd appreciate it.
Edit:
Sorry, forgot to list Linux kernel version XD.
$ uname -a
Linux mk-desktop 6.9.2-arch1-1 #1 SMP PREEMPT_DYNAMIC Sun, 26 May 2024 01:30:29 +0000 x86_64 GNU/Linux
Edit:
And pci info:
$ lspci -v
26:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8125 2.5GbE Controller (rev 05)
Subsystem: Micro-Star International Co., Ltd. [MSI] Device 7d54
Flags: fast devsel, IRQ 255, IOMMU group 19
I/O ports at f000 [disabled] [size=256]
Memory at fc900000 (64-bit, non-prefetchable) [disabled] [size=64K]
Memory at fc910000 (64-bit, non-prefetchable) [disabled] [size=16K]
Capabilities: <access denied>
Kernel modules: r8169
Last edited by mohkale (2024-06-18 17:39:03)
Offline
https://aur.archlinux.org/packages/r8125-dkms
Using the AUR is almost always a better idea than just straight from the manufacturer. Patches are often required, as the kernel very often changes things that break out of tree modules. It hasn't been fixed in the AUR package, but it's being discussed there and there's a patch.
Last edited by Scimmia (2024-06-18 17:43:16)
Offline
Looks like someone contributed a patch here https://aur.archlinux.org/packages/r8125-dkms
Offline
https://aur.archlinux.org/packages/r8125-dkms
Using the AUR is almost always a better idea than just straight from the manufacturer. Patches are often required, as the kernel very often changes things that break out of tree modules. It hasn't been fixed in the AUR package, but it's being discussed there and there's a patch.
Ah, thanks. Gonna try just installing this (I had been meaning to setup a dkms wrapper but this is even better).
Offline