Skip to content

Issue with Realtek NIC on Beelink Mini S minipc #4412

@bchevreau

Description

@bchevreau

Describe the issue you are experiencing

Describe the issue

I’m running Home Assistant OS on a Beelink mini PC with an onboard Realtek 1 GbE NIC.

The NIC works perfectly under Ubuntu 22.04 live (tested just before installing HAOS), but under Home Assistant OS it behaves unreliably depending on which switch it’s connected to:

  • On my Ampcom managed switch, HAOS initially reports the interface enp1s0 with “no carrier”, and ha network update enp1s0 --ipv4-method auto fails with:

    Connection "Supervisor enp1s0" is not available on device enp1s0 because device has no carrier

  • If I move the exact same cable from the Ampcom switch to my Keeplink PoE switch, HAOS immediately negotiates a link and enp1s0 gets a valid IPv4 address (e.g. 192.168.1.253/24) and works normally.

So hardware, cabling, and general Linux kernel support are all fine, but the NIC appears to be mis-driven / unstable under HAOS with some switches.

This looks like a driver issue for this Realtek PCIe GBE family controller (RTL8111/8168/8411 family).


Environment

  • Hardware: Beelink mini PC (please fill in exact model, e.g. SER5 / EQ12 / Mini S12)
  • Installation type: Home Assistant OS – Generic x86-64 (Method 1, raw image to SSD)
  • Home Assistant OS version: 16.3
  • Home Assistant Core version: 2025.11.3

NIC details

From /sys:

  • cat /sys/class/net/enp1s0/device/vendor0x10ec
  • cat /sys/class/net/enp1s0/device/device0x8168
  • cat /sys/class/net/enp1s0/device/subsystem_vendor0x10ec
  • cat /sys/class/net/enp1s0/device/subsystem_device0x0123

From the host shell:

  • readlink -f /sys/class/net/enp1s0/device/driver/sys/bus/pci/drivers/r8169

BIOS also reports the NIC as a “Realtek PCIe GBE Family Controller” with my correct MAC.

So this looks like a Realtek RTL8111/8168-family device (10ec:8168) currently driven by r8169 in HAOS.


Expected behavior

  • HAOS should bring up enp1s0 and negotiate link correctly with any standards-compliant switch, just like Ubuntu 22.04 does on the same machine.
  • Ideally the NIC should be handled by the same driver/firmware combo that works on Ubuntu (e.g. r8168 or updated Realtek firmware for r8169).

Actual behavior

  • On the Ampcom managed switch:
    • enp1s0 shows no carrier.
    • ha network info lists the interface, but connected: false, carrier: false.
    • ha network update enp1s0 --ipv4-method auto fails with:

      Connection "Supervisor enp1s0" is not available on device enp1s0 because device has no carrier

  • Moving the same cable to a Keeplink PoE switch instantly brings the interface up:
    • enp1s0 gets an IP (e.g. 192.168.1.253/24).
    • Network works fine afterwards.

This strongly suggests an issue with the driver / PHY initialisation for 10ec:8168 under HAOS when negotiating link with certain switches.


What operating system image do you use?

generic-x86-64 (Generic UEFI capable x86-64 systems)

What version of Home Assistant Operating System is installed?

Latest

Did the problem occur after upgrading the Operating System?

No

Hardware details

NIC details

From /sys:

  • cat /sys/class/net/enp1s0/device/vendor0x10ec
  • cat /sys/class/net/enp1s0/device/device0x8168
  • cat /sys/class/net/enp1s0/device/subsystem_vendor0x10ec
  • cat /sys/class/net/enp1s0/device/subsystem_device0x0123

From the host shell:

  • readlink -f /sys/class/net/enp1s0/device/driver/sys/bus/pci/drivers/r8169

BIOS also reports the NIC as a “Realtek PCIe GBE Family Controller” with my correct MAC.

So this looks like a Realtek RTL8111/8168-family device (10ec:8168) currently driven by r8169 in HAOS.

Steps to reproduce the issue

  1. Install HAOS using Try Ubuntu flash drive on a Beelink Mini S
  2. From the console (output from a screen plugged into the minipc) notice no address is assigned
  3. Unplug ethernet cable and plug it to another ethernet port on another switch, magic happens (PHY properly negociated this time)
    ...

Anything in the Supervisor logs that might be useful for us?

No idea if it will help but i noticed this whole sequence happening several times:

025-11-24 09:38:28.996 INFO (MainThread) [supervisor.resolution.check] Starting system checks with state running
2025-11-24 09:38:28.996 INFO (MainThread) [supervisor.resolution.checks.base] Run check for ipv4_connection_problem/system
2025-11-24 09:38:28.997 INFO (MainThread) [supervisor.resolution.checks.base] Run check for pwned/addon
2025-11-24 09:38:29.123 INFO (MainThread) [supervisor.resolution.checks.base] Run check for free_space/system
2025-11-24 09:38:29.125 INFO (MainThread) [supervisor.resolution.checks.base] Run check for docker_config/system
2025-11-24 09:38:29.125 INFO (MainThread) [supervisor.resolution.checks.base] Run check for disabled_data_disk/system
2025-11-24 09:38:29.126 INFO (MainThread) [supervisor.resolution.checks.base] Run check for disk_lifetime/system
2025-11-24 09:38:29.127 INFO (MainThread) [supervisor.resolution.checks.base] Run check for dns_server_ipv6_error/dns_server
2025-11-24 09:38:29.128 INFO (MainThread) [supervisor.resolution.checks.base] Run check for multiple_data_disks/system
2025-11-24 09:38:29.128 INFO (MainThread) [supervisor.resolution.checks.base] Run check for security/core
2025-11-24 09:38:29.128 INFO (MainThread) [supervisor.resolution.checks.base] Run check for dns_server_failed/dns_server
2025-11-24 09:38:29.128 INFO (MainThread) [supervisor.resolution.check] System checks complete
2025-11-24 09:38:29.128 INFO (MainThread) [supervisor.resolution.evaluate] Starting system evaluation with state running
2025-11-24 09:38:29.165 INFO (MainThread) [supervisor.resolution.evaluate] System evaluation complete
2025-11-24 09:38:29.165 INFO (MainThread) [supervisor.resolution.fixup] Starting system autofix at state running
2025-11-24 09:38:29.165 INFO (MainThread) [supervisor.resolution.fixup] System autofix complete
2025-11-24 09:56:31.278 INFO (MainThread) [supervisor.homeassistant.api] Updated Home Assistant API token
2025-11-24 10:11:50.065 INFO (MainThread) [supervisor.host.info] Updating local host information
2025-11-24 10:11:50.502 INFO (MainThread) [supervisor.host.services] Updating service information
2025-11-24 10:11:50.506 INFO (MainThread) [supervisor.host.network] Updating local network information
2025-11-24 10:11:50.574 INFO (MainThread) [supervisor.host.sound] Updating PulseAudio information
2025-11-24 10:11:50.579 INFO (MainThread) [supervisor.host.manager] Host information reload completed
2025-11-24 10:26:31.454 INFO (MainThread) [supervisor.homeassistant.api] Updated Home Assistant API token
2025-11-24 10:38:29.168 INFO (MainThread) [supervisor.resolution.check] Starting system checks with state running
2025-11-24 10:38:29.169 INFO (MainThread) [supervisor.resolution.checks.base] Run check for ipv4_connection_problem/system
2025-11-24 10:38:29.169 INFO (MainThread) [supervisor.resolution.checks.base] Run check for pwned/addon
2025-11-24 10:38:29.303 INFO (MainThread) [supervisor.resolution.checks.base] Run check for free_space/system
2025-11-24 10:38:29.305 INFO (MainThread) [supervisor.resolution.checks.base] Run check for docker_config/system
2025-11-24 10:38:29.306 INFO (MainThread) [supervisor.resolution.checks.base] Run check for disabled_data_disk/system
2025-11-24 10:38:29.306 INFO (MainThread) [supervisor.resolution.checks.base] Run check for disk_lifetime/system
2025-11-24 10:38:29.309 INFO (MainThread) [supervisor.resolution.checks.base] Run check for dns_server_ipv6_error/dns_server
2025-11-24 10:38:29.310 INFO (MainThread) [supervisor.resolution.checks.base] Run check for multiple_data_disks/system
2025-11-24 10:38:29.310 INFO (MainThread) [supervisor.resolution.checks.base] Run check for security/core
2025-11-24 10:38:29.311 INFO (MainThread) [supervisor.resolution.checks.base] Run check for dns_server_failed/dns_server
2025-11-24 10:38:29.311 INFO (MainThread) [supervisor.resolution.check] System checks complete
2025-11-24 10:38:29.311 INFO (MainThread) [supervisor.resolution.evaluate] Starting system evaluation with state running
2025-11-24 10:38:29.358 INFO (MainThread) [supervisor.resolution.evaluate] System evaluation complete
2025-11-24 10:38:29.358 INFO (MainThread) [supervisor.resolution.fixup] Starting system autofix at state running
2025-11-24 10:38:29.358 INFO (MainThread) [supervisor.resolution.fixup] System autofix complete
2025-11-24 10:56:31.621 INFO (MainThread) [supervisor.homeassistant.api] Updated Home Assistant API token
2025-11-24 11:26:31.796 INFO (MainThread) [supervisor.homeassistant.api] Updated Home Assistant API token
2025-11-24 11:38:29.361 INFO (MainThread) [supervisor.resolution.check] Starting system checks with state running
2025-11-24 11:38:29.361 INFO (MainThread) [supervisor.resolution.checks.base] Run check for ipv4_connection_problem/system
2025-11-24 11:38:29.361 INFO (MainThread) [supervisor.resolution.checks.base] Run check for pwned/addon
2025-11-24 11:38:29.529 INFO (MainThread) [supervisor.resolution.checks.base] Run check for free_space/system
2025-11-24 11:38:29.529 INFO (MainThread) [supervisor.resolution.checks.base] Run check for docker_config/system
2025-11-24 11:38:29.530 INFO (MainThread) [supervisor.resolution.checks.base] Run check for disabled_data_disk/system
2025-11-24 11:38:29.530 INFO (MainThread) [supervisor.resolution.checks.base] Run check for disk_lifetime/system
2025-11-24 11:38:29.531 INFO (MainThread) [supervisor.resolution.checks.base] Run check for dns_server_ipv6_error/dns_server
2025-11-24 11:38:29.531 INFO (MainThread) [supervisor.resolution.checks.base] Run check for multiple_data_disks/system
2025-11-24 11:38:29.531 INFO (MainThread) [supervisor.resolution.checks.base] Run check for security/core
2025-11-24 11:38:29.532 INFO (MainThread) [supervisor.resolution.checks.base] Run check for dns_server_failed/dns_server
2025-11-24 11:38:29.532 INFO (MainThread) [supervisor.resolution.check] System checks complete

Anything in the Host logs that might be useful for us?

Nothing there, happens before that.

System information

System Information

version core-2025.11.3
installation_type Home Assistant OS
dev false
hassio true
docker true
container_arch amd64
user root
virtualenv false
python_version 3.13.9
os_name Linux
os_version 6.12.51-haos
arch x86_64
timezone Asia/Singapore
config_dir /config
Home Assistant Community Store
GitHub API ok
GitHub Content ok
GitHub Web ok
HACS Data ok
GitHub API Calls Remaining 4998
Installed Version 2.0.5
Stage running
Available Repositories 2487
Downloaded Repositories 33
Home Assistant Cloud
logged_in true
subscription_expiration June 12, 2026 at 8:00 AM
relayer_connected true
relayer_region ap-southeast-1
remote_enabled true
remote_connected true
alexa_enabled true
google_enabled true
cloud_ice_servers_enabled true
remote_server ap-southeast-1-2.ui.nabu.casa
certificate_status ready
instance_id 4b563a41de62404c8ec383302f30814c
can_reach_cert_server ok
can_reach_cloud_auth ok
can_reach_cloud ok
Home Assistant Supervisor
host_os Home Assistant OS 16.3
update_channel stable
supervisor_version supervisor-2025.11.4
agent_version 1.7.2
docker_version 28.3.3
disk_total 116.7 GB
disk_used 18.2 GB
nameservers 192.168.1.1
healthy true
supported true
host_connectivity true
supervisor_connectivity true
ntp_synchronized true
virtualization
board generic-x86-64
supervisor_api ok
version_api ok
installed_addons Node-RED (20.2.3), File editor (5.8.0), ESPHome Device Builder (2025.11.0), Matter Server (8.1.1), SwitchBot-Mqtt (1.0.53), Advanced SSH & Web Terminal (22.0.1), Whisper (3.0.1), Samba share (12.5.4), Zigbee2MQTT (2.6.3-1), Piper (2.1.1), Studio Code Server (6.0.1), openWakeWord (2.1.0), Home Assistant Google Drive Backup (0.112.1), Mosquitto broker (6.5.2)
Dashboards
dashboards 9
resources 24
views 14
mode storage
Network Configuration
adapters lo (disabled), enp1s0 (enabled, default, auto), docker0 (disabled), hassio (disabled), vethc366108 (disabled), vethb8065f5 (disabled), vethd9cf353 (disabled), veth4c51585 (disabled), veth435cbc0 (disabled), vetha2faea9 (disabled), veth3fae441 (disabled), veth2c79afa (disabled), veth62c2c34 (disabled), veth7bea49f (disabled), veth5ef09c7 (disabled), veth0dbd32f (disabled), veth4ecd17b (disabled), veth60332b7 (disabled), veth02fa720 (disabled)
ipv4_addresses lo (127.0.0.1/8), enp1s0 (192.168.1.253/24), docker0 (172.30.232.1/23), hassio (172.30.32.1/23), vethc366108 (), vethb8065f5 (), vethd9cf353 (), veth4c51585 (), veth435cbc0 (), vetha2faea9 (), veth3fae441 (), veth2c79afa (), veth62c2c34 (), veth7bea49f (), veth5ef09c7 (), veth0dbd32f (), veth4ecd17b (), veth60332b7 (), veth02fa720 ()
ipv6_addresses lo (::1/128), enp1s0 (fe80::4418:2bdb:768a:be13/64), docker0 (fe80::b0dc:75ff:fe78:a015/64), hassio (fd0c:ac1e:2100::1/48, fe80::8027:3ff:fe64:ef17/64), vethc366108 (fe80::c8f4:53ff:fe24:8b68/64), vethb8065f5 (fe80::58d9:eeff:fef6:768d/64), vethd9cf353 (fe80::343b:5cff:fe74:30e0/64), veth4c51585 (fe80::583d:2cff:fe0f:8edd/64), veth435cbc0 (fe80::7404:8bff:fe69:70b9/64), vetha2faea9 (fe80::78f4:d3ff:fe8f:229c/64), veth3fae441 (fe80::78a0:e3ff:fedb:776b/64), veth2c79afa (fe80::54bf:5ff:fe02:2a47/64), veth62c2c34 (fe80::f820:b1ff:fe1e:f12/64), veth7bea49f (fe80::a841:73ff:fed3:ad9b/64), veth5ef09c7 (fe80::84c3:66ff:fe1e:cfc8/64), veth0dbd32f (fe80::5881:94ff:fea2:464e/64), veth4ecd17b (fe80::3030:44ff:fe7d:a4fb/64), veth60332b7 (fe80::3054:2cff:fe4c:beeb/64), veth02fa720 (fe80::3437:c8ff:fe26:1f6a/64)
announce_addresses 192.168.1.253, fe80::4418:2bdb:768a:be13
Recorder
oldest_recorder_run November 12, 2025 at 2:17 PM
current_recorder_run November 23, 2025 at 11:55 PM
estimated_db_size 572.21 MiB
database_engine sqlite
database_version 3.49.2
Spotify
api_endpoint_reachable ok

Additional information

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions