Umbrel not finding network-card / drivers?

Hello
I installed umbrel on a Asus nuc 14 essential.
Install went well but after that it didn’t connect to the network.
After trying to solve it for a while I finally tried a usb-c to ethernet adapter and it connected with no problem.
It works like a charm now, but I would like to use the built-in Ethernet instead of the adapter.

Do you have any suggestions on how to solve this?
Could it be missing drivers?
The computer has a Realtek ethernet controller RTL8125BG-CG, 2.5G.

Had the same problem with the same device. I used a USB NIC to get access, as you did.

sudo apt update
sudo apt install build-essential dkms linux-headers-$(uname -r)
cd /tmp
wget -q https://github.com/MONaH-Rasta/r8125/releases/latest/download/r8125_amd64.deb
sudo dpkg -i r8125_amd64.deb

Make the driver install persistent.

sudo update-initramfs -u

Reboot the device.

Confirm your NIC now has an IP.

ip -o -4 addr show | awk ‘{print $2, $4}’

Realtek r8125 now working correctly.

I’m having the same problem with my NUC 14. It’s working fine with a USB ethernet adapter but I cannot get the onboard one to work. I’ve run the commands as listed above in the Umbrel terminal but get a few errors as below. Any ideas folks?

umbrel@umbrel:~$ sudo apt install build-essential dkms linux-headers-$(uname -r)
Reading package lists… Done
Building dependency tree… Done
Reading state information… Done
E: Unable to locate package linux-headers-6.1.0-34-amd64
E: Couldn’t find any package by glob ‘linux-headers-6.1.0-34-amd64’
umbrel@umbrel:~$ cd tmp
bash: cd: tmp: No such file or directory
umbrel@umbrel:~$ cd /tmp
umbrel@umbrel:/tmp$ wget -q https://github.com/MONaH-Rasta/r8125/releases/latest/download/r8125_amd64.deb
umbrel@umbrel:/tmp$ sudo dpkg -i r8125_amd64.deb
(Reading database … 51601 files and directories currently installed.)
Preparing to unpack r8125_amd64.deb …
Unpacking r8125 (0-0) over (0-0) …
Setting up r8125 (0-0) …
umbrel@umbrel:/tmp$ sudo update-initramfs -u
update-initramfs: Generating /boot/initrd.img-6.1.0-34-amd64
W: Couldn’t identify type of root file system for fsck hook
umbrel@umbrel:/tmp$ ip -o -4 addr show | awk ‘{print $2, $4}’
awk: 1: unexpected character 0xe2
awk: line 2: missing } near end of file
umbrel@umbrel:/tmp$

that only woks if you have the one with the realtech Ethernet Most NUC 14 models use the intel i226-LM

sudo nano /etc/apt/sources.list

then add if its not there:

http://deb.debian.org/debian/ bookworm-backports main contrib non-free

ctr+o to save and ctrl+x to exit
then

sudo apt update && sudo apt upgrade
sudo apt install -t bookworm-backports linux-image-amd64

remove usb ethernet, connect to ethernet cable to the machine’s port, reboot, then check if its there:

lspci -nn | grep Ethernet

The error messages:

is from them modifying Debian12’s grub

Btw there was no need to use someone’s git for the realtek driver, of course I could walk you though updating it to Debian 13 ‘Trixie’ if you still have issues.

1 Like

Thanks so much for the reply oconical. I added in the bookworm-backports and then the update, upgrade and install commands which seemed to work but after rebooting the onboard ethernet still isn’t working. The ethernet controller is showing in the lspci:

