J'essaie de communiquer avec un périphérique (qui n'a pas de pilote Linux) via libusb. J'ai écrit beaucoup de code de base et utilisé le logiciel de surveillance USB sur Windows (pour lequel il y a un pilote) pour trouver les codes que je dois lui envoyer. Cependant, seulement 1 point final est affiché lorsque je joue « lsusb -v -d 1267: 0000 », comme indiqué ci-dessous:lsusb: seulement 1 point de terminaison disponible
Bus 003 Device 005: ID 1267:0000 Logic3/SpectraVideo plc
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 1.10
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 8
idVendor 0x1267 Logic3/SpectraVideo plc
idProduct 0x0000
bcdDevice 0.00
iManufacturer 0
iProduct 0
iSerial 0
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 25
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0x80
(Bus Powered)
MaxPower 100mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 0
bInterfaceProtocol 0
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0008 1x 8 bytes
bInterval 8
Device Status: 0x0000
(Bus Powered)
Le problème est qu'il devrait y avoir un point de terminaison d'écriture que je peux envoyer des données vers le bas, Pourtant, seul le point de terminaison 0x81 apparaît, ce qui, d'après ce que je comprends, est un point de terminaison de lecture (je suis très nouveau à ce sujet). Ai-je besoin de faire quelque chose pour pouvoir accéder à ce point de terminaison?