geekhack
geekhack Community => Keyboards => Topic started by: Panp858 on Fri, 05 September 2014, 08:33:15
-
Hello guys,
I bought a new Ozone Strike Pro this week and I'm wondering why multiple HID devices showing up in the windows device manager.
If you connect to keyboard to you PC, your get the following entries:
Human Interface Devices
- 1x HID-compliant consumer control device
- 4x HID-compliant device
- 3x USB Input Device
Keyboards
- 2x HID Keybard device
USB View shows one new USB Hub device with three NoDeviceConnected entriesand one USB Keyboard entry. While the USB Hub has high speed, the keyboard itself is shows as a fullspeed device.
First I thought its because the NKRO and the dirty trick with multiple virtual devices but the keyboad has fullspeed usb2.0 so this trick is not really necessary (and afaik 2 virtual keyboards means 12KRO max.). Furthermore the Ozone has some features like gaming mode (disable windows key, swap WASD with arrow keys), adjustable polling rate and key reaction time, some macro key/functions (software needed) and the typical multimedia keys but I think this is all handled by the hardware itself.
So can anybody help me to understand this behavior? Thank you so much!
Peter
-
I think it's just normal for Windows. Even with my GH60 I get at least all of those as well.
-
The answer lies in the USB descriptors. Check how many interfaces are defined by the board, most likely three -- one for the multimedia functions "1x HID-compliant consumer control device" and probably two for the keyboard itself (boot protocol compliant IF and NKRO IF). The 4th IF is most likely a general HID channel for the macro buttons.
-
The answer lies in the USB descriptors. Check how many interfaces are defined by the board, most likely three -- one for the multimedia functions "1x HID-compliant consumer control device" and probably two for the keyboard itself (boot protocol compliant IF and NKRO IF). The 4th IF is most likely a general HID channel for the macro buttons.
Thanks Grendel for your response. How can I check the USB descriptors? As you can see I've 8 devices in total and 2 entries in the Keyboard section. Maybe one is for the USB port. The Keyboard has Audio and Mic. I/O too, but I think this is only an extension of the Kables. Are the two in the keyboard node for the boot and NKRO IF? I cant be for the NKRO itself, right?
For me its not typical that one Keyboard has 10 entries in total in the device manager. Thats the reason I asked. And its nice to see, that you try to figure the answer out.
Peter
-
usbview -- select the device and look for the bNumInterfaces number in the Configuration Descriptor on the right side. There are double entries in the device manger, eg. the HID Consumer Control Device also shows up as a HID Input device.
-
usbview -- select the device and look for the bNumInterfaces number in the Configuration Descriptor on the right side. There are double entries in the device manger, eg. the HID Consumer Control Device also shows up as a HID Input device.
Hi! This is the output from the keyboard
Device Descriptor:
bcdUSB: 0x0200
bDeviceClass: 0x00
bDeviceSubClass: 0x00
bDeviceProtocol: 0x00
bMaxPacketSize0: 0x08 (8)
idVendor: 0x04D9
idProduct: 0xA096
bcdDevice: 0x0D04
iManufacturer: 0x00
iProduct: 0x02
0x0409: "USB Keyboard"
iSerialNumber: 0x00
bNumConfigurations: 0x01
ConnectionStatus: DeviceConnected
Current Config Value: 0x01
Device Bus Speed: Full
Device Address: 0x02
Open Pipes: 3
Endpoint Descriptor:
bEndpointAddress: 0x81
Transfer Type: Interrupt
wMaxPacketSize: 0x0008 (8)
bInterval: 0x08
Endpoint Descriptor:
bEndpointAddress: 0x82
Transfer Type: Interrupt
wMaxPacketSize: 0x0010 (16)
bInterval: 0x01
Endpoint Descriptor:
bEndpointAddress: 0x83
Transfer Type: Interrupt
wMaxPacketSize: 0x0040 (64)
bInterval: 0x10
Configuration Descriptor:
wTotalLength: 0x0054
bNumInterfaces: 0x03
bConfigurationValue: 0x01
iConfiguration: 0x00
bmAttributes: 0xA0 (Bus Powered Remote Wakeup)
MaxPower: 0x32 (100 Ma)
Interface Descriptor:
bInterfaceNumber: 0x00
bAlternateSetting: 0x00
bNumEndpoints: 0x01
bInterfaceClass: 0x03 (HID)
bInterfaceSubClass: 0x01
bInterfaceProtocol: 0x01
iInterface: 0x00
HID Descriptor:
bcdHID: 0x0111
bCountryCode: 0x00
bNumDescriptors: 0x01
bDescriptorType: 0x22
wDescriptorLength: 0x003E
Endpoint Descriptor:
bEndpointAddress: 0x81
Transfer Type: Interrupt
wMaxPacketSize: 0x0008 (8)
bInterval: 0x08
Interface Descriptor:
bInterfaceNumber: 0x01
bAlternateSetting: 0x00
bNumEndpoints: 0x01
bInterfaceClass: 0x03 (HID)
bInterfaceSubClass: 0x00
bInterfaceProtocol: 0x00
iInterface: 0x00
HID Descriptor:
bcdHID: 0x0111
bCountryCode: 0x00
bNumDescriptors: 0x01
bDescriptorType: 0x22
wDescriptorLength: 0x0085
Endpoint Descriptor:
bEndpointAddress: 0x82
Transfer Type: Interrupt
wMaxPacketSize: 0x0010 (16)
bInterval: 0x01
Interface Descriptor:
bInterfaceNumber: 0x02
bAlternateSetting: 0x00
bNumEndpoints: 0x01
bInterfaceClass: 0x03 (HID)
bInterfaceSubClass: 0x00
bInterfaceProtocol: 0x00
iInterface: 0x00
HID Descriptor:
bcdHID: 0x0111
bCountryCode: 0x00
bNumDescriptors: 0x01
bDescriptorType: 0x22
wDescriptorLength: 0x001A
Endpoint Descriptor:
bEndpointAddress: 0x83
Transfer Type: Interrupt
wMaxPacketSize: 0x0040 (64)
bInterval: 0x10
Unlike my mouse the keyboards add a generic device hub, which the keyboard is connected to
External Hub: USB#VID_058F&PID_6254#5&333c83dc&0&5#{f18a0e88-c30c-11d0-8815-00a0c906bed8}
Hub Power: Self Power
Number of Ports: 4
Power switching: Ganged
Compound device: No
Over-current Protection: Global
Device Descriptor:
bcdUSB: 0x0200
bDeviceClass: 0x09
bDeviceSubClass: 0x00
bDeviceProtocol: 0x01
bMaxPacketSize0: 0x40 (64)
idVendor: 0x058F (Alcor Micro, Corp.)
idProduct: 0x6254
bcdDevice: 0x0100
iManufacturer: 0x00
iProduct: 0x00
iSerialNumber: 0x00
bNumConfigurations: 0x01
ConnectionStatus: DeviceConnected
Current Config Value: 0x01
Device Bus Speed: Full
Device Address: 0x01
Open Pipes: 1
Endpoint Descriptor:
bEndpointAddress: 0x81
Transfer Type: Interrupt
wMaxPacketSize: 0x0001 (1)
bInterval: 0x0C
Configuration Descriptor:
wTotalLength: 0x0019
bNumInterfaces: 0x01
bConfigurationValue: 0x01
iConfiguration: 0x00
bmAttributes: 0xE0 (Bus Powered Self Powered Remote Wakeup)
MaxPower: 0x32 (100 Ma)
Interface Descriptor:
bInterfaceNumber: 0x00
bAlternateSetting: 0x00
bNumEndpoints: 0x01
bInterfaceClass: 0x09 (Hub)
bInterfaceSubClass: 0x00
bInterfaceProtocol: 0x00
iInterface: 0x00
Endpoint Descriptor:
bEndpointAddress: 0x81
Transfer Type: Interrupt
wMaxPacketSize: 0x0001 (1)
bInterval: 0x0C
So, is the macro/multimedia functionality responsible for the multiple entries and is it sure, that the full nkro is not the reason for this because of the full usb speed mode?
Just an other question. It seems that this keyboard is produced by "Solidyear". I cant find any specific about this manufacture here. Can someone tell me a bit about other brands which use Solidyear products and maybe a bit about the overall quality?