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:
@@ -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**
|
||||
|
||||
Reference in New Issue
Block a user