# Strange HID USB problem, 3.5.4-gentoo, x86_64 [SOLVED]

## splurben

This has been bugging me for weeks.

I have a system running Gentoo x86_64 on kernel 3.5.4-gentoo.

Diagnostic info:

uname -a

emerge --info

lspci

kernel config

The system doesn’t correctly identify or utilise USB HID devices.

When I use the latest Gentoo LiveDVD (livedvd-amd64-multilib-2012.1.iso) on the same system all the USB HID works perfectly.

Specifically:

My Gentoo setup doesn’t work with a Microsoft™ Mouse, but does with a Logitech™ mouse attached through a KVM switch.

LiveDVD uses both mice fine, connected either way.

My system doesn’t work correctly with my MIONIX™ Mechanical keyboard (Canadian Layout{!?}), function and special keys aren’t recognised.

Gentoo LiveDVD works perfectly with MIONIX™ keyboard.

I have captured some more diagnostic info from DMESG and LSUSB:

dmesg output on working LiveDVD detaching and re-attaching USB devices

dmesg output on not-working system from detaching and re-attaching USB devices

lsusb -t from working LiveDVD

lsusb -t from my not-working Gentoo system

Any help on this would be greatly appreciated, I’m happy to post more info — whatever is needed to figure this crap out.

Kirk

----------

## bklive

a lot of your USB options are set as modules. how are you handling loading those modules?

I had this same problem with recognizing USB drives plugged in, but it would recognize the keyboard/mouse. I just made sure all the USB modules were built in and it worked.

----------

## splurben

 *bklive wrote:*   

> a lot of your USB options are set as modules. how are you handling loading those modules?
> 
> I had this same problem with recognizing USB drives plugged in, but it would recognize the keyboard/mouse. I just made sure all the USB modules were built in and it worked.

 

I'll try this now, but doesn't the LiveDVD load everything from modules? I hope it works.

----------

## splurben

changed USB device drivers to be built into the kernel

no change in HID USB behaviour

discovered something new in the DMESG output today, it looks like this message "skipped 1 descriptor after interface" may be indicative, the Miscrosoft Comfort Mouse 4500 is not working at all , unless I boot from the LiveDVD:

```
[  348.157796] usb 1-1.6.4: new low-speed USB device number 10 using ehci_hcd

[  348.243516] usb 1-1.6.4: skipped 1 descriptor after interface

[  348.244014] usb 1-1.6.4: default language 0x0409

[  348.246637] usb 1-1.6.4: udev 10, busnum 1, minor = 9

[  348.246640] usb 1-1.6.4: New USB device found, idVendor=045e, idProduct=076c

[  348.246641] usb 1-1.6.4: New USB device strings: Mfr=1, Product=2, SerialNumber=0

[  348.246643] usb 1-1.6.4: Product: Microsoft® Comfort Mouse 4500

[  348.246644] usb 1-1.6.4: Manufacturer: Microsoft

[  348.246724] usb 1-1.6.4: usb_probe_device

[  348.246727] usb 1-1.6.4: configuration #1 chosen from 1 choice

[  348.247272] usb 1-1.6.4: adding 1-1.6.4:1.0 (config #1, interface 0)

[  348.247338] usbhid 1-1.6.4:1.0: usb_probe_interface

[  348.247340] usbhid 1-1.6.4:1.0: usb_probe_interface - got id

[  348.257171] hub 1-1.6:1.0: state 7 ports 4 chg 0000 evt 0010
```

----------

## splurben

So, I looked in my /etc/portage/make.conf file and found that I had no section for "INPUT_DEVICES" which I changed to: 

```
INPUT_DEVICES="evdev"
```

Also, I grepped my kernel .config file for HID and discovered that there's a whole section in there for HID that's not related to USB and a number of the options were disabled. VERY STRANGE as I had copied this kernel config over from a similar system that didn't have this USB problem AND and I've gone back and looked and these things aren't disabled in there.

I enabled the stuff in Device Drivers -> HID that seemed relevant, re-compiled the kernel, emerged @x11-module-rebuild, emerged with --depclean option, which removed a number of xorg-drivers that had installed because nothing was specified in make.conf, installed the new kernel and VIOLÁ — everything's working!

I'm sorry to say that I didn't really solve this in a "staged-isolation diagnostic" way. So I don't know if everything I did is necessary to fix this kind of thing.

Over and Out

----------

