> I have a USb keyboard
What USB HID descriptor does that keyboard report?
To dump the USB HID descriptor:
# echo ::prtusb | mdb -k
INDEX DRIVER INST NODE VID.PID PRODUCT
....
10 hid 1 keyboard 046a.0001 No Product String
....
In this example, the usb keyboard device uses "INDEX" 10.
Now (replace 10 with the index of the keyboard device from
the above usb device list);
# echo ::prtusb -v -i 10 | mdb -k
INDEX DRIVER INST NODE VID.PID PRODUCT
10 hid 1 keyboard 046a.0001 No Product String
Device Descriptor
{
bLength = 0x12
bDescriptorType = 0x1
bcdUSB = 0x100
bDeviceClass = 0
bDeviceSubClass = 0
bDeviceProtocol = 0
bMaxPacketSize0 = 0x8
idVendor = 0x46a
idProduct = 0x1
bcdDevice = 0x604
iManufacturer = 0
iProduct = 0
iSerialNumber = 0
bNumConfigurations = 0x1
}
-- Active Config Index 0
Configuration Descriptor
{
bLength = 0x9
bDescriptorType = 0x2
wTotalLength = 0x22
bNumInterfaces = 0x1
bConfigurationValue = 0x1
iConfiguration = 0x0
bmAttributes = 0xa0
bMaxPower = 0x32
}
Interface Descriptor
{
bLength = 0x9
bDescriptorType = 0x4
bInterfaceNumber = 0x0
bAlternateSetting = 0x0
bNumEndpoints = 0x1
bInterfaceClass = 0x3
bInterfaceSubClass = 0x1
bInterfaceProtocol = 0x1
iInterface = 0x0
}
HID Descriptor
{
bLength = 0x9
bDescriptorType = 0x21
bcdHID = 0x100
bCountryCode = 0x0 <<<<<<<<<<<<<<<<<<<<<<
bNumDescriptors = 0x1
bReportDescriptorType = 0x22
wReportDescriptorLength = 0x3f
}
Endpoint Descriptor
{
bLength = 0x7
bDescriptorType = 0x5
bEndpointAddress = 0x81
bmAttributes = 0x3
wMaxPacketSize = 0x8
bInterval = 0x8
}
--
This message posted from opensolaris.org
_______________________________________________
opensolaris-help mailing list
[email protected]