[libhid-discuss] Input and Output ports
ankita prasad
prasad.ankita at gmail.com
Wed Sep 12 23:01:57 UTC 2007
Hi all,
Thanks for all your help till now. The firmware on the HID device does not
have the correct report descriptor. But the guys who made teh firmware sent
me what the report descriptor should contain. So I hard coded it in the
parser functions and now I can read and write to my HID device. The input
and the output ports are the same being 0x81.
I just want to confirm that I am correct in my above assumption abt the
input and output ports( i don't get any errors when I run hid_interrupt
write and hid_interrupt_read)
This is the output of my lsusb -vvv
Bus 001 Device 037: ID 0694:0003 abc Group
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 1.10
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 8
idVendor 0x0694 abc Group
idProduct 0x0003
bcdDevice 0.11
iManufacturer 0
iProduct 2 abc USB Hub V0.11
iSerial 0
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 34
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xa0
Remote Wakeup
MaxPower 100mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 3 Human Interface Devices
bInterfaceSubClass 0 No Subclass
bInterfaceProtocol 0 None
iInterface 0
HID Device Descriptor:
bLength 9
bDescriptorType 33
bcdHID 1.10
bCountryCode 0 Not supported
bNumDescriptors 1
bDescriptorType 34 Report
wDescriptorLength 37
Report Descriptor: (length is 37)
Item(Global): Usage Page, data= [ 0x01 ] 1
Generic Desktop Controls
Item(Local ): Usage, data= [ 0x3b ] 59
Byte Count
Item(Main ): Collection, data= [ 0x01 ] 1
Application
Item(Global): Logical Minimum, data= [ 0x00 ] 0
Item(Global): Logical Maximum, data= [ 0xff 0x00 ] 255
Item(Local ): Usage Minimum, data= [ 0x10 ] 16
(null)
Item(Local ): Usage Maximum, data= [ 0x17 ] 23
(null)
Item(Global): Report Count, data= [ 0x08 ] 8
Item(Global): Report Size, data= [ 0x08 ] 8
Item(Main ): Input, data= [ 0x02 ] 2
Data Variable Absolute No_Wrap Linear
Preferred_State No_Null_Position Non_Volatile
Bitfield
Item(Global): Logical Minimum, data= [ 0x00 ] 0
Item(Global): Logical Maximum, data= [ 0xff 0x00 ] 255
Item(Local ): Usage Minimum, data= [ 0x18 ] 24
(null)
Item(Local ): Usage Maximum, data= [ 0x1f ] 31
(null)
Item(Global): Report Count, data= [ 0x08 ] 8
Item(Global): Report Size, data= [ 0x08 ] 8
Item(Main ): Output, data= [ 0x02 ] 2
Data Variable Absolute No_Wrap Linear
Preferred_State No_Null_Position Non_Volatile
Bitfield
Item(Main ): End Collection, data=none
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 10
Could you guys look at this and tell me whether I am correct in my
assumption? Any confirmation would help me proceed further.
Thanks a ton!
Ankita
More information about the libhid-discuss
mailing list