Radxa Zero 3E: No IPv4/IPv6 address after actual apt upgrade (only fe80:: link-local)

Hi everyone,

I’m running DietPi on a Radxa Zero 3E. After today’s apt upgrade and a reboot, the board no longer gets an IP address on Ethernet. The interface comes up, but it only has the IPv6 link-local address (fe80::...). It gets no IPv4 address from DHCP and no global IPv6 address.

What I tried:

  • Fresh install of the current DietPi image on a different SD card.
  • The first login works and the board gets an IPv4 address via DHCP as expected.
  • After the automatic DietPi upgrade on first boot and the reboot that follows, the problem is back: no IP address, only fe80::.

So it can be reproduced on a clean install, and the SD card doesn’t seem to be the cause. It looks like something in today’s package updates (kernel, firmware, ifupdown/DHCP client?) breaks networking on this board.

 DietPi v10.8.2 : 13:51 - Sat 10/31/2026
 ─────────────────────────────────────────────────────
 - LAN IP : 10.10.0.53 (eth0)

 DietPi-Update
─────────────────────────────────────────────────────
 Phase: Checking for available DietPi update

[  OK  ] DietPi-Update | Checking IPv4 network connectivity
[  OK  ] DietPi-Update | Checking IPv6 network connectivity
[  OK  ] DietPi-Update | Checking DNS resolver
[  OK  ] dietpi-timesync | systemctl stop systemd-timesyncd
[  OK  ] dietpi-timesync | mkdir -p /run/systemd/timesync
[  OK  ] DietPi-Update | Getting latest version from: https://raw.githubusercontent.com/MichaIng/DietPi/master/.update/version
[  OK  ] DietPi-Update | Got valid latest version: 10.8.2
[  OK  ] DietPi-Update | eval echo 1 > /boot/dietpi/.install_stage
[  OK  ] DietPi-Update | No update required, your DietPi installation is already up to date:
[ INFO ] DietPi-Update | Current version : v10.8.2
[ INFO ] DietPi-Update | Latest version  : v10.8.2
[ INFO ] DietPi-Update | Checking for new available live patches
[  OK  ] DietPi-Update | Added setting G_LIVE_PATCH_STATUS[0]='not applied' to end of file /boot/dietpi/.version
[ INFO ] DietPi-Update | Applying live patch 0: Fix ownership of files extracted from upstream archives by dietpi-software, e.g. the uv binary
[  OK  ] DietPi-Update | Setting in /boot/dietpi/.version adjusted: G_LIVE_PATCH_STATUS[0]='applied'
[ INFO ] DietPi-Update | APT update, please wait...
Get:1 https://deb.debian.org/debian trixie InRelease [140 kB]
Get:2 https://deb.debian.org/debian trixie-updates InRelease [47.3 kB]
Get:3 https://deb.debian.org/debian-security trixie-security InRelease [43.4 kB]
Get:4 https://deb.debian.org/debian trixie-backports InRelease [54.0 kB]
Get:5 https://dietpi.com/apt trixie InRelease [2140 B]
Get:6 https://dietpi.com/apt all InRelease [33.1 kB]
Get:7 https://deb.debian.org/debian trixie/non-free-firmware arm64 Packages [6484 B]
Get:8 https://deb.debian.org/debian trixie/main arm64 Packages [9614 kB]
Get:9 https://dietpi.com/apt trixie/main arm64 Packages [7036 B]
Get:10 https://dietpi.com/apt all/radxazero3 all Packages [948 B]
Get:11 https://dietpi.com/apt all/radxazero3 arm64 Packages [7580 B]
Get:12 https://deb.debian.org/debian trixie/contrib arm64 Packages [48.4 kB]
Get:13 https://deb.debian.org/debian trixie/non-free arm64 Packages [74.4 kB]
Get:14 https://deb.debian.org/debian trixie-updates/main arm64 Packages [1108 B]
Get:15 https://deb.debian.org/debian-security trixie-security/main arm64 Packages [292 kB]
Get:16 https://deb.debian.org/debian-security trixie-security/contrib arm64 Packages [3152 B]
Get:17 https://deb.debian.org/debian trixie-backports/non-free arm64 Packages [7308 B]
Get:18 https://deb.debian.org/debian trixie-backports/main arm64 Packages [299 kB]
Get:19 https://deb.debian.org/debian trixie-backports/contrib arm64 Packages [7912 B]
Get:20 https://deb.debian.org/debian trixie-backports/non-free-firmware arm64 Packages [7368 B]
Fetched 10.7 MB in 3s (3113 kB/s)
Reading package lists...
[  OK  ] DietPi-Update | APT update
[ INFO ] DietPi-Update | Storing number of available APT upgrades to file: /run/dietpi/.apt_updates
 ─────────────────────────────────────────────────────
 DietPi v10.8.2 : 5 APT updates available
 ─────────────────────────────────────────────────────
 - LAN IP : 10.10.0.53 (eth0)
[  OK  ] DietPi-Software | Initialised database
[  OK  ] DietPi-Software | Reading database

 DietPi-Software
─────────────────────────────────────────────────────
 Step: Applying initial first run setup steps

[  OK  ] DietPi-Software | Checking IPv4 network connectivity
[  OK  ] DietPi-Software | Checking IPv6 network connectivity
[  OK  ] DietPi-Software | Checking DNS resolver
[ INFO ] DietPi-Software | Skipping APT update, as last call was less than an hour ago and neither sources lists nor architectures changed since.
[ INFO ] DietPi-Software | APT dist-upgrade, please wait...
Reading package lists...
Building dependency tree...
Reading state information...
Calculating upgrade...
The following packages will be upgraded:
  armbian-firmware libbrotli1 linux-image-current-rockchip64
  linux-u-boot-radxa-zero3-current tzdata
5 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 95.5 MB of archives.
After this operation, 23.7 MB disk space will be freed.
Get:1 https://deb.debian.org/debian trixie-updates/main arm64 tzdata all 2026f-0+deb13u1 [268 kB]
Get:2 https://dietpi.com/apt all/radxazero3 all armbian-firmware all 26.11.0-trunk-dietpi2 [25.9 MB]
Get:3 https://deb.debian.org/debian-security trixie-security/main arm64 libbrotli1 arm64 1.1.0-2+deb13u1 [294 kB]
Get:4 https://dietpi.com/apt all/radxazero3 arm64 linux-image-current-rockchip64 arm64 26.11.0-trunk-dietpi2 [68.5 MB]
Get:5 https://dietpi.com/apt all/radxazero3 arm64 linux-u-boot-radxa-zero3-current arm64 26.11.0-trunk-dietpi2 [550 kB]
Preconfiguring packages ...
Fetched 95.5 MB in 5s (17.9 MB/s)
(Reading database ... 17632 files and directories currently installed.)
Preparing to unpack .../tzdata_2026f-0+deb13u1_all.deb ...
Unpacking tzdata (2026f-0+deb13u1) over (2026c-0+deb13u1) ...
Preparing to unpack .../armbian-firmware_26.11.0-trunk-dietpi2_all.deb ...
Unpacking armbian-firmware (26.11.0-trunk-dietpi2) over (26.11.0-trunk-dietpi1) ...
Preparing to unpack .../libbrotli1_1.1.0-2+deb13u1_arm64.deb ...
Unpacking libbrotli1:arm64 (1.1.0-2+deb13u1) over (1.1.0-2+b7) ...
Preparing to unpack .../linux-image-current-rockchip64_26.11.0-trunk-dietpi2_arm64.deb ...
Armbian 'linux-image-current-rockchip64' for '6.18.54-current-rockchip64': 'prerm' starting.
Armbian 'linux-image-current-rockchip64' for '6.18.54-current-rockchip64': 'prerm' finishing.
Armbian 'linux-image-current-rockchip64' for '6.18.60-current-rockchip64': 'preinst' starting.
Armbian 'linux-image-current-rockchip64' for '6.18.60-current-rockchip64': 'preinst' finishing.
Unpacking linux-image-current-rockchip64 (26.11.0-trunk-dietpi2) over (26.11.0-trunk-dietpi1) ...
Armbian 'linux-image-current-rockchip64' for '6.18.54-current-rockchip64': 'postrm' starting.
Removing obsolete initramfs images
Armbian 'linux-image-current-rockchip64' for '6.18.54-current-rockchip64': 'postrm' finishing.
Preparing to unpack .../linux-u-boot-radxa-zero3-current_26.11.0-trunk-dietpi2_arm64.deb ...
Unpacking linux-u-boot-radxa-zero3-current (26.11.0-trunk-dietpi2) over (26.11.0-trunk-dietpi1) ...
Setting up libbrotli1:arm64 (1.1.0-2+deb13u1) ...
Setting up linux-image-current-rockchip64 (26.11.0-trunk-dietpi2) ...
Armbian 'linux-image-current-rockchip64' for '6.18.60-current-rockchip64': 'postinst' starting.
Removing obsolete initramfs images
removed '/boot/initrd.img-6.18.54-current-rockchip64'
update-initramfs: Generating /boot/initrd.img-6.18.60-current-rockchip64
'/boot/initrd.img' -> 'initrd.img-6.18.60-current-rockchip64'
Armbian: symlinking last-installed kernel image and dtbs to 'Image' and 'dtb' ...
'/boot/Image' -> 'vmlinuz-6.18.60-current-rockchip64'
'/boot/dtb' -> 'dtb-6.18.60-current-rockchip64'
Armbian: Debian compat: linux-update-symlinks install 6.18.60-current-rockchip64 /boot/vmlinuz-6.18.60-current-rockchip64
Armbian 'linux-image-current-rockchip64' for '6.18.60-current-rockchip64': 'postinst' finishing.
Setting up tzdata (2026f-0+deb13u1) ...

Current default time zone: 'Europe/Berlin'
Local time is now:      Sat Oct 31 13:53:41 CET 2026.
Universal Time is now:  Sat Oct 31 12:53:41 UTC 2026.
Run 'dpkg-reconfigure tzdata' if you wish to change it.

Setting up linux-u-boot-radxa-zero3-current (26.11.0-trunk-dietpi2) ...
Armbian 'uboot-radxa-zero3-current' for '2025.10-Se50b-Paab2-H6693-Vfe6f-Bd42d-R448a': 'postinst' starting.
Armbian 'uboot-radxa-zero3-current' for '2025.10-Se50b-Paab2-H6693-Vfe6f-Bd42d-R448a': 'postinst' finishing.
Setting up armbian-firmware (26.11.0-trunk-dietpi2) ...
Processing triggers for libc-bin (2.41-12+deb13u4) ...
[  OK  ] DietPi-Software | APT dist-upgrade
[ INFO ] DietPi-Software | APT autopurge, please wait...
Reading package lists...
Building dependency tree...
Reading state information...
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
[  OK  ] DietPi-Software | APT autopurge
[  OK  ] DietPi-Software | eval > /boot/dietpi/.skip_distro_upgrade
[ INFO ] DietPi-Software | A reboot is done to finalise the kernel upgrade
Connection to 10.10.0.53 closed by remote host.
Connection to 10.10.0.53 closed.

I had this exact same problem (after upgrading, trying a clean install). It is either the kernel or firmware that was upgraded (6.18.60).

I was able to get around the issue by blocking the upgrade to this kernel and firmware on the first boot.

Insert the SD card before first boot and add the following to a file under /etc/apt/preferences.d (you may need root privileges):

Package: linux-image-current-rockchip64
Pin: version 26.11.0-trunk-dietpi2
Pin-Priority: -1

Package: armbian-firmware
Pin: version 26.11.0-trunk-dietpi2
Pin-Priority: -1

With that, the first run installation was able to complete and I’m up and running with network again. The file should block this kernel and firmware from installing. Hopefully, the next update will have a fix.

I encountered the same issue, when updated to v10.8.2, or did kernel update by apt upgrade

I rolled back to v10.7.2 from a backup and executed the following command to prevent kernel-upgrade.

sudo apt-mark hold linux-image-current-rockchip64

current using kernel 6.18.45-current-rockchip64 without issue

Since I wasn’t sure which of the three upgrades was causing the issue, I put all three on hold.

Not upgrading:
   armbian-firmware (26.11.0-trunk-dietpi1 => 26.11.0-trunk-dietpi2)
   linux-image-current-rockchip64 (26.11.0-trunk-dietpi1 => 26.11.0-trunk-dietpi2)
   linux-u-boot-radxa-zero3-current (26.11.0-trunk-dietpi1 => 26.11.0-trunk-dietpi2)

Enforcing 100 Mbit link speeds works. So this is again an RX/TX issue most likely, like some months ago when we applied a patch already. Maybe something in the subsystem changed, so that the added delays do now cause issues. I’m on it.

Everyone please test setting 100 Mbit link speed in dietpi-network, then upgrade the kernel again. It contains a fix for a critical security vulnerability, hence staying on an older kernel is a serios risk.

EDIT: Ah, and maybe disabling EEE is needed, too:

sudo ethtool --set-eee eth0 eee off

I am not yet sure if the EEE link up/down flipping is a result of the broken timings. Otherwise it might be even two separate issues.