umbrel@umbrel:~$ lspci
00:00.0 Host bridge: Intel Corporation Alder Lake-N Processor Host Bridge/DRAM Registers
00:02.0 VGA compatible controller: Intel Corporation Alder Lake-N [Intel Graphics]
00:04.0 Signal processing controller: Intel Corporation Alder Lake Innovation Platform Framework Processor Participant
00:08.0 System peripheral: Intel Corporation GNA Scoring Accelerator
00:0a.0 Signal processing controller: Intel Corporation Platform Monitoring Technology (rev 01)
00:0d.0 USB controller: Intel Corporation Alder Lake-N Thunderbolt 4 USB Controller
00:12.0 Serial controller: Intel Corporation Device 54fc
00:14.0 USB controller: Intel Corporation Alder Lake-N PCH USB 3.2 xHCI Host Controller
00:14.2 RAM memory: Intel Corporation Alder Lake-N PCH Shared SRAM
00:14.3 Network controller: Intel Corporation CNVi: Wi-Fi
00:16.0 Communication controller: Intel Corporation Alder Lake-N PCH HECI Controller
00:1c.0 PCI bridge: Intel Corporation Alder Lake-N PCI Express Root Port
00:1d.0 PCI bridge: Intel Corporation Alder Lake-N PCI Express Root Port
00:1f.0 ISA bridge: Intel Corporation Alder Lake-N PCH eSPI Controller
00:1f.3 Multimedia audio controller: Intel Corporation Alder Lake-N PCH High Definition Audio Controller
00:1f.4 SMBus: Intel Corporation Alder Lake-N SMBus
00:1f.5 Serial bus controller: Intel Corporation Alder Lake-N SPI (flash) Controller
01:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8125 2.5GbE Controller (rev 0c)
02:00.0 Non-Volatile memory controller: Biwin Storage Technology Co., Ltd. Device 1602 (rev 01)

Re-running the update && upgrade then install commands, I get the following:

umbrel@umbrel:~$ sudo apt update && sudo apt upgrade
Hit:1 http://deb.debian.org/debian` bookworm InRelease Hit:2 http://deb.debian.org/debian-security bookworm-security InRelease Hit:3 http://deb.debian.org/debian bookworm-updates InRelease Hit:4 http://deb.debian.org/debian bookworm-backports InRelease Hit:5 https://download.docker.com/linux/debian bookworm InRelease Reading package lists… Done Building dependency tree… Done Reading state information… Done All packages are up to date. Reading package lists… Done Building dependency tree… Done Reading state information… Done Calculating upgrade… Done 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.`

umbrel@umbrel:~$ sudo apt install -t bookworm-backports linux-image-amd64
Reading package lists… Done
Building dependency tree… Done
Reading state information… Done
linux-image-amd64 is already the newest version (6.12.38-1~bpo12+1).
The following packages were automatically installed and are no longer required:
linux-compiler-gcc-12-x86 linux-headers-6.1.0-39-amd64 linux-headers-6.1.0-39-common linux-image-6.1.0-39-amd64 linux-kbuild-6.1
Use ‘sudo apt autoremove’ to remove them.
0 upgraded, 0 newly installed, 0 to remove and 78 not upgraded.

I’m a little rusty with linux (too many years using Macs!) but happy to punch anything into the terminal you think might resolve things :slight_smile:

Lets clean up apt, and update all packages:

sudo apt autoremove
sudo apt-get update
sudo apt-get upgrade

Lets see what driver is loaded

sudo lshw -class network

if it returns the r8169 driver, we can block it automatically setting it.

        sudo nano /etc/modprobe.d/blacklist.conf

then add in that file:

        blacklist r8169

and save.
Then install the driver

sudo apt install firmware-realtek

After that it should be listed:

ip a

I can’t remember if the name is eth0 or enps0 because usually this is automatic, but if it is there and says its down, but for then we just do:

sudo ip link set eth0 up
sudo dhclient eth0

Tonight I have some time to test upgrading an Umbel on a N100 minicomputer to see if an amdx64 install will update smoothly to Debian 13 trixie, since nuc14 drivers are native/stable and tested and inDebian12 bookwoom they are the unstable earlier versions that might have issues.

Thanks again oconical. Here’s the returns:

*-network UNCLAIMED
description: Ethernet controller
product: RTL8125 2.5GbE Controller
vendor: Realtek Semiconductor Co., Ltd.
physical id: 0
bus info: pci@0000:01:00.0
version: 0c
width: 64 bits
clock: 33MHz
capabilities: pm msi pciexpress msix vpd cap_list
configuration: latency=0
resources: ioport:3000(size=256) memory:80900000-8090ffff memory:80910000-80913fff

sudo apt install firmware-realtek returns:

umbrel@umbrel:/lib/modules$ sudo apt install firmware-realtek
Reading package lists… Done
Building dependency tree… Done
Reading state information… Done
firmware-realtek is already the newest version (20230210-5).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

And ip returns a long list of 50 items, none of which are eth0 or enps0. Here’s the first 4 items:

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00inet 127.0.0.1/8 scope host lovalid_lft forever preferred_lft foreverinet6 ::1/128 scope host noprefixroutevalid_lft forever preferred_lft forever 
2: enx00010a0ca177: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000link/ether 00:01:0a:0c:a1:77 brd ff:ff:ff:ff:ff:ffinet 192.168.0.100/24 brd 192.168.0.255 scope global noprefixroute enx00010a0ca177valid_lft forever preferred_lft foreverinet6 fe80::1aa8:95e3:e30d:d92c/64 scope link noprefixroutevalid_lft forever preferred_lft forever
3: wlo1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000link/ether 6e:af:70:39:71:c9 brd ff:ff:ff:ff:ff:ff permaddr 54:e4:ed:70:71:82altname wlp0s20f3
4: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group defaultlink/ether 9e:ad:3f:d2:3d:ce brd ff:ff:ff:ff:ff:ffinet 172.17.0.1/16 brd 172.17.255.255 scope global docker0valid_lft forever preferred_lft forever

I tried re-downloading the RTL8125 driver from Realtek’s site and installing it but encountered this error:

umbrel@umbrel:~/umbrel/home/Downloads/r8125-9.016.01/r8125-9.016.01$ sudo ./autorun.sh

Check old driver and unload it.

Build the module and install

make[2]: *** /lib/modules/6.1.0-34-amd64/build: No such file or directory. Stop.

make[1]: *** [Makefile:203: clean] Error 2make: *** [Makefile:48: clean] Error 2

Not sure what else do try now. Any ideas?

This os maps pci ethernet at (enp)
Wireless id mapped at (wl)
the rest of those is the docker container (docker0) its software bridge (br) and the software virtual interfaces (veth) if you wanted to know.

enx is usallay an alt name, Sometimes mapped to USB while other times its an altname with an interface. But it could be just an altname that is joined to the interface after it activates.

My Umbrel maps enp1s0 as the interface with an enx altname

*-network UNCLAIMED
is usually an interface found, but no driver loaded.

Realtek is one of these vendors that the Linux OS has to fix their drivers so you download and install from an OS maintainer instead from them.

sudo add-apt-repository ppa:awesometic/ppa
sudo apt update
sudo apt install realtek-r8125-dkms

50 items is a lot
is a lot of things installed or you just trying to set it up?

we can list the interfaces by executing

ls /sys/class/net

but if you are just starting it might be easier to reinstall, then go back though, add that ppa repository above and install the driver.

Thanks for the explanation oconical. Items 6-50 are all virtual interfaces (veth).

For some reason, I just cannot get the Reaktek driver to install. Using the way you’ve suggested (by adding that ppa), gives an error:

