系统相关
首页 > 系统相关> > linux – 在USB设备sysfs目录中找不到`power / persist`文件

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