2015-09-25 4 views
-1

У меня возникла проблема с получением информации о /dev/usb/lp* устройствах.Получение информации о/dev/usb/lp * устройствах

Команда lsusb дает мне идентификаторы шины USB и устройства, а также имя устройства, но я не могу понять, как заставить его указать мне имя соответствующего устройства /dev/usb/lp*.

У меня нет доступных CUPS.

+0

Что вы хотите сделать? Перейдите из вывода 'lsusb' в'/dev/usb/lp * '? Или с '/ dev/usb/lp *' на USB-устройство? – rodrigo

+0

Я хочу перейти с выхода 'lsusb' в'/dev/usb/lp * '. Мне нужно сделать это, чтобы сопоставить устройства 'lp *' с принтерами, подключенными к моей системе, и отобразить некоторую информацию, такую ​​как производитель, модель и т. Д., И иметь возможность «cat» -файлов на устройстве (которые я, похоже, не могу сделать с помощью '/DEV/USB/BUS/ID'). – EndruPL

ответ

0

Вы можете использовать libudev, чтобы получить эквивалент следующей команды:

$ udevadm info -a /dev/usb/lp* 

В моем компьютере печатает что-то вроде:

looking at device '/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.3/1-1.3:1.1/usbmisc/lp2': 
    KERNEL=="lp2" 
    SUBSYSTEM=="usbmisc" 
    DRIVER=="" 

    looking at parent device '/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.3/1-1.3:1.1': 
    KERNELS=="1-1.3:1.1" 
    SUBSYSTEMS=="usb" 
    DRIVERS=="usblp" 
    ... 

    looking at parent device '/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.3': 
    KERNELS=="1-1.3" 
    SUBSYSTEMS=="usb" 
    DRIVERS=="usb" 
    ... 
    ATTRS{idProduct}=="341b" 
    ATTRS{idVendor}=="04e8" 
    ... 

И там они! Хотел idProduct и idVendor

Вы также можете получить информацию по навигации по каталогу /sys вручную:

$ ls -l /dev/usb/lp2 
crw-rw---- 1 root lp 180, 2 Sep 27 11:46 /dev/usb/lp2 

$ readlink -f /sys/dev/char/180:2 
/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.3/1-1.3:1.1/usbmisc/lp2 

$ cat /sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.3/{idVendor,idProduct} 
04e8 
341b 
Смежные вопросы