Author Topic: Ozone Strike Pro and the HID devices  (Read 1779 times)

0 Members and 1 Guest are viewing this topic.

Offline Panp858

  • Thread Starter
  • Posts: 12
Ozone Strike Pro and the HID devices
« 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
« Last Edit: Fri, 05 September 2014, 16:48:45 by Panp858 »

Offline IvanIvanovich

  • Mr. Silk Underwear
  • Posts: 8199
  • Location: USA
Re: Ozone Strike Pro and the HID devices
« Reply #1 on: Fri, 05 September 2014, 14:45:21 »
I think it's just normal for Windows. Even with my GH60 I get at least all of those as well.

Offline Grendel

  • Posts: 462
  • Location: OR, USA
    • Firmware for Costar Replacement Controllers
Re: Ozone Strike Pro and the HID devices
« Reply #2 on: Fri, 05 September 2014, 16:13:35 »
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.
Currently using: RK-9000WH/GR, CMS QFXT w/ Ghost Squid
- I'm game !

Offline Panp858

  • Thread Starter
  • Posts: 12
Re: Ozone Strike Pro and the HID devices
« Reply #3 on: Fri, 05 September 2014, 16:57:58 »
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

Offline Grendel

  • Posts: 462
  • Location: OR, USA
    • Firmware for Costar Replacement Controllers
Re: Ozone Strike Pro and the HID devices
« Reply #4 on: Fri, 05 September 2014, 21:09:14 »
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.
Currently using: RK-9000WH/GR, CMS QFXT w/ Ghost Squid
- I'm game !

Offline Panp858

  • Thread Starter
  • Posts: 12
Re: Ozone Strike Pro and the HID devices
« Reply #5 on: Thu, 11 September 2014, 09:46:01 »
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

Quote
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

Quote
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?
« Last Edit: Thu, 11 September 2014, 09:49:28 by Panp858 »