我目前所做的。激活相关驱动程序并禁用盲文支持 - 这似乎常常是问题的根源。重新启动。
sudo modprobe cp210x
sudo apt remove brltty
确认一切就绪:
sudo lsmod | grep cp210x
cp210x 36864 0
usbserial 49152 1 cp210x
插入设备。发现:
dmesg
[ 130.776659] usbcore: registered new interface driver usbserial_generic
[ 130.776672] usbserial: USB Serial support registered for generic
[ 130.779299] usbcore: registered new interface driver cp210x
[ 130.779324] usbserial: USB Serial support registered for cp210x
[ 153.870560] usb 1-1.2: USB disconnect, device number 6
[ 169.708562] usb 1-1.2: new full-speed USB device number 7 using ehci-pci
[ 169.819779] usb 1-1.2: New USB device found, idVendor=18ef, idProduct=e026, bcdDevice= 1.00
[ 169.819785] usb 1-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 169.819788] usb 1-1.2: Product: EWD 100
[ 169.819790] usb 1-1.2: Manufacturer: Silicon Labs
[ 169.819792] usb 1-1.2: SerialNumber: N0VNELCPLVW9SQVJ
lsusb
Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 005: ID 0a5c:21e6 Broadcom Corp. BCM20702 Bluetooth 4.0 [ThinkPad]
Bus 001 Device 004: ID 147e:2020 Upek TouchChip Fingerprint Coprocessor (WBF advanced mode)
Bus 001 Device 007: ID 18ef:e026
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 003: ID 046d:c03e Logitech, Inc. Premium Optical Wheel Mouse (M-BT58)
Bus 003 Device 002: ID 1ab1:0c94 Rigol Technologies
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
lsusb -d 18ef:e026 -v
Bus 001 Device 005: ID 18ef:e026
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 1.10
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x18ef
idProduct 0xe026
bcdDevice 1.00
iManufacturer 1 Silicon Labs
iProduct 2 EWD 100
iSerial 3 N0VNELCPLVW9SQVJ
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 32
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0x80
(Bus Powered)
MaxPower 100mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 0
bInterfaceProtocol 0
iInterface 2 EWD 100
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x01 EP 1 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 0
Device Status: 0x0000
(Bus Powered)
然而,在 上什么也没找到ls -al /dev | grep -i ttyUSB
。
有什么想法需要进一步检查吗?我将不胜感激!
请注意,
lsusb
不显示该设备的任何供应商/产品信息。由于您知道它应该是 USB-Serial 设备,因此这可能意味着设备制造商已使用自定义供应商/产品 ID 配置了 USB-Serial 转换器芯片。在USB ID 存储库中搜索 ID 值表明供应商 ID 18ef 与ELV Elektronik AG相关联。在 Google 上搜索“ELV Elektronik”以及设备列表
iProduct
中提到的字符串“EWD 100”,我找到了以下信息:lsusb -v
https://de.elv.com/p/elv-bausatz-elektronische-widerstandsdekade-ewd-100-P130476/?itemId=130476
这是您想要运行的设备吗?
加载 Windows 驱动程序包并检查
slabvcp.inf
其中的文件可确认该驱动程序确实适用于 Silicon Laboratories CP210x 串行转换器。因此,您需要教 Linuxcp210x
模块识别新的供应商/设备 ID 对。幸运的是,有一个系统可以做到这一点。为了测试该理论是否正确,首先运行
sudo modprobe cp210x
,然后运行以下命令:这告诉
cp210x
串行转换器模块假设任何具有该供应商/产品 ID 对的 USB 设备实际上都是 Silicon Laboratories CP210x 串行转换器。这应该允许模块识别该设备并/dev/ttyUSB*
为其提供设备。如果您可以看到该设备,请继续阅读。该
modprobe
命令和 ID 的添加是非持久的:每次重启后您都必须重新输入这些命令。为了使此配置持久化,您应该创建一个名为
/etc/modprobe.d/ewd-100.conf
(您可以随意命名,文件名只需要有.conf
后缀)的文件,内容如下:第一行告诉内核模块自动加载机制
cp210x
,只要检测到具有该供应商/产品 ID 对的 USB 设备就加载该模块;第二行自动执行命令,在加载后将新 ID 提供给模块本身。添加这些设置并重新启动(或运行
sudo depmod
)后,系统现在应该自动检测设备并/dev/ttyUSB*
在您插入设备时立即为其显示设备。