Tiny Core Linux
Tiny Core Base => TCB Talk => Topic started by: bohfoitoch on July 17, 2025, 02:31:37 AM
-
I use Tiny Core in combination with an Intel NUC, but since this was taken over by ASUS, Tiny Core no longer works properly. I can't get the network card to work. This message appears when installing the R8169 drivers:
sudo modprobe r8169:
r8169 0000:01:00.0 error -ENODEV: unknown chip XID 688, contact r8169 maintainers (see MAINTAINERS file)
The Nuc has a 2.5GBASE-T Dragon RTL8125BG LAN Controller
Is there already a driver for this controller or is there another solution?
I'd like to hear it
-
Hi bohfoitoch
Do you have firmware-rtl_nic.tcz installed?
-
Hi,
Yes, this is installed, but when I use ifconfig -a I only see dummo0 and lo
-
... Tiny Core no longer works properly. ...
which Tiny Core Linux worked properly?
-
Intel Nuc 11 with Tiny Core 15.
-
Hi bohfoitoch
Install pciutils.tcz.
What do these 2 commands return:
lspci -nn
modinfo r8169
-
I installed pciutils.tcz, but still not eth0
intree: Y
vermagic: 6.12.11-tinycore64 SMP mod_unload
firmware: rtl_nic/rtl18126a-3.fw
firmware: rtl_nic/rtl18126a-2.fw
firmware: rtl_nic/rtl18125b-2.fw
firmware: rtl_nic/rtl18125a-3.fw
firmware: rtl_nic/rtl1810?e-2.fw
firmware: rtl_nic/rtl18168?p-3.fw
firmware: rtl_nic/rtl18168h-3.fw
firmware: rtl_nic/rtl18168g-3.fw
firmware: rtl_nic/rtl18106e-2.fw
firmware: rtl_nic/rtl18106e-1.fw
firmware: rtl_nic/rtl18411-2.fw
firmware: rtl_nic/rtl18411-1.fw
firmware: rtl_nic/rtl18402-1.fw
firmware: rtl_nic/rtl18168f-1.fw
firmware: rtl_nic/rtl18105e-1.fw
firmware: rtl_nic/rtl18168e-3.fw
firmware: rtl_nic/rtl18168e-2.fw
firmware: rtl_nic/rtl18168e-1.fw
firmware: rtl_nic/rtl18168d-2.fw
firmware: rtl_nic/rtl18168d-1.fw
-
Hi bohfoitoch. The firmware files included in the firmware extensions can sometimes change over time.
Maybe the driver is failing to find the firmware it needs? We should exclude that possibility. Please run these commands:
tce-load -wi firmware-rtl_nic
sudo modprobe r8169
then run this command and kindly post its output here:
dmesg | grep firmware
-
This is the output of lspci -nn:
00:02.0 VGA compatible controller [0300]: Intel Corporation Alder Lake-N [Intel Graphics] [8086:46d4]
00:04.0 Signal processing controller [1180]: Intel Corporation Alder Lake Innovation Platform Framework Processor Participant [8086:461d]
00:08.0 System peripheral [0880]: Intel Corporation GNA Scoring Accelerator [8086:467e]
00:0a.0 Signal processing controller [1180]: Intel Corporation Platform Monitoring Technology [8086:467d] (rev 01)
00:0d.0 USB controller [0c03]: Intel Corporation Alder Lake-N Thunderbolt 4 USB Controller [8086:46e4]
00:12.0 Serial controller [0700]: Intel Corporation Device [8086:54fc]
00:14.0 USB controller [0c03]: Intel Corporation Alder Lake-N PCH USB 3.2 xHCI Host Controller [8086:54ed]
00:14.2 RAM memory [0500]: Intel Corporation Alder Lake-N PCH Shared SRAM [8086:54ef]
00:14.3 Network controller [0280]: Intel Corporation CNVi: Wi-Fi [8086:54f0]
00:16.0 Communication controller [0780]: Intel Corporation Alder Lake-N PCH HECI Controller [8086:54e0]
00:1c.0 PCI bridge [0604]: Intel Corporation Alder Lake-N PCI Express Root Port #7 [8086:54be]
00:1f.0 ISA bridge [0601]: Intel Corporation Alder Lake-N PCH eSPI Controller [8086:5481]
00:1f.3 Multimedia audio controller [0401]: Intel Corporation Alder Lake-N PCH High Definition Audio Controller [8086:54c8]
00:1f.4 SMBus [0c05]: Intel Corporation Alder Lake-N SMBus [8086:54a3]
00:1f.5 Serial bus controller [0c80]: Intel Corporation Alder Lake-N SPI (flash) Controller [8086:54a1]
01:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8125 2.5GbE Controller [10ec:8125] (rev 0c)
sudo modprobe r8169
error -ENODEV: unknown chip XID 688, contact r8169 maintainers
dmesg | grep firmware returns nothing
-
Usually there's a firmware load error in dmesg when the problem is missing firmware. So missing firmware is probably not the culprit here.
The ENODEV error suggests that the r8169 driver is seeing your hardware but not recognizing its XID. Then the driver is probably bailing out without even trying to load the firmware, because it needs to recognize the specific device in order to determine the necessary firmware file.
If your ethernet hardware worked with TCL before (presumably when using an older TCL version), I think this points to a regression/bug in the r8169 driver.
I'm afraid you may be in for a headache. You'd probably have to find a patch for the driver that fixes this bug, recompile the driver, then tweak your TCL to use the recompiled driver rather than the upstream version. It may be easier to use different hardware or, if you are married to this hardware, to use the older TCL version whose r8169 driver was working well for you.
-
Hi bohfoitoch. I found this thread, in which a user with your problem was able to solve it by downloading (presumably patched) driver directly from Realtek:
https://forums.linuxmint.com/viewtopic.php?t=438798
Driver is here:
https://www.realtek.com/Download/List?cate_id=584
-
Hi GNUser
According to this:
https://lore.kernel.org/netdev/f971d88e-be1f-494b-b754-e992adfe6321@gmail.com/T/
There's also a new firmware file for this device:
rtl_nic/rtl8125d-1.fw
-
Good find, Rich. The relevant firmware files can be downloaded from here (click on the file then on "plain"):
https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/tree/rtl_nic
bohfoitoch, let us know how you fare. Using the driver from Realtek (see my previous post) with latest firmware will likely solve your problem.
-
Hi GNUser
It works natively with r8169 in kernel version 6.13.0:
https://github.com/NixOS/nixpkgs/issues/350679#issuecomment-2625260767
Unfortunately, TC16 is using kernel version 6.12.11.
-
Driver is here:
https://www.realtek.com/Download/List?cate_id=584
Note that as with the r8168 driver I build, you probably have to add the bootcode "blacklist=r8169" to the kernel command line before the Realtek driver can be used instead of r8169.
-
I now want to compile the r8125 drivers on a Tinycore VM. But I can't get it to work. I've installed the linux-6.12_api_headers, compile, etc., but I keep getting these messages during make:
make -C src/ clean
make[1]: Entering directory '/home/tc/r8125-9.016.00/src'
make -C /lib/modules/6.12.11-tinycore64/build M=/home/tc/r8125-9.016.00/src clean
make[2]: Entering directory '/lib/modules/6.12.11-tinycore64/build'
make[2]: *** No rule to make target 'clean'. Stop.
make[2]: Leaving directory '/lib/modules/6.12.11-tinycore64/build'
make[1]: *** [Makefile:208: clean] Error 2
make[1]: Leaving directory '/home/tc/r8125-9.016.00/src'
make: *** [Makefile:48: clean] Error 2
-
Did you download the kernel sources and run "make modules_prepare"?
I use these commands before building the r8168 driver:
* cd /tmp
* mirror=`cat /opt/tcemirror`
* kerver=`uname -r` && wget ${mirror}`version -m`.x/`uname -m`/release/src/kernel/linux-${kerver%-*}-patched.txz
(~130MB download)
* tce-load -i compiletc squashfs-tools submitqc gettext bc elfutils-dev
* kerver=`uname -r` && tar xvJf /tmp/linux-${kerver%-*}-patched.txz
* cd linux-${kerver%-*}
* sudo ln -s "`pwd`" /lib/modules/`uname -r`/build
* wget -O .config ${mirror}`version -m`.x/`uname -m`/release/src/kernel/config-${kerver%-*}-tinycore64
* wget ${mirror}`version -m`.x/`uname -m`/release/src/kernel/Module.symvers-${kerver%-*}-tinycore64.gz
* gunzip -c Module.symvers-${kerver%-*}-tinycore64.gz > Module.symvers
* export CFLAGS="-mtune=generic -Os -pipe" CXXFLAGS="-mtune=generic -Os -pipe" LDFLAGS="-Wl,-O1"
* make oldconfig && make prepare && make modules_prepare
-
Thanks for your reply.
I managed to install the r8125 drivers in Tinycore and the network card is now recognized.