From: "Adi J. Sieker" <adi@core.adi.io>
To: Alan Stern <stern@rowland.harvard.edu>
Cc: Oliver Neukum <oliver@neukum.org>,
USB list <linux-usb@vger.kernel.org>,
linux-input@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: USB keyboard recognized as HID keyboard but doesn't work
Date: Mon, 02 May 2011 21:35:23 +0200 [thread overview]
Message-ID: <4DBF077B.8080903@sieker.io> (raw)
In-Reply-To: <Pine.LNX.4.44L0.1105021001490.2106-100000@iolanthe.rowland.org>
[-- 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 <
next prev parent reply other threads:[~2011-05-02 19:35 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
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 [this message]
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
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4DBF077B.8080903@sieker.io \
--to=adi@core.adi.io \
--cc=linux-input@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-usb@vger.kernel.org \
--cc=oliver@neukum.org \
--cc=stern@rowland.harvard.edu \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox