# USB HID problem

## creaker

Kernel doesn't recognize my usb input devices, neither keyboard nor mouse.

Keyboard works at BIOS and Grub stages but refuses to work when system booted.

Both devices are OK, they works fine at other machine. As well both works if I booting into liveCD at this machine.

Kernel config as well was copied from other machine, CONFIG_USB_HID option enabled : http://bpaste/show/574918

lsmod  doesn't show any usb-hid related modules, even I loading them (uhci_hcd, ehci_hcd, xhci_hcd, usbhid) with modprobe.

lsusb shows only storage devices (usb stick and usb hard drive).

Any idea on what's going on here?

----------

## wraeth

Can you paste the output of `grep USB /usr/src/linux/.config`.

Edit:

Sorry, missed that link in your post.

The only significant difference I can see in what you have enabled is that I have CONFIG_USB_OHCI_HCD_PCI=y, which is described as "OHCI support for PCI-bus USB controllers". Additionally, I prefer to build my USB {O,E,X}HCI drivers directly into the kernel, just in case...

```
cerberus linux # grep USB .config|grep -v \#

CONFIG_MEDIA_USB_SUPPORT=y

CONFIG_SND_USB=y

CONFIG_SND_USB_AUDIO=m

CONFIG_USB_HID=y

CONFIG_USB_HIDDEV=y

CONFIG_USB_OHCI_LITTLE_ENDIAN=y

CONFIG_USB_SUPPORT=y

CONFIG_USB_COMMON=y

CONFIG_USB_ARCH_HAS_HCD=y

CONFIG_USB=y

CONFIG_USB_DEBUG=y

CONFIG_USB_ANNOUNCE_NEW_DEVICES=y

CONFIG_USB_DEFAULT_PERSIST=y

CONFIG_USB_MON=m

CONFIG_USB_EHCI_HCD=y

CONFIG_USB_EHCI_TT_NEWSCHED=y

CONFIG_USB_EHCI_PCI=y

CONFIG_USB_OHCI_HCD=y

CONFIG_USB_OHCI_HCD_PCI=y

CONFIG_USB_UHCI_HCD=y

CONFIG_USB_STORAGE=m
```

----------

## creaker

```
# CONFIG_USB_SWITCH_FSA9480 is not set

# USB Network Adapters

# CONFIG_USB_CATC is not set

# CONFIG_USB_KAWETH is not set

# CONFIG_USB_PEGASUS is not set

# CONFIG_USB_RTL8150 is not set

# CONFIG_USB_RTL8152 is not set

# CONFIG_USB_USBNET is not set

# CONFIG_USB_IPHETH is not set

# CONFIG_MOUSE_SYNAPTICS_USB is not set

# CONFIG_I2C_TINY_USB is not set

CONFIG_SND_USB=y

# CONFIG_SND_USB_AUDIO is not set

# CONFIG_SND_USB_UA101 is not set

# CONFIG_SND_USB_USX2Y is not set

# CONFIG_SND_USB_CAIAQ is not set

# CONFIG_SND_USB_US122L is not set

# CONFIG_SND_USB_6FIRE is not set

# CONFIG_SND_USB_HIFACE is not set

# USB HID support

CONFIG_USB_HID=y

CONFIG_USB_HIDDEV=y

CONFIG_USB_OHCI_LITTLE_ENDIAN=y

CONFIG_USB_SUPPORT=y

CONFIG_USB_COMMON=y

CONFIG_USB_ARCH_HAS_HCD=y

CONFIG_USB=y

# CONFIG_USB_DEBUG is not set

CONFIG_USB_ANNOUNCE_NEW_DEVICES=y

# Miscellaneous USB options

CONFIG_USB_DEFAULT_PERSIST=y

# CONFIG_USB_DYNAMIC_MINORS is not set

CONFIG_USB_MON=y

# CONFIG_USB_WUSB_CBAF is not set

# USB Host Controller Drivers

# CONFIG_USB_C67X00_HCD is not set

CONFIG_USB_XHCI_HCD=m

CONFIG_USB_EHCI_HCD=y

CONFIG_USB_EHCI_ROOT_HUB_TT=y

CONFIG_USB_EHCI_TT_NEWSCHED=y

CONFIG_USB_EHCI_PCI=y

# CONFIG_USB_EHCI_HCD_PLATFORM is not set

# CONFIG_USB_OXU210HP_HCD is not set

# CONFIG_USB_ISP116X_HCD is not set

# CONFIG_USB_ISP1760_HCD is not set

# CONFIG_USB_ISP1362_HCD is not set

# CONFIG_USB_FUSBH200_HCD is not set

# CONFIG_USB_FOTG210_HCD is not set

CONFIG_USB_OHCI_HCD=y

# CONFIG_USB_OHCI_HCD_PCI is not set

# CONFIG_USB_OHCI_HCD_PLATFORM is not set

CONFIG_USB_UHCI_HCD=y

# CONFIG_USB_SL811_HCD is not set

# CONFIG_USB_R8A66597_HCD is not set

# CONFIG_USB_HCD_TEST_MODE is not set

# USB Device Class drivers

# CONFIG_USB_ACM is not set

# CONFIG_USB_PRINTER is not set

# CONFIG_USB_WDM is not set

# CONFIG_USB_TMC is not set

# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may

# also be needed; see USB_STORAGE Help for more info

CONFIG_USB_STORAGE=m

# CONFIG_USB_STORAGE_DEBUG is not set

# CONFIG_USB_STORAGE_REALTEK is not set

# CONFIG_USB_STORAGE_DATAFAB is not set

# CONFIG_USB_STORAGE_FREECOM is not set

# CONFIG_USB_STORAGE_ISD200 is not set

# CONFIG_USB_STORAGE_USBAT is not set

# CONFIG_USB_STORAGE_SDDR09 is not set

# CONFIG_USB_STORAGE_SDDR55 is not set

# CONFIG_USB_STORAGE_JUMPSHOT is not set

# CONFIG_USB_STORAGE_ALAUDA is not set

# CONFIG_USB_STORAGE_ONETOUCH is not set

# CONFIG_USB_STORAGE_KARMA is not set

# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set

# CONFIG_USB_STORAGE_ENE_UB6250 is not set

# USB Imaging devices

# CONFIG_USB_MDC800 is not set

# CONFIG_USB_MICROTEK is not set

# CONFIG_USB_MUSB_HDRC is not set

# CONFIG_USB_DWC3 is not set

# CONFIG_USB_DWC2 is not set

# CONFIG_USB_CHIPIDEA is not set

# USB port drivers

CONFIG_USB_SERIAL=y

CONFIG_USB_SERIAL_CONSOLE=y

CONFIG_USB_SERIAL_GENERIC=y

# CONFIG_USB_SERIAL_SIMPLE is not set

# CONFIG_USB_SERIAL_AIRCABLE is not set

# CONFIG_USB_SERIAL_ARK3116 is not set

# CONFIG_USB_SERIAL_BELKIN is not set

# CONFIG_USB_SERIAL_CH341 is not set

# CONFIG_USB_SERIAL_WHITEHEAT is not set

# CONFIG_USB_SERIAL_DIGI_ACCELEPORT is not set

# CONFIG_USB_SERIAL_CP210X is not set

# CONFIG_USB_SERIAL_CYPRESS_M8 is not set

# CONFIG_USB_SERIAL_EMPEG is not set

# CONFIG_USB_SERIAL_FTDI_SIO is not set

# CONFIG_USB_SERIAL_VISOR is not set

# CONFIG_USB_SERIAL_IPAQ is not set

# CONFIG_USB_SERIAL_IR is not set

# CONFIG_USB_SERIAL_EDGEPORT is not set

# CONFIG_USB_SERIAL_EDGEPORT_TI is not set

# CONFIG_USB_SERIAL_F81232 is not set

# CONFIG_USB_SERIAL_GARMIN is not set

# CONFIG_USB_SERIAL_IPW is not set

# CONFIG_USB_SERIAL_IUU is not set

# CONFIG_USB_SERIAL_KEYSPAN_PDA is not set

# CONFIG_USB_SERIAL_KEYSPAN is not set

# CONFIG_USB_SERIAL_KLSI is not set

# CONFIG_USB_SERIAL_KOBIL_SCT is not set

# CONFIG_USB_SERIAL_MCT_U232 is not set

# CONFIG_USB_SERIAL_METRO is not set

# CONFIG_USB_SERIAL_MOS7720 is not set

# CONFIG_USB_SERIAL_MOS7840 is not set

# CONFIG_USB_SERIAL_MXUPORT is not set

# CONFIG_USB_SERIAL_NAVMAN is not set

# CONFIG_USB_SERIAL_PL2303 is not set

# CONFIG_USB_SERIAL_OTI6858 is not set

# CONFIG_USB_SERIAL_QCAUX is not set

# CONFIG_USB_SERIAL_QUALCOMM is not set

# CONFIG_USB_SERIAL_SPCP8X5 is not set

# CONFIG_USB_SERIAL_SAFE is not set

# CONFIG_USB_SERIAL_SIERRAWIRELESS is not set

# CONFIG_USB_SERIAL_SYMBOL is not set

# CONFIG_USB_SERIAL_TI is not set

# CONFIG_USB_SERIAL_CYBERJACK is not set

# CONFIG_USB_SERIAL_XIRCOM is not set

# CONFIG_USB_SERIAL_OPTION is not set

# CONFIG_USB_SERIAL_OMNINET is not set

# CONFIG_USB_SERIAL_OPTICON is not set

# CONFIG_USB_SERIAL_XSENS_MT is not set

# CONFIG_USB_SERIAL_WISHBONE is not set

# CONFIG_USB_SERIAL_ZTE is not set

# CONFIG_USB_SERIAL_SSU100 is not set

# CONFIG_USB_SERIAL_QT2 is not set

# CONFIG_USB_SERIAL_DEBUG is not set

# USB Miscellaneous drivers

# CONFIG_USB_EMI62 is not set

# CONFIG_USB_EMI26 is not set

# CONFIG_USB_ADUTUX is not set

# CONFIG_USB_SEVSEG is not set

# CONFIG_USB_RIO500 is not set

# CONFIG_USB_LEGOTOWER is not set

# CONFIG_USB_LCD is not set

# CONFIG_USB_LED is not set

# CONFIG_USB_CYPRESS_CY7C63 is not set

# CONFIG_USB_CYTHERM is not set

# CONFIG_USB_IDMOUSE is not set

# CONFIG_USB_FTDI_ELAN is not set

# CONFIG_USB_APPLEDISPLAY is not set

# CONFIG_USB_SISUSBVGA is not set

# CONFIG_USB_LD is not set

# CONFIG_USB_TRANCEVIBRATOR is not set

# CONFIG_USB_IOWARRIOR is not set

# CONFIG_USB_TEST is not set

# CONFIG_USB_EHSET_TEST_FIXTURE is not set

# CONFIG_USB_ISIGHTFW is not set

# CONFIG_USB_YUREX is not set

# CONFIG_USB_EZUSB_FX2 is not set

# CONFIG_USB_HSIC_USB3503 is not set

# USB Physical Layer drivers

# CONFIG_USB_PHY is not set

# CONFIG_USB_OTG_FSM is not set

# CONFIG_NOP_USB_XCEIV is not set

# CONFIG_SAMSUNG_USB2PHY is not set

# CONFIG_SAMSUNG_USB3PHY is not set

# CONFIG_USB_ISP1301 is not set

# CONFIG_USB_RCAR_PHY is not set

# CONFIG_USB_GADGET is not set

# CONFIG_USBIP_CORE is not set

# CONFIG_LINE6_USB is not set

# CONFIG_USB_SERIAL_QUATECH2 is not set

# CONFIG_USB_ENESTORAGE is not set

# CONFIG_USB_WPAN_HCD is not set

```

----------

## creaker

So, I rebuilt kernel with CONFIG_USB_HID set to 'm' instead of 'y'.

dmesg shows that the usbhid module was loaded, I can remove and load it again, but still no luck: kernel doesn't recognize neither keyboard nor mouse.

Has anyone HID devices working with kernel 3.14.14?

----------

## Adel Ahmed

hmm here are some options that might need enabling:

config_hid_generic

config_usb_hid

----------

## Logicien

If not, you need to enable

```
CONFIG_INPUT_MOUSEDEV

CONFIG_INPUT_MOUSEDEV_PSAUX

CONFIG_KEYBOARD_ATKBD
```

psmouse, mousedev and atkbd modules are always loaded with my USB combo mouse and keyboard.

----------

## VoidMage

Unless I'm missing something, there has been no need for CONFIG_INPUT_MOUSEDEV_PSAUX in several years.

----------

## tryn

creaker

 I'm just wondering if you might need to do this. Since they work in the other modes that you mention.

```
emerge  x11-base/xorg-drivers $(qlist -IC x11-drivers/)
```

 I do this after building a new kernel.

----------

## wraeth

It can't hurt to do that, as the Xorg drivers do need to be built against the kernel. However, this will only affect the use of devices once within an X session - if you can't use your keyboard or mouse on the console, then rebuilding teh Xorg driver components won't fix it.

Additionally, you can complete this same action with `emerge @x11-module-rebuild`; otherwise, if specifying the packages explicitly (as you are doing), you should include the "--oneshot" or '-1' option for emerge - libraries and drivers generally shouldn't be added to your world file.

----------

## creaker

Guys, I have no any kind of xorg stuffs installed. Just kernel, grub and some very basic utilities like ntfs3g, usbtools, mc. Its going to be a headless setup. Just console, no more. I can operate this machine over ssh without any input device attached, but I'd like to know whats going on, where this problem arises from.

----------

## Adel Ahmed

I think in order to have a mouse in the terminal you need the gpm use flag, so just a shot in the dark here, why don't you emerge a package with the gpm use flag and try out the mouse, maybe it's just  a missing use flag

----------

## jserink

 *creaker wrote:*   

> Kernel doesn't recognize my usb input devices, neither keyboard nor mouse.
> 
> Keyboard works at BIOS and Grub stages but refuses to work when system booted.
> 
> Both devices are OK, they works fine at other machine. As well both works if I booting into liveCD at this machine.
> ...

 

I have EXACTLY the same problem!

I upgraded my kernel following this formula:

eselect kernel list

eselect kernel set [#]------set to 3.14.14 from 3.12.21-r1

zcat /proc/config.gz > /usr/src/linux/.config

cd /usr/src/linux

make oldconfig

make menuconfig

mount /dev/sda2 /boot

make -j3 && make modules_install

mount /dev/sda2 /boot

cp arch/x86/boot/bzImage /boot/kernel-3.14.14-gentoo-A

dracut --hostonly initramfs-3.14.14-gentoo.img  3.14.14-gentoo

Then adjust my /boot/grub/grub.conf here....

umount /boot

My USB2 ports are dead. USB3 ports work fine but this sucks as I have 2 of each on my laptop and I sometimes need all 4.

I ran this "lspci -nnk.txt" while running 3.12.21-r1 and then in 3.14.14 and compared the two, they are identical....but in 3.14.14, no USB2.

For now sticking with 3.12.21-r1.

Very wierd.

Cheers,

john

----------

## creaker

Finally I got HID devices working using .config generated by 'make localmodconfig'.

----------

## jserink

Hi All:

Just to review, I lose my USB 2 ports when I load kernel 3.14.14. 

I have looked into this in more detail:

1. The lsmod dumps from 1.14.14 and 3.12-21-r1 are exactly the same except for the order and the fact the freq_table is no longer in 3.14.14 as its now built right in.

2. Last night I tried this:

#

# USB Host Controller Drivers

#

CONFIG_USB_C67X00_HCD=m

CONFIG_USB_XHCI_HCD=y

CONFIG_USB_XHCI_PLATFORM=m

CONFIG_USB_EHCI_HCD=y

CONFIG_USB_EHCI_ROOT_HUB_TT=y

CONFIG_USB_EHCI_TT_NEWSCHED=y

CONFIG_USB_EHCI_PCI=y

CONFIG_USB_EHCI_HCD_PLATFORM=y

In my 3.12.21-r1 this lists out as:

#

# USB Host Controller Drivers

#

CONFIG_USB_C67X00_HCD=m

CONFIG_USB_XHCI_HCD=m

CONFIG_USB_XHCI_PLATFORM=m

CONFIG_USB_EHCI_HCD=m

CONFIG_USB_EHCI_ROOT_HUB_TT=y

CONFIG_USB_EHCI_TT_NEWSCHED=y

CONFIG_USB_EHCI_PCI=m

CONFIG_USB_EHCI_HCD_PLATFORM=m

I short I'm building in the EHCI (USB2) and xHCI(USB3) support directly into the kernel rather than have them as modules.

Verdict:

No change, still no USB 2 support.

Staying with 3.12-21-r1 for now.

Cheers,

john

----------

## tomtom69

What kind of USB host controller do you have?

Can you post the output of "lspci"?

----------

## jserink

 *tomtom69 wrote:*   

> What kind of USB host controller do you have?
> 
> Can you post the output of "lspci"?

 

jserinki7 vde # lspci 

00:00.0 Host bridge: Intel Corporation 2nd Generation Core Processor Family DRAM Controller (rev 09)

00:01.0 PCI bridge: Intel Corporation Xeon E3-1200/2nd Generation Core Processor Family PCI Express Root Port (rev 09)

00:16.0 Communication controller: Intel Corporation 6 Series/C200 Series Chipset Family MEI Controller #1 (rev 04)

00:19.0 Ethernet controller: Intel Corporation 82579LM Gigabit Network Connection (rev 04)

00:1a.0 USB controller: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #2 (rev 04)

00:1b.0 Audio device: Intel Corporation 6 Series/C200 Series Chipset Family High Definition Audio Controller (rev 04)

00:1c.0 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 1 (rev b4)

00:1c.1 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 2 (rev b4)

00:1c.2 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 3 (rev b4)

00:1c.3 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 4 (rev b4)

00:1c.7 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 8 (rev b4)

00:1d.0 USB controller: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #1 (rev 04)

00:1f.0 ISA bridge: Intel Corporation QM67 Express Chipset Family LPC Controller (rev 04)

00:1f.2 RAID bus controller: Intel Corporation 82801 Mobile SATA Controller [RAID mode] (rev 04)

00:1f.3 SMBus: Intel Corporation 6 Series/C200 Series Chipset Family SMBus Controller (rev 04)

01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Whistler [Radeon HD 6730M/6770M/7690M XT]

01:00.1 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] Turks/Whistler HDMI Audio [Radeon HD 6000 Series]

03:00.0 Network controller: Intel Corporation Centrino Ultimate-N 6300 (rev 35)

0a:00.0 USB controller: NEC Corporation uPD720200 USB 3.0 Host Controller (rev 04)

0b:00.0 FireWire (IEEE 1394): O2 Micro, Inc. OZ600 1394a-2000 Controller (rev 05)

0b:00.1 SD Host controller: O2 Micro, Inc. OZ600RJ1/OZ900RJ1 SD/MMC Card Reader Controller (rev 05)

0b:00.2 Mass storage controller: O2 Micro, Inc. OZ600 MS/xD Controller (rev 05)

----------

## tomtom69

Seems that you have 3 USB host controllers in your system:

00:1d.0 USB controller: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #1 (rev 04)

00:1a.0 USB controller: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #2 (rev 04)

0a:00.0 USB controller: NEC Corporation uPD720200 USB 3.0 Host Controller (rev 04)

It looks like at least one of them is not working (probably the Intel ones, because USB 3.0 ports which are handled by the NEC are working).

Do you see any difference in the output of

dmesg | grep -i usb

between kernel 3.12 and 3.14?

----------

## Roman_Gruber

My working solution is to fire up livecd with the newest kernel and run lsusb, lspci, lsmod.

than compare and write down the modules and devices.

with this information you can easily build your kernel

another way is to build a genkernel kernel and check if it works there. but it sounds to me that you lack some important kernel or userspace modules related to your hardware

----------

## jserink

 *tw04l124 wrote:*   

> My working solution is to fire up livecd with the newest kernel and run lsusb, lspci, lsmod.
> 
> than compare and write down the modules and devices.
> 
> with this information you can easily build your kernel
> ...

 

Live CD is a good idea but I'm sort of doing that anyway, I boot into kernel 3.12.21-r1 which I am running now.

Here's the thing, other than the freq_table module which exists only 3.12-21-r1 and not in 3.14.14(its been folded directly into the cpu_freq code), the lsmod output is the same, just in a different order. All the same modules are loaded, its just that my USB 2 ports don't work.

I'll boot later into my 3.14.14 kernel and post the dmesg | grep -i usb output. I have it already for the 3.12-21-r1 but not must use posting that unit I have the 3.14.14.

Cheers,

john

----------

## jserink

 *tomtom69 wrote:*   

> Seems that you have 3 USB host controllers in your system:
> 
> 00:1d.0 USB controller: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #1 (rev 04)
> 
> 00:1a.0 USB controller: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #2 (rev 04)
> ...

 

Output of dmesg | grep -i usb on kernel 3.12.21-r1:

[    2.337242] xhci_hcd 0000:0a:00.0: Finished xhci_run for USB2 roothub

[    2.337300] usb usb1: default language 0x0409

[    2.337327] usb usb1: udev 1, busnum 1, minor = 0

[    2.337332] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002

[    2.337443] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1

[    2.337559] usb usb1: Product: xHCI Host Controller

[    2.337665] usb usb1: Manufacturer: Linux 3.12.21-gentoo-r1 xhci_hcd

[    2.337766] usb usb1: SerialNumber: 0000:0a:00.0

[    2.337998] usb usb1: usb_probe_device

[    2.338001] usb usb1: configuration #1 chosen from 1 choice

[    2.338022] usb usb1: adding 1-0:1.0 (config #1, interface 0)

[    2.338129] hub 1-0:1.0: usb_probe_interface

[    2.338133] hub 1-0:1.0: usb_probe_interface - got id

[    2.338137] hub 1-0:1.0: USB hub found

[    2.338719] xhci_hcd 0000:0a:00.0: new USB bus registered, assigned bus number 2

[    2.338845] xhci_hcd 0000:0a:00.0: supports USB remote wakeup

[    2.339332] xhci_hcd 0000:0a:00.0: Finished xhci_run for USB3 roothub

[    2.339399] usb usb2: skipped 1 descriptor after endpoint

[    2.339416] usb usb2: default language 0x0409

[    2.339532] usb usb2: udev 1, busnum 2, minor = 128

[    2.339535] usb usb2: New USB device found, idVendor=1d6b, idProduct=0003

[    2.339632] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1

[    2.339747] usb usb2: Product: xHCI Host Controller

[    2.339840] usb usb2: Manufacturer: Linux 3.12.21-gentoo-r1 xhci_hcd

[    2.339943] usb usb2: SerialNumber: 0000:0a:00.0

[    2.340182] usb usb2: usb_probe_device

[    2.340186] usb usb2: configuration #1 chosen from 1 choice

[    2.340212] usb usb2: adding 2-0:1.0 (config #1, interface 0)

[    2.340312] hub 2-0:1.0: usb_probe_interface

[    2.340316] hub 2-0:1.0: usb_probe_interface - got id

[    2.340319] hub 2-0:1.0: USB hub found

[    2.438313] usb usb1: bus auto-suspend, wakeup 1

[    2.440396] usb usb2: bus auto-suspend, wakeup 1

[    6.805511] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver

[    6.806343] ehci-pci 0000:00:1a.0: new USB bus registered, assigned bus number 3

[    6.810283] ehci-pci 0000:00:1a.0: supports USB remote wakeup

[    6.815760] ehci-pci 0000:00:1a.0: USB 2.0 started, EHCI 1.00

[    6.815793] usb usb3: default language 0x0409

[    6.815806] usb usb3: udev 1, busnum 3, minor = 256

[    6.815808] usb usb3: New USB device found, idVendor=1d6b, idProduct=0002

[    6.815811] usb usb3: New USB device strings: Mfr=3, Product=2, SerialNumber=1

[    6.815813] usb usb3: Product: EHCI Host Controller

[    6.815814] usb usb3: Manufacturer: Linux 3.12.21-gentoo-r1 ehci_hcd

[    6.815816] usb usb3: SerialNumber: 0000:00:1a.0

[    6.815905] usb usb3: usb_probe_device

[    6.815907] usb usb3: configuration #1 chosen from 1 choice

[    6.815917] usb usb3: adding 3-0:1.0 (config #1, interface 0)

[    6.815936] hub 3-0:1.0: usb_probe_interface

[    6.815938] hub 3-0:1.0: usb_probe_interface - got id

[    6.815940] hub 3-0:1.0: USB hub found

[    6.815951] hub 3-0:1.0: no power switching (usb 1.0)

[    6.815996] usb usb3: usb port1's DeviceRemovable is changed to 1 according to platform information.

[    6.816206] ehci-pci 0000:00:1d.0: new USB bus registered, assigned bus number 4

[    6.820122] ehci-pci 0000:00:1d.0: supports USB remote wakeup

[    6.825780] ehci-pci 0000:00:1d.0: USB 2.0 started, EHCI 1.00

[    6.825815] usb usb4: default language 0x0409

[    6.825828] usb usb4: udev 1, busnum 4, minor = 384

[    6.825831] usb usb4: New USB device found, idVendor=1d6b, idProduct=0002

[    6.825833] usb usb4: New USB device strings: Mfr=3, Product=2, SerialNumber=1

[    6.825835] usb usb4: Product: EHCI Host Controller

[    6.825837] usb usb4: Manufacturer: Linux 3.12.21-gentoo-r1 ehci_hcd

[    6.825839] usb usb4: SerialNumber: 0000:00:1d.0

[    6.825962] usb usb4: usb_probe_device

[    6.825966] usb usb4: configuration #1 chosen from 1 choice

[    6.825980] usb usb4: adding 4-0:1.0 (config #1, interface 0)

[    6.826000] hub 4-0:1.0: usb_probe_interface

[    6.826002] hub 4-0:1.0: usb_probe_interface - got id

[    6.826004] hub 4-0:1.0: USB hub found

[    6.826014] hub 4-0:1.0: no power switching (usb 1.0)

[    6.826061] usb usb4: usb port1's DeviceRemovable is changed to 1 according to platform information.

[    7.118100] usb 3-1: new high-speed USB device number 2 using ehci-pci

[    7.232519] usb 3-1: udev 2, busnum 3, minor = 257

[    7.232522] usb 3-1: New USB device found, idVendor=8087, idProduct=0024

[    7.232524] usb 3-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0

[    7.232593] usb 3-1: usb_probe_device

[    7.232596] usb 3-1: configuration #1 chosen from 1 choice

[    7.232646] usb 3-1: adding 3-1:1.0 (config #1, interface 0)

[    7.232660] hub 3-1:1.0: usb_probe_interface

[    7.232661] hub 3-1:1.0: usb_probe_interface - got id

[    7.232663] hub 3-1:1.0: USB hub found

[    7.427419] usb 4-1: new high-speed USB device number 2 using ehci-pci

[    7.525532] usb 3-1: link qh256-0001/ffff8804131d9f00 start 1 [1/0 us]

[    7.541856] usb 4-1: udev 2, busnum 4, minor = 385

[    7.541867] usb 4-1: New USB device found, idVendor=8087, idProduct=0024

[    7.541874] usb 4-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0

[    7.542027] usb 4-1: usb_probe_device

[    7.542031] usb 4-1: configuration #1 chosen from 1 choice

[    7.542100] usb 4-1: adding 4-1:1.0 (config #1, interface 0)

[    7.542151] hub 4-1:1.0: usb_probe_interface

[    7.542154] hub 4-1:1.0: usb_probe_interface - got id

[    7.542157] hub 4-1:1.0: USB hub found

[    7.616817] usb 3-1.4: new full-speed USB device number 3 using ehci-pci

[    7.704915] usb 3-1.4: skipped 2 descriptors after interface

[    7.705146] usb 3-1.4: default language 0x0409

[    7.706146] usb 3-1.4: udev 3, busnum 3, minor = 258

[    7.706153] usb 3-1.4: New USB device found, idVendor=413c, idProduct=8187

[    7.706159] usb 3-1.4: New USB device strings: Mfr=1, Product=2, SerialNumber=3

[    7.706165] usb 3-1.4: Product: DW375 Bluetooth Module

[    7.706170] usb 3-1.4: Manufacturer: Dell Computer Corp

[    7.706175] usb 3-1.4: SerialNumber: D0DF9A3EC07D

[    7.706373] usb 3-1.4: usb_probe_device

[    7.706380] usb 3-1.4: configuration #1 chosen from 1 choice

[    7.706539] usb 3-1.4: adding 3-1.4:1.0 (config #1, interface 0)

[    7.706660] usb 3-1.4: adding 3-1.4:1.1 (config #1, interface 1)

[    7.706761] usb 3-1.4: adding 3-1.4:1.2 (config #1, interface 2)

[    7.706841] usb 3-1.4: adding 3-1.4:1.3 (config #1, interface 3)

[    7.744775] usb 4-1: link qh256-0001/ffff880415c5e680 start 1 [1/0 us]

[    7.779998] usb 3-1.5: new high-speed USB device number 4 using ehci-pci

[    7.871127] usb 3-1.5: skipped 1 descriptor after configuration

[    7.871134] usb 3-1.5: skipped 6 descriptors after interface

[    7.871140] usb 3-1.5: skipped 1 descriptor after endpoint

[    7.871144] usb 3-1.5: skipped 19 descriptors after interface

[    7.871153] usb 3-1.5: skipped 1 descriptor after endpoint

[    7.871358] usb 3-1.5: default language 0x0409

[    7.872473] usb 3-1.5: udev 4, busnum 3, minor = 259

[    7.872479] usb 3-1.5: New USB device found, idVendor=05ca, idProduct=181e

[    7.872483] usb 3-1.5: New USB device strings: Mfr=1, Product=2, SerialNumber=0

[    7.872487] usb 3-1.5: Product: Laptop_Integrated_Webcam_FHD

[    7.872491] usb 3-1.5: Manufacturer: CN0CJ3P272487174CBJFA00

[    7.872605] usb 3-1.5: usb_probe_device

[    7.872611] usb 3-1.5: configuration #1 chosen from 1 choice

[    7.872730] usb 3-1.5: adding 3-1.5:1.0 (config #1, interface 0)

[    7.873293] usb 3-1.5: adding 3-1.5:1.1 (config #1, interface 1)

[    7.881760] btusb 3-1.4:1.0: usb_probe_interface

[    7.881766] btusb 3-1.4:1.0: usb_probe_interface - got id

[    7.882037] btusb 3-1.4:1.2: usb_probe_interface

[    7.882044] btusb 3-1.4:1.2: usb_probe_interface - got id

[    7.882065] btusb 3-1.4:1.3: usb_probe_interface

[    7.882070] btusb 3-1.4:1.3: usb_probe_interface - got id

[    7.882096] usbcore: registered new interface driver btusb

[    7.882271] usb 3-1.4: link qh1-0e01/ffff88041325a900 start 0 [1/2 us]

[    7.946016] usb 4-1.1: new low-speed USB device number 3 using ehci-pci

[    8.033227] usb 4-1.1: skipped 1 descriptor after interface

[    8.033723] usb 4-1.1: default language 0x0409

[    8.035351] usb 4-1.1: udev 3, busnum 4, minor = 386

[    8.035354] usb 4-1.1: New USB device found, idVendor=046d, idProduct=c019

[    8.035357] usb 4-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=0

[    8.035359] usb 4-1.1: Product: USB Optical Mouse

[    8.035361] usb 4-1.1: Manufacturer: Logitech

[    8.035444] usb 4-1.1: usb_probe_device

[    8.035447] usb 4-1.1: configuration #1 chosen from 1 choice

[    8.035858] usb 4-1.1: adding 4-1.1:1.0 (config #1, interface 0)

[    8.035882] usbhid 4-1.1:1.0: usb_probe_interface

[    8.035884] usbhid 4-1.1:1.0: usb_probe_interface - got id

[    8.110178] usb 4-1.8: new full-speed USB device number 4 using ehci-pci

[    8.195420] usb 4-1.8: skipped 1 descriptor after interface

[    8.195432] usb 4-1.8: skipped 1 descriptor after interface

[    8.199288] usb 4-1.8: default language 0x0409

[    8.210006] usb 4-1.8: udev 4, busnum 4, minor = 387

[    8.210019] usb 4-1.8: New USB device found, idVendor=0a5c, idProduct=5800

[    8.210025] usb 4-1.8: New USB device strings: Mfr=1, Product=2, SerialNumber=3

[    8.210031] usb 4-1.8: Product: 5880

[    8.210036] usb 4-1.8: Manufacturer: Broadcom Corp

[    8.210041] usb 4-1.8: SerialNumber: 0123456789ABCD

[    8.210361] usb 4-1.8: usb_probe_device

[    8.210370] usb 4-1.8: configuration #0 chosen from 1 choice

[    8.210375] usb 4-1.8: config 0 descriptor??

[    8.210550] usb 4-1.8: adding 4-1.8:0.0 (config #0, interface 0)

[    8.217029] usb 4-1.8: adding 4-1.8:0.1 (config #0, interface 1)

[    8.833928] input: Logitech USB Optical Mouse as /devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.1/4-1.1:1.0/input/input16

[    8.834220] usb 4-1.1: link qh8-0e01/ffff8804176a3300 start 2 [1/2 us]

[    8.834229] evbug: Connected device: input16 (Logitech USB Optical Mouse at usb-0000:00:1d.0-1.1/input0)

[    8.834364] hid-generic 0003:046D:C019.0001: input,hidraw0: USB HID v1.11 Mouse [Logitech USB Optical Mouse] on usb-0000:00:1d.0-1.1/input0

[    8.979087] uvcvideo 3-1.5:1.0: usb_probe_interface

[    8.979092] uvcvideo 3-1.5:1.0: usb_probe_interface - got id

[    8.981898] input: Laptop_Integrated_Webcam_FHD as /devices/pci0000:00/0000:00:1a.0/usb3/3-1/3-1.5/3-1.5:1.0/input/input17

[    8.982136] evbug: Connected device: input17 (Laptop_Integrated_Webcam_FHD at usb-0000:00:1a.0-1.5/button)

[    8.982207] usbcore: registered new interface driver uvcvideo

[    8.982209] USB Video Class driver (1.1.1)

[    9.080123] usb 3-1.5: link qh16-0001/ffff88041622ed00 start 3 [1/0 us]

[    9.080264] usb 3-1.5: unlink qh16-0001/ffff88041622ed00 start 3 [1/0 us]

[    9.931110] usb 3-1.4: unlink qh1-0e01/ffff88041325a900 start 0 [1/2 us]

[    9.933702] usb 3-1: clear tt buffer port 4, a3 ep2 t04048d82

[   11.741204] usb 3-1.5: usb auto-suspend, wakeup 0

Output of dmesg | grep -i usb on kernel 3.14.14:

[    0.695222] ACPI: bus type USB registered

[    0.695359] usbcore: registered new interface driver usbfs

[    0.695467] usbcore: registered new interface driver hub

[    0.695598] usbcore: registered new device driver usb

[    1.471097] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver

[    1.471537] ehci-pci 0000:00:1a.0: new USB bus registered, assigned bus number 1

[    1.481317] ehci-pci 0000:00:1a.0: USB 2.0 started, EHCI 1.00

[    1.481428] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002

[    1.481511] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1

[    1.481598] usb usb1: Product: EHCI Host Controller

[    1.481675] usb usb1: Manufacturer: Linux 3.14.14-gentoo ehci_hcd

[    1.481752] usb usb1: SerialNumber: 0000:00:1a.0

[    1.482138] hub 1-0:1.0: USB hub found

[    1.482731] ehci-pci 0000:00:1d.0: new USB bus registered, assigned bus number 2

[    1.492327] ehci-pci 0000:00:1d.0: USB 2.0 started, EHCI 1.00

[    1.492433] usb usb2: New USB device found, idVendor=1d6b, idProduct=0002

[    1.492521] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1

[    1.492607] usb usb2: Product: EHCI Host Controller

[    1.492682] usb usb2: Manufacturer: Linux 3.14.14-gentoo ehci_hcd

[    1.492760] usb usb2: SerialNumber: 0000:00:1d.0

[    1.493169] hub 2-0:1.0: USB hub found

[    1.493732] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver

[    1.494167] uhci_hcd: USB Universal Host Controller Interface driver

[    1.494617] xhci_hcd 0000:0a:00.0: new USB bus registered, assigned bus number 3

[    1.495125] usb usb3: New USB device found, idVendor=1d6b, idProduct=0002

[    1.495204] usb usb3: New USB device strings: Mfr=3, Product=2, SerialNumber=1

[    1.495290] usb usb3: Product: xHCI Host Controller

[    1.495377] usb usb3: Manufacturer: Linux 3.14.14-gentoo xhci_hcd

[    1.495453] usb usb3: SerialNumber: 0000:0a:00.0

[    1.495818] hub 3-0:1.0: USB hub found

[    1.496218] xhci_hcd 0000:0a:00.0: new USB bus registered, assigned bus number 4

[    1.498338] usb usb4: New USB device found, idVendor=1d6b, idProduct=0003

[    1.498426] usb usb4: New USB device strings: Mfr=3, Product=2, SerialNumber=1

[    1.498512] usb usb4: Product: xHCI Host Controller

[    1.498589] usb usb4: Manufacturer: Linux 3.14.14-gentoo xhci_hcd

[    1.498666] usb usb4: SerialNumber: 0000:0a:00.0

[    1.498976] hub 4-0:1.0: USB hub found

[    1.503747] usbcore: registered new interface driver usbhid

[    1.503824] usbhid: USB HID core driver

[    1.784691] usb 1-1: new high-speed USB device number 2 using ehci-pci

[    1.900290] usb 1-1: New USB device found, idVendor=8087, idProduct=0024

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

[    2.013921] usb 2-1: new high-speed USB device number 2 using ehci-pci

[    2.128566] usb 2-1: New USB device found, idVendor=8087, idProduct=0024

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

Very interesting, quite different.

Hmmm....

----------

## tomtom69

Really quite different.

What is noticeable is the order of loading the modules:

Kernel 3.12 loads ohci (NEC) and uhci (intel) first (can not be seen in dmesg any more), then xhci, then ehci

Kernel 3.14 loads ehci first, then ohci and uhci, then xhci

http://www.linuxquestions.org/questions/slackware-14/various-regressions-with-kernel-3-14-%5B3%7C4%7C5%5D-4175506827/

describes a quite similar problem.

AFAIK ohci and uhci need to be loaded first, because enumeration starts using the USB1 protocol layer.

But I do not know exactly how to influence the order of module loading. One thing you could try would be to compile all the *hci drivers as modules, disable auto-loading them and load them manually in the right order (ohci and uhci first).

----------

## jserink

Hi All:

I tried the following in 3.14.14:

Compiled EHCI, USB2 support, directly into the kernel,

Compiled xHCI, USB3, as a module....

Made no difference.

Just as a note, 

   <*>     OHCI HCD (USB 1.1) support                               │ │  

   <*>       OHCI support for PCI-bus USB controllers               │ │  

   {*}       Generic OHCI driver for a platform device              │ │  

   <*>     UHCI HCD (most Intel and VIA) support

Are built directly into the kernel.

Cheers,

john

----------

## jserink

Hi All:

I have been using kernel 3.12.21 since 3.14.14 came out as using 3.14.14 I had no USB2 support on my laptop.

I have just configured and compiled kernel 3.16.5 and it runs fine, all ok.

Cheers,

John

----------

