Re: not supported hardware: Gigabyte K8100 Aivia USB Gaming Keyboard

10 messages, 5 authors, 2012-02-09 · open the first message on its own page

Re: not supported hardware: Gigabyte K8100 Aivia USB Gaming Keyboard

From: Jonathan Nieder <hidden>
Date: 2012-01-26 21:39:40

Hi,

zitev wrote:
Thanks for your respond! I did try to probe again with the latest
sid kernel (Linux version 3.2.0-1-686-pae (Debian 3.2.1-2)
(ben-/+tVBieCtBitmTQ+vhA3Yw@public.gmane.org) (gcc version 4.6.2 (Debian 4.6.2-12) ) #1 SMP
Tue Jan 24 06:09:30 UTC 2012), but the problem's very same.
What more can I help you?
Here's some context.

Csaba noticed[1] that his keyboard (a "Gigabyte K8100 Aivia USB Gaming
Keyboard") does not work correctly on Linux.  It is claimed by the
usbhid driver and:
all keys absolutely not working, but led's does light.
When I search for information about Linux support for this keyboard
elsewhere, I see that the backspace key and multimedia keys are said
to work but nothing else[2]:

| papibe	June 4th, 2011, 09:51 PM
|
| Try to see if xev registers an event while pressing the backspace key:
| $ xev
| Regards.
|
| Peckles	June 4th, 2011, 10:07 PM
| Thanks for the command, very useful. Thats going in the memory bank...
|
| The backspace key registers a backspace. Also all of the multimedia
| keys and special 5 mappable keys work as well. (very strange...)

The question becomes: where to go from here?  Any idea about how we
can find out what how to drive this device?  Does it have a driver for
Windows we could investigate?  Is there perhaps some way to trace what
it sends over the wire in order to mock something up?

Csaba, please attach "lsusb -v" output.

Others: hints?

Thanks,
Jonathan

[1] http://bugs.debian.org/610467
[2] http://ubuntuforums.org/archive/index.php/t-1775541.html
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Re: not supported hardware: Gigabyte K8100 Aivia USB Gaming Keyboard

From: zitev <hidden>
Date: 2012-01-27 20:33:30

Hello Everyone!

I attached the lsusb output!


2012-01-26 22:39 keltezéssel, Jonathan Nieder írta:
Hi,

zitev wrote:
quoted
Thanks for your respond! I did try to probe again with the latest
sid kernel (Linux version 3.2.0-1-686-pae (Debian 3.2.1-2)
(ben-/+tVBieCtBitmTQ+vhA3Yw@public.gmane.org) (gcc version 4.6.2 (Debian 4.6.2-12) ) #1 SMP
Tue Jan 24 06:09:30 UTC 2012), but the problem's very same.
What more can I help you?
Here's some context.

Csaba noticed[1] that his keyboard (a "Gigabyte K8100 Aivia USB Gaming
Keyboard") does not work correctly on Linux.  It is claimed by the
usbhid driver and:
quoted
all keys absolutely not working, but led's does light.
When I search for information about Linux support for this keyboard
elsewhere, I see that the backspace key and multimedia keys are said
to work but nothing else[2]:

| papibe	June 4th, 2011, 09:51 PM
|
| Try to see if xev registers an event while pressing the backspace key:
| $ xev
| Regards.
|
| Peckles	June 4th, 2011, 10:07 PM
| Thanks for the command, very useful. Thats going in the memory bank...
|
| The backspace key registers a backspace. Also all of the multimedia
| keys and special 5 mappable keys work as well. (very strange...)

The question becomes: where to go from here?  Any idea about how we
can find out what how to drive this device?  Does it have a driver for
Windows we could investigate?  Is there perhaps some way to trace what
it sends over the wire in order to mock something up?

Csaba, please attach "lsusb -v" output.

Others: hints?

Thanks,
Jonathan

[1] http://bugs.debian.org/610467
[2] http://ubuntuforums.org/archive/index.php/t-1775541.html

Re: not supported hardware: Gigabyte K8100 Aivia USB Gaming Keyboard

From: Jonathan Nieder <hidden>
Date: 2012-01-28 07:12:38

zitev wrote:
I attached the lsusb output!
Perfect, thanks.
Bus 001 Device 004: ID 1044:7a02 Chu Yuen Enterprise Co., Ltd 
[...]
    bNumInterfaces          3
[...]
    Interface Descriptor:
      bInterfaceClass         3 Human Interface Device
      iInterface              2 KB
[...]
    Interface Descriptor:
      bInterfaceClass         3 Human Interface Device
      iInterface              3 Mouse
[...]
    Interface Descriptor:
      bInterfaceClass         3 Human Interface Device
      iInterface              4 K8100 Interface
Can you set up usbmon and get a trace of e.g., pressing, holding,
then releasing the "a" key?  See Documentation/usb/usbmon.txt
in the Linux source or the doc directory of the linux-doc-3.2
package for details.

It works roughly like this:

1. Mount debugfs and load the usbmon module:

  mount -t debugfs debugfs /sys/kernel/debug
  modprobe usbmon

2. Start tracing:

  {
    sleep 1; # one second of quiet
    cat /sys/kernel/debug/usb/usbmon/1u >/tmp/mon.out &
    sleep 20; # twenty seconds or so to run the test
    kill $!; # and then stop collecting data
  }

3. Somehow summarize the output.  If it is fairly small, an
attachment is fine; otherwise, excerpts and maybe a link to a
copy that can be downloaded online might work.

Hope that helps,
Jonathan

Re: not supported hardware: Gigabyte K8100 Aivia USB Gaming Keyboard

From: zitev <hidden>
Date: 2012-02-01 19:18:40

I did every step of test, but after testing the /tmp/mon.out file is 
0byte (empty)

next task?


2012-01-28 08:12 keltezéssel, Jonathan Nieder írta:
zitev wrote:
quoted
I attached the lsusb output!
Perfect, thanks.
quoted
Bus 001 Device 004: ID 1044:7a02 Chu Yuen Enterprise Co., Ltd
[...]
quoted
     bNumInterfaces          3
[...]
quoted
     Interface Descriptor:
       bInterfaceClass         3 Human Interface Device
       iInterface              2 KB
[...]
quoted
     Interface Descriptor:
       bInterfaceClass         3 Human Interface Device
       iInterface              3 Mouse
[...]
quoted
     Interface Descriptor:
       bInterfaceClass         3 Human Interface Device
       iInterface              4 K8100 Interface
Can you set up usbmon and get a trace of e.g., pressing, holding,
then releasing the "a" key?  See Documentation/usb/usbmon.txt
in the Linux source or the doc directory of the linux-doc-3.2
package for details.

It works roughly like this:

1. Mount debugfs and load the usbmon module:

   mount -t debugfs debugfs /sys/kernel/debug
   modprobe usbmon

2. Start tracing:

   {
     sleep 1; # one second of quiet
     cat /sys/kernel/debug/usb/usbmon/1u>/tmp/mon.out&
     sleep 20; # twenty seconds or so to run the test
     kill $!; # and then stop collecting data
   }

3. Somehow summarize the output.  If it is fairly small, an
attachment is fine; otherwise, excerpts and maybe a link to a
copy that can be downloaded online might work.

Hope that helps,
Jonathan
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Re: not supported hardware: Gigabyte K8100 Aivia USB Gaming Keyboard

From: Jonathan Nieder <hidden>
Date: 2012-02-01 19:35:56

zitev wrote:
I did every step of test, but after testing the /tmp/mon.out file is
0byte (empty)
Drat.  Just to make sure I have the method right, could you do the
same with another keyboard (setting the bus number accordingly), or
using some key that does work, if any (e.g., backspace is said to
work)?

But anyway, this is believable.  There is a Windows driver for the
keyboard, so if you are able to run Windows (e.g., in a VM), the hints
from

 http://libnetmd.sourceforge.net/howto.html

might help.  Also, contacting the manufacturer might help.

Given a rough description of the protocol the keyboard uses, folks on
this mailing list might be able to come up with a rough patch to try
out.  One way to make progress.

Thanks,
Jonathan

Re: not supported hardware: Gigabyte K8100 Aivia USB Gaming Keyboard

From: zitev <hidden>
Date: 2012-02-01 19:39:55

i attached the detail of syslog:

"Feb  1 20:26:40 player kernel: [ 1247.275287] usb 1-1.1: new high-speed 
USB device number 6 using ehci_hcd
Feb  1 20:26:40 player kernel: [ 1247.444488] usb 1-1.1: New USB device 
found, idVendor=05e3, idProduct=0608
Feb  1 20:26:40 player kernel: [ 1247.520511] usb 1-1.1: New USB device 
strings: Mfr=0, Product=1, SerialNumber=0
Feb  1 20:26:40 player kernel: [ 1247.596369] usb 1-1.1: Product: USB2.0 Hub
Feb  1 20:26:40 player kernel: [ 1247.672160] hub 1-1.1:1.0: USB hub found
Feb  1 20:26:40 player kernel: [ 1247.736605] hub 1-1.1:1.0: 4 ports 
detected
Feb  1 20:26:41 player kernel: [ 1248.074036] usb 1-1.1.2: new 
full-speed USB device number 7 using ehci_hcd
Feb  1 20:26:41 player kernel: [ 1248.240627] usb 1-1.1.2: New USB 
device found, idVendor=1044, idProduct=7a02
Feb  1 20:26:41 player kernel: [ 1248.314881] usb 1-1.1.2: New USB 
device strings: Mfr=0, Product=0, SerialNumber=0
Feb  1 20:26:41 player mtp-probe: checking bus 1, device 7: 
"/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.1/1-1.1.2"
Feb  1 20:26:41 player kernel: [ 1248.391648] generic-usb: probe of 
0003:1044:7A02.0006 failed with error -22
Feb  1 20:26:41 player kernel: [ 1248.459226] input: HID 1044:7a02 as 
/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.1/1-1.1.2/1-1.1.2:1.1/input/input7
Feb  1 20:26:41 player kernel: [ 1248.523851] generic-usb 
0003:1044:7A02.0007: input,hiddev0,hidraw0: USB HID v1.11 Mouse [HID 
1044:7a02] on usb-0000:00:1a.0-1.1.2/input1
Feb  1 20:26:41 player kernel: [ 1248.592068] generic-usb 
0003:1044:7A02.0008: input,hidraw1: USB HID v1.11 Device [HID 1044:7a02] 
on usb-0000:00:1a.0-1.1.2/input2
Feb  1 20:26:41 player mtp-probe: bus: 1, device: 7 was not an MTP device
Feb  1 20:26:41 player kernel: [ 1248.729040] usb 1-1.1.4: new low-speed 
USB device number 8 using ehci_hcd
Feb  1 20:26:42 player kernel: [ 1248.917065] usb 1-1.1.4: New USB 
device found, idVendor=060b, idProduct=2270
Feb  1 20:26:42 player kernel: [ 1248.990757] usb 1-1.1.4: New USB 
device strings: Mfr=1, Product=2, SerialNumber=0
Feb  1 20:26:42 player kernel: [ 1249.063713] usb 1-1.1.4: Product: USB 
Keyboard
Feb  1 20:26:42 player kernel: [ 1249.136990] usb 1-1.1.4: Manufacturer: KB
Feb  1 20:26:42 player kernel: [ 1249.219263] input: KB USB Keyboard as 
/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.1/1-1.1.4/1-1.1.4:1.0/input/input8
Feb  1 20:26:42 player kernel: [ 1249.293903] generic-usb 
0003:060B:2270.0009: input,hidraw2: USB HID v1.10 Keyboard [KB USB 
Keyboard] on usb-0000:00:1a.0-1.1.4/input0
Feb  1 20:26:42 player kernel: [ 1249.380643] generic-usb: probe of 
0003:060B:2270.000A failed with error -22
Feb  1 20:26:42 player mtp-probe: checking bus 1, device 8: 
"/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.1/1-1.1.4"
Feb  1 20:26:42 player mtp-probe: bus: 1, device: 8 was not an MTP device"

2012-01-28 08:12 keltezéssel, Jonathan Nieder írta:
zitev wrote:
quoted
I attached the lsusb output!
Perfect, thanks.
quoted
Bus 001 Device 004: ID 1044:7a02 Chu Yuen Enterprise Co., Ltd
[...]
quoted
     bNumInterfaces          3
[...]
quoted
     Interface Descriptor:
       bInterfaceClass         3 Human Interface Device
       iInterface              2 KB
[...]
quoted
     Interface Descriptor:
       bInterfaceClass         3 Human Interface Device
       iInterface              3 Mouse
[...]
quoted
     Interface Descriptor:
       bInterfaceClass         3 Human Interface Device
       iInterface              4 K8100 Interface
Can you set up usbmon and get a trace of e.g., pressing, holding,
then releasing the "a" key?  See Documentation/usb/usbmon.txt
in the Linux source or the doc directory of the linux-doc-3.2
package for details.

It works roughly like this:

1. Mount debugfs and load the usbmon module:

   mount -t debugfs debugfs /sys/kernel/debug
   modprobe usbmon

2. Start tracing:

   {
     sleep 1; # one second of quiet
     cat /sys/kernel/debug/usb/usbmon/1u>/tmp/mon.out&
     sleep 20; # twenty seconds or so to run the test
     kill $!; # and then stop collecting data
   }

3. Somehow summarize the output.  If it is fairly small, an
attachment is fine; otherwise, excerpts and maybe a link to a
copy that can be downloaded online might work.

Hope that helps,
Jonathan
--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Re: not supported hardware: Gigabyte K8100 Aivia USB Gaming Keyboard

From: zitev <hidden>
Date: 2012-02-01 19:53:20

I did press backspace, and that key is logged to /tmp/mon.out!


2012-02-01 20:35 keltezéssel, Jonathan Nieder írta:
zitev wrote:
quoted
I did every step of test, but after testing the /tmp/mon.out file is
0byte (empty)
Drat.  Just to make sure I have the method right, could you do the
same with another keyboard (setting the bus number accordingly), or
using some key that does work, if any (e.g., backspace is said to
work)?

But anyway, this is believable.  There is a Windows driver for the
keyboard, so if you are able to run Windows (e.g., in a VM), the hints
from

  http://libnetmd.sourceforge.net/howto.html

might help.  Also, contacting the manufacturer might help.

Given a rough description of the protocol the keyboard uses, folks on
this mailing list might be able to come up with a rough patch to try
out.  One way to make progress.

Thanks,
Jonathan

Re: not supported hardware: Gigabyte K8100 Aivia USB Gaming Keyboard

From: Jiri Kosina <hidden>
Date: 2012-02-01 20:06:02

On Wed, 1 Feb 2012, zitev wrote:
I did every step of test, but after testing the /tmp/mon.out file is 0byte
(empty)

next task?
Does /dev/input/eventX get created? (I guess it does, as at least some 
key(s) make it through).

If so, please provide

	cat /sys/kernel/debug/hid/<device>/rdesc

and
	cat /sys/kernel/debug/hid/<device>/events

Please run the second command, then press some of the non-working keys 
(press "a" for starters), and provide the output.

-- 
Jiri Kosina
SUSE Labs

Re: not supported hardware: Gigabyte K8100 Aivia USB Gaming Keyboard

From: zitev <hidden>
Date: 2012-02-02 20:16:52

I check cat /dev/input/event6, and only the backspace-button working on 
this keyboard...
I start pressing cat /sys/kernel/debug/hid/, and found the next subfolders:

0003:060B:2270.0004/
0003:060B:2270.0005/
0003:1044:7A02.0001/
0003:1044:7A02.0002/
0003:1044:7A02.0003/

"player:/home/vitez# cat /sys/kernel/debug/hid/0003\:060B\:2270.0004/events
(and pressing the backspace key):

report (size 8) (unnumbered) =  00 00 2a 00 00 00 00 00
Keyboard.00e0 = 0
Keyboard.00e1 = 0
Keyboard.00e2 = 0
Keyboard.00e3 = 0
Keyboard.00e4 = 0
Keyboard.00e5 = 0
Keyboard.00e6 = 0
Keyboard.00e7 = 0
Keyboard.002a = 1

report (size 8) (unnumbered) =  00 00 00 00 00 00 00 00
Keyboard.00e0 = 0
Keyboard.00e1 = 0
Keyboard.00e2 = 0
Keyboard.00e3 = 0
Keyboard.00e4 = 0
Keyboard.00e5 = 0
Keyboard.00e6 = 0
Keyboard.00e7 = 0
Keyboard.002a = 0

report (size 8) (unnumbered) =  00 00 2a 00 00 00 00 00
Keyboard.00e0 = 0
Keyboard.00e1 = 0
Keyboard.00e2 = 0
Keyboard.00e3 = 0
Keyboard.00e4 = 0
Keyboard.00e5 = 0
Keyboard.00e6 = 0
Keyboard.00e7 = 0
Keyboard.002a = 1

report (size 8) (unnumbered) =  00 00 00 00 00 00 00 00
Keyboard.00e0 = 0
Keyboard.00e1 = 0
Keyboard.00e2 = 0
Keyboard.00e3 = 0
Keyboard.00e4 = 0
Keyboard.00e5 = 0
Keyboard.00e6 = 0
Keyboard.00e7 = 0
Keyboard.002a = 0

report (size 8) (unnumbered) =  00 00 2a 00 00 00 00 00
Keyboard.00e0 = 0
Keyboard.00e1 = 0
Keyboard.00e2 = 0
Keyboard.00e3 = 0
Keyboard.00e4 = 0
Keyboard.00e5 = 0
Keyboard.00e6 = 0
Keyboard.00e7 = 0
Keyboard.002a = 1

report (size 8) (unnumbered) =  00 00 00 00 00 00 00 00
Keyboard.00e0 = 0
Keyboard.00e1 = 0
Keyboard.00e2 = 0
Keyboard.00e3 = 0
Keyboard.00e4 = 0
Keyboard.00e5 = 0
Keyboard.00e6 = 0
Keyboard.00e7 = 0
Keyboard.002a = 0"

"cat /sys/kernel/debug/hid/0003\:060B\:2270.0004/rdesc
05 01 09 06 a1 01 05 07 19 e0 29 e7 15 00 25 01 75 01 95 08 81 02 95 01 
75 08 81 01 95 03 75 01 05 08 19 01 29 03 91 02 95 05 75 01 91 01 95 06 
75 08 26 ff 00 05 07 19 00 29 91 81 00 09 00 15 00 26 ff 00 75 08 95 08 
b1 00 c0

   INPUT[INPUT]
     Field(0)
       Application(GenericDesktop.Keyboard)
       Usage(8)
         Keyboard.00e0
         Keyboard.00e1
         Keyboard.00e2
         Keyboard.00e3
         Keyboard.00e4
         Keyboard.00e5
         Keyboard.00e6
         Keyboard.00e7
       Logical Minimum(0)
       Logical Maximum(1)
       Report Size(1)
       Report Count(8)
       Report Offset(0)
       Flags( Variable Absolute )
     Field(1)
       Application(GenericDesktop.Keyboard)
       Usage(146)
         Keyboard.0000
         Keyboard.0001
         Keyboard.0002
         Keyboard.0003
         Keyboard.0004
         Keyboard.0005
         Keyboard.0006
         Keyboard.0007
         Keyboard.0008
         Keyboard.0009
         Keyboard.000a
         Keyboard.000b
         Keyboard.000c
         Keyboard.000d
         Keyboard.000e
         Keyboard.000f
         Keyboard.0010
         Keyboard.0011
         Keyboard.0012
         Keyboard.0013
         Keyboard.0014
         Keyboard.0015
         Keyboard.0016
         Keyboard.0017
         Keyboard.0018
         Keyboard.0019
         Keyboard.001a
         Keyboard.001b
         Keyboard.001c
         Keyboard.001d
         Keyboard.001e
         Keyboard.001f
         Keyboard.0020
         Keyboard.0021
         Keyboard.0022
         Keyboard.0023
         Keyboard.0024
         Keyboard.0025
         Keyboard.0026
         Keyboard.0027
         Keyboard.0028
         Keyboard.0029
         Keyboard.002a
         Keyboard.002b
         Keyboard.002c
         Keyboard.002d
         Keyboard.002e
         Keyboard.002f
         Keyboard.0030
         Keyboard.0031
         Keyboard.0032
         Keyboard.0033
         Keyboard.0034
         Keyboard.0035
         Keyboard.0036
         Keyboard.0037
         Keyboard.0038
         Keyboard.0039
         Keyboard.003a
         Keyboard.003b
         Keyboard.003c
         Keyboard.003d
         Keyboard.003e
         Keyboard.003f
         Keyboard.0040
         Keyboard.0041
         Keyboard.0042
         Keyboard.0043
         Keyboard.0044
         Keyboard.0045
         Keyboard.0046
         Keyboard.0047
         Keyboard.0048
         Keyboard.0049
         Keyboard.004a
         Keyboard.004b
         Keyboard.004c
         Keyboard.004d
         Keyboard.004e
         Keyboard.004f
         Keyboard.0050
         Keyboard.0051
         Keyboard.0052
         Keyboard.0053
         Keyboard.0054
         Keyboard.0055
         Keyboard.0056
         Keyboard.0057
         Keyboard.0058
         Keyboard.0059
         Keyboard.005a
         Keyboard.005b
         Keyboard.005c
         Keyboard.005d
         Keyboard.005e
         Keyboard.005f
         Keyboard.0060
         Keyboard.0061
         Keyboard.0062
         Keyboard.0063
         Keyboard.0064
         Keyboard.0065
         Keyboard.0066
         Keyboard.0067
         Keyboard.0068
         Keyboard.0069
         Keyboard.006a
         Keyboard.006b
         Keyboard.006c
         Keyboard.006d
         Keyboard.006e
         Keyboard.006f
         Keyboard.0070
         Keyboard.0071
         Keyboard.0072
         Keyboard.0073
         Keyboard.0074
         Keyboard.0075
         Keyboard.0076
         Keyboard.0077
         Keyboard.0078
         Keyboard.0079
         Keyboard.007a
         Keyboard.007b
         Keyboard.007c
         Keyboard.007d
         Keyboard.007e
         Keyboard.007f
         Keyboard.0080
         Keyboard.0081
         Keyboard.0082
         Keyboard.0083
         Keyboard.0084
         Keyboard.0085
         Keyboard.0086
         Keyboard.0087
         Keyboard.0088
         Keyboard.0089
         Keyboard.008a
         Keyboard.008b
         Keyboard.008c
         Keyboard.008d
         Keyboard.008e
         Keyboard.008f
         Keyboard.0090
         Keyboard.0091
       Logical Minimum(0)
       Logical Maximum(255)
       Report Size(8)
       Report Count(6)
       Report Offset(16)
       Flags( Array Absolute )
   OUTPUT[OUTPUT]
     Field(0)
       Application(GenericDesktop.Keyboard)
       Usage(3)
         LED.NumLock
         LED.CapsLock
         LED.ScrollLock
       Logical Minimum(0)
       Logical Maximum(1)
       Report Size(1)
       Report Count(3)
       Report Offset(0)
       Flags( Variable Absolute )
   FEATURE[FEATURE]
     Field(0)
       Application(GenericDesktop.Keyboard)
       Usage(8)
         Keyboard.0000
         Keyboard.0000
         Keyboard.0000
         Keyboard.0000
         Keyboard.0000
         Keyboard.0000
         Keyboard.0000
         Keyboard.0000
       Logical Minimum(0)
       Logical Maximum(255)
       Report Size(8)
       Report Count(8)
       Report Offset(0)
       Flags( Array Absolute )

Keyboard.00e0 ---> Key.LeftControl
Keyboard.00e1 ---> Key.LeftShift
Keyboard.00e2 ---> Key.LeftAlt
Keyboard.00e3 ---> Key.LeftMeta
Keyboard.00e4 ---> Key.RightCtrl
Keyboard.00e5 ---> Key.RightShift
Keyboard.00e6 ---> Key.RightAlt
Keyboard.00e7 ---> Key.RightMeta
Keyboard.0000 ---> Sync.Report
Keyboard.0001 ---> Sync.Report
Keyboard.0002 ---> Sync.Report
Keyboard.0003 ---> Sync.Report
Keyboard.0004 ---> Key.A
Keyboard.0005 ---> Key.B
Keyboard.0006 ---> Key.C
Keyboard.0007 ---> Key.D
Keyboard.0008 ---> Key.E
Keyboard.0009 ---> Key.F
Keyboard.000a ---> Key.G
Keyboard.000b ---> Key.H
Keyboard.000c ---> Key.I
Keyboard.000d ---> Key.J
Keyboard.000e ---> Key.K
Keyboard.000f ---> Key.L
Keyboard.0010 ---> Key.M
Keyboard.0011 ---> Key.N
Keyboard.0012 ---> Key.O
Keyboard.0013 ---> Key.P
Keyboard.0014 ---> Key.Q
Keyboard.0015 ---> Key.R
Keyboard.0016 ---> Key.S
Keyboard.0017 ---> Key.T
Keyboard.0018 ---> Key.U
Keyboard.0019 ---> Key.V
Keyboard.001a ---> Key.W
Keyboard.001b ---> Key.X
Keyboard.001c ---> Key.Y
Keyboard.001d ---> Key.Z
Keyboard.001e ---> Key.1
Keyboard.001f ---> Key.2
Keyboard.0020 ---> Key.3
Keyboard.0021 ---> Key.4
Keyboard.0022 ---> Key.5
Keyboard.0023 ---> Key.6
Keyboard.0024 ---> Key.7
Keyboard.0025 ---> Key.8
Keyboard.0026 ---> Key.9
Keyboard.0027 ---> Key.0
Keyboard.0028 ---> Key.Enter
Keyboard.0029 ---> Key.Esc
Keyboard.002a ---> Key.Backspace
Keyboard.002b ---> Key.Tab
Keyboard.002c ---> Key.Space
Keyboard.002d ---> Key.Minus
Keyboard.002e ---> Key.Equal
Keyboard.002f ---> Key.LeftBrace
Keyboard.0030 ---> Key.RightBrace
Keyboard.0031 ---> Key.BackSlash
Keyboard.0032 ---> Key.BackSlash
Keyboard.0033 ---> Key.Semicolon
Keyboard.0034 ---> Key.Apostrophe
Keyboard.0035 ---> Key.Grave
Keyboard.0036 ---> Key.Comma
Keyboard.0037 ---> Key.Dot
Keyboard.0038 ---> Key.Slash
Keyboard.0039 ---> Key.CapsLock
Keyboard.003a ---> Key.F1
Keyboard.003b ---> Key.F2
Keyboard.003c ---> Key.F3
Keyboard.003d ---> Key.F4
Keyboard.003e ---> Key.F5
Keyboard.003f ---> Key.F6
Keyboard.0040 ---> Key.F7
Keyboard.0041 ---> Key.F8
Keyboard.0042 ---> Key.F9
Keyboard.0043 ---> Key.F10
Keyboard.0044 ---> Key.F11
Keyboard.0045 ---> Key.F12
Keyboard.0046 ---> Key.SysRq
Keyboard.0047 ---> Key.ScrollLock
Keyboard.0048 ---> Key.Pause
Keyboard.0049 ---> Key.Insert
Keyboard.004a ---> Key.Home
Keyboard.004b ---> Key.PageUp
Keyboard.004c ---> Key.Delete
Keyboard.004d ---> Key.End
Keyboard.004e ---> Key.PageDown
Keyboard.004f ---> Key.Right
Keyboard.0050 ---> Key.Left
Keyboard.0051 ---> Key.Down
Keyboard.0052 ---> Key.Up
Keyboard.0053 ---> Key.NumLock
Keyboard.0054 ---> Key.KPSlash
Keyboard.0055 ---> Key.KPAsterisk
Keyboard.0056 ---> Key.KPMinus
Keyboard.0057 ---> Key.KPPlus
Keyboard.0058 ---> Key.KPEnter
Keyboard.0059 ---> Key.KP1
Keyboard.005a ---> Key.KP2
Keyboard.005b ---> Key.KP3
Keyboard.005c ---> Key.KP4
Keyboard.005d ---> Key.KP5
Keyboard.005e ---> Key.KP6
Keyboard.005f ---> Key.KP7
Keyboard.0060 ---> Key.KP8
Keyboard.0061 ---> Key.KP9
Keyboard.0062 ---> Key.KP0
Keyboard.0063 ---> Key.KPDot
Keyboard.0064 ---> Key.102nd
Keyboard.0065 ---> Key.Compose
Keyboard.0066 ---> Key.Power
Keyboard.0067 ---> Key.KPEqual
Keyboard.0068 ---> Key.F13
Keyboard.0069 ---> Key.F14
Keyboard.006a ---> Key.F15
Keyboard.006b ---> Key.F16
Keyboard.006c ---> Key.F17
Keyboard.006d ---> Key.F18
Keyboard.006e ---> Key.F19
Keyboard.006f ---> Key.F20
Keyboard.0070 ---> Key.F21
Keyboard.0071 ---> Key.F22
Keyboard.0072 ---> Key.F23
Keyboard.0073 ---> Key.F24
Keyboard.0074 ---> Key.Open
Keyboard.0075 ---> Key.Help
Keyboard.0076 ---> Key.Props
Keyboard.0077 ---> Key.Front
Keyboard.0078 ---> Key.Stop
Keyboard.0079 ---> Key.Again
Keyboard.007a ---> Key.Undo
Keyboard.007b ---> Key.Cut
Keyboard.007c ---> Key.Copy
Keyboard.007d ---> Key.Paste
Keyboard.007e ---> Key.Find
Keyboard.007f ---> Key.Mute
Keyboard.0080 ---> Key.VolumeUp
Keyboard.0081 ---> Key.VolumeDown
Keyboard.0082 ---> Key.Unknown
Keyboard.0083 ---> Key.Unknown
Keyboard.0084 ---> Key.Unknown
Keyboard.0085 ---> Key.KPComma
Keyboard.0086 ---> Key.Unknown
Keyboard.0087 ---> Key.RO
Keyboard.0088 ---> Key.Katakana/Hiragana
Keyboard.0089 ---> Key.Yen
Keyboard.008a ---> Key.Henkan
Keyboard.008b ---> Key.Muhenkan
Keyboard.008c ---> Key.KPJpComma
Keyboard.008d ---> Key.Unknown
Keyboard.008e ---> Key.Unknown
Keyboard.008f ---> Key.Unknown
Keyboard.0090 ---> Key.Hangeul
Keyboard.0091 ---> Key.Hanja
LED.NumLock ---> LED.NumLock
LED.CapsLock ---> LED.CapsLock
LED.ScrollLock ---> LED.ScrollLock"

"cat /sys/kernel/debug/hid/0003\:060B\:2270.0005/rdesc
05 01 09 80 a1 01 85 01 19 81 29 83 15 00 25 01 95 03 75 01 81 02 95 01 
75 05 81 01 c0 05 0c 09 01 a1 01 85 02 19 00 2a ff 7f 15 00 26 ff 7f 95 
01 75 10 81 00 c0 05 01 09 06 a1 01 85 03 95 38 75 01 15 00 25 01 05 07 
19 e0 29 e7 19 00 29 2f 81 02 c0 05 01 09 06 a1 01 85 04 95 38 75 01 15 
00 25 01 05 07 19 30 29 67 81 02 c0

   INPUT(1)[INPUT]
     Field(0)
       Application(GenericDesktop.SystemControl)
       Usage(3)
         GenericDesktop.SystemPowerDown
         GenericDesktop.SystemSleep
         GenericDesktop.SystemWakeUp
       Logical Minimum(0)
       Logical Maximum(1)
       Report Size(1)
       Report Count(3)
       Report Offset(0)
       Flags( Variable Absolute )

GenericDesktop.SystemPowerDown ---> Sync.Report
GenericDesktop.SystemSleep ---> Sync.Report
GenericDesktop.SystemWakeUp ---> Sync.Report"

"cat /sys/kernel/debug/hid/0003\:1044\:7A02.0001/rdesc
05 01 09 06 a1 01 05 07 19 e0 29 e7 15 00 25 01 75 01 95 08 81 02 95 01 
75 08 81 01 05 07 19 00 29 a4 16 a4 00 95 0e 81 00 c0

   INPUT[INPUT]
     Field(0)
       Application(GenericDesktop.Keyboard)
       Usage(8)
         Keyboard.00e0
         Keyboard.00e1
         Keyboard.00e2
         Keyboard.00e3
         Keyboard.00e4
         Keyboard.00e5
         Keyboard.00e6
         Keyboard.00e7
       Logical Minimum(0)
       Logical Maximum(1)
       Report Size(1)
       Report Count(8)
       Report Offset(0)
       Flags( Variable Absolute )

Keyboard.00e0 ---> Sync.Report
Keyboard.00e1 ---> Sync.Report
Keyboard.00e2 ---> Sync.Report
Keyboard.00e3 ---> Sync.Report
Keyboard.00e4 ---> Sync.Report
Keyboard.00e5 ---> Sync.Report
Keyboard.00e6 ---> Sync.Report
Keyboard.00e7 ---> Sync.Report"

"cat /sys/kernel/debug/hid/0003\:060B\:2270.0004/events
(with pressing backspace)

report (size 8) (unnumbered) =  00 00 2a 00 00 00 00 00
Keyboard.00e0 = 0
Keyboard.00e1 = 0
Keyboard.00e2 = 0
Keyboard.00e3 = 0
Keyboard.00e4 = 0
Keyboard.00e5 = 0
Keyboard.00e6 = 0
Keyboard.00e7 = 0
Keyboard.002a = 1

report (size 8) (unnumbered) =  00 00 00 00 00 00 00 00
Keyboard.00e0 = 0
Keyboard.00e1 = 0
Keyboard.00e2 = 0
Keyboard.00e3 = 0
Keyboard.00e4 = 0
Keyboard.00e5 = 0
Keyboard.00e6 = 0
Keyboard.00e7 = 0
Keyboard.002a = 0

report (size 8) (unnumbered) =  00 00 2a 00 00 00 00 00
Keyboard.00e0 = 0
Keyboard.00e1 = 0
Keyboard.00e2 = 0
Keyboard.00e3 = 0
Keyboard.00e4 = 0
Keyboard.00e5 = 0
Keyboard.00e6 = 0
Keyboard.00e7 = 0
Keyboard.002a = 1

report (size 8) (unnumbered) =  00 00 00 00 00 00 00 00
Keyboard.00e0 = 0
Keyboard.00e1 = 0
Keyboard.00e2 = 0
Keyboard.00e3 = 0
Keyboard.00e4 = 0
Keyboard.00e5 = 0
Keyboard.00e6 = 0
Keyboard.00e7 = 0
Keyboard.002a = 0"

2012-02-01 21:06 keltezéssel, Jiri Kosina írta:
On Wed, 1 Feb 2012, zitev wrote:
quoted
I did every step of test, but after testing the /tmp/mon.out file is 0byte
(empty)

next task?
Does /dev/input/eventX get created? (I guess it does, as at least some
key(s) make it through).

If so, please provide

	cat /sys/kernel/debug/hid/<device>/rdesc

and
	cat /sys/kernel/debug/hid/<device>/events

Please run the second command, then press some of the non-working keys
(press "a" for starters), and provide the output.
--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Re: not supported hardware: Gigabyte K8100 Aivia USB Gaming Keyboard

From: Jiri Kosina <hidden>
Date: 2012-02-09 21:33:25

On Thu, 2 Feb 2012, zitev wrote:
0003:060B:2270.0004/
0003:060B:2270.0005/
0003:1044:7A02.0001/
0003:1044:7A02.0002/
0003:1044:7A02.0003/
Apparently the '0004' one is a keyboard interface.

[ ... snip ... ]
"cat /sys/kernel/debug/hid/0003\:060B\:2270.0004/rdesc
05 01 09 06 a1 01 05 07 19 e0 29 e7 15 00 25 01 75 01 95 08 81 02 95 01 75 08
81 01 95 03 75 01 05 08 19 01 29 03 91 02 95 05 75 01 91 01 95 06 75 08 26 ff
00 05 07 19 00 29 91 81 00 09 00 15 00 26 ff 00 75 08 95 08 b1 00 c0

  INPUT[INPUT]
    Field(0)
      Application(GenericDesktop.Keyboard)
      Usage(8)
        Keyboard.00e0
        Keyboard.00e1
        Keyboard.00e2
        Keyboard.00e3
        Keyboard.00e4
        Keyboard.00e5
        Keyboard.00e6
        Keyboard.00e7
      Logical Minimum(0)
      Logical Maximum(1)
      Report Size(1)
      Report Count(8)
      Report Offset(0)
      Flags( Variable Absolute )
    Field(1)
      Application(GenericDesktop.Keyboard)
      Usage(146)
        Keyboard.0000
        Keyboard.0001
        Keyboard.0002
        Keyboard.0003
        Keyboard.0004
        Keyboard.0005
        Keyboard.0006
        Keyboard.0007
        Keyboard.0008
        Keyboard.0009
        Keyboard.000a
        Keyboard.000b
        Keyboard.000c
        Keyboard.000d
        Keyboard.000e
        Keyboard.000f
        Keyboard.0010
        Keyboard.0011
        Keyboard.0012
        Keyboard.0013
        Keyboard.0014
        Keyboard.0015
        Keyboard.0016
        Keyboard.0017
        Keyboard.0018
        Keyboard.0019
        Keyboard.001a
        Keyboard.001b
        Keyboard.001c
        Keyboard.001d
        Keyboard.001e
        Keyboard.001f
        Keyboard.0020
        Keyboard.0021
        Keyboard.0022
        Keyboard.0023
        Keyboard.0024
        Keyboard.0025
        Keyboard.0026
        Keyboard.0027
        Keyboard.0028
        Keyboard.0029
        Keyboard.002a
        Keyboard.002b
        Keyboard.002c
        Keyboard.002d
        Keyboard.002e
        Keyboard.002f
        Keyboard.0030
        Keyboard.0031
        Keyboard.0032
        Keyboard.0033
        Keyboard.0034
        Keyboard.0035
        Keyboard.0036
        Keyboard.0037
        Keyboard.0038
        Keyboard.0039
        Keyboard.003a
        Keyboard.003b
        Keyboard.003c
        Keyboard.003d
        Keyboard.003e
        Keyboard.003f
        Keyboard.0040
        Keyboard.0041
        Keyboard.0042
        Keyboard.0043
        Keyboard.0044
        Keyboard.0045
        Keyboard.0046
        Keyboard.0047
        Keyboard.0048
        Keyboard.0049
        Keyboard.004a
        Keyboard.004b
        Keyboard.004c
        Keyboard.004d
        Keyboard.004e
        Keyboard.004f
        Keyboard.0050
        Keyboard.0051
        Keyboard.0052
        Keyboard.0053
        Keyboard.0054
        Keyboard.0055
        Keyboard.0056
        Keyboard.0057
        Keyboard.0058
        Keyboard.0059
        Keyboard.005a
        Keyboard.005b
        Keyboard.005c
        Keyboard.005d
        Keyboard.005e
        Keyboard.005f
        Keyboard.0060
        Keyboard.0061
        Keyboard.0062
        Keyboard.0063
        Keyboard.0064
        Keyboard.0065
        Keyboard.0066
        Keyboard.0067
        Keyboard.0068
        Keyboard.0069
        Keyboard.006a
        Keyboard.006b
        Keyboard.006c
        Keyboard.006d
        Keyboard.006e
        Keyboard.006f
        Keyboard.0070
        Keyboard.0071
        Keyboard.0072
        Keyboard.0073
        Keyboard.0074
        Keyboard.0075
        Keyboard.0076
        Keyboard.0077
        Keyboard.0078
        Keyboard.0079
        Keyboard.007a
        Keyboard.007b
        Keyboard.007c
        Keyboard.007d
        Keyboard.007e
        Keyboard.007f
        Keyboard.0080
        Keyboard.0081
        Keyboard.0082
        Keyboard.0083
        Keyboard.0084
        Keyboard.0085
        Keyboard.0086
        Keyboard.0087
        Keyboard.0088
        Keyboard.0089
        Keyboard.008a
        Keyboard.008b
        Keyboard.008c
        Keyboard.008d
        Keyboard.008e
        Keyboard.008f
        Keyboard.0090
        Keyboard.0091
      Logical Minimum(0)
      Logical Maximum(255)
      Report Size(8)
      Report Count(6)
      Report Offset(16)
      Flags( Array Absolute )
  OUTPUT[OUTPUT]
    Field(0)
      Application(GenericDesktop.Keyboard)
      Usage(3)
        LED.NumLock
        LED.CapsLock
        LED.ScrollLock
      Logical Minimum(0)
      Logical Maximum(1)
      Report Size(1)
      Report Count(3)
      Report Offset(0)
      Flags( Variable Absolute )
  FEATURE[FEATURE]
    Field(0)
      Application(GenericDesktop.Keyboard)
      Usage(8)
        Keyboard.0000
        Keyboard.0000
        Keyboard.0000
        Keyboard.0000
        Keyboard.0000
        Keyboard.0000
        Keyboard.0000
        Keyboard.0000
      Logical Minimum(0)
      Logical Maximum(255)
      Report Size(8)
      Report Count(8)
      Report Offset(0)
      Flags( Array Absolute )
This looks like a proper report descriptor for keyboard, fine.
"cat /sys/kernel/debug/hid/0003\:060B\:2270.0004/events
(with pressing backspace)

report (size 8) (unnumbered) =  00 00 2a 00 00 00 00 00
Keyboard.00e0 = 0
Keyboard.00e1 = 0
Keyboard.00e2 = 0
Keyboard.00e3 = 0
Keyboard.00e4 = 0
Keyboard.00e5 = 0
Keyboard.00e6 = 0
Keyboard.00e7 = 0
Keyboard.002a = 1

report (size 8) (unnumbered) =  00 00 00 00 00 00 00 00
Keyboard.00e0 = 0
Keyboard.00e1 = 0
Keyboard.00e2 = 0
Keyboard.00e3 = 0
Keyboard.00e4 = 0
Keyboard.00e5 = 0
Keyboard.00e6 = 0
Keyboard.00e7 = 0
Keyboard.002a = 0

report (size 8) (unnumbered) =  00 00 2a 00 00 00 00 00
Keyboard.00e0 = 0
Keyboard.00e1 = 0
Keyboard.00e2 = 0
Keyboard.00e3 = 0
Keyboard.00e4 = 0
Keyboard.00e5 = 0
Keyboard.00e6 = 0
Keyboard.00e7 = 0
Keyboard.002a = 1

report (size 8) (unnumbered) =  00 00 00 00 00 00 00 00
Keyboard.00e0 = 0
Keyboard.00e1 = 0
Keyboard.00e2 = 0
Keyboard.00e3 = 0
Keyboard.00e4 = 0
Keyboard.00e5 = 0
Keyboard.00e6 = 0
Keyboard.00e7 = 0
Keyboard.002a = 0"
Good, backspace works as expected on 0004 interface. Now please provide 
output of the same file when pressing some of the non-working keys, let's 
say "A".

Thanks,

-- 
Jiri Kosina
SUSE Labs
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help