Я обновил свой HTPC от ядра 3.7.10 до 3.10.7 и, кажется CONFIG_USB_SUSPEND теперь ушел из опций ядра и включен в личке.
Основная проблема, с которой я сталкиваюсь, заключается в том, что у меня есть внешний жесткий диск, и при приостановке и пробуждении HTPC он недоступен для системы. HDD просыпается (вы слышите, как он снова начинает вращаться), но при попытке доступа к точке монтирования выдается следующая ошибка:
ZOTAC ~ # ls /media
ls: reading directory /media: Input/output error
И на dmesg:
[ 253.278260] EXT4-fs warning (device sdb1): __ext4_read_dirblock:908: error reading directory block (ino 2, block 0)
В предыдущих ядрах установка CONFIG_USB_SUSPEND = N решала бы проблему, так как жесткий диск самостоятельно обрабатывал бы режим гибернации, а точка монтирования всегда была доступна. Когда жесткий диск находился в спящем режиме, а HTPC требовалось что-то из точки монтирования жесткого диска, сам жесткий диск просыпался и работал без проблем.
Прямо сейчас я безуспешно пробовал следующее:
- Вручную измените / sys / bus / usb / devices / usb * / power / control на «on» вместо «auto» .
- Вручную измените / sys / bus / usb / devices / usb * / power / autosuspend на «-1» вместо «0» .
Но при повторном пробуждении HTPC точка монтирования снова становится недоступной. В качестве обходного пути я могу размонтировать и перемонтировать точку монтирования, и она снова работает без проблем, но я уверен, что должен быть способ избежать того, чтобы ОС управляла автоподвеской usb.
Любая идея, как отключить USB AutoSuspend на ядре 3.7.10 или выше?
power/persist
дает 1
и у меня нет никакого файла конфигурации в /boot
. CONFIG_PM_RUNTIME=y
настраивается в .config
файле ядра .
/sys/bus/usb/devices/<BUS>-<DEVPATH>/power/persist
тебе дает1
? Дает лиgrep CONFIG_PM_RUNTIME /boot/config-$(uname -r)
тыy
? power-management.txt