Fix network boot issues and add power management configuration

- Resolve SSH lockout after reboot caused by systemd lid switch suspend
- Add systemd-logind configuration to disable lid switch handling
- Add NetworkManager configuration for static IP and power management
- Update network troubleshooting documentation with complete solution
- Include diagnostic commands and deployment steps

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2025-08-13 21:35:12 +02:00
parent 6edc235129
commit 82f9cc4990
4 changed files with 125 additions and 0 deletions

View File

@@ -443,6 +443,80 @@ ip link set wlp2s0 master br0
- External: ak-homelab.duckdns.org ✅
- SSH: Port 2222 ✅
## Network Boot Issues Troubleshooting
### Problem 1: Network not available after reboot until GUI login
**Initial diagnosis**: Thought to be NetworkManager sleep behavior.
**Actual root cause**: System auto-suspend due to closed laptop lid (`HandleLidSwitch=suspend`).
**Symptoms**:
- SSH inaccessible after reboot
- Network comes up only when laptop lid is opened
- System logs show "Suspending..." followed by "Lid opened"
**Solution Applied**:
1. **systemd-logind configuration**: Disable lid switch handling for headless server operation
2. **Static IP configuration**: Eliminate DHCP negotiation delays
3. **High connection priority**: Ensure ethernet connects first
**Configuration files created**:
`/etc/systemd/logind.conf.d/01-server-logind.conf`:
```ini
[Login]
# Disable all power management triggers for headless server
HandleLidSwitch=ignore
HandleLidSwitchExternalPower=ignore
HandleLidSwitchDocked=ignore
# Prevent automatic suspend/hibernate
IdleAction=ignore
# Keep system running even when no users logged in
KillUserProcesses=no
```
**NetworkManager commands**:
```bash
nmcli connection modify "Wired connection 2" connection.autoconnect-priority 10
nmcli connection modify "Wired connection 2" ipv4.method manual ipv4.addresses 192.168.0.100/24 ipv4.gateway 192.168.0.1 ipv4.dns "84.2.44.8 84.2.46.8"
```
**Deployment**:
```bash
sudo cp config/systemd/01-server-logind.conf /etc/systemd/logind.conf.d/
sudo systemctl restart systemd-logind
sudo cp config/networkmanager/01-homelab.conf /etc/NetworkManager/conf.d/
sudo systemctl reload NetworkManager
```
### Diagnostic Commands
**Check system power state**:
```bash
systemctl status systemd-logind # Check for suspend/lid events
loginctl show-session # Current power management settings
```
**Check network connectivity**:
```bash
systemctl status NetworkManager
nmcli device status
nmcli connection show "Wired connection 2"
ip addr show enp4s0
```
**Monitor boot process**:
```bash
journalctl -b -u NetworkManager # Network startup logs
journalctl -b -u sshd # SSH service logs
journalctl -b -u systemd-logind # Power management events
```
**Result**: ✅ **RESOLVED** - SSH accessible immediately on boot, lid closure no longer suspends system.
**Network Interface Identification:**
- **enp3s0f0**: First ethernet port (98:fa:9b:f1:06:d5)
- **enp4s0**: Second ethernet port (98:fa:9b:f1:06:d4) ← **Use this one**