* USB keyboard recognized as HID keyboard but doesn't work
@ 2011-04-30 20:23 Adi J. Sieker
2011-05-01 7:53 ` Oliver Neukum
0 siblings, 1 reply; 18+ messages in thread
From: Adi J. Sieker @ 2011-04-30 20:23 UTC (permalink / raw)
To: linux-input; +Cc: linux-kernel
Hello,
the lovely folks from #kernelnewbies suggested I write this mail since
they are at a loss.
I recently got a new USB keyboard which works fine in the BIOS and also
in VBox Windows guests, but not on the host.
The keyboard is a Keysonic KSK-8003 UX product details here:
http://maxpoint.de/de/products/keyboards.php?pid=1_3_7&we_objectID=1220
The menu key and the backspace keys do work. The num lock led is on,
though I can't switch num lock off.
If I attch the keyboard to a VirtualBox VM running WindowsXP as a guest,
it works as expected in the VM.
I'm running 2.6.32-27-generic #49-Ubuntu. I tried the Ubuntu 10.10
LiveCD and that also didn't work. I haven't tried 11.04 yet though.
The output of lsusb -v is available here http://pastie.org/1851416
The relevant part of dmesg output:
[ 6.501902] input: KB USB Keyboard as
/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.3/2-1.3:1.0/input/input9
[ 6.502028] generic-usb 0003:060B:0230.0001: input,hidraw0: USB HID
v1.10 Keyboard [KB USB Keyboard] on usb-0000:00:1d.0-1.3/input0
[ 6.503408] Bluetooth: Generic Bluetooth USB driver ver 0.6
[ 6.503508] usbcore: registered new interface driver btusb
[ 6.516681] generic-usb: probe of 0003:060B:0230.0002 failed with
error -22
I'd be grateful for any help and or pointers in the right to get this
keyboard to work.
Regards
Adi
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: USB keyboard recognized as HID keyboard but doesn't work
2011-04-30 20:23 USB keyboard recognized as HID keyboard but doesn't work Adi J. Sieker
@ 2011-05-01 7:53 ` Oliver Neukum
2011-05-01 17:49 ` Adi J. Sieker
0 siblings, 1 reply; 18+ messages in thread
From: Oliver Neukum @ 2011-05-01 7:53 UTC (permalink / raw)
To: Adi J. Sieker, USB list; +Cc: linux-input, linux-kernel
Am Samstag, 30. April 2011, 22:23:05 schrieb Adi J. Sieker:
> Hello,
>
> the lovely folks from #kernelnewbies suggested I write this mail since
> they are at a loss.
> I recently got a new USB keyboard which works fine in the BIOS and also
> in VBox Windows guests, but not on the host.
>
> The keyboard is a Keysonic KSK-8003 UX product details here:
> http://maxpoint.de/de/products/keyboards.php?pid=1_3_7&we_objectID=1220
>
> The menu key and the backspace keys do work. The num lock led is on,
> though I can't switch num lock off.
> If I attch the keyboard to a VirtualBox VM running WindowsXP as a guest,
> it works as expected in the VM.
This indicates that it is working on the USB level.
> I'm running 2.6.32-27-generic #49-Ubuntu. I tried the Ubuntu 10.10
> LiveCD and that also didn't work. I haven't tried 11.04 yet though.
Do you get anything on the event device? What does udev say when you
plug in the device?
Regards
Oliver
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: USB keyboard recognized as HID keyboard but doesn't work
2011-05-01 7:53 ` Oliver Neukum
@ 2011-05-01 17:49 ` Adi J. Sieker
2011-05-02 14:04 ` Alan Stern
0 siblings, 1 reply; 18+ messages in thread
From: Adi J. Sieker @ 2011-05-01 17:49 UTC (permalink / raw)
To: Oliver Neukum; +Cc: USB list, linux-input, linux-kernel
On 01/05/11 09:53, Oliver Neukum wrote:
> Am Samstag, 30. April 2011, 22:23:05 schrieb Adi J. Sieker:
>> Hello,
>>
>> the lovely folks from #kernelnewbies suggested I write this mail since
>> they are at a loss.
>> I recently got a new USB keyboard which works fine in the BIOS and also
>> in VBox Windows guests, but not on the host.
>>
>> The keyboard is a Keysonic KSK-8003 UX product details here:
>> http://maxpoint.de/de/products/keyboards.php?pid=1_3_7&we_objectID=1220
>>
>> The menu key and the backspace keys do work. The num lock led is on,
>> though I can't switch num lock off.
>> If I attch the keyboard to a VirtualBox VM running WindowsXP as a guest,
>> it works as expected in the VM.
> This indicates that it is working on the USB level.
>
>> I'm running 2.6.32-27-generic #49-Ubuntu. I tried the Ubuntu 10.10
>> LiveCD and that also didn't work. I haven't tried 11.04 yet though.
> Do you get anything on the event device? What does udev say when you
> plug in the device?
>
udevadm monitor output is:
monitor will print the received events for:
UDEV - the event which udev sends out after rule processing
KERNEL - the kernel uevent
KERNEL[1304270944.379238] add
/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.3 (usb)
KERNEL[1304270944.380140] add
/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.3/2-1.3:1.0 (usb)
KERNEL[1304270944.380238] add
/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.3/2-1.3:1.0/0003:060B:0230.0004
(hid)
KERNEL[1304270944.389434] add
/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.3/2-1.3:1.0/input/input17
(input)
KERNEL[1304270944.389811] add
/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.3/2-1.3:1.0/input/input17/event7
(input)
KERNEL[1304270944.389863] add
/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.3/2-1.3:1.0/0003:060B:0230.0004/hidraw/hidraw0
(hidraw)
KERNEL[1304270944.389917] add
/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.3/2-1.3:1.1 (usb)
KERNEL[1304270944.390031] add
/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.3/2-1.3:1.1/0003:060B:0230.0005
(hid)
UDEV [1304270944.396889] add
/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.3 (usb)
UDEV [1304270944.398067] add
/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.3/2-1.3:1.1 (usb)
UDEV [1304270944.398122] add
/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.3/2-1.3:1.0 (usb)
UDEV [1304270944.400048] add
/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.3/2-1.3:1.0/0003:060B:0230.0004
(hid)
UDEV [1304270944.400947] add
/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.3/2-1.3:1.0/0003:060B:0230.0004/hidraw/hidraw0
(hidraw)
UDEV [1304270944.401033] add
/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.3/2-1.3:1.1/0003:060B:0230.0005
(hid)
UDEV [1304270944.408614] add
/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.3/2-1.3:1.0/input/input17
(input)
UDEV [1304270944.415928] add
/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.3/2-1.3:1.0/input/input17/event7
(input)
one thing I found out is that this keyboard has some special anti
ghosting function for some keys. Where you can press multiple keys
simultaneously
and they are all recognized. This is apparently great for gaming. Which
I'm not interested in...
Cheers
Adi
--
Adi J. Sieker
Steurentalstr. 2
79252 Stegen
mobile: +49 / 178 / 88 5 88 13
tel: +49 / 7661 / 91 92 813
web: http://sieker.io/profile
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: USB keyboard recognized as HID keyboard but doesn't work
2011-05-01 17:49 ` Adi J. Sieker
@ 2011-05-02 14:04 ` Alan Stern
2011-05-02 19:35 ` Adi J. Sieker
0 siblings, 1 reply; 18+ messages in thread
From: Alan Stern @ 2011-05-02 14:04 UTC (permalink / raw)
To: Adi J. Sieker; +Cc: Oliver Neukum, USB list, linux-input, linux-kernel
On Sun, 1 May 2011, Adi J. Sieker wrote:
> On 01/05/11 09:53, Oliver Neukum wrote:
> > Am Samstag, 30. April 2011, 22:23:05 schrieb Adi J. Sieker:
> >> Hello,
> >>
> >> the lovely folks from #kernelnewbies suggested I write this mail since
> >> they are at a loss.
> >> I recently got a new USB keyboard which works fine in the BIOS and also
> >> in VBox Windows guests, but not on the host.
> >>
> >> The keyboard is a Keysonic KSK-8003 UX product details here:
> >> http://maxpoint.de/de/products/keyboards.php?pid=1_3_7&we_objectID=1220
> >>
> >> The menu key and the backspace keys do work. The num lock led is on,
> >> though I can't switch num lock off.
> >> If I attch the keyboard to a VirtualBox VM running WindowsXP as a guest,
> >> it works as expected in the VM.
> > This indicates that it is working on the USB level.
> >
> >> I'm running 2.6.32-27-generic #49-Ubuntu. I tried the Ubuntu 10.10
> >> LiveCD and that also didn't work. I haven't tried 11.04 yet though.
> > Do you get anything on the event device? What does udev say when you
> > plug in the device?
...
> one thing I found out is that this keyboard has some special anti
> ghosting function for some keys. Where you can press multiple keys
> simultaneously
> and they are all recognized. This is apparently great for gaming. Which
> I'm not interested in...
Something else that might help is a usbmon trace showing what happens
when you plug in the keyboard. Instructions are in the kernel source
file Documentation/usb/usbmon.txt. In particular, while running the
test try pressing some of the normal keys that don't work.
Also, it would help to see the output from "lsusb -v" for this device
-- but you'll have to unbind it from the usbhid driver first.
Alan Stern
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: USB keyboard recognized as HID keyboard but doesn't work
2011-05-02 14:04 ` Alan Stern
@ 2011-05-02 19:35 ` Adi J. Sieker
2011-05-02 20:27 ` Alan Stern
0 siblings, 1 reply; 18+ messages in thread
From: Adi J. Sieker @ 2011-05-02 19:35 UTC (permalink / raw)
To: Alan Stern; +Cc: Oliver Neukum, USB list, linux-input, linux-kernel
[-- Attachment #1: Type: text/plain, Size: 2220 bytes --]
On 02/05/11 16:04, Alan Stern wrote:
> On Sun, 1 May 2011, Adi J. Sieker wrote:
>
>> On 01/05/11 09:53, Oliver Neukum wrote:
>>> Am Samstag, 30. April 2011, 22:23:05 schrieb Adi J. Sieker:
>>>> Hello,
>>>>
>>>> the lovely folks from #kernelnewbies suggested I write this mail since
>>>> they are at a loss.
>>>> I recently got a new USB keyboard which works fine in the BIOS and also
>>>> in VBox Windows guests, but not on the host.
>>>>
>>>> The keyboard is a Keysonic KSK-8003 UX product details here:
>>>> http://maxpoint.de/de/products/keyboards.php?pid=1_3_7&we_objectID=1220
>>>>
>>>> The menu key and the backspace keys do work. The num lock led is on,
>>>> though I can't switch num lock off.
>>>> If I attch the keyboard to a VirtualBox VM running WindowsXP as a guest,
>>>> it works as expected in the VM.
>>> This indicates that it is working on the USB level.
>>>
>>>> I'm running 2.6.32-27-generic #49-Ubuntu. I tried the Ubuntu 10.10
>>>> LiveCD and that also didn't work. I haven't tried 11.04 yet though.
>>> Do you get anything on the event device? What does udev say when you
>>> plug in the device?
>
> ...
>
>> one thing I found out is that this keyboard has some special anti
>> ghosting function for some keys. Where you can press multiple keys
>> simultaneously
>> and they are all recognized. This is apparently great for gaming. Which
>> I'm not interested in...
>
> Something else that might help is a usbmon trace showing what happens
> when you plug in the keyboard. Instructions are in the kernel source
> file Documentation/usb/usbmon.txt. In particular, while running the
> test try pressing some of the normal keys that don't work.
>
The attached file usbmon-working.out is the output when I pressed the
backspace key. When I press any of the non working keys which is
everything but the backspace and menu key. I don't get any output even
when using 0u.
> Also, it would help to see the output from "lsusb -v" for this device
> -- but you'll have to unbind it from the usbhid driver first.
>
When attaching the keyboard I get 2 devices in
/sys/bus/usb/drivers/usbhid/2-1.1:1.0 and
/sys/bus/usb/drivers/usbhid/2-1.1:1.1
The output is in the attached lsusb.txt.
Cheers
Adi
[-- Attachment #2: lsusb.txt --]
[-- Type: text/plain, Size: 12597 bytes --]
root@mini:/sys/bus/usb/drivers/usbhid# ls
1-1.2.2.1:1.0 bind module new_id uevent unbind
root@mini:/sys/bus/usb/drivers/usbhid# ls
1-1.2.2.1:1.0 2-1.1:1.0 2-1.1:1.1 bind module new_id uevent unbind
root@mini:/sys/bus/usb/drivers/usbhid# echo -n 2-1.1:1.0 >unbind
root@mini:/sys/bus/usb/drivers/usbhid# echo -n 2-1.1:1.1 >unbind
root@mini:/sys/bus/usb/drivers/usbhid# lsusb
Bus 002 Device 006: ID 060b:0230 Solid Year
Bus 002 Device 004: ID 0a5c:5801 Broadcom Corp.
Bus 002 Device 003: ID 413c:8187 Dell Computer Corp.
Bus 002 Device 002: ID 8087:0020
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 008: ID 1058:0704 Western Digital Technologies, Inc.
Bus 001 Device 007: ID 046d:c024 Logitech, Inc. MX300 Optical Mouse
Bus 001 Device 006: ID 0409:005a NEC Corp. HighSpeed Hub
Bus 001 Device 005: ID 413c:2513 Dell Computer Corp.
Bus 001 Device 004: ID 413c:2513 Dell Computer Corp.
Bus 001 Device 003: ID 05ca:1814 Ricoh Co., Ltd
Bus 001 Device 002: ID 8087:0020
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
root@mini:/sys/bus/usb/drivers/usbhid# lsusb -v -s 002:006
Bus 002 Device 006: ID 060b:0230 Solid Year
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 1.10
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 8
idVendor 0x060b Solid Year
idProduct 0x0230
bcdDevice 2.20
iManufacturer 1 KB
iProduct 2 USB Keyboard
iSerial 0
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 59
bNumInterfaces 2
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xa0
(Bus Powered)
Remote Wakeup
MaxPower 100mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 3 Human Interface Device
bInterfaceSubClass 1 Boot Interface Subclass
bInterfaceProtocol 1 Keyboard
iInterface 0
HID Device Descriptor:
bLength 9
bDescriptorType 33
bcdHID 1.10
bCountryCode 0 Not supported
bNumDescriptors 1
bDescriptorType 34 Report
wDescriptorLength 75
Report Descriptor: (length is 75)
Item(Global): Usage Page, data= [ 0x01 ] 1
Generic Desktop Controls
Item(Local ): Usage, data= [ 0x06 ] 6
Keyboard
Item(Main ): Collection, data= [ 0x01 ] 1
Application
Item(Global): Usage Page, data= [ 0x07 ] 7
Keyboard
Item(Local ): Usage Minimum, data= [ 0xe0 ] 224
Control Left
Item(Local ): Usage Maximum, data= [ 0xe7 ] 231
GUI Right
Item(Global): Logical Minimum, data= [ 0x00 ] 0
Item(Global): Logical Maximum, data= [ 0x01 ] 1
Item(Global): Report Size, data= [ 0x01 ] 1
Item(Global): Report Count, 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): Report Count, data= [ 0x01 ] 1
Item(Global): Report Size, data= [ 0x08 ] 8
Item(Main ): Input, data= [ 0x01 ] 1
Constant Array Absolute No_Wrap Linear
Preferred_State No_Null_Position Non_Volatile Bitfield
Item(Global): Report Count, data= [ 0x03 ] 3
Item(Global): Report Size, data= [ 0x01 ] 1
Item(Global): Usage Page, data= [ 0x08 ] 8
LEDs
Item(Local ): Usage Minimum, data= [ 0x01 ] 1
NumLock
Item(Local ): Usage Maximum, data= [ 0x03 ] 3
Scroll Lock
Item(Main ): Output, data= [ 0x02 ] 2
Data Variable Absolute No_Wrap Linear
Preferred_State No_Null_Position Non_Volatile Bitfield
Item(Global): Report Count, data= [ 0x05 ] 5
Item(Global): Report Size, data= [ 0x01 ] 1
Item(Main ): Output, data= [ 0x01 ] 1
Constant Array Absolute No_Wrap Linear
Preferred_State No_Null_Position Non_Volatile Bitfield
Item(Global): Report Count, data= [ 0x06 ] 6
Item(Global): Report Size, data= [ 0x08 ] 8
Item(Global): Logical Maximum, data= [ 0xff 0x00 ] 255
Item(Global): Usage Page, data= [ 0x07 ] 7
Keyboard
Item(Local ): Usage Minimum, data= [ 0x00 ] 0
No Event
Item(Local ): Usage Maximum, data= [ 0x91 ] 145
LANG 2 (Hanja Conversion, Korea)
Item(Main ): Input, data= [ 0x00 ] 0
Data Array Absolute No_Wrap Linear
Preferred_State No_Null_Position Non_Volatile Bitfield
Item(Local ): Usage, data= [ 0x00 ] 0
No Event
Item(Global): Logical Minimum, data= [ 0x00 ] 0
Item(Global): Logical Maximum, data= [ 0xff 0x00 ] 255
Item(Global): Report Size, data= [ 0x08 ] 8
Item(Global): Report Count, data= [ 0x08 ] 8
Item(Main ): Feature, data= [ 0x00 ] 0
Data Array 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
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 3 Human Interface Device
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 108
Report Descriptor: (length is 108)
Item(Global): Usage Page, data= [ 0x01 ] 1
Generic Desktop Controls
Item(Local ): Usage, data= [ 0x80 ] 128
System Control
Item(Main ): Collection, data= [ 0x01 ] 1
Application
Item(Global): Report ID, data= [ 0x01 ] 1
Item(Local ): Usage Minimum, data= [ 0x81 ] 129
System Power Down
Item(Local ): Usage Maximum, data= [ 0x83 ] 131
System Wake Up
Item(Global): Logical Minimum, data= [ 0x00 ] 0
Item(Global): Logical Maximum, data= [ 0x01 ] 1
Item(Global): Report Count, data= [ 0x03 ] 3
Item(Global): Report Size, data= [ 0x01 ] 1
Item(Main ): Input, data= [ 0x02 ] 2
Data Variable Absolute No_Wrap Linear
Preferred_State No_Null_Position Non_Volatile Bitfield
Item(Global): Report Count, data= [ 0x01 ] 1
Item(Global): Report Size, data= [ 0x05 ] 5
Item(Main ): Input, data= [ 0x01 ] 1
Constant Array Absolute No_Wrap Linear
Preferred_State No_Null_Position Non_Volatile Bitfield
Item(Main ): End Collection, data=none
Item(Global): Usage Page, data= [ 0x0c ] 12
Consumer
Item(Local ): Usage, data= [ 0x01 ] 1
Consumer Control
Item(Main ): Collection, data= [ 0x01 ] 1
Application
Item(Global): Report ID, data= [ 0x02 ] 2
Item(Local ): Usage Minimum, data= [ 0x00 ] 0
Unassigned
Item(Local ): Usage Maximum, data= [ 0xff 0x7f ] 32767
(null)
Item(Global): Logical Minimum, data= [ 0x00 ] 0
Item(Global): Logical Maximum, data= [ 0xff 0x7f ] 32767
Item(Global): Report Count, data= [ 0x01 ] 1
Item(Global): Report Size, data= [ 0x10 ] 16
Item(Main ): Input, data= [ 0x00 ] 0
Data Array Absolute No_Wrap Linear
Preferred_State No_Null_Position Non_Volatile Bitfield
Item(Main ): End Collection, data=none
Item(Global): Usage Page, data= [ 0x01 ] 1
Generic Desktop Controls
Item(Local ): Usage, data= [ 0x06 ] 6
Keyboard
Item(Main ): Collection, data= [ 0x01 ] 1
Application
Item(Global): Report ID, data= [ 0x03 ] 3
Item(Global): Report Count, data= [ 0x38 ] 56
Item(Global): Report Size, data= [ 0x01 ] 1
Item(Global): Logical Minimum, data= [ 0x00 ] 0
Item(Global): Logical Maximum, data= [ 0x01 ] 1
Item(Global): Usage Page, data= [ 0x07 ] 7
Keyboard
Item(Local ): Usage Minimum, data= [ 0xe0 ] 224
Control Left
Item(Local ): Usage Maximum, data= [ 0xe7 ] 231
GUI Right
Item(Local ): Usage Minimum, data= [ 0x00 ] 0
No Event
Item(Local ): Usage Maximum, data= [ 0x2f ] 47
[ and { (Bracket and Braces Left)
Item(Main ): Input, data= [ 0x02 ] 2
Data Variable Absolute No_Wrap Linear
Preferred_State No_Null_Position Non_Volatile Bitfield
Item(Main ): End Collection, data=none
Item(Global): Usage Page, data= [ 0x01 ] 1
Generic Desktop Controls
Item(Local ): Usage, data= [ 0x06 ] 6
Keyboard
Item(Main ): Collection, data= [ 0x01 ] 1
Application
Item(Global): Report ID, data= [ 0x04 ] 4
Item(Global): Report Count, data= [ 0x38 ] 56
Item(Global): Report Size, data= [ 0x01 ] 1
Item(Global): Logical Minimum, data= [ 0x00 ] 0
Item(Global): Logical Maximum, data= [ 0x01 ] 1
Item(Global): Usage Page, data= [ 0x07 ] 7
Keyboard
Item(Local ): Usage Minimum, data= [ 0x30 ] 48
] and } (Bracket and Braces Right)
Item(Local ): Usage Maximum, data= [ 0x67 ] 103
Keypad = (Equal Sign)
Item(Main ): Input, 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 0x82 EP 2 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0008 1x 8 bytes
bInterval 10
Device Status: 0x0000
(Bus Powered)
root@mini:/sys/bus/usb/drivers/usbhid#
[-- Attachment #3: usbmon-working.out --]
[-- Type: text/plain, Size: 202 bytes --]
f0486100 937500342 C Ii:2:007:1 0:8 8 = 00002a00 00000000
f0486100 937500404 S Ii:2:007:1 -115:8 8 <
f0486100 937564339 C Ii:2:007:1 0:8 8 = 00000000 00000000
f0486100 937564394 S Ii:2:007:1 -115:8 8 <
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: USB keyboard recognized as HID keyboard but doesn't work
2011-05-02 19:35 ` Adi J. Sieker
@ 2011-05-02 20:27 ` Alan Stern
2011-05-02 20:49 ` Adi J. Sieker
0 siblings, 1 reply; 18+ messages in thread
From: Alan Stern @ 2011-05-02 20:27 UTC (permalink / raw)
To: Adi J. Sieker; +Cc: Oliver Neukum, USB list, linux-input, linux-kernel
On Mon, 2 May 2011, Adi J. Sieker wrote:
> > Something else that might help is a usbmon trace showing what happens
> > when you plug in the keyboard. Instructions are in the kernel source
> > file Documentation/usb/usbmon.txt. In particular, while running the
> > test try pressing some of the normal keys that don't work.
> >
>
> The attached file usbmon-working.out is the output when I pressed the
> backspace key. When I press any of the non working keys which is
> everything but the backspace and menu key. I don't get any output even
> when using 0u.
Sorry, I wasn't clear enough. I meant for you to start the usbmon
trace _before_ plugging in the keyboard, so we can see what happens as
the keyboard is initialized and probed.
> > Also, it would help to see the output from "lsusb -v" for this device
> > -- but you'll have to unbind it from the usbhid driver first.
> >
>
> When attaching the keyboard I get 2 devices in
> /sys/bus/usb/drivers/usbhid/2-1.1:1.0 and
> /sys/bus/usb/drivers/usbhid/2-1.1:1.1
>
> The output is in the attached lsusb.txt.
The output looks good. It doesn't mean much to me, but the people on
the linux-input mailing list should be able to get something out of it.
Alan Stern
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: USB keyboard recognized as HID keyboard but doesn't work
2011-05-02 20:27 ` Alan Stern
@ 2011-05-02 20:49 ` Adi J. Sieker
0 siblings, 0 replies; 18+ messages in thread
From: Adi J. Sieker @ 2011-05-02 20:49 UTC (permalink / raw)
To: USB list; +Cc: linux-input, linux-kernel
[-- Attachment #1: Type: text/plain, Size: 1523 bytes --]
On 02/05/11 22:27, Alan Stern wrote:
> On Mon, 2 May 2011, Adi J. Sieker wrote:
>
>>> Something else that might help is a usbmon trace showing what happens
>>> when you plug in the keyboard. Instructions are in the kernel source
>>> file Documentation/usb/usbmon.txt. In particular, while running the
>>> test try pressing some of the normal keys that don't work.
>>>
>>
>> The attached file usbmon-working.out is the output when I pressed the
>> backspace key. When I press any of the non working keys which is
>> everything but the backspace and menu key. I don't get any output even
>> when using 0u.
>
> Sorry, I wasn't clear enough. I meant for you to start the usbmon
> trace _before_ plugging in the keyboard, so we can see what happens as
> the keyboard is initialized and probed.
>
You were clear enough, I just couldn't read. :)
Attached is the usbmon trace when I plug the keyboard in.
lsusb shows the keyboard as:
Bus 002 Device 008: ID 060b:0230 Solid Year
Relevant section from /sys/kernel/debug/usb/devices
T: Bus=02 Lev=02 Prnt=02 Port=00 Cnt=01 Dev#= 8 Spd=1.5 MxCh= 0
D: Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1
P: Vendor=060b ProdID=0230 Rev= 2.20
S: Manufacturer=KB
S: Product=USB Keyboard
C:* #Ifs= 2 Cfg#= 1 Atr=a0 MxPwr=100mA
I:* If#= 0 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=01 Prot=01 Driver=usbhid
E: Ad=81(I) Atr=03(Int.) MxPS= 8 Ivl=10ms
I:* If#= 1 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=00 Prot=00 Driver=usbhid
E: Ad=82(I) Atr=03(Int.) MxPS= 8 Ivl=10ms
Cheers
Adi
[-- Attachment #2: usbmon.out --]
[-- Type: text/plain, Size: 3675 bytes --]
f7290780 1275690550 C Ii:2:002:1 0:2048 2 = 0200
f7290780 1275690564 S Ii:2:002:1 -115:2048 2 <
ed799a80 1275690577 S Ci:2:002:0 s a3 00 0000 0001 0004 4 <
ed799a80 1275690733 C Ci:2:002:0 0 4 = 01010100
ed799a80 1275690760 S Co:2:002:0 s 23 01 0010 0001 0000 0
ed799a80 1275690874 C Co:2:002:0 0 0
ed799a80 1275690896 S Co:2:002:0 s 23 03 0016 0001 0000 0
ed799a80 1275690994 C Co:2:002:0 0 0
ed799a80 1275691013 S Ci:2:002:0 s a3 00 0000 0001 0004 4 <
ed799a80 1275691108 C Ci:2:002:0 0 4 = 01010000
ed799a80 1275721328 S Ci:2:002:0 s a3 00 0000 0001 0004 4 <
ed799a80 1275721498 C Ci:2:002:0 0 4 = 01010000
ed799a80 1275753292 S Ci:2:002:0 s a3 00 0000 0001 0004 4 <
ed799a80 1275753488 C Ci:2:002:0 0 4 = 01010000
ed799a80 1275785291 S Ci:2:002:0 s a3 00 0000 0001 0004 4 <
ed799a80 1275785487 C Ci:2:002:0 0 4 = 01010000
ed799a80 1275817293 S Ci:2:002:0 s a3 00 0000 0001 0004 4 <
ed799a80 1275817494 C Ci:2:002:0 0 4 = 01010000
ed799a80 1275817523 S Co:2:002:0 s 23 03 0004 0001 0000 0
ed799a80 1275817611 C Co:2:002:0 0 0
ed799a80 1275833290 S Ci:2:002:0 s a3 00 0000 0001 0004 4 <
ed799a80 1275833487 C Ci:2:002:0 0 4 = 03031000
ed799a80 1275889293 S Co:2:002:0 s 23 01 0014 0001 0000 0
ed799a80 1275889496 C Co:2:002:0 0 0
ed799a80 1275889532 S Ci:2:000:0 s 80 06 0100 0000 0040 64 <
ed799a80 1275892102 C Ci:2:000:0 0 18 = 12011001 00000008 0b063002 20020102 0001
ed799a80 1275892117 S Co:2:002:0 s 23 03 0004 0001 0000 0
ed799a80 1275892202 C Co:2:002:0 0 0
ed799a80 1275909792 S Ci:2:002:0 s a3 00 0000 0001 0004 4 <
ed799a80 1275910014 C Ci:2:002:0 0 4 = 03031000
f7290780 1275946520 C Ii:2:002:1 0:2048 2 = 0200
f7290780 1275946525 S Ii:2:002:1 -115:2048 2 <
ed799a80 1275965292 S Co:2:002:0 s 23 01 0014 0001 0000 0
ed799a80 1275965488 C Co:2:002:0 0 0
ed799a80 1275965498 S Co:2:000:0 s 00 05 0008 0000 0000 0
ed799a80 1275966256 C Co:2:000:0 0 0
ed799a80 1275985295 S Ci:2:008:0 s 80 06 0100 0000 0012 18 <
ed799a80 1275988172 C Ci:2:008:0 0 18 = 12011001 00000008 0b063002 20020102 0001
ed799a80 1275988197 S Ci:2:008:0 s 80 06 0200 0000 0009 9 <
ed799a80 1275990297 C Ci:2:008:0 0 9 = 09023b00 020100a0 32
ed799a80 1275990322 S Ci:2:008:0 s 80 06 0200 0000 003b 59 <
ed799a80 1275996802 C Ci:2:008:0 0 59 = 09023b00 020100a0 32090400 00010301 01000921 10010001 224b0007 05810308
ed799a80 1275996831 S Ci:2:008:0 s 80 06 0300 0000 00ff 255 <
ed799a80 1275998034 C Ci:2:008:0 0 4 = 04030904
ed799a80 1275998059 S Ci:2:008:0 s 80 06 0302 0409 00ff 255 <
ed799a80 1276001661 C Ci:2:008:0 0 26 = 1a035500 53004200 20004b00 65007900 62006f00 61007200 6400
ed799a80 1276001690 S Ci:2:008:0 s 80 06 0301 0409 00ff 255 <
ed799a80 1276002925 C Ci:2:008:0 0 6 = 06034b00 4200
ed799a80 1276003106 S Co:2:008:0 s 00 09 0001 0000 0000 0
ed799a80 1276004260 C Co:2:008:0 0 0
ed799a80 1276004420 S Co:2:008:0 s 21 0a 0000 0000 0000 0
ed799a80 1276005203 C Co:2:008:0 0 0
ed799a80 1276005225 S Ci:2:008:0 s 81 06 2200 0000 004b 75 <
ed799a80 1276013206 C Ci:2:008:0 0 75 = 05010906 a1010507 19e029e7 15002501 75019508 81029501 75088101 95037501
ee1bd480 1276013657 S Co:2:008:0 s 21 09 0200 0000 0001 1 = 00
ee1bd280 1276013838 S Ii:2:008:1 -115:8 8 <
ee1bdb00 1276014194 S Co:2:008:0 s 21 0a 0000 0001 0000 0
ee1bd480 1276014952 C Co:2:008:0 0 1 >
ee1bdb00 1276015579 C Co:2:008:0 -32 0
ee1bdb00 1276015635 S Ci:2:008:0 s 81 06 2200 0001 006c 108 <
ee1bdb00 1276026705 C Ci:2:008:0 0 108 = 05010980 a1018501 19812983 15002501 95037501 81029501 75058101 c0050c09
ee11ad80 1276027069 S Ci:2:002:0 s a3 00 0000 0001 0004 4 <
ee11ad80 1276027199 C Ci:2:002:0 0 4 = 03030000
ee1bd480 1276051645 S Co:2:008:0 s 21 09 0200 0000 0001 1 = 01
ee1bd480 1276052955 C Co:2:008:0 0 1 >
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: USB keyboard recognized as HID keyboard but doesn't work
2011-05-07 22:24 ` Christoph Fritz
2011-05-08 19:51 ` Adi J. Sieker
@ 2011-05-10 8:24 ` Adi J. Sieker
1 sibling, 0 replies; 18+ messages in thread
From: Adi J. Sieker @ 2011-05-10 8:24 UTC (permalink / raw)
To: Christoph Fritz
Cc: Jiri Kosina, Alan Stern, Oliver Neukum, USB list, linux-input,
Kernel development list
On 08/05/11 00:24, Christoph Fritz wrote:
> On Fri, 2011-05-06 at 15:59 +0200, Adi J. Sieker wrote:
>> On 06/05/11 14:58, Jiri Kosina wrote:
>>> On Tue, 3 May 2011, Alan Stern wrote:
>>>
>>>>> Do you know of a way for me to tell the kernel/usbhid to use interface 1
>>>>> and ignore interface 0?
>>>>
>>>> Well, you can always unbind interface 0 from usbhid -- it corresponds
>>>> to the 2-1.1:1.0 file in /sys/bus/usb/drivers/usbhid/. If you do that,
>>>> you'll probably find the few keys which _do_ currently work suddenly
>>>> stop working.
>>>>
>>>> But there's nothing to be done immediately about interface 1; usbhid is
>>>> _already_ using it. It just isn't using it correctly.
>>>
>>> Adi,
>>>
>>> could you please provide output of
>>>
>>> cat /syse/kernel/debug/hid/<keyboard>/rdesc
>>>
>>> anytime after the keyboard has been plugged, and
>>
>> in /sys/kernel/debug/hid I have two devices for the keyboard. One is
>> 0003:060B:0230.0002 and the other 0003:060B:0230.0003
>>
>> attached are the rdesc files for both devices.
>>
>>>
>>> cat /syse/kernel/debug/hid/<keyboard>/events
>> > from the time you press any of the working and non-working keys? (both
>> > cases will be interesting).
>>
>> I only get events for the working keys on the *:0002 device.
>> All other files were empty after I pressed some keys.
>>
>> The events for the working keys are attached in the *.events file.
>> I first pressed backspace and then the menu key.
>
> Hi Adi,
>
> I'm not sure about my patch below because of interface one, maybe you
> can give it a try.
>
Hi Christoph,
I haven't gotten around to compiling a new kernel yet.
Tzy-Jye Daniel Lin mentioned in a mail to me that adding
usbhid.quirks=0x060b:0x0230:0x0040 to the kernel command line
would achieve the same as the patch you posted.
I did try that on a 2.6.32 kernel and that didn't help.
I'll still generate a new kernel with your patch applied it's probably
going to take a couple of days though.
Cheers
Adi
the suppllied patch
> Thanks,
> -- chf
>
> ---
> Subject: [PATCH] HID: add quirk for Solid Year keyboard ACK231
>
> This patch adds HID_QUIRK_MULTI_INPUT to Solid Year keyboard ACK231
> which reports keystrokes from inside a firmware-configuration
> interface instead of using its own interface.
>
> diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h
> index 00a94b5..abbace9 100644
> --- a/drivers/hid/hid-ids.h
> +++ b/drivers/hid/hid-ids.h
> @@ -528,6 +528,9 @@
> #define USB_VENDOR_ID_SKYCABLE 0x1223
> #define USB_DEVICE_ID_SKYCABLE_WIRELESS_PRESENTER 0x3F07
>
> +#define USB_VENDOR_ID_SOLIDYEAR 0x060b
> +#define USB_DEVICE_ID_SOLIDYEAR_KEYBOARD_ACK231 0x0230
> +
> #define USB_VENDOR_ID_SONY 0x054c
> #define USB_DEVICE_ID_SONY_VAIO_VGX_MOUSE 0x024b
> #define USB_DEVICE_ID_SONY_PS3_CONTROLLER 0x0268
> diff --git a/drivers/hid/usbhid/hid-quirks.c b/drivers/hid/usbhid/hid-quirks.c
> index a8426f1..b099380 100644
> --- a/drivers/hid/usbhid/hid-quirks.c
> +++ b/drivers/hid/usbhid/hid-quirks.c
> @@ -49,6 +49,7 @@
> { USB_VENDOR_ID_ETURBOTOUCH, USB_DEVICE_ID_ETURBOTOUCH, HID_QUIRK_MULTI_INPUT },
> { USB_VENDOR_ID_PANTHERLORD, USB_DEVICE_ID_PANTHERLORD_TWIN_USB_JOYSTICK, HID_QUIRK_MULTI_INPUT | HID_QUIRK_SKIP_OUTPUT_REPORTS },
> { USB_VENDOR_ID_PLAYDOTCOM, USB_DEVICE_ID_PLAYDOTCOM_EMS_USBII, HID_QUIRK_MULTI_INPUT },
> + { USB_VENDOR_ID_SOLIDYEAR, USB_DEVICE_ID_SOLIDYEAR_KEYBOARD_ACK231, HID_QUIRK_MULTI_INPUT },
> { USB_VENDOR_ID_TOUCHPACK, USB_DEVICE_ID_TOUCHPACK_RTS, HID_QUIRK_MULTI_INPUT },
>
> { USB_VENDOR_ID_ATEN, USB_DEVICE_ID_ATEN_UC100KM, HID_QUIRK_NOGET },
>
>
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: USB keyboard recognized as HID keyboard but doesn't work
2011-05-08 19:51 ` Adi J. Sieker
@ 2011-05-08 21:26 ` Christoph Fritz
0 siblings, 0 replies; 18+ messages in thread
From: Christoph Fritz @ 2011-05-08 21:26 UTC (permalink / raw)
To: Adi J. Sieker
Cc: Jiri Kosina, Alan Stern, Oliver Neukum, USB list, linux-input,
Kernel development list
On Sun, May 08, 2011 at 09:51:42PM +0200, Adi J. Sieker wrote:
> On 08/05/11 00:24, Christoph Fritz wrote:
> >
> > I'm not sure about my patch below because of interface one, maybe you
> >can give it a try.
> >
> What kernel version do I need? I'm running Ubuntu 10.04, so can I
> apply this to a 2.6.32 Ubuntu kernel or do I need a current 2.6.39?
A current kernel is recommended.
bye,
-- chf
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: USB keyboard recognized as HID keyboard but doesn't work
2011-05-07 22:24 ` Christoph Fritz
@ 2011-05-08 19:51 ` Adi J. Sieker
2011-05-08 21:26 ` Christoph Fritz
2011-05-10 8:24 ` Adi J. Sieker
1 sibling, 1 reply; 18+ messages in thread
From: Adi J. Sieker @ 2011-05-08 19:51 UTC (permalink / raw)
To: Christoph Fritz
Cc: Jiri Kosina, Alan Stern, Oliver Neukum, USB list, linux-input,
Kernel development list
On 08/05/11 00:24, Christoph Fritz wrote:
> On Fri, 2011-05-06 at 15:59 +0200, Adi J. Sieker wrote:
>> On 06/05/11 14:58, Jiri Kosina wrote:
>>> On Tue, 3 May 2011, Alan Stern wrote:
>>>
>>>>> Do you know of a way for me to tell the kernel/usbhid to use interface 1
>>>>> and ignore interface 0?
>>>>
>>>> Well, you can always unbind interface 0 from usbhid -- it corresponds
>>>> to the 2-1.1:1.0 file in /sys/bus/usb/drivers/usbhid/. If you do that,
>>>> you'll probably find the few keys which _do_ currently work suddenly
>>>> stop working.
>>>>
>>>> But there's nothing to be done immediately about interface 1; usbhid is
>>>> _already_ using it. It just isn't using it correctly.
>>>
>>> Adi,
>>>
>>> could you please provide output of
>>>
>>> cat /syse/kernel/debug/hid/<keyboard>/rdesc
>>>
>>> anytime after the keyboard has been plugged, and
>>
>> in /sys/kernel/debug/hid I have two devices for the keyboard. One is
>> 0003:060B:0230.0002 and the other 0003:060B:0230.0003
>>
>> attached are the rdesc files for both devices.
>>
>>>
>>> cat /syse/kernel/debug/hid/<keyboard>/events
>> > from the time you press any of the working and non-working keys? (both
>> > cases will be interesting).
>>
>> I only get events for the working keys on the *:0002 device.
>> All other files were empty after I pressed some keys.
>>
>> The events for the working keys are attached in the *.events file.
>> I first pressed backspace and then the menu key.
>
> Hi Adi,
>
> I'm not sure about my patch below because of interface one, maybe you
> can give it a try.
>
What kernel version do I need? I'm running Ubuntu 10.04, so can I apply
this to a 2.6.32 Ubuntu kernel or do I need a current 2.6.39?
Any ideas if I'll run into problems if I run Ubuntu 10.04 on a 2.6.39
kernel.
Cheers
Adi
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: USB keyboard recognized as HID keyboard but doesn't work
2011-05-06 13:59 ` Adi J. Sieker
@ 2011-05-07 22:24 ` Christoph Fritz
2011-05-08 19:51 ` Adi J. Sieker
2011-05-10 8:24 ` Adi J. Sieker
0 siblings, 2 replies; 18+ messages in thread
From: Christoph Fritz @ 2011-05-07 22:24 UTC (permalink / raw)
To: Adi J. Sieker
Cc: Jiri Kosina, Alan Stern, Oliver Neukum, USB list, linux-input,
Kernel development list
On Fri, 2011-05-06 at 15:59 +0200, Adi J. Sieker wrote:
> On 06/05/11 14:58, Jiri Kosina wrote:
> > On Tue, 3 May 2011, Alan Stern wrote:
> >
> >>> Do you know of a way for me to tell the kernel/usbhid to use interface 1
> >>> and ignore interface 0?
> >>
> >> Well, you can always unbind interface 0 from usbhid -- it corresponds
> >> to the 2-1.1:1.0 file in /sys/bus/usb/drivers/usbhid/. If you do that,
> >> you'll probably find the few keys which _do_ currently work suddenly
> >> stop working.
> >>
> >> But there's nothing to be done immediately about interface 1; usbhid is
> >> _already_ using it. It just isn't using it correctly.
> >
> > Adi,
> >
> > could you please provide output of
> >
> > cat /syse/kernel/debug/hid/<keyboard>/rdesc
> >
> > anytime after the keyboard has been plugged, and
>
> in /sys/kernel/debug/hid I have two devices for the keyboard. One is
> 0003:060B:0230.0002 and the other 0003:060B:0230.0003
>
> attached are the rdesc files for both devices.
>
> >
> > cat /syse/kernel/debug/hid/<keyboard>/events
> > from the time you press any of the working and non-working keys? (both
> > cases will be interesting).
>
> I only get events for the working keys on the *:0002 device.
> All other files were empty after I pressed some keys.
>
> The events for the working keys are attached in the *.events file.
> I first pressed backspace and then the menu key.
Hi Adi,
I'm not sure about my patch below because of interface one, maybe you
can give it a try.
Thanks,
-- chf
---
Subject: [PATCH] HID: add quirk for Solid Year keyboard ACK231
This patch adds HID_QUIRK_MULTI_INPUT to Solid Year keyboard ACK231
which reports keystrokes from inside a firmware-configuration
interface instead of using its own interface.
diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h
index 00a94b5..abbace9 100644
--- a/drivers/hid/hid-ids.h
+++ b/drivers/hid/hid-ids.h
@@ -528,6 +528,9 @@
#define USB_VENDOR_ID_SKYCABLE 0x1223
#define USB_DEVICE_ID_SKYCABLE_WIRELESS_PRESENTER 0x3F07
+#define USB_VENDOR_ID_SOLIDYEAR 0x060b
+#define USB_DEVICE_ID_SOLIDYEAR_KEYBOARD_ACK231 0x0230
+
#define USB_VENDOR_ID_SONY 0x054c
#define USB_DEVICE_ID_SONY_VAIO_VGX_MOUSE 0x024b
#define USB_DEVICE_ID_SONY_PS3_CONTROLLER 0x0268
diff --git a/drivers/hid/usbhid/hid-quirks.c b/drivers/hid/usbhid/hid-quirks.c
index a8426f1..b099380 100644
--- a/drivers/hid/usbhid/hid-quirks.c
+++ b/drivers/hid/usbhid/hid-quirks.c
@@ -49,6 +49,7 @@
{ USB_VENDOR_ID_ETURBOTOUCH, USB_DEVICE_ID_ETURBOTOUCH, HID_QUIRK_MULTI_INPUT },
{ USB_VENDOR_ID_PANTHERLORD, USB_DEVICE_ID_PANTHERLORD_TWIN_USB_JOYSTICK, HID_QUIRK_MULTI_INPUT | HID_QUIRK_SKIP_OUTPUT_REPORTS },
{ USB_VENDOR_ID_PLAYDOTCOM, USB_DEVICE_ID_PLAYDOTCOM_EMS_USBII, HID_QUIRK_MULTI_INPUT },
+ { USB_VENDOR_ID_SOLIDYEAR, USB_DEVICE_ID_SOLIDYEAR_KEYBOARD_ACK231, HID_QUIRK_MULTI_INPUT },
{ USB_VENDOR_ID_TOUCHPACK, USB_DEVICE_ID_TOUCHPACK_RTS, HID_QUIRK_MULTI_INPUT },
{ USB_VENDOR_ID_ATEN, USB_DEVICE_ID_ATEN_UC100KM, HID_QUIRK_NOGET },
^ permalink raw reply related [flat|nested] 18+ messages in thread
* Re: USB keyboard recognized as HID keyboard but doesn't work
2011-05-06 12:58 ` Jiri Kosina
@ 2011-05-06 13:59 ` Adi J. Sieker
2011-05-07 22:24 ` Christoph Fritz
0 siblings, 1 reply; 18+ messages in thread
From: Adi J. Sieker @ 2011-05-06 13:59 UTC (permalink / raw)
To: Jiri Kosina
Cc: Alan Stern, Oliver Neukum, USB list, linux-input,
Kernel development list
[-- Attachment #1: Type: text/plain, Size: 1289 bytes --]
On 06/05/11 14:58, Jiri Kosina wrote:
> On Tue, 3 May 2011, Alan Stern wrote:
>
>>> Do you know of a way for me to tell the kernel/usbhid to use interface 1
>>> and ignore interface 0?
>>
>> Well, you can always unbind interface 0 from usbhid -- it corresponds
>> to the 2-1.1:1.0 file in /sys/bus/usb/drivers/usbhid/. If you do that,
>> you'll probably find the few keys which _do_ currently work suddenly
>> stop working.
>>
>> But there's nothing to be done immediately about interface 1; usbhid is
>> _already_ using it. It just isn't using it correctly.
>
> Adi,
>
> could you please provide output of
>
> cat /syse/kernel/debug/hid/<keyboard>/rdesc
>
> anytime after the keyboard has been plugged, and
in /sys/kernel/debug/hid I have two devices for the keyboard. One is
0003:060B:0230.0002 and the other 0003:060B:0230.0003
attached are the rdesc files for both devices.
>
> cat /syse/kernel/debug/hid/<keyboard>/events
> from the time you press any of the working and non-working keys? (both
> cases will be interesting).
I only get events for the working keys on the *:0002 device.
All other files were empty after I pressed some keys.
The events for the working keys are attached in the *.events file.
I first pressed backspace and then the menu key.
Cheers
Adi
[-- Attachment #2: 0003:060B:0230.0002.rdesc --]
[-- Type: text/plain, Size: 9075 bytes --]
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)
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)
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)
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)
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
[-- Attachment #3: 0003:060B:0230.0002-working-keys.events --]
[-- Type: application/octet-stream, Size: 1030 bytes --]
[-- Attachment #4: 0003:060B:0230.0003.rdesc --]
[-- Type: text/plain, Size: 769 bytes --]
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)
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
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: USB keyboard recognized as HID keyboard but doesn't work
2011-05-03 13:49 ` Alan Stern
@ 2011-05-06 12:58 ` Jiri Kosina
2011-05-06 13:59 ` Adi J. Sieker
0 siblings, 1 reply; 18+ messages in thread
From: Jiri Kosina @ 2011-05-06 12:58 UTC (permalink / raw)
To: Alan Stern, Adi J. Sieker
Cc: Oliver Neukum, USB list, linux-input, Kernel development list
On Tue, 3 May 2011, Alan Stern wrote:
> > Do you know of a way for me to tell the kernel/usbhid to use interface 1
> > and ignore interface 0?
>
> Well, you can always unbind interface 0 from usbhid -- it corresponds
> to the 2-1.1:1.0 file in /sys/bus/usb/drivers/usbhid/. If you do that,
> you'll probably find the few keys which _do_ currently work suddenly
> stop working.
>
> But there's nothing to be done immediately about interface 1; usbhid is
> _already_ using it. It just isn't using it correctly.
Adi,
could you please provide output of
cat /syse/kernel/debug/hid/<keyboard>/rdesc
anytime after the keyboard has been plugged, and
cat /syse/kernel/debug/hid/<keyboard>/events
from the time you press any of the working and non-working keys? (both
cases will be interesting).
Oh, and the above assumes that you have debugfs mounted under
/sys/kernel/debug.
Thanks,
--
Jiri Kosina
SUSE Labs
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: USB keyboard recognized as HID keyboard but doesn't work
2011-05-03 9:40 ` Adi J. Sieker
@ 2011-05-03 13:49 ` Alan Stern
2011-05-06 12:58 ` Jiri Kosina
0 siblings, 1 reply; 18+ messages in thread
From: Alan Stern @ 2011-05-03 13:49 UTC (permalink / raw)
To: Adi J. Sieker
Cc: Jiri Kosina, Oliver Neukum, USB list, linux-input,
Kernel development list
On Tue, 3 May 2011, Adi J. Sieker wrote:
> Do you know of a way for me to tell the kernel/usbhid to use interface 1
> and ignore interface 0?
Well, you can always unbind interface 0 from usbhid -- it corresponds
to the 2-1.1:1.0 file in /sys/bus/usb/drivers/usbhid/. If you do that,
you'll probably find the few keys which _do_ currently work suddenly
stop working.
But there's nothing to be done immediately about interface 1; usbhid is
_already_ using it. It just isn't using it correctly.
Alan Stern
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: USB keyboard recognized as HID keyboard but doesn't work
2011-05-02 22:29 ` Alan Stern
@ 2011-05-03 9:40 ` Adi J. Sieker
2011-05-03 13:49 ` Alan Stern
0 siblings, 1 reply; 18+ messages in thread
From: Adi J. Sieker @ 2011-05-03 9:40 UTC (permalink / raw)
To: Alan Stern
Cc: Jiri Kosina, Oliver Neukum, USB list, linux-input,
Kernel development list
On 03/05/11 00:29, Alan Stern wrote:
> On Mon, 2 May 2011, Adi J. Sieker wrote:
>
>>> Interestingly, the usbmon trace shows that the interrupt endpoint for
>>> interface 1 isn't being used by usbhid. I don't know why, but it
>>> shouldn't make much difference for your purposes since that interface
>>> appears to be associated with the gaming interface. But maybe I'm
>>> wrong and it is important somehow...
>>>
>>> The other noticeable thing is that the keyboard didn't accept the
>>> Set-Idle request for interface 1.
>>>
>>> You said before that the keyboard worked okay when driven by a guest
>>> Windows OS, right? Can you collect an equivalent usbmon trace for
>>> that? Comparing the two traces may be instructive.
>>
>> I hope this is what you meant. :)
>> Attached is a usbmon trace when I attach the keyboard to a VBox VM
>> running a Windows XP guest. I have no idea how to get a USB trace from
>> within Windows. The last block is when I pressed h twice in the Windows
>> XP guest.
>
> This is perfect. It shows that the H key is reported using the
> interrupt endpoint on interface 1, which explains why it's not working
> with usbhid. It also shows that the rejected Set-Idle request doesn't
> matter.
>
Do you know of a way for me to tell the kernel/usbhid to use interface 1
and ignore interface 0?
Thanks
Adi
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: USB keyboard recognized as HID keyboard but doesn't work
2011-05-02 21:19 ` Adi J. Sieker
@ 2011-05-02 22:29 ` Alan Stern
2011-05-03 9:40 ` Adi J. Sieker
0 siblings, 1 reply; 18+ messages in thread
From: Alan Stern @ 2011-05-02 22:29 UTC (permalink / raw)
To: Adi J. Sieker, Jiri Kosina
Cc: Oliver Neukum, USB list, linux-input, Kernel development list
On Mon, 2 May 2011, Adi J. Sieker wrote:
> > Interestingly, the usbmon trace shows that the interrupt endpoint for
> > interface 1 isn't being used by usbhid. I don't know why, but it
> > shouldn't make much difference for your purposes since that interface
> > appears to be associated with the gaming interface. But maybe I'm
> > wrong and it is important somehow...
> >
> > The other noticeable thing is that the keyboard didn't accept the
> > Set-Idle request for interface 1.
> >
> > You said before that the keyboard worked okay when driven by a guest
> > Windows OS, right? Can you collect an equivalent usbmon trace for
> > that? Comparing the two traces may be instructive.
>
> I hope this is what you meant. :)
> Attached is a usbmon trace when I attach the keyboard to a VBox VM
> running a Windows XP guest. I have no idea how to get a USB trace from
> within Windows. The last block is when I pressed h twice in the Windows
> XP guest.
This is perfect. It shows that the H key is reported using the
interrupt endpoint on interface 1, which explains why it's not working
with usbhid. It also shows that the rejected Set-Idle request doesn't
matter.
At this point I don't know what the problem is, but now there's plenty
of information in the email thread for the people on linux-input to
debug this.
Alan Stern
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: USB keyboard recognized as HID keyboard but doesn't work
2011-05-02 21:06 ` Alan Stern
@ 2011-05-02 21:19 ` Adi J. Sieker
2011-05-02 22:29 ` Alan Stern
0 siblings, 1 reply; 18+ messages in thread
From: Adi J. Sieker @ 2011-05-02 21:19 UTC (permalink / raw)
To: Alan Stern; +Cc: Oliver Neukum, USB list, linux-input, linux-kernel
[-- Attachment #1: Type: text/plain, Size: 1688 bytes --]
On 02/05/11 23:06, Alan Stern wrote:
> On Mon, 2 May 2011, Adi J. Sieker wrote:
>
>> Attached is the usbmon trace when I plug the keyboard in.
>>
>> lsusb shows the keyboard as:
>> Bus 002 Device 008: ID 060b:0230 Solid Year
>>
>> Relevant section from /sys/kernel/debug/usb/devices
>> T: Bus=02 Lev=02 Prnt=02 Port=00 Cnt=01 Dev#= 8 Spd=1.5 MxCh= 0
>> D: Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1
>> P: Vendor=060b ProdID=0230 Rev= 2.20
>> S: Manufacturer=KB
>> S: Product=USB Keyboard
>> C:* #Ifs= 2 Cfg#= 1 Atr=a0 MxPwr=100mA
>> I:* If#= 0 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=01 Prot=01 Driver=usbhid
>> E: Ad=81(I) Atr=03(Int.) MxPS= 8 Ivl=10ms
>> I:* If#= 1 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=00 Prot=00 Driver=usbhid
>> E: Ad=82(I) Atr=03(Int.) MxPS= 8 Ivl=10ms
>
> Interestingly, the usbmon trace shows that the interrupt endpoint for
> interface 1 isn't being used by usbhid. I don't know why, but it
> shouldn't make much difference for your purposes since that interface
> appears to be associated with the gaming interface. But maybe I'm
> wrong and it is important somehow...
>
> The other noticeable thing is that the keyboard didn't accept the
> Set-Idle request for interface 1.
>
> You said before that the keyboard worked okay when driven by a guest
> Windows OS, right? Can you collect an equivalent usbmon trace for
> that? Comparing the two traces may be instructive.
I hope this is what you meant. :)
Attached is a usbmon trace when I attach the keyboard to a VBox VM
running a Windows XP guest. I have no idea how to get a USB trace from
within Windows. The last block is when I pressed h twice in the Windows
XP guest.
Cheers
Adi
[-- Attachment #2: usbmon-guest.out --]
[-- Type: text/plain, Size: 4576 bytes --]
e6283180 3528948156 S Ci:2:008:0 s 80 06 0100 0000 0012 18 <
e6283180 3528950914 C Ci:2:008:0 0 18 = 12011001 00000008 0b063002 20020102 0001
e6283180 3528950988 S Ci:2:008:0 s 80 06 0200 0000 0009 9 <
e6283180 3528953041 C Ci:2:008:0 0 9 = 09023b00 020100a0 32
e6283180 3528953062 S Ci:2:008:0 s 80 06 0200 0000 003b 59 <
e6283180 3528959915 C Ci:2:008:0 0 59 = 09023b00 020100a0 32090400 00010301 01000921 10010001 224b0007 05810308
ee1bd280 3528959982 C Ii:2:008:1 -108:8 0
f0267b00 3529284981 S Ci:2:008:0 s 80 06 0100 0000 0040 64 <
f0267b00 3529287920 C Ci:2:008:0 0 18 = 12011001 00000008 0b063002 20020102 0001
f0267b00 3529361757 S Ci:2:008:0 s 80 06 0100 0000 0012 18 <
f0267b00 3529364171 C Ci:2:008:0 0 18 = 12011001 00000008 0b063002 20020102 0001
f0267b00 3529365746 S Ci:2:008:0 s 80 06 0200 0000 0009 9 <
f0267b00 3529367546 C Ci:2:008:0 0 9 = 09023b00 020100a0 32
f0267b00 3529373770 S Ci:2:008:0 s 80 06 0200 0000 00ff 255 <
f0267b00 3529380045 C Ci:2:008:0 0 59 = 09023b00 020100a0 32090400 00010301 01000921 10010001 224b0007 05810308
f0267b00 3529383566 S Ci:2:008:0 s 80 06 0300 0000 00ff 255 <
f0267b00 3529384668 C Ci:2:008:0 0 4 = 04030904
f0267b00 3529387503 S Ci:2:008:0 s 80 06 0302 0409 00ff 255 <
f0267b00 3529390916 C Ci:2:008:0 0 26 = 1a035500 53004200 20004b00 65007900 62006f00 61007200 6400
f0267b00 3529394743 S Ci:2:008:0 s 80 06 0300 0000 00ff 255 <
f0267b00 3529395919 C Ci:2:008:0 0 4 = 04030904
f0267b00 3529398208 S Ci:2:008:0 s 80 06 0302 0409 00ff 255 <
f0267b00 3529401543 C Ci:2:008:0 0 26 = 1a035500 53004200 20004b00 65007900 62006f00 61007200 6400
f0267b00 3529423701 S Ci:2:008:0 s 80 06 0100 0000 0012 18 <
f0267b00 3529426169 C Ci:2:008:0 0 18 = 12011001 00000008 0b063002 20020102 0001
f0267b00 3529429749 S Ci:2:008:0 s 80 06 0200 0000 0009 9 <
f0267b00 3529431541 C Ci:2:008:0 0 9 = 09023b00 020100a0 32
f0267b00 3529437362 S Ci:2:008:0 s 80 06 0200 0000 003b 59 <
f0267b00 3529443919 C Ci:2:008:0 0 59 = 09023b00 020100a0 32090400 00010301 01000921 10010001 224b0007 05810308
f0267b00 3529481095 S Ci:2:008:0 s 80 06 0300 0000 00ff 255 <
f0267b00 3529482543 C Ci:2:008:0 0 4 = 04030904
f0267b00 3529485739 S Ci:2:008:0 s 80 06 0302 0409 00ff 255 <
f0267b00 3529489045 C Ci:2:008:0 0 26 = 1a035500 53004200 20004b00 65007900 62006f00 61007200 6400
f0267b00 3529491035 S Ci:2:008:0 s 80 06 0300 0000 00ff 255 <
f0267b00 3529492419 C Ci:2:008:0 0 4 = 04030904
f0267b00 3529494747 S Ci:2:008:0 s 80 06 0302 0409 00ff 255 <
f0267b00 3529498043 C Ci:2:008:0 0 26 = 1a035500 53004200 20004b00 65007900 62006f00 61007200 6400
f0267b00 3529644847 S Ci:2:008:0 s 80 06 0300 0000 00ff 255 <
f0267b00 3529646170 C Ci:2:008:0 0 4 = 04030904
f0267b00 3529649463 S Ci:2:008:0 s 80 06 0302 0409 00ff 255 <
f0267b00 3529652916 C Ci:2:008:0 0 26 = 1a035500 53004200 20004b00 65007900 62006f00 61007200 6400
f0267b00 3529654618 S Ci:2:008:0 s 80 06 0300 0000 00ff 255 <
f0267b00 3529655796 C Ci:2:008:0 0 4 = 04030904
f0267b00 3529657753 S Ci:2:008:0 s 80 06 0302 0409 00ff 255 <
f0267b00 3529661043 C Ci:2:008:0 0 26 = 1a035500 53004200 20004b00 65007900 62006f00 61007200 6400
f0267b00 3529664864 S Co:2:008:0 s 21 0a 0000 0000 0000 0
f0267b00 3529665920 C Co:2:008:0 0 0
f0267b00 3529666626 S Ci:2:008:0 s 81 06 2200 0000 008b 139 <
f0267b00 3529674418 C Ci:2:008:0 0 75 = 05010906 a1010507 19e029e7 15002501 75019508 81029501 75088101 95037501
f0267b00 3529693746 S Co:2:008:0 s 21 0a 0000 0001 0000 0
f0267b00 3529694542 C Co:2:008:0 -32 0
f0267b00 3529702370 S Ci:2:008:0 s 81 06 2200 0001 00ac 172 <
f0267b00 3529713044 C Ci:2:008:0 0 108 = 05010980 a1018501 19812983 15002501 95037501 81029501 75058101 c0050c09
f0267b00 3529718373 S Ii:2:008:2 -115:8 8 <
f0267b80 3529725741 S Ii:2:008:1 -115:8 8 <
f0267b00 3529733548 C Ii:2:008:2 0:8 8 = 03000000 00000000
f0267b00 3529733614 S Ii:2:008:2 -115:8 8 <
d8b15500 3530739916 S Co:2:008:0 s 21 09 0200 0000 0001 1 = 01
d8b15500 3530741428 C Co:2:008:0 0 1 >
eea26600 3531740815 S Co:2:008:0 s 21 09 0200 0000 0001 1 = 01
eea26600 3531741804 C Co:2:008:0 0 1 >
eea26c80 3532773340 S Co:2:008:0 s 21 09 0200 0000 0001 1 = 01
eea26c80 3532774436 C Co:2:008:0 0 1 >
f0267b00 3581997851 C Ii:2:008:2 0:8 8 = 03000008 00000000
db7e2900 3582013998 S Ii:2:008:2 -115:8 8 <
db7e2900 3582093846 C Ii:2:008:2 0:8 8 = 03000000 00000000
db7e2900 3582101235 S Ii:2:008:2 -115:8 8 <
db7e2900 3582477849 C Ii:2:008:2 0:8 8 = 03000008 00000000
db7e2900 3582497373 S Ii:2:008:2 -115:8 8 <
db7e2900 3582565849 C Ii:2:008:2 0:8 8 = 03000000 00000000
d58e0300 3582576419 S Ii:2:008:2 -115:8 8 <
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: USB keyboard recognized as HID keyboard but doesn't work
[not found] <4DBF16D8.8040209@sieker.io>
@ 2011-05-02 21:06 ` Alan Stern
2011-05-02 21:19 ` Adi J. Sieker
0 siblings, 1 reply; 18+ messages in thread
From: Alan Stern @ 2011-05-02 21:06 UTC (permalink / raw)
To: Adi J. Sieker; +Cc: Oliver Neukum, USB list, linux-input, linux-kernel
On Mon, 2 May 2011, Adi J. Sieker wrote:
> Attached is the usbmon trace when I plug the keyboard in.
>
> lsusb shows the keyboard as:
> Bus 002 Device 008: ID 060b:0230 Solid Year
>
> Relevant section from /sys/kernel/debug/usb/devices
> T: Bus=02 Lev=02 Prnt=02 Port=00 Cnt=01 Dev#= 8 Spd=1.5 MxCh= 0
> D: Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1
> P: Vendor=060b ProdID=0230 Rev= 2.20
> S: Manufacturer=KB
> S: Product=USB Keyboard
> C:* #Ifs= 2 Cfg#= 1 Atr=a0 MxPwr=100mA
> I:* If#= 0 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=01 Prot=01 Driver=usbhid
> E: Ad=81(I) Atr=03(Int.) MxPS= 8 Ivl=10ms
> I:* If#= 1 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=00 Prot=00 Driver=usbhid
> E: Ad=82(I) Atr=03(Int.) MxPS= 8 Ivl=10ms
Interestingly, the usbmon trace shows that the interrupt endpoint for
interface 1 isn't being used by usbhid. I don't know why, but it
shouldn't make much difference for your purposes since that interface
appears to be associated with the gaming interface. But maybe I'm
wrong and it is important somehow...
The other noticeable thing is that the keyboard didn't accept the
Set-Idle request for interface 1.
You said before that the keyboard worked okay when driven by a guest
Windows OS, right? Can you collect an equivalent usbmon trace for
that? Comparing the two traces may be instructive.
Alan Stern
^ permalink raw reply [flat|nested] 18+ messages in thread
end of thread, other threads:[~2011-05-10 8:24 UTC | newest]
Thread overview: 18+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-04-30 20:23 USB keyboard recognized as HID keyboard but doesn't work Adi J. Sieker
2011-05-01 7:53 ` Oliver Neukum
2011-05-01 17:49 ` Adi J. Sieker
2011-05-02 14:04 ` Alan Stern
2011-05-02 19:35 ` Adi J. Sieker
2011-05-02 20:27 ` Alan Stern
2011-05-02 20:49 ` Adi J. Sieker
[not found] <4DBF16D8.8040209@sieker.io>
2011-05-02 21:06 ` Alan Stern
2011-05-02 21:19 ` Adi J. Sieker
2011-05-02 22:29 ` Alan Stern
2011-05-03 9:40 ` Adi J. Sieker
2011-05-03 13:49 ` Alan Stern
2011-05-06 12:58 ` Jiri Kosina
2011-05-06 13:59 ` Adi J. Sieker
2011-05-07 22:24 ` Christoph Fritz
2011-05-08 19:51 ` Adi J. Sieker
2011-05-08 21:26 ` Christoph Fritz
2011-05-10 8:24 ` Adi J. Sieker
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).