Как я могу прочитать с USB-устройства, не зная имя устройства?

У меня есть Arturia, Minilab, это последовательное, не блочное устройство. Я хотел бы прочитать ключ сжатия с устройства, но я не могу выяснить, где / dev / device - это то, что я должен читать клавиши. Я хотел бы знать, как я могу использовать информацию, такую ​​как вывод из LSUSB , чтобы прослушать устройство USB. LSUSB ... Автобус 001 Устройство 005: ID 1C75: 0204 Arturia Arturia Minilab

Есть ли способ найти имя устройства из идентификационного поля? или прочитайте данные из USB-соединения, не зная имя устройства в / dev? Учитывая то, что я знаю, какой мой следующий шаг для чтения данных с USB-устройства?

0
задан 22 January 2021 в 01:30

1 ответ

Информация, предоставленная LSUSB , должна быть достаточно для работы / dev , поскольку все, что все подключено через USB, будет читабелее из / dev / bus / usb / {шина} / {устройство} .

Вот вывод LSUSB на моем ноутбуке, который - ради этого примера - имеет беспроводной ключ мыши и камера Canon DSLR, прилагаемой через USB.

Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 005: ID 138a:0097 Validity Sensors, Inc. 
Bus 001 Device 004: ID 04f2:b5ce Chicony Electronics Co., Ltd Integrated Camera
Bus 001 Device 003: ID 8087:0a2b Intel Corp. 
Bus 001 Device 002: ID 04f2:b5cf Chicony Electronics Co., Ltd Integrated IR Camera
Bus 001 Device 007: ID 045e:07fd Microsoft Corp. Nano Transceiver 1.1
Bus 001 Device 008: ID 04a9:3270 Canon, Inc. EOS 100D
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Ключ для мыши находится на шине устройство 001 001 007 , так что это означает, что я могу запрашивать / зонд его из / dev / bus / usb / 001/007 .

Если вы хотите получить дополнительную информацию о USB-устройстве, вы также можете использовать USB-устройства с терминала. Это выделяет информацию о скоростях передачи данных, ограничениям мощности, серийных номеров и тому подобное. Для ключа мыши я получаю это:

T:  Bus=01 Lev=01 Prnt=01 Port=01 Cnt=02 Dev#=  7 Spd=12  MxCh= 0
D:  Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=32 #Cfgs=  1
P:  Vendor=045e ProdID=07fd Rev=03.15
S:  Manufacturer=Microsoft
S:  Product=Microsoft Nano Transceiver 1.1
C:  #Ifs= 3 Cfg#= 1 Atr=a0 MxPwr=100mA
I:  If#=0x0 Alt= 0 #EPs= 1 Cls=03(HID  ) Sub=01 Prot=01 Driver=usbhid
I:  If#=0x1 Alt= 0 #EPs= 1 Cls=03(HID  ) Sub=00 Prot=00 Driver=usbhid
I:  If#=0x2 Alt= 0 #EPs= 1 Cls=03(HID  ) Sub=01 Prot=02 Driver=usbhid

Это также подтверждает, что устройство подключено к шине 1 в качестве устройства 7 вдоль верхней линии.

Если вы ищете то, что может помочь с отладкой устройства, то DMESG может быть то, что вы ищете. Опять же, для ключа мыши, я вижу это в выходе:

[208483.802953] usb 1-2: new full-speed USB device number 7 using xhci_hcd
[208483.955942] usb 1-2: New USB device found, idVendor=045e, idProduct=07fd, bcdDevice= 3.15
[208483.955944] usb 1-2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[208483.955945] usb 1-2: Product: Microsoft Nano Transceiver 1.1
[208483.955946] usb 1-2: Manufacturer: Microsoft
[208483.985246] usbcore: registered new interface driver usbhid
[208483.985247] usbhid: USB HID core driver
[208483.999278] input: Microsoft Microsoft Nano Transceiver 1.1 as /devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2:1.0/0003:045E:07FD.0001/input/input19
[208484.059311] hid-generic 0003:045E:07FD.0001: input,hidraw0: USB HID v1.11 Keyboard [Microsoft Microsoft Nano Transceiver 1.1] on usb-0000:00:14.0-2/input0
[208484.059641] input: Microsoft Microsoft Nano Transceiver 1.1 Consumer Control as /devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2:1.1/0003:045E:07FD.0002/input/input20
[208484.119192] input: Microsoft Microsoft Nano Transceiver 1.1 System Control as /devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2:1.1/0003:045E:07FD.0002/input/input21
[208484.119309] input: Microsoft Microsoft Nano Transceiver 1.1 as /devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2:1.1/0003:045E:07FD.0002/input/input22
[208484.119483] hid-generic 0003:045E:07FD.0002: input,hiddev0,hidraw1: USB HID v1.11 Device [Microsoft Microsoft Nano Transceiver 1.1] on usb-0000:00:14.0-2/input1
[208484.119645] input: Microsoft Microsoft Nano Transceiver 1.1 as /devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2:1.2/0003:045E:07FD.0003/input/input23
[208484.178991] hid-generic 0003:045E:07FD.0003: input,hidraw2: USB HID v1.11 Mouse [Microsoft Microsoft Nano Transceiver 1.1] on usb-0000:00:14.0-2/input2

Это даст вам конкретные входные указатели, которые полезны, если вы пишете код, который напрямую интерфейс с аппаратным обеспечением, таким как драйвер устройства.

Надеюсь, это дает вам информацию, которую вы ищете.

1
ответ дан 18 March 2021 в 23:41

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

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