Я пытаюсь подключить устройство чтения QR-кодов через USB к моей Linux (Debian 5), работающей на виртуальной машине. Вот адаптированные результаты различных команд:

dmesg

$ dmesg 
[ 1141.368166] usb 1-2.1: new full speed USB device using uhci_hcd and address 5
[ 1141.650721] usb 1-2.1: configuration #1 chosen from 1 choice
[ 1141.656035] usb 1-2.1: New USB device found, idVendor=0db5, idProduct=0129
[ 1141.656041] usb 1-2.1: New USB device strings: Mfr=0, Product=1, SerialNumber=0
[ 1141.656046] usb 1-2.1: Product: ACCESS IS LSR110

гал-устройство

$ hal-device
3: udi = '/org/freedesktop/Hal/devices/usb_device_db5_129_noserial'
  usb_device.configuration_value = 1  (0x1)  (int)
  usb_device.max_power = 250  (0xfa)  (int)
  usb_device.num_configurations = 1  (0x1)  (int)
  usb_device.num_ports = 0  (0x0)  (int)
  linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:11.0/0000:02:00.0/usb1/1-2/1-2.1'  (string)
  info.subsystem = 'usb_device'  (string)
  usb_device.num_interfaces = 2  (0x2)  (int)
  usb_device.linux.device_number = 5  (0x5)  (int)
  info.parent = '/org/freedesktop/Hal/devices/usb_device_e0f_2_noserial'  (string)
  usb_device.device_class = 2  (0x2)  (int)
  info.vendor = 'Unknown (0x0db5)'  (string)
  info.product = 'ACCESS IS LSR110'  (string)
  usb_device.device_subclass = 0  (0x0)  (int)
  usb_device.speed = 12  (double)
  info.udi = '/org/freedesktop/Hal/devices/usb_device_db5_129_noserial'  (string)
  info.linux.driver = 'usb'  (string)
  usb_device.device_protocol = 0  (0x0)  (int)
  usb_device.version = 2  (double)
  usb_device.vendor_id = 3509  (0xdb5)  (int)
  usb_device.is_self_powered = false  (bool)
  usb_device.product_id = 297  (0x129)  (int)
  usb_device.can_wake_up = false  (bool)
  linux.hotplug_type = 2  (0x2)  (int)
  usb_device.bus_number = 1  (0x1)  (int)
  linux.subsystem = 'usb'  (string)
  usb_device.product = 'ACCESS IS LSR110'  (string)
  linux.device_file = '/dev/bus/usb/001/005'  (string)
  usb_device.linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:11.0/0000:02:00.0/usb1/1-2/1-2.1'  (string)
  usb_device.device_revision_bcd = 4098  (0x1002)  (int)

lsusb -t

$ lsusb -t
Bus#  2
`-Dev#   1 Vendor 0x1d6b Product 0x0002
Bus#  1
`-Dev#   1 Vendor 0x1d6b Product 0x0001
  |-Dev#   2 Vendor 0x0e0f Product 0x0003
  `-Dev#   3 Vendor 0x0e0f Product 0x0002
    `-Dev#   5 Vendor 0x0db5 Product 0x0129

Я сделал разницу между ls -1 /dev до и после установки этого устройства. Следующие дополнительные записи создаются после вставки:

usbdev1.5_ep00 usbdev1.5_ep01 usbdev1.5_ep82 usbdev1.5_ep83

Содержимое /etc/udev/rules.d/000_mydev.rules было обновлено:

KERNEL=="ttyUSB[0-9]*", ATTRS{idVendor}=="0db5", ATTRS{idProduct}=="0129"  NAME="barcode"

Однако, чтобы иметь возможность читать с устройства, я пропускаю запись из /dev . У меня было такое же устройство на Ubuntu 14.04.1 LTS (64 бит, реальная машина), и там была создана /dev/ttyACM0 как точка доступа к устройству, и я легко мог cat /dev/ttyACM0 , чтобы получить данные. Ничего подобного не создается в виртуальной машине Debian.

Вопрос: Как я могу читать с устройства?

1 ответ1

0

Там две проблемы.

  1. Ядро было слишком старым. Обновлен до 2.6.32

  2. Произошла неверная конфигурация порта tty ... После применения правильных настроек (stty -F /dev/ttyACM3 115200 raw -echo -echoe -echok -echoctl -echoke -clocal -iexten ) все работает как положено

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .