O que eu fiz até agora. Ativar o driver relevante e desabilitar o suporte a Braille - o que parece ser frequentemente a raiz do problema. Reiniciar.
sudo modprobe cp210x
sudo apt remove brltty
Confirmando que tudo está no lugar:
sudo lsmod | grep cp210x
cp210x 36864 0
usbserial 49152 1 cp210x
Conectando o dispositivo. Ele é encontrado:
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)
Entretanto, nada foi encontrado em ls -al /dev | grep -i ttyUSB
.
Alguma ideia do que mais verificar? Eu agradeceria muito!
Observe que o
lsusb
não exibe nenhuma informação de fornecedor/produto para o dispositivo. Como você sabe que ele deve ser um dispositivo USB-Serial, isso provavelmente significa que o fabricante do dispositivo configurou o chip conversor USB-Serial com um ID de fornecedor/produto personalizado.A busca pelos valores de ID no Repositório de ID USB indica que o ID do fornecedor 18ef está associado à ELV Elektronik AG . Uma busca no Google por "ELV Elektronik" e a
iProduct
string "EWD 100" mencionada nalsusb -v
listagem do dispositivo me trouxe aqui:https://de.elv.com/p/elv-bausatz-elektronische-widerstandsdekade-ewd-100-P130476/?itemId=130476
É esse o dispositivo que você está tentando fazer funcionar?
Carregar o pacote de driver do Windows e inspecionar o
slabvcp.inf
arquivo dentro dele confirma que o driver é de fato para um conversor serial CP210x da Silicon Laboratories. Então você precisará ensinar aocp210x
módulo Linux um novo par de ID de fornecedor/dispositivo para reconhecer. Felizmente, há um sistema para isso.Para testar se a teoria está correta, primeiro execute
sudo modprobe cp210x
e depois este comando:Isso diz ao
cp210x
módulo conversor serial para assumir que qualquer dispositivo USB com esse par de ID de fornecedor/produto é, na verdade, um conversor serial CP210x da Silicon Laboratories. Isso deve permitir que o módulo reconheça o dispositivo e apresente um/dev/ttyUSB*
dispositivo para ele. Se você puder ver o dispositivo, continue lendo.O
modprobe
comando e a adição do ID não são persistentes: você terá que digitar esses comandos novamente após cada reinicialização.Para tornar essa configuração persistente, você deve criar um arquivo chamado
/etc/modprobe.d/ewd-100.conf
(você pode dar o nome que quiser, o nome do arquivo só precisa ter o.conf
sufixo), com o seguinte conteúdo:A primeira linha informa ao mecanismo de carregamento automático do módulo do kernel para carregar o
cp210x
módulo sempre que um dispositivo USB com esse par de IDs de fornecedor/produto for detectado; a segunda linha automatiza o comando para alimentar os novos IDs para o próprio módulo após ele ser carregado.Depois de adicionar essas configurações e reinicializar (ou executar
sudo depmod
), o sistema deve detectar automaticamente o dispositivo e apresentar um/dev/ttyUSB*
dispositivo para ele assim que você conectá-lo.