gpt4 book ai didi

c++ - lsusb:只有 1 个端点可用

转载 作者:太空狗 更新时间:2023-10-29 23:18:03 26 4
gpt4 key购买 nike

我正在尝试通过 libusb 与设备(没有 linux 驱动程序)通信。我已经编写了很多基本代码,并使用 Windows 上的 USB 监听软件(有驱动程序)来找出我需要发送给它的代码。但是,当我执行“lsusb -v -d 1267:0000”时,仅显示 1 个终点,如下所示:

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)

问题是应该有一个我可以向下发送数据的写入端点,但只显示 0x81 端点,据我所知,这是一个读取端点(我对此很陌生)。我是否需要执行某些操作才能访问此端点?

最佳答案

您可能还没有声明您的设备(谷歌声明了带有 libusb 的设备),您需要以 root 身份运行,或者您正在处理的设备只有一种报告方法。是的,确实会发生这种情况。

在任何 HID 设备上都有三种可能的通信方法:输入、输出和功能报告。不过,根据 HID 描述符,您的设备可能只支持一个。在那种情况下,我猜它只支持功能报告。幸运的是,这些报告可以输入和输出。 (这是描述 DigiSpark 的方式。)

也许这些选项都行不通,但值得一试!

关于c++ - lsusb:只有 1 个端点可用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15232261/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com