未绑定的USB设备在linux上自动绑定

问题描述 投票:0回答:1

我尝试使用 echo -n '2-2' > /sys/bus/usb/drivers/usb/unbind 来取消绑定连接到 FTDI 芯片的 USB 设备,但我发现它在我之后立即自动绑定运行命令。

我的lsusb -t看起来像:

/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 5000M
    |__ Port 2: Dev 6, If 0, Class=Vendor Specific Class, Driver=usbfs, 5000M
    |__ Port 2: Dev 6, If 1, Class=Vendor Specific Class, Driver=usbfs, 5000M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/10p, 480M

我的lsusb看起来像:

Bus 002 Device 006: ID 0403:**** Future Technology Devices International, Ltd 
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

ls /sys/bus/usb/devices 有:

1-0:1.0  2-0:1.0  2-2  2-2:1.0  2-2:1.1  usb1  usb2

运行 sudo bash -c 'echo "2-2" > unbind' 后,我的 dmesg 输出以下新消息

[Jan15 11:03] usb 2-2: USB disconnect, device number 3
[  +0.272120] usb 2-2: new SuperSpeed USB device number 4 using xhci_hcd
[  +0.020880] usb 2-2: New USB device found, idVendor=0403, idProduct=***
[  +0.000006] usb 2-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[  +0.000003] usb 2-2: Product: FTDI **********
[  +0.000003] usb 2-2: Manufacturer: FTDI
[  +0.000002] usb 2-2: SerialNumber: 000000000001

您可以看到 USB 已断开连接,但随后找到了新的 USB 并分配了新的设备编号。感觉就像我的 USB 设备被重新绑定而不是取消绑定。有谁知道原因吗? 谢谢!

更多信息: 我尝试运行 echo -n usb2 > /sys/bus/usb/drivers/usb/unbind 来解除总线 2 的绑定,它有效并且 dmesg 显示:

[Jan15 12:33] usb 2-2: USB disconnect, device number 8

我的 ls /sys/bus/usb/devices 更改为:

1-0:1.0  usb1  usb2

我觉得不正确。根据我的理解 2-0:1.0 应该总是存在吗? 然后我尝试通过 echo -n usb2 > /sys/bus/usb/drivers/usb/bind 添加bus2,我在 dmesg

中遇到错误
[Jan15 12:48] usb usb2: can't set config #1, error -22
usb linux-device-driver ftdi lsusb
1个回答
0
投票

虽然我不知道是什么导致了这个问题 您可以将 USB 设备的授权参数设置为 0,如下所示:

echo -n '0' > /sys/bus/usb/devices/X/authorized
    
© www.soinside.com 2019 - 2024. All rights reserved.