Debian users can successfully use drivers compiled from github. If SUSE has something to replace e.g. dkpg -i, with zypper commnds then users can also compile drivers to translate e e.g. the high-priority Realtek RTL8125 driver for chipset 870.
You can use this one:
https://download.opensuse.org/repositories/home:/Sauerland:/hardware/openSUSE_Leap_15.6/
It’s build from the original Realtek drivers as the git Repo is also used.
Install r8125-kmp-default r8125-blacklist-r8169 and r8125-ueficert
In opensuse you do not need dkms, this “update” is done by a script when installing a kmp or a new kernel.
This script will “install” the ko to all installed kernels:
find /lib/modules/ -name r8125.ko.xz
/lib/modules/6.4.0-150600.23.47-default/weak-updates/updates/r8125.ko.xz
/lib/modules/6.4.0-150600.23.42-default/weak-updates/updates/r8125.ko.xz
/lib/modules/6.4.0-150600.21-default/updates/r8125.ko.xz
/lib/modules/6.4.0-150600.23.38-default/weak-updates/updates/r8125.ko.xz
Installed is only the version for Kernel k6.4.0_150600.21
LANG=C zypper se -si r8125
Loading repository data...
Reading installed packages...
S | Name | Type | Version | Arch | Repository
---+-----------------------+---------+-------------------------------------+--------+--------------
i+ | r8125-blacklist-r8169 | package | 9.015.00-lp156.1.1 | x86_64 | Sauerland-OSS
i+ | r8125-kmp-default | package | 9.015.00_k6.4.0_150600.21-lp156.1.1 | x86_64 | Sauerland-OSS
i | r8125-ueficert | package | 9.015.00-lp156.1.1 | x86_64 | Sauerland-OSS
What advantages this driver provides? (comparing to default one).
Thank you for the solution description. Of course, I use git for development, but I guess to my detriment I’ve never used Google repo. I was able to compile drivers without using repo, both of the outputs you listed I got, but the driver didn’t install. The lpci -k command didn’t show up for my driver. I guess you have to use repo I went through quite a few of the available links on the web and I think I should use the repo sync [project-list] command. What is project-list, your web link? I never found out how I should run repo for compiling and installing drivers, I guess some kind of certificate is needed.I guess the repo clone command would run me the well-known git cone command and then I would run the install command from the github repository. I’d be awfully grateful for the commands to run the repo commands for the RTL8125 driver. Thank you in advance.
See the REALTEK_README.txt in the git Repo.
Remove all out-of-tree kernel modules. Replace all unsupported (cheap) hardware.
https://hatchjs.com/loading-out-of-tree-module-taints-kernel/
And check if linux kernel is tainted or not.
https://docs.kernel.org/admin-guide/tainted-kernels.html
https://www.suse.com/support/kb/doc/?id=000016321
# uname -rsm
Linux 6.4.0-150600.23.47-default x86_64
# cat /proc/sys/kernel/tainted
0
# cat /proc/sys/kernel/tainted
9216
# uname -rsm
Linux 5.4.0-1122-raspi aarch64
# dmesg |grep -i taint
[ 9.092474] vc_sm_cma: module verification failed: signature and/or required key missing - tainting kernel
# dmesg |grep -i stag
[ 9.092027] vc_sm_cma: module is from the staging directory, the quality is unknown, you have been warned.
[ 9.156941] snd_bcm2835: module is from the staging directory, the quality is unknown, you have been warned.
[ 9.194293] bcm2835_mmal_vchiq: module is from the staging directory, the quality is unknown, you have been warned.
[ 9.194299] bcm2835_mmal_vchiq: module is from the staging directory, the quality is unknown, you have been warned.
[ 9.211505] bcm2835_isp: module is from the staging directory, the quality is unknown, you have been warned.
[ 9.213519] bcm2835_v4l2: module is from the staging directory, the quality is unknown, you have been warned.
[ 9.251273] bcm2835_codec: module is from the staging directory, the quality is unknown, you have been warned.
OS: Ubuntu 20.04.6 LTS aarch64
Host: Raspberry Pi 4 Model B Rev 1.1
https://docs.kernel.org/process/2.Process.html#staging-trees
I took the advice from GrandDixence2Explorer Penguin the answer, too, and the recommended commands provided me with this information.
cat /proc/sys/kernel/tainted
2147483648
dmesg |grep -i stag
[ 2.411938] ahci 0000:0a:00.0: flags: 64bit ncq sntf stag pm led only pio sxs deso sadm sds apst
[ 2.412995] ahci 0000:0d:00.0: flags: 64bit ncq sntf stag pm led clo only pmp pio slum part sxs deso sadm sds apst
From the link at the end of his answer, I learned that developers using git often have staging tree problems. I make a lot of mistakes, but I can’t make a tainting problem. I’m in a rather difficult situation waiting for a mainline driver in the SUSE distribution will take a very long time because the SUSE team is concentrating effort on completing Suse Leap 16.0. You’re the only one team who develops drivers for SUSE, wouldn’t my driver listings help you improve your driver?
Realtek rtl8125 Chips are supported by the r8169 driver of the kernel.
/usr/sbin/modinfo r8169
filename: /lib/modules/6.4.0-150600.23.47-default/kernel/drivers/net/ethernet/realtek/r8169.ko.zst
firmware: rtl_nic/rtl8125b-2.fw
firmware: rtl_nic/rtl8125a-3.fw
firmware: rtl_nic/rtl8107e-2.fw
firmware: rtl_nic/rtl8168fp-3.fw
firmware: rtl_nic/rtl8168h-2.fw
firmware: rtl_nic/rtl8168g-3.fw
firmware: rtl_nic/rtl8168g-2.fw
firmware: rtl_nic/rtl8106e-2.fw
firmware: rtl_nic/rtl8106e-1.fw
firmware: rtl_nic/rtl8411-2.fw
firmware: rtl_nic/rtl8411-1.fw
firmware: rtl_nic/rtl8402-1.fw
firmware: rtl_nic/rtl8168f-2.fw
firmware: rtl_nic/rtl8168f-1.fw
firmware: rtl_nic/rtl8105e-1.fw
firmware: rtl_nic/rtl8168e-3.fw
firmware: rtl_nic/rtl8168e-2.fw
firmware: rtl_nic/rtl8168e-1.fw
firmware: rtl_nic/rtl8168d-2.fw
firmware: rtl_nic/rtl8168d-1.fw
license: GPL
softdep: pre: realtek
description: RealTek RTL-8169 Gigabit Ethernet driver
author: Realtek and the Linux r8169 crew <netdev@vger.kernel.org>
suserelease: SLE15-SP6
srcversion: E079743135A477C6B3A1A61
alias: pci:v000010ECd00003000sv*sd*bc*sc*i*
alias: pci:v000010ECd00008126sv*sd*bc*sc*i*
alias: pci:v000010ECd00008125sv*sd*bc*sc*i*
alias: pci:v00000001d00008168sv*sd00002410bc*sc*i*
alias: pci:v00001737d00001032sv*sd00000024bc*sc*i*
alias: pci:v000016ECd00000116sv*sd*bc*sc*i*
alias: pci:v00001259d0000C107sv*sd*bc*sc*i*
alias: pci:v00001186d00004302sv*sd*bc*sc*i*
alias: pci:v00001186d00004300sv*sd*bc*sc*i*
alias: pci:v00001186d00004300sv00001186sd00004B10bc*sc*i*
alias: pci:v000010ECd00008169sv*sd*bc*sc*i*
alias: pci:v000010FFd00008168sv*sd*bc*sc*i*
alias: pci:v000010ECd00008168sv*sd*bc*sc*i*
alias: pci:v000010ECd00008167sv*sd*bc*sc*i*
alias: pci:v000010ECd00008162sv*sd*bc*sc*i*
alias: pci:v000010ECd00008161sv*sd*bc*sc*i*
alias: pci:v000010ECd00008136sv*sd*bc*sc*i*
alias: pci:v000010ECd00008129sv*sd*bc*sc*i*
alias: pci:v000010ECd00002600sv*sd*bc*sc*i*
alias: pci:v000010ECd00002502sv*sd*bc*sc*i*
So the r8125 driver will not get into the Kernel.