umbrel@umbrel:~$ sudo add-apt-repository ppa:awesometic/ppa
Traceback (most recent call last):
File “/usr/bin/add-apt-repository”, line 362, in
sys.exit(0 if addaptrepo.main() else 1)
^^^^^^^^^^^^^^^^^
File “/usr/bin/add-apt-repository”, line 345, in main
shortcut = handler(source, **shortcut_params)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/lib/python3/dist-packages/softwareproperties/shortcuts.py”, line 40, in shortcut_handler
return handler(shortcut, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/lib/python3/dist-packages/softwareproperties/ppa.py”, line 86, in init
if self.lpppa.publish_debug_symbols:
^^^^^^^^^^
File “/usr/lib/python3/dist-packages/softwareproperties/ppa.py”, line 126, in lpppa
self._lpppa = self.lpteam.getPPAByName(name=self.ppaname)
^^^^^^^^^^^
File “/usr/lib/python3/dist-packages/softwareproperties/ppa.py”, line 113, in lpteam
self._lpteam = self.lp.people(self.teamname)
^^^^^^^^^^^^^^
AttributeError: ‘NoneType’ object has no attribute ‘people’

Both apt update and apt install realtek-r8125-dkms return results suggesting all is done:

umbrel@umbrel:~$ sudo apt install realtek-r8125-dkms
Reading package lists… Done
Building dependency tree… Done
Reading state information… Done
realtek-r8125-dkms is already the newest version (9.016.01-1).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

Are you suggesting re-flashing the SSD with a new install of Umbrel and then trying to install the Realtek drivers? I’m only starting out so not hard to redo if you reckon it’ll work.

For some weird reason it had to download the iso installer twice, but use the link inside the git wiki which is a strange place to stick the download for the iso file: https://download.umbrel.com/release/latest/umbrelos-amd64-usb-installer.iso

What is odd is the only thing that will write the usb is disk image writer on Linux.

This OS which actually is a docker container environment is actually a prime example of what you supposed to not do with one. I’m studying it so I don’t do the same mistakes rather than actually use this.

I’ll refresh the ssd with the latest Umbrel OS again so I know I have a decent base. Do you think you could give me a walk through what to punch into the terminal to get the Realtek drivers installed and running? Can’t help but feel I’m missing something obvious here but can’t see it!

we update packages from install then install drivers
So to condense this down:

sudo apt-get update
sudo apt-get upgrade
sudo add-apt-repository ppa:awesometic/ppa
sudo apt update
sudo apt install realtek-r8125-dkms
echo "blacklist r8169" | sudo tee -a /etc/modprobe.d/blacklist-r8169.conf 
sudo update-initramfs -u
sudo reboot

and after rebooting the computer, you can confirm its loaded by:

lsmod | grep r8125

it should be there, if not, execute:

sudo modprobe r8125

and post the error message

ok, so fresh install of Umbrel OS done. ap-get Update went fine. apt-get upgrade finished this is warning:

update-initramfs: Generating /boot/initrd.img-6.1.0-34-amd64

W: Couldn’t identify type of root file system for fsck hook

Processing triggers for ca-certificates (20230311+deb12u1) …

Updating certificates in /etc/ssl/certs…

0 added, 0 removed; done.

Running hooks in /etc/ca-certificates/update.d…

done.

add-apt-repository didn’t exist so I added it using sudo apt-get install software-properties-common and then sudo apt update which both worked. Had to run apt install python3-launchpadlib to get the sudo add-apt-repository ppa:awesometic/ppa working which worked fine apart from this error:

Err:6 Index of /awesometic/ppa/ubuntu bookworm Release
404 Not Found [IP: 185.125.190.80 443]
Reading package lists… Done
E: The repository ‘ Index of /awesometic/ppa/ubuntu bookworm Release’ does not have a Release file.
N: Updating from such a repository can’t be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.

App update then returns this:

umbrel@umbrel:~$ sudo apt update
Hit:1 debian bookworm InRelease
Hit:2 debian-security bookworm-security InRelease
Hit:3 debian bookworm-updates InRelease
Hit:4 linux/debian bookworm InRelease
Ign:5 awesometic/ppa/ubuntu bookworm InRelease
Err:6 awesometic/ppa/ubuntu bookworm Release
404 Not Found [IP: 185.125.190.80 443]
Reading package lists… Done
E: The repository bookworm Release’ does not have a Release file.
N: Updating from such a repository can’t be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.

Proceeding with sudo apt install realtek-r8125-dkms results in this error:

umbrel@umbrel:~$ sudo apt install realtek-r8125-dkms
Reading package lists… Done
Building dependency tree… Done
Reading state information… Done
E: Unable to locate package realtek-r8125-dkms

So I’ve stopped there. Any thoughts what to do next?

well that’s interesting, his release folder on github is gone for debian.

Ill tell you what, lets install from a debian server they are testing this driver.


sudo apt update
sudo apt install build-essential dkms linux-headers-$(uname -r) wget
wget http://ftp.us.debian.org/debian/pool/non-free/r/r8125/r8125-dkms_9.011.00-3_all.deb
sudo apt install ./r8125-dkms_9.011.00-3_all.deb

Re-flashed the ssd again to try from scratch but still no dice. Errors:

umbrel@umbrel:~/umbrel/home/Downloads$ sudo apt install build-essential dkms linux-headers-$(uname -r) wget
Reading package lists… Done
Building dependency tree… Done
Reading state information… Done
E: Unable to locate package linux-headers-6.1.0-34-amd64
E: Couldn’t find any package by glob ‘linux-headers-6.1.0-34-amd64’

and

umbrel@umbrel:~/umbrel/home/Downloads$ sudo apt install ./r8125-dkms_9.011.00-3_all.deb
Reading package lists… Done
Building dependency tree… Done
Reading state information… Done
Note, selecting ‘r8125-dkms’ instead of ‘./r8125-dkms_9.011.00-3_all.deb’
The following NEW packages will be installed:
r8125-dkms
0 upgraded, 1 newly installed, 0 to remove and 158 not upgraded.
Need to get 0 B/97.6 kB of archives.
After this operation, 860 kB of additional disk space will be used.
Get:1 /home/umbrel/umbrel/home/Downloads/r8125-dkms_9.011.00-3_all.deb r8125-dkms all 9.011.00-3 [97.6 kB]
debconf: delaying package configuration, since apt-utils is not installed
Selecting previously unselected package r8125-dkms.
(Reading database … 51641 files and directories currently installed.)
Preparing to unpack …/r8125-dkms_9.011.00-3_all.deb …
Unpacking r8125-dkms (9.011.00-3) …
Setting up r8125-dkms (9.011.00-3) …
debconf: unable to initialize frontend: Dialog
debconf: (No usable dialog-like program is installed, so the dialog based frontend cannot be used. at /usr/share/perl5/Debconf/FrontEnd/Dialog.pm line 78.)
debconf: falling back to frontend: Readline
Loading new r8125-9.011.00 DKMS files…
Building for 6.1.0-34-amd64
Module build for kernel 6.1.0-34-amd64 was skipped since the
kernel headers for this kernel do not seem to be installed.
Processing triggers for initramfs-tools (0.142+deb12u1) …
update-initramfs: Generating /boot/initrd.img-6.1.0-34-amd64
W: Couldn’t identify type of root file system for fsck hook
N: Download is performed unsandboxed as root as file ‘/home/umbrel/umbrel/home/Downloads/r8125-dkms_9.011.00-3_all.deb’ couldn’t be accessed by user ‘_apt’. - pkgAcquire::Run (13: Permission denied)

Network still showing as unclaimed :frowning:

you re-flashed, so you lost the library update.The iso has an outdated library so you have to update and upgrade
But since you are starting from scratch, set the root password, and switch to root

sudo passwd root
sudo -i
apt-get update
apt-get upgrade
apt install build-essential dkms linux-headers-$(uname -r) wget
wget http://ftp.us.debian.org/debian/pool/non-free/r/r8125/r8125-dkms_9.011.00-3_all.deb
apt install r8125-dkms_9.011.00-3_all.deb

Thanks Oconical. I always get this error however:

root@umbrel:/home/umbrel/umbrel/home/Downloads# apt install build-essential dkms linux-headers-$(uname -r) wget
Reading package lists… Done
Building dependency tree… Done
Reading state information… Done
E: Unable to locate package linux-headers-6.1.0-34-amd64
E: Couldn’t find any package by glob ‘linux-headers-6.1.0-34-amd64’
root@umbrel:/home/umbrel/umbrel/home/Downloads#

These are all the headers:

root@umbrel:/home/umbrel/umbrel/home/Downloads# apt-cache search linux-headers
linux-headers-6.1.0-35-amd64 - Header files for Linux 6.1.0-35-amd64
linux-headers-6.1.0-35-cloud-amd64 - Header files for Linux 6.1.0-35-cloud-amd64
linux-headers-6.1.0-35-common - Common header files for Linux 6.1.0-35
linux-headers-6.1.0-35-common-rt - Common header files for Linux 6.1.0-35-rt
linux-headers-6.1.0-35-rt-amd64 - Header files for Linux 6.1.0-35-rt-amd64
linux-headers-6.1.0-39-amd64 - Header files for Linux 6.1.0-39-amd64
linux-headers-6.1.0-39-cloud-amd64 - Header files for Linux 6.1.0-39-cloud-amd64
linux-headers-6.1.0-39-common - Common header files for Linux 6.1.0-39
linux-headers-6.1.0-39-common-rt - Common header files for Linux 6.1.0-39-rt
linux-headers-6.1.0-39-rt-amd64 - Header files for Linux 6.1.0-39-rt-amd64
linux-headers-amd64 - Header files for Linux amd64 configuration (meta-package)
linux-headers-cloud-amd64 - Header files for Linux cloud-amd64 configuration (meta-package)
linux-headers-rt-amd64 - Header files for Linux rt-amd64 configuration (meta-package)
linux-headers-6.1.0-37-amd64 - Header files for Linux 6.1.0-37-amd64
linux-headers-6.1.0-37-cloud-amd64 - Header files for Linux 6.1.0-37-cloud-amd64
linux-headers-6.1.0-37-common - Common header files for Linux 6.1.0-37
linux-headers-6.1.0-37-common-rt - Common header files for Linux 6.1.0-37-rt
linux-headers-6.1.0-37-rt-amd64 - Header files for Linux 6.1.0-37-rt-amd64
linux-headers-6.1.0-38-amd64 - Header files for Linux 6.1.0-38-amd64
linux-headers-6.1.0-38-cloud-amd64 - Header files for Linux 6.1.0-38-cloud-amd64
linux-headers-6.1.0-38-common - Common header files for Linux 6.1.0-38
linux-headers-6.1.0-38-common-rt - Common header files for Linux 6.1.0-38-rt
linux-headers-6.1.0-38-rt-amd64 - Header files for Linux 6.1.0-38-rt-amd64
root@umbrel:/home/umbrel/umbrel/home/Downloads#

I’m wondering if this is all because it’s running kernel 6.1.0-34-amd64 but all the drivers are for 35 or 39, neither of which are running? I’m somewhat confused atm!

problem is Debian has moved on and these guys didn’t push a backport update. I have an Umbel machine I haven’t update to Trixie (Debian 13) from Bookworm (Debian12) but testing it I see a bunch of errors updating that machine as I’m posting.

So I am going to send an email to one of the Debian team I know because they are having issues, which they probably know this.

Since I’m not having issues with Trixie, I would recommend going to that since all the drivers are in that distribution library are there for your computer.

Just remember to do this at the machine instead of over SSH:

1 Like

Updating to Trixie did the trick and the onboard Realtek network card works! Thanks so much for the detailed guidance oconical, really appreciate your knowledge and time helping me out :slight_smile:

1 Like