[2026-07-02] taiga-vault: family/how-to/htpc-system.md
This commit is contained in:
@@ -116,7 +116,7 @@ speaker-test -t sine -f 440 -c 2
|
|||||||
|
|
||||||
## Автосон / Sleep management
|
## Автосон / Sleep management
|
||||||
|
|
||||||
### Текущее состояние (2026-05-23)
|
### Текущее состояние (2026-07-03)
|
||||||
|
|
||||||
Sleep управляется `htpc-sleep-guard` — Python-скрипт + systemd-сервис.
|
Sleep управляется `htpc-sleep-guard` — Python-скрипт + systemd-сервис.
|
||||||
**PowerDevil не используется для сна** — HTPC запущен в gamescope/Steam session, где PowerDevil не детектирует idle. Guard сам вызывает `systemctl suspend`.
|
**PowerDevil не используется для сна** — HTPC запущен в gamescope/Steam session, где PowerDevil не детектирует idle. Guard сам вызывает `systemctl suspend`.
|
||||||
@@ -172,6 +172,73 @@ rm /tmp/rsync-active
|
|||||||
|
|
||||||
Guard проверяет файл каждые 60 секунд. Сервис: `systemctl --user status htpc-sleep-guard`.
|
Guard проверяет файл каждые 60 секунд. Сервис: `systemctl --user status htpc-sleep-guard`.
|
||||||
|
|
||||||
|
### Проблема: мгновенное пробуждение после сна (diagnosed 2026-07-03)
|
||||||
|
|
||||||
|
**Симптом:** HTPC уходит в сон, но просыпается через ~8 секунд.
|
||||||
|
|
||||||
|
**Корневая причина:** несколько устройств имеют `enabled` wakeup в `/proc/acpi/wakeup`. Сразу после перехода в S3 одно из них генерирует wakeup event.
|
||||||
|
|
||||||
|
**Wakeup-устройства (`/proc/acpi/wakeup`):**
|
||||||
|
|
||||||
|
| Устройство | ACPI ID | Статус | Что это |
|
||||||
|
|---|---|---|---|
|
||||||
|
| **XHC** | 00:14.0 | **enabled** | USB 3.0 xHCI Controller (весь USB) |
|
||||||
|
| **GLAN** | 00:1f.6 | **enabled** | Ethernet I219-V (Wake-on-LAN) |
|
||||||
|
| **RP09** | 00:1d.0 | **enabled** | PCIe Root Port #9 |
|
||||||
|
| **PEG0** | 00:01.0 | **enabled** | PCIe x16 слот (видеокарта AMD RX 570) |
|
||||||
|
| USB 1-4 | 1-4 | enabled | 2.4G Wireless Keyboard |
|
||||||
|
| alarmtimer | - | enabled | ACPI программный таймер |
|
||||||
|
| LNXPWRBN | - | enabled | Кнопка питания |
|
||||||
|
| PNP0C0C | - | enabled | ACPI кнопка сна |
|
||||||
|
|
||||||
|
**Самый вероятный виновник — XHC (USB-контроллер).** На ASUS B250G с подключёнными USB-девайсами (8BitDo донглы, клавиатура 2.4G, Xbox 360 Wireless Adapter) USB-контроллер может генерировать wakeup из-за электрического шума на шине.
|
||||||
|
|
||||||
|
**Диагностика:**
|
||||||
|
```bash
|
||||||
|
# Проверить текущие wakeup-устройства
|
||||||
|
cat /proc/acpi/wakeup
|
||||||
|
|
||||||
|
# Проверить журнал пробуждений
|
||||||
|
journalctl -b-0 | grep -iE "suspend|resume|PM:" | tail -20
|
||||||
|
|
||||||
|
# Временное отключение wakeup для USB-контроллера
|
||||||
|
echo XHC > /proc/acpi/wakeup
|
||||||
|
|
||||||
|
# Временное отключение wakeup для сетевой карты
|
||||||
|
echo GLAN > /proc/acpi/wakeup
|
||||||
|
|
||||||
|
# Проверить какие USB-девайсы имеют wakeup
|
||||||
|
for dev in /sys/bus/usb/devices/*/power/wakeup; do
|
||||||
|
enabled=$(cat $dev 2>/dev/null)
|
||||||
|
if [ "$enabled" = "enabled" ]; then
|
||||||
|
echo "$(dirname $dev) -> $(cat $(dirname $dev)/product 2>/dev/null || echo unknown)"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
```
|
||||||
|
|
||||||
|
**План исправления (не выполнено):**
|
||||||
|
1. ✅ Диагностика проведена — причины идентифицированы
|
||||||
|
2. [ ] Отключить XHC и/или GLAN wakeup через `/proc/acpi/wakeup` и проверить, исчезла ли проблема
|
||||||
|
3. [ ] Если временное отключение помогло — настроить постоянное отключение через `systemd-sleep` hook (скрипт в `/usr/lib/systemd/system-sleep/`)
|
||||||
|
|
||||||
|
**Постоянное отключение (когда будет tested):**
|
||||||
|
Создать `systemd-sleep hook`:
|
||||||
|
```bash
|
||||||
|
# Создать скрипт на HTPC
|
||||||
|
cat | ssh bazzite@192.168.1.86 'sudo tee /usr/lib/systemd/system-sleep/disable-wakeup.sh'
|
||||||
|
#!/bin/bash
|
||||||
|
case "$1" in
|
||||||
|
pre)
|
||||||
|
# Отключаем wakeup USB и GLAN перед сном
|
||||||
|
echo XHC > /proc/acpi/wakeup
|
||||||
|
echo GLAN > /proc/acpi/wakeup
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
# Сделать исполняемым
|
||||||
|
ssh bazzite@192.168.1.86 'sudo chmod +x /usr/lib/systemd/system-sleep/disable-wakeup.sh'
|
||||||
|
```
|
||||||
|
|
||||||
### Разбудить/усыпить вручную
|
### Разбудить/усыпить вручную
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
@@ -187,6 +254,10 @@ systemd-inhibit --list
|
|||||||
# Статус guard
|
# Статус guard
|
||||||
systemctl status htpc-sleep-guard
|
systemctl status htpc-sleep-guard
|
||||||
journalctl -u htpc-sleep-guard -n 50 --no-pager
|
journalctl -u htpc-sleep-guard -n 50 --no-pager
|
||||||
|
|
||||||
|
# Диагностика пробуждения
|
||||||
|
journalctl -b-0 | grep -iE "suspend|resume|PM:|wake" | tail -20
|
||||||
|
cat /proc/acpi/wakeup
|
||||||
```
|
```
|
||||||
|
|
||||||
## SMB / Сетевые ресурсы
|
## SMB / Сетевые ресурсы
|
||||||
|
|||||||
Reference in New Issue
Block a user