Привет всем!
Прохожу курс “от 0 до Linux админа” вот здесь Курс Linux и столкнулся с проблемой:
У меня ноутбук Lenovo Ideapad s540 13IML, и возникли трудности с гипернацией из-за поломки USB порта. Я написал следующий скрипт для отключения драйвера Intel Comet Lake xHCI перед приостановкой/гибернацией:
#!/bin/sh
# Disable Intel Comet Lake xHCI before suspend/hibernate
# and re-enable it after resume
XHCI_DEV="0000:00:14.0"
XHCI_DRIVER="/sys/bus/pci/drivers/xhci_hcd"
case "$1" in
pre)
# Unbind xHCI -> cuts power to USB 1/2/3
if [ -e "/sys/bus/pci/devices/$XHCI_DEV/driver/unbind" ]; then
echo "$XHCI_DEV" > /sys/bus/pci/devices/$XHCI_DEV/driver/unbind 2>/dev/null || true
fi
;;
post)
# Rebind xHCI after resume
if [ -e "$XHCI_DRIVER/bind" ]; then
echo "$XHCI_DEV" > "$XHCI_DRIVER/bind" 2>/dev/null || true
fi
;;
esac
exit 0
Этот скрипт помог с приостановкой и перевел систему в режим s2idle. Однако глубокий сон по-прежнему вызывает проблемы, и я на самом деле хочу использовать гипернацию. Когда я пытаюсь перейти в режим гипернации и затем начать работу снова, ничего не сохраняется, и в логах я вижу следующее:
[ 2.849324] PM: Loading and decompressing image data (1217799 pages)...
... (дальше идет прогресс загрузки) ...
[ 8.275515] PM: hibernation: Read 4871196 kbytes in 5.42 seconds (898.74 MB/s)
[ 8.281512] usb usb1: PM: dpm_run_callback(): usb_dev_freeze returns -16
[ 8.356118] PM: hibernation: Failed to load image, recovering.
[ 8.627489] PM: hibernation: resume failed (-16)
Кто-то знает, как это исправить? Мне не удается отключить питание для сломанного USB порта через BIOS, и сам порт не отображается в Ubuntu. Буду признателен за любую помощь!