我已将HTPC从内核3.7.10更新到3.10.7,看来CONFIG_USB_SUSPEND现在已从内核选项中删除,并包含在PM中。
我面临的主要问题是我有一个外部HDD,并且在挂起和唤醒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可以解决该问题,因为HDD可以自行处理其休眠方式,并且挂载点始终是可访问的。当HDD处于睡眠状态并且HTPC需要HDD挂载点上的东西时,HDD本身会唤醒并且可以正常运行。
现在,我尝试了以下操作,但均未成功:
- 手动将/ sys / bus / usb / devices / usb * / power / control更改为“ on”,而不是“ auto”。
- 手动将/ sys / bus / usb / devices / usb * / power / autosuspend更改为“ -1”而不是“ 0”。
但是,当再次唤醒HTPC时,挂载点将再次无法访问。作为workarround,我可以卸载并重新安装挂载点,它可以再次正常工作,但是我确信应该有一种避免操作系统让USB自动挂起的方法。
知道如何在3.7.10或更高版本的内核上禁用USB自动挂起吗?
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