LINUX.ORG.RU

[usb-to-com] Metrologic ms 5145


0

1

Появилась задача: подключив сабжевый сканер штрихкодов, пробросить данные через rdp-соединение. Пробросить хочется COM-порт, соответственно, устройство было переведено в режим Uni-Directional USB Serial Emulation Mode.

При переподключении в логах бежит:

2010-04-07T16:30:13.214058+04:00 zorge1 kernel: [ 6303.250054] usb 4-1: USB disconnect, address 29
2010-04-07T16:30:17.513047+04:00 zorge1 kernel: [ 6307.549035] usb 4-1: new low speed USB device using uhci_hcd and address 30
2010-04-07T16:30:17.675988+04:00 zorge1 kernel: [ 6307.711118] usb 4-1: New USB device found, idVendor=0c2e, idProduct=0200
2010-04-07T16:30:17.676010+04:00 zorge1 kernel: [ 6307.711124] usb 4-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
2010-04-07T16:30:17.676040+04:00 zorge1 kernel: [ 6307.711129] usb 4-1: Product: Metrologic Scanner
2010-04-07T16:30:17.676048+04:00 zorge1 kernel: [ 6307.711132] usb 4-1: Manufacturer: Metrologic
2010-04-07T16:30:17.676054+04:00 zorge1 kernel: [ 6307.711316] usb 4-1: configuration #1 chosen from 1 choice
2010-04-07T16:30:17.700059+04:00 zorge1 kernel: [ 6307.736398] input: Metrologic Metrologic Scanner as /devices/pci0000:00/0000:00:1d.2/usb4/4-1/4-1:1.0/input/input21
2010-04-07T16:30:17.700077+04:00 zorge1 kernel: [ 6307.736574] generic-usb 0003:0C2E:0200.0012: input,hidraw0: USB HID v1.11 Keyboard [Metrologic Metrologic Scanner] on usb-0000:00:1d.2-1/input0
2010-04-07T16:30:18.214056+04:00 zorge1 kernel: [ 6308.250052] usb 4-1: USB disconnect, address 30
2010-04-07T16:30:21.515046+04:00 zorge1 kernel: [ 6311.551035] usb 4-1: new low speed USB device using uhci_hcd and address 31
2010-04-07T16:30:21.678075+04:00 zorge1 kernel: [ 6311.714118] usb 4-1: New USB device found, idVendor=0c2e, idProduct=0700
2010-04-07T16:30:21.678094+04:00 zorge1 kernel: [ 6311.714124] usb 4-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
2010-04-07T16:30:21.678103+04:00 zorge1 kernel: [ 6311.714128] usb 4-1: Product: Metrologic Scanner
2010-04-07T16:30:21.678108+04:00 zorge1 kernel: [ 6311.714132] usb 4-1: Manufacturer: Metrologic
2010-04-07T16:30:21.678114+04:00 zorge1 kernel: [ 6311.714330] usb 4-1: configuration #1 chosen from 1 choice

Никаких /dev/ttyUSB[N] или навроде не появляется. Модуль usbserial и всё, что с ним связано — собрано. Полагаю, тут не хватает какого-то ещё модуля. И в самом деле, я нашёл вот эту тему: http://forums.opensuse.org/get-help-here/hardware/393913-barcode-reader-com-e... , где выяснил, что метроложики хоть и не поддерживают линукс официально, на их фтп всё ж лежит модуль ядра metro-usb, однако, он запаролен.

Вопрос: каким образом заставить этот сканер выдавать данные в виртуальный COM-порт? Обязательно ли для этого использовать модуль от производителя?

PS Использовать сканер в режиме клавиатуры не выйдет. Увы.

PPS Если бы rdp-сервер умел принимать проброшенные usb, то было бы всё намного проще, я так думаю.



Последнее исправление: HolyBoy (всего исправлений: 3)

> 2010-04-07T16:30:17.700077+04:00 zorge1 kernel: [ 6307.736574] generic-usb

0003:0C2E:0200.0012: input,hidraw0: USB HID v1.11 Keyboard [Metrologic Metrologic
Scanner] on usb-0000:00:1d.2-1/input0

плохо перевели в rs232?

anonymous2 ★★★★★
()
Ответ на: комментарий от anonymous2

> плохо перевели в rs232?

Сбрасывал настройки на умолчальные. Включал вышеуказанный режим. Увы. Под виндами, при наличии драйвера, появляется виртуальный COM-порт. Под линуксами только вот это сообщение про подключенную клавиатуру.

Есть ещё один вариант эмуляции RS-232, но в логах появляется то же самое.

HolyBoy
() автор топика
Ответ на: комментарий от ttnl

Я включил всё, что хоть как-то намекает на принадлежность к usb_serial. Впрочем, как я и подозревал, на другом форуме выявили отсутствие нужного драйвера: usbserial не хочет кушать vid и pid.

HolyBoy
() автор топика
Ответ на: комментарий от HolyBoy

ну вбей в исходники усбсериал нужный тебе вид и пид.

для начала попроуй так сделать со стандартный драйвером винды.

Gordon01 ★★
()
Ответ на: комментарий от HolyBoy

>выявили отсутствие нужного драйвера: usbserial не хочет кушать vid и pid.

Похоже. Вот у меня, например, вылезает драйвер ch341:

usb 2-1: new full speed USB device using uhci_hcd and address 2
usb 2-1: New USB device found, idVendor=1a86, idProduct=7523
usb 2-1: New USB device strings: Mfr=0, Product=2, SerialNumber=0
usb 2-1: Product: USB2.0-Ser!
ch341 2-1:1.0: ch341-uart converter detected
usb 2-1: ch341-uart converter now attached to ttyUSB0
console [ttyUSB0] enabled

ttnl ★★★★★
()
Ответ на: комментарий от ttnl

В смысле?

Ну, да, USB-сканер подключается к USB-порту.

HolyBoy
() автор топика
Ответ на: комментарий от Gordon01

ну вбей в исходники усбсериал нужный тебе вид и пид

Но какому драйверу соответствие поставить можно будет?

Вот, залез в linux-2.6.31-gentoo-r10/drivers/usb/serial

Поискал вхождение 1a86 и нашёл в исходнике драйвера ch341:

static struct usb_device_id id_table [] = {                                                                                   
        { USB_DEVICE(0x4348, 0x5523) },                                                                                       
        { USB_DEVICE(0x1a86, 0x7523) },                                                                                       
        { },                                                                                                                  
};

Как-бы понятно, что надо сделать, но вот какой из представленных драйверов сможет работать с Vendor=0c2e ProdID=0700 — неясно. По вендору в исходниках ничего нет. Зато по pid нашлось в ipaq.c. Означает ли совпадение pid совпадение конкретных железок или это ничего не значит?

HolyBoy
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.