linux – 在USB设备sysfs目录中找不到`power / persist`文件
作者:互联网
文件/usr/share/doc/linux-doc/usb/persist.txt.gz提到可以通过将文件写入/ sys / bus / usb / devices / $device / power中该设备目录中的文件1来为给定的USB设备启用USB持久性功能.据说 – 如果我理解正确的话 – 允许驱动器上的卷安装在挂起期间持续断电.
但是,我发现我想要启用此工具的设备 – 一个USB硬盘驱动器 – 在其相应的目录中没有这样的文件,并且试图创建它的设备被拒绝.
是否可能需要加载内核模块才能使其正常工作?我需要构建自定义内核吗?我正在运行ubuntu 10.10.
解决方法:
正如在答案结束时所指出的,这可能已经开始了. (当Q发布时.)
另请注意,由于没有回答,交叉职位已经关闭 – 因此最适合在此发布.我想其他人可以利用这些信息.
您链接的文档say(强调我的):
[…]
Note that the “USB-persist” feature will be applied only to those
devices for which it is enabled. You can enable the feature by doing
(as root):echo 1 >/sys/bus/usb/devices/…/power/persist
where the “…” should be filled in the with the device’s ID. Disable
the feature by writing 0 instead of 1. For hubs the feature is
automatically and permanently enabled and the power/persist file
doesn’t even exist, so you only have to worry about setting it for
devices where it really matters.
换句话说:(似乎)你试图为集线器设置它,这两者都是冗余的 – 因为它总是被设置,并且不可能因为文件不存在.
要查看实际具有持久文件的路径,请执行以下操作:
$ls -l /sys/bus/usb/devices/*/power/persist
检查状态:
$tail /sys/bus/usb/devices/*/power/persist
如果您使用lsusb来识别设备正确的路径
/sys/bus/usb/devices/<BUS>-<DEVPATH>/power/persist
>< BUS>来自lsusb
>< DEVAT>你可以通过以下方式匹配来自lsusb的设备:
$tail <BUS>-*/devnum
或检查dmesg等,例如:
$dmesg | grep -iA3 "new usb"
您也可以通过例如验证:
$udevadm info -q all -p /sys/bus/usb/devices/<BUS>-<DEVPATH>
内核2.6.26-rc5默认将persist策略更改为on.
默认情况下,某些引用的更改为启用:
> [PATCH] usb: Make USB persist default configurable
> [PATCH 6/6] USB: enable USB-PERSIST by default
> CONFIG_USB_PERSIST forced on
实施:
> USB: add USB-Persist facility
标签:usb-drive,linux,kernel,usb,kernel-modules 来源: https://codeday.me/bug/20190815/1661592.html