Сканер штрихкода символа - не работа

У меня есть странная проблема со сканнером штрихкода, который я пытаюсь протестировать. Позвольте мне сказать Вам заранее, что я не знаю бренда или модели устройства, кроме того, что говорит система.

Когда я включаю его, устройство не реагирует вообще (обычно, мигание сканеров, взгляд... Вы понимаете), но это так или иначе распознано системой (Ubuntu 15.10 64Bit):

вывод 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

Вывод 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)

Но это, кажется, не принято во внимание как устройство ввода данных (xinput list), как это происходит, когда я включаю любой другой сканнер штрихкода (например, Eclipse Honeywell):

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

Насколько я знаю, работы устройства без проблем в Windows 7, и использует драйвер:

Драйвер v1.1.2 Обработки изображений USB SNAPI символа, какие doesen't, кажется, доступны для Linux.

Так в основном я полностью потерян здесь и не знаю, как продолжить двигаться... Любая справка ценилась бы!

С уважением

1
задан 3 November 2015 в 15:57

1 ответ

Так, я наконец разобрался в этом, и оказывается, что это может также помочь для других устройств как клиентские дисплеи и обычно для любого другого "сериала к usb" устройства, которые не становятся автоматически отображенными на ttyUSBX.

основная проблема, кажется, что ftdi_sio драйвер (Последовательный к драйверу USB) не распознает определенное устройство автоматически, хотя подсистема USB делает (lsusb). Кроме того, в зависимости от распределения, этот модуль ядра мог бы или не мог бы быть загружен. Таким образом, в основном наша цель к:

  • Загрузка ftdi_sio драйвер, если необходимый
  • Регистр наш продукт в ftdi_sio драйвер

Загрузка ftdi_sio драйвер

, Если это загружается, эти lsmod | grep "ftdi_sio" команда, должен произвести что-то вроде этого в Терминальной подсказке:

ftdi_sio               53248  0
usbserial              53248  1 ftdi_sio

Иначе, мы должны загрузить его:

  • Временный, путем издания команды sudo modprobe ftdi_sio
  • Permantently, путем добавления строки ftdi_sio в конце /etc/modules (могло бы отличаться в non-debian дистрибутивах!) файл и перезапуск.

Регистр наш продукт в ftdi_sio драйвер

хорошо, таким образом, модуль должен быть загружен к настоящему времени. Теперь, мы должны зарегистрировать продукт в драйвер. Здесь прибывает глупая часть, потому что некоторые поставщики говорят Вам давать следующую команду:

modprobe ftdi_sio vendor=05e0 product=1900

, Где поставщик и продукт значения, Вы добираетесь от Подсистемы USB путем издания, например, эти usb-devices команда и предшествовали "0x";

, Но согласно этому фиксация это абсолютно ничего не делает от Ядра 3.12 вперед:

Удаляют поставщика и параметры модуля продукта, которые были добавлены давным-давно, когда у нас не было динамического интерфейса sysfs для добавления новых идентификаторов устройства (и который не ограничен единственной новой vid/pid парой).

А vid/pid пара может быть добавлен динамично с помощью sysfs, например:

эхо 0403 1234>/sys/bus/usb-serial/drivers/ftdi_sio/new_id

Также ремонтирует в комментарии к коду, который понял путь sysfs превратно.

Signed-off-by: Johan Hovold Signed-off-by: Greg Kroah-Hartman

Так, после этой информации, что необходимо сделать, дают следующую команду:

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

не Может вспомнить прямо сейчас, необходим ли перезапуск после этого, но имейте это в виду, если устройство сразу не работает после него.

Сводка

К счастью, я люблю свое задание больше, чем моя жена. (Кавычка OMF ;-))

1
ответ дан 7 December 2019 в 16:07

Другие вопросы по тегам:

Похожие вопросы: