我有一台 Debian Linux 机器,上面有 Sigma Designs 的 Z-Wave USB 棒。这台机器之前已经工作了一年多,但重启后,/dev 中不再列出该设备。lsusb 和 dmesg 仍按预期显示该设备。
我怎样才能让它再次出现?
lsusb 输出:
root@hass:~# lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 009: ID 0658:0200 Sigma Designs, Inc. Aeotec Z-Stick Gen5 (ZW090) - UZB
Bus 002 Device 003: ID 0e0f:0002 VMware, Inc. Virtual USB Hub
Bus 002 Device 002: ID 0e0f:0003 VMware, Inc. Virtual Mouse
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
root@hass:~# lsusb -v -d 0658:0200
Bus 002 Device 009: ID 0658:0200 Sigma Designs, Inc. Aeotec Z-Stick Gen5 (ZW090) - UZB
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 2 Communications
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 8
idVendor 0x0658 Sigma Designs, Inc.
idProduct 0x0200 Aeotec Z-Stick Gen5 (ZW090) - UZB
bcdDevice 0.00
iManufacturer 0
iProduct 0
iSerial 1 FFFFFFFF-FFFF-FFFF-0817-1107011516AD
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 0x0043
bNumInterfaces 2
bConfigurationValue 1
iConfiguration 0
bmAttributes 0x80
(Bus Powered)
MaxPower 100mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 2 Communications
bInterfaceSubClass 2 Abstract (modem)
bInterfaceProtocol 1 AT-commands (v.25ter)
iInterface 0
CDC Header:
bcdCDC 1.10
CDC Call Management:
bmCapabilities 0x00
bDataInterface 1
CDC ACM:
bmCapabilities 0x00
CDC Union:
bMasterInterface 0
bSlaveInterface 1
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0008 1x 8 bytes
bInterval 32
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 10 CDC Data
bInterfaceSubClass 0
bInterfaceProtocol 0
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x82 EP 2 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0020 1x 32 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x02 EP 2 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0020 1x 32 bytes
bInterval 0
can't get device qualifier: Resource temporarily unavailable
can't get debug descriptor: Resource temporarily unavailable
Device Status: 0x0000
(Bus Powered)
root@hass:~#
断开并重新连接设备时 dmesg 输出:
[135706.617324] usbip-host 2-2.1: USB disconnect, device number 8
[135765.373065] usb 2-2.1: new full-speed USB device number 9 using uhci_hcd
[135765.997393] usb 2-2.1: New USB device found, idVendor=0658, idProduct=0200, bcdDevice= 0.00
[135765.997395] usb 2-2.1: New USB device strings: Mfr=0, Product=0, SerialNumber=1
[135765.997396] usb 2-2.1: SerialNumber: FFFFFFFF-FFFF-FFFF-0817-1107011516AD
[135766.019503] cdc_acm 2-2.1:1.0: ttyACM0: USB ACM device
[135768.374094] usbip-host 2-2.1: usbip-host: register new device (bus 2 dev 9)
答案1
这是由 USBIP 引起的,dmesg 输出的最后一行显示该设备在连接几秒钟后被脚本自动抓取。
禁用此脚本(然后卸载 USBIP)解决了该问题。