Bug 4503

Summary: Genius USB keyboard: usb_submit_urb(ctrl) failed
Product: Drivers Reporter: Felix Breuer (felix)
Component: USBAssignee: Dmitry Torokhov (dmitry.torokhov)
Status: RESOLVED CODE_FIX    
Severity: normal CC: greg, vojtech
Priority: P2    
Hardware: i386   
OS: Linux   
Kernel Version: 2.6.11 Subsystem:
Regression: --- Bisected commit-id:
Bug Depends on:    
Bug Blocks: 5089    

Description Felix Breuer 2005-04-16 05:51:30 UTC
Distribution: 

Ubuntu (Hoary + Warty), Gentoo, Rubyx
I tried this with various builds of the 2.6.8, 2.6.10 and 2.6.11 kernels
on different distros.

Problem Description:

Genius SlimStar USB keyboard is not recognized. (Even though USB is working.)

When the keyboard is connected, dmesg says:

usb 2-1: new low speed USB device using uhci_hcd and address 7
usb 2-1: hald timed out on ep0in
drivers/usb/input/hid-core.c: usb_submit_urb(ctrl) failed
drivers/usb/input/hid-core.c: timeout initializing reports

input: USB HID v1.10 Keyboard [ABBAHOME] on usb-0000:00:1d.1-1
Comment 1 Felix Breuer 2005-04-16 06:36:08 UTC
here's the lsusb entry:

Bus 002 Device 007: ID 05d5:6782 Super Gate Technology Co., Ltd
Comment 2 Felix Breuer 2005-04-16 06:37:57 UTC
As I suspect this is a Genius specific problem, I contacted Genius' tech support
at csd02@email.geniusnet.com.tw
Comment 3 Andrew Morton 2005-05-25 22:58:45 UTC
Any progress on this one?
Comment 4 Felix Breuer 2005-05-27 13:18:02 UTC
I have nothing new to report. (I also don't have the keyboard any more, as I was
not able to use it with my system.)

I am pretty confident that this really is an issue, because it occured
  * on two machines
  * on >= 4 distributions, kernel versions
  * (on MS Windows w/o Genius' custom drivers)
Comment 5 Greg Kroah-Hartman 2005-06-01 14:41:12 UTC
Ok, marking this one "not enough info" as it sounds like a hardware specific
issue that without specs, we will not be able to fix.
Comment 6 Rok Zevnik 2005-07-23 03:43:02 UTC
Hello,


I am also an owner of this keyboard with the same problem, but only when 
upgrading to 2.6 kernel (2.6.4 and 2.6.12.3). it was working normaly in kernel 
2.4.18-14.

Greetings,
Rok
Comment 7 Greg Kroah-Hartman 2005-08-18 16:29:04 UTC
Again, we don't have the specs for this, so I don't think we can get it to work,
sorry.

But keep trying newer kernel releases...
Comment 8 Gorlow Maxim 2005-11-08 21:28:35 UTC
Any progress on this one?
2.6.14 have this...
Comment 9 Vicent 2005-11-17 15:46:07 UTC
I've got a Genius kb, not the same model, but dmesg and lsusb reports look like
Felix's ones. I'm running a 2.6.12 kernel, and the keyboard works fine with the
old HIDBP drivers. 

I hope this info could be useful.
Comment 10 Vojtech Pavlik 2005-11-18 14:04:54 UTC
Try to add the keyboard to the QUIRK_NOGET list in hid-core.c
Comment 11 Gorlow Maxim 2005-11-21 21:11:31 UTC
I am do this into hid-core.c:
#define USB_VENDOR_ID_GENIUS		0x05d5
#define USB_DEVICE_ID_GENIUS_SLSTAR_KB	0x6782
// ....
hid_blacklist[] = {
//...
{ USB_VENDOR_ID_GENIUS, USB_DEVICE_ID_GENIUS_SLSTAR_KB, HID_QUIRK_NOGET },
//...
Values i get from /proc/bus/usb/devices from this record
...
T:  Bus=05 Lev=02 Prnt=02 Port=03 Cnt=03 Dev#= 12 Spd=1.5 MxCh= 0
D:  Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1
P:  Vendor=05d5 ProdID=6782 Rev= 1.01
S:  Product=ABBAHOME
C:* #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr=100mA
I:  If#= 0 Alt= 0 #EPs= 1 Cls=03(HID  ) Sub=01 Prot=01 Driver=usbhid
E:  Ad=82(I) Atr=03(Int.) MxPS=   8 Ivl=10ms 
...
Doesn't work :( 
"usb_submit_urb(ctrl) failed" not shown but keyboard doesn't work.
I try HID_QUIRK_IGNORE :),HID_QUIRK_MULTI_INPUT - too dosn't work
While keyboard attaching, kernel log this:
...
Nov 21 20:29:23 localhost kernel: hub 5-2:1.0: state 5 ports 4 chg 0000 evt 0010
Nov 21 20:29:23 localhost kernel: hub 5-2:1.0: port 4, status 0301, change 0001,
1.5 Mb/s
Nov 21 20:29:23 localhost kernel: hub 5-2:1.0: debounce: port 4: total 100ms
stable 100ms status 0x301
Nov 21 20:29:24 localhost kernel: hub 5-2:1.0: port 4 not reset yet, waiting 10ms
Nov 21 20:29:24 localhost kernel: usb 5-2.4: new low speed USB device using
uhci_hcd and address 13
Nov 21 20:29:24 localhost kernel: hub 5-2:1.0: port 4 not reset yet, waiting 10ms
Nov 21 20:29:24 localhost kernel: usb 5-2.4: skipped 1 descriptor after interface
Nov 21 20:29:24 localhost kernel: usb 5-2.4: default language 0x0409
Nov 21 20:29:24 localhost kernel: usb 5-2.4: new device strings: Mfr=0,
Product=1, SerialNumber=0
Nov 21 20:29:24 localhost kernel: usb 5-2.4: Product: ABBAHOME
Nov 21 20:29:24 localhost kernel: usb 5-2.4: hotplug
Nov 21 20:29:24 localhost kernel: usb 5-2.4: adding 5-2.4:1.0 (config #1,
interface 0)
Nov 21 20:29:24 localhost kernel: usb 5-2.4:1.0: hotplug
Nov 21 20:29:24 localhost kernel: usbhid 5-2.4:1.0: usb_probe_interface
Nov 21 20:29:24 localhost kernel: usbhid 5-2.4:1.0: usb_probe_interface - got id
Nov 21 20:29:24 localhost kernel: input: USB HID v1.10 Keyboard [ABBAHOME] on
usb-0000:00:1f.2-2.4
Nov 21 20:29:24 localhost kernel: hub 5-2:1.0: state 5 ports 4 chg 0000 evt 0010 
...
While disattaching - this:
...
Nov 21 20:29:29 localhost kernel: hub 5-2:1.0: state 5 ports 4 chg 0000 evt 0010
Nov 21 20:29:29 localhost kernel: hub 5-2:1.0: port 4, status 0100, change 0001,
12 Mb/s
Nov 21 20:29:29 localhost kernel: usb 5-2.4: USB disconnect, address 13
Nov 21 20:29:29 localhost kernel: usb 5-2.4: usb_disable_device nuking all URBs
Nov 21 20:29:29 localhost kernel: usb 5-2.4: unregistering interface 5-2.4:1.0
Nov 21 20:29:29 localhost kernel: usb 5-2.4:1.0: hotplug
Nov 21 20:29:29 localhost kernel: usb 5-2.4: unregistering device
Nov 21 20:29:29 localhost kernel: usb 5-2.4: hotplug
Nov 21 20:29:30 localhost kernel: hub 5-2:1.0: debounce: port 4: total 100ms
stable 100ms status 0x100 
...
Keyboard i connet into additional usb-hub.
Comment 12 Paola Villarreal 2005-12-28 22:28:49 UTC
I have a Genius LuxeMateScroll USB Keyboard, it presents the same behaviour as
described here.

The only difference i see with Genius SlimStar and LuxeMateScroll is that the
later has a scroll wheel integrated.

The only thing working on my keyboard is the scroll wheel, so i suspect that the
kernel thinks it's a mouse instead of a keyboard. 

According to Genius (
http://www.geniusnet.com.tw/product/product-1.asp?pdtno=516) these two keyboard
models are USB+PS/2
Comment 13 Paola Villarreal 2005-12-29 00:44:35 UTC
GOT IT WORKING

What you have to do is:

Compile Modules for usbhid and usbkbd (usbmouse also recomended), then, when you
want to use any of these keyboards you have to rmmod usbhid and modprobe usbkbd
and... Voila!

Happy new year!

PS: don't know if this bug should be marked as FIXED cause i think it would be
really nice to use usbhid in it.
Comment 14 Gorlow Maxim 2006-01-10 03:46:32 UTC
Yes, it working :) 

I do so:
1. Add to hid-core.c:
#define USB_VENDOR_ID_GENIUS		0x05d5
#define USB_DEVICE_ID_GENIUS_SLSTAR_KB	0x6782
// ....
hid_blacklist[] = {
//...
{ USB_VENDOR_ID_GENIUS, USB_DEVICE_ID_GENIUS_SLSTAR_KB, HID_QUIRK_NOGET },
//...
2. Compile kernel
3. Reboot to new kernel - Keyboard not work...
4. Plug other keyboard into PS/2 and press to example num lock
5. USB Keyboard now work... 
Comment 15 Greg Kroah-Hartman 2006-03-06 10:38:44 UTC
Great, marking closed.