使用 unbind/bind 将设备驱动程序从 UAS 切换到 USB 存储

使用 unbind/bind 将设备驱动程序从 UAS 切换到 USB 存储

有时UASLinux 的驱动程序有错误,我需要使用usb-storage.过去,我通过在/etc/modprobe.d指定连接驱动器的 SATA/USB 电缆的怪癖中放置一个条目来完成此操作,但这需要每次我想要切换时重新启动。

我尝试将设备与UAS驱动程序解除绑定并将其重新绑定,usb-storage但是重新绑定时我得到了write error: No such device.

(该unbind命令确实成功,并且我使用完全相同的总线 ID 进行绑定)。

答案1

看起来如果不设置怪癖是不可能的。驱动程序的源代码usb-storage始终首先检查是否UAS受支持,如果支持,则返回-ENXIO错误代码 - 未找到设备。

似乎另一种方法也不起作用 - 列入黑名单UAS,但在需要时手动绑定到它,因为它还会检查UAS黑名单标志。

然而,看来你在运行时改变怪癖,这样你就可以解除UAS驱动程序的绑定

$ echo "0bc2:ab38:u" > /sys/module/usb_storage/parameters/quirks

替换0bc2:ab38为您设备的 VID:PID(您可以通过lsusb等方式检查),然后尝试绑定到usb-storage驱动程序。

相关内容