如何解除 USB 接口的绑定?
找到多个类似这样的页面:手动绑定和解除绑定驱动程序或者这个:普通用户如何解除/绑定 USB 设备?
建议使用以下命令:
sudo echo -n "1-1:1.0" > /sys/bus/usb/drivers/usb/unbind
这给了我以下回应:
echo:写入错误:没有这样的设备
lsusb 给我:
Bus 001 Device 047: ID 0483:1234 STMicroelectronics USB2CAN converter
和 USB 设备:
T: Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 47 Spd=12 MxCh= 0
D: Ver= 2.00 Cls=ff(vend.) Sub=ff Prot=00 MxPS=64 #Cfgs= 1
P: Vendor=0483 ProdID=1234 Rev=01.00
S: Manufacturer=8Devices
S: Product=USB2CAN converter
S: SerialNumber=5D2C531E
C: #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=100mA
I: If#=0x0 Alt= 0 #EPs= 4 Cls=ff(vend.) Sub=ff Prot=ff Driver=usb_8dev
此外,如果我尝试使用“sudo echo -n“0-1:1.0”> /sys/bus/usb/drivers/usb/unbind”或“sudo echo -n“1-0:1.0”> /sys/bus/usb/drivers/usb/unbind”,它会给我:
echo: write error: No such device
有效的是:
sudo echo -n "1-1" > /sys/bus/usb/drivers/usb/unbind
但如果我尝试通过 Chrome 进行这样的连接:
navigator.usb.requestDevice({ filters: [{}] })
.then(selectedDevice => {
device = selectedDevice;
console.log(device);
return device.open()
.then(() => device.reset())
.then(() => device.selectConfiguration(1))
.then(() => device.claimInterface(device.configuration.interfaces[0].interfaceNumber))
});
它仍然给我:
DOMException:无法声明接口。
也不像这个人如何使用 WebUSB 声明接口?我可以选择该设备。
总结:
我想使用WebUSB 接口但它给了我
DOMException:无法声明接口。
答案1
因此基本上你必须对“8devices”执行此操作。
/sys/bus/usb/drivers/usb_8dev$ echo "1-1:1.0" > unbind
长话短说:
cd /sys/bus/usb/drivers/usb_8dev
echo "1-1:1.0" > unbind
您将在 /sys/bus/usb/drivers/usb_8dev 中找到一个类似于“1-1:1.0”的文件,因此只需执行 ls 即可获取正确的文件,然后将“1-1:1.0”交换为该值。
也不要忘记设置sudo chmod -R -v 777 ./
驱动程序(例如 usb_8dev)文件夹。