User Tools

Site Tools


tamiwiki:users:yair:nucs

NUC Bring-Up Fixes

This document describes the fixes applied to resolve two critical boot and KVM switching issues on this NUC system.

Issue 1: KVM Switching - Computer B Not Returning Signal

Problem

When switching from Computer A to Computer B via KVM, Computer B would show “No Signal” and become inaccessible.

Root Cause

Computer B was entering power saving mode when not actively connected through the KVM, causing:

  • System sleep after 15 minutes
  • AMD graphics card power management
  • USB autosuspend interfering with KVM

Solution Applied

Disable System Sleep

# Disable sleep on AC power
gsettings set org.gnome.settings-daemon.plugins.power sleep-inactive-ac-timeout 0
 
# Disable sleep on battery power
gsettings set org.gnome.settings-daemon.plugins.power sleep-inactive-battery-timeout 0

Configure AMD Graphics for High Performance

# Set AMD GPU to high performance mode
echo high > /sys/class/drm/card2/device/power_dpm_force_performance_level

Disable USB Autosuspend

# Disable USB autosuspend globally
echo -1 > /sys/module/usbcore/parameters/autosuspend

Permanent Configuration Files Created

/etc/systemd/system/amd-kvm-fix.service

[Unit]
Description=Set AMD GPU to high performance for KVM compatibility
After=multi-user.target
 
[Service]
Type=oneshot
ExecStart=/bin/bash -c 'echo high > /sys/class/drm/card2/device/power_dpm_force_performance_level'
RemainAfterExit=true
 
[Install]
WantedBy=multi-user.target

/etc/udev/rules.d/99-disable-usb-autosuspend.conf

# Disable USB autosuspend to prevent KVM switching issues
# This prevents USB devices from going into power save mode
ACTION=="add", SUBSYSTEM=="usb", ATTR{power/autosuspend}="-1"

Verification

# Check current settings
gsettings get org.gnome.settings-daemon.plugins.power sleep-inactive-ac-timeout  # Should be 0
cat /sys/class/drm/card2/device/power_dpm_force_performance_level              # Should be "high"
cat /sys/module/usbcore/parameters/autosuspend                                # Should be "-1"

Issue 2: Boot Delay - systemd-networkd-wait-online Timeout

Problem

System boot was delayed by 2 minutes due to `systemd-networkd-wait-online.service` timing out.

Root Cause

The system has dual network ports:

  • `enp5s0` - Connected and working
  • `eno1` - Disconnected (NO-CARRIER)

The service was waiting for ALL network interfaces, including the disconnected `eno1` port.

Network Interface Status

IDX LINK   TYPE     OPERATIONAL SETUP     
  2 enp5s0 ether    routable    configured  ✅ Working
  3 eno1   ether    no-carrier  configured  ❌ Disconnected but configured

Solution Applied

Configure Service to Ignore Disconnected Interfaces

Created override configuration to ignore `eno1`:

/etc/systemd/system/systemd-networkd-wait-online.service.d/ignore-disconnected.conf

[Service]
ExecStart=
ExecStart=/usr/lib/systemd/systemd-networkd-wait-online --ignore=eno1

Verification

# Check service status - should be active/exited, not failed
systemctl status systemd-networkd-wait-online.service
 
# Expected output shows:
# Active: active (exited) since [timestamp]
# Process: ExecStart=/usr/lib/systemd/systemd-networkd-wait-online --ignore=eno1

System Information

Hardware

  • 'Graphics': AMD Radeon RX Vega M GH (card2)
  • 'Network': Dual Ethernet ports (enp5s0 active, eno1 unused)
  • 'OS': Linux 6.17 with GNOME desktop

Network Management

  • 'Primary': NetworkManager (active)
  • 'Secondary': systemd-networkd (also running - dual setup)

KVM Setup

  • USB KVM switch with HDMI/DisplayPort connections
  • 2 computers connected

Result

Both issues resolved:

  • 'KVM Switching': Now works bidirectionally without signal loss
  • 'Boot Time': Reduced from 2+ minutes to normal boot time

All fixes are permanent and will persist across reboots.

tamiwiki/users/yair/nucs.txt · Last modified: 2025/11/04 01:50 by yair