Scanner de código de barras Symbol - não funciona

1

Eu tenho um problema estranho com um scanner de código de barras que estou tentando testar. Deixe-me dizer-lhe antecipadamente que não conheço a marca ou o modelo do dispositivo, além do que o sistema diz.

Quando eu o conecto, o dispositivo não reage (geralmente, scanners piscam, peep ... você entendeu), mas é de alguma forma reconhecido pelo sistema (Ubuntu 15.10 64Bit):

saída do dmesg:

[ 4499.987323] usb 1-2: new full-speed USB device number 11 using xhci_hcd
[ 4500.116992] usb 1-2: New USB device found, idVendor=05e0, idProduct=1900
[ 4500.117000] usb 1-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 4500.117003] usb 1-2: Product: Symbol Bar Code Scanner
[ 4500.117006] usb 1-2: Manufacturer: Symbol Technologies, Inc, 2008
[ 4500.117009] usb 1-2: SerialNumber: S/N:B78495535C643D4AAC4AD8C7C803D91A Rev:PAABLS00-003-R009
[ 4500.121560] hid-generic 0003:05E0:1900.000F: hiddev0,hidraw1: USB HID v1.10 Device [Symbol Technologies, Inc, 2008 Symbol Bar Code Scanner] on usb-0000:00:14.0-2/input0

Saída de dispositivos usb:

T:  Bus=01 Lev=01 Prnt=01 Port=01 Cnt=02 Dev#= 11 Spd=12  MxCh= 0
D:  Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
P:  Vendor=05e0 ProdID=1900 Rev=01.00
S:  Manufacturer=Symbol Technologies, Inc, 2008
S:  Product=Symbol Bar Code Scanner
S:  SerialNumber=S/N:B78495535C643D4AAC4AD8C7C803D91A Rev:PAABLS00-003-R009
C:  #Ifs= 2 Cfg#= 1 Atr=80 MxPwr=500mA
I:  If#= 0 Alt= 0 #EPs= 1 Cls=03(HID  ) Sub=00 Prot=00 Driver=usbhid
I:  If#= 1 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=01 Prot=00 Driver=(none)

Mas isso não parece ser considerado como um dispositivo de entrada ( xinput list ), como acontece quando eu conecto qualquer outro scanner de código de barras (por exemplo, um Honeywell Eclipse):

↳ Honeywell Scanning and Mobility Honeywell Scanning and Mobility Scanner   id=16   [slave  keyboard (3)]

Até onde eu sei, o dispositivo funciona sem problemas no Windows 7 e está usando o driver:

Symbol SNAPI USB Imaging Driver v1.1.2, que parece não estar disponível para Linux.

Então basicamente eu estou totalmente perdido aqui e não sei como proceder ... Qualquer ajuda seria apreciada!

Atenciosamente

    
por Eduardo López 03.11.2015 / 13:57

1 resposta

0

Então, finalmente resolvi isso e também pode ajudar outros dispositivos, como displays de clientes, e geralmente para qualquer outro dispositivo "serial to usb" que não seja automaticamente mapeado para ttyUSBX.

O principal problema parece ser que o driver ftdi_sio (driver Serial to USB) não reconhece um dispositivo específico automaticamente, embora o subsistema USB o faça (lsusb). Além disso, dependendo da distribuição, esse módulo do kernel pode ou não estar carregado. Então, basicamente, nosso objetivo é:

  • Carregue o driver ftdi_sio, se necessário
  • Registre nosso produto no driver ftdi_sio

Carregue o driver ftdi_sio

Se ele estiver carregado, o comando lsmod | grep "ftdi_sio" deve exibir algo assim em um prompt do Terminal:

ftdi_sio               53248  0
usbserial              53248  1 ftdi_sio

Caso contrário, temos que carregá-lo:

  • Temporário, emitindo o comando sudo modprobe ftdi_sio
  • De forma persistente, adicionando a linha ftdi_sio no final do arquivo /etc/modules (pode ser diferente em distribuições não-debian!) e reiniciando.

Registre nosso produto no driver ftdi_sio

Ok, o módulo deve ser carregado agora. Agora, precisamos registrar o produto no driver. Aí vem a parte boba porque alguns fornecedores dizem para você emitir o seguinte comando:

modprobe ftdi_sio vendor=05e0 product=1900

Onde vendedor e produto são os valores que você obtém do subsistema USB emitindo, por exemplo, o comando usb-devices e precedido por "0x"; / p>

Mas, de acordo com este commit , isso não faz absolutamente nada do Kernel 3.12 em diante:

% bl0ck_qu0te%

Então, seguindo essas informações, o que você precisa fazer é emitir o seguinte comando:

echo 05e0 1900 >/sys/bus/usb-serial/drivers/ftdi_sio/new_id

Não é possível lembrar agora se uma reinicialização é necessária depois disso, mas lembre-se de que o dispositivo não funcionará depois dele imediatamente.

Resumo

Por sorte, eu amo mais o meu trabalho do que minha esposa. (OMF Quote; -))

    
por Eduardo López 19.01.2016 / 12:24