# [SOLVED}No USB keyboard or mouse

## 2handband

Ok... I've tried everything I can think of. I have to get these computers working again soon, so this is my last gasp to get Gentoo going. The problem:

I installed Gentoo. Simple base install, simplest possible profile, right out of the handbook. I did the genkernel since I've never rolled a kernel in my life and figured it would be the easiest way to get started. Turns out it wasn't; the genkernel doesn't support several of the devices on my machine (I thought it was supposed to include everything?). I did get a bootable system out of the deal, so from my new Gentoo terminal login I ran make menuconfig and added support for my wifi. Just a side note: I'm in a position where wifi is absolutely my only choice to get online; it HAS to work.

So I add wifi and a couple of other things in the kernel, compile, run make install, and reboot. It installs fine and takes me to a login prompt... and my keyboard isn't working! WTH? So I go back into the kernel and make sure HID support is turned on (it is). Get out, reboot... still no keyboard. Note well: it was working before I recompiled the kernel. Now it's not. HID support is enabled. I'm sure I've made some schoolchild error, but I have ZERO experience with kernel configuration. Can anybody assist?Last edited by 2handband on Mon Dec 01, 2014 12:25 am; edited 1 time in total

----------

## Hu

Do you still have the .config from the kernel with working keyboard support?  You could use diff to compare the two configurations to see what disabled your keyboard.  Do you get any dmesg output when the keyboard is discovered?  You might need to ssh to the machine to examine dmesg, given the circumstances.

What kind of login prompt are you using?  Do you mean the text mode prompt presented by getty or a graphical mode prompt presented by xdm, gdm, etc.?  If the latter, please try pressing Ctrl+Alt+F1 to switch to a text prompt, then test whether the text prompt works.  When you went to verify your kernel configuration, was that boot based off the genkernel that has keyboard support (but lacks other devices) or off the LiveCD kernel?

----------

## 2handband

 *Hu wrote:*   

> Do you still have the .config from the kernel with working keyboard support?  You could use diff to compare the two configurations to see what disabled your keyboard.  Do you get any dmesg output when the keyboard is discovered?  You might need to ssh to the machine to examine dmesg, given the circumstances.
> 
> What kind of login prompt are you using?  Do you mean the text mode prompt presented by getty or a graphical mode prompt presented by xdm, gdm, etc.?  If the latter, please try pressing Ctrl+Alt+F1 to switch to a text prompt, then test whether the text prompt works.  When you went to verify your kernel configuration, was that boot based off the genkernel that has keyboard support (but lacks other devices) or off the LiveCD kernel?

 

Unfortunately I've re-compiled the kernel twice, so the config.old is from a setup that already had non-working USB.

Straight text... I haven't installed a graphical environment yet. 

The first time I went into the kernel it was from the hard disc install; keyboard was working at that point. Second time was chroot from systemrescue CD (which is the environment I'm in right now).

----------

## NeddySeagoon

2handband,

Post your lspci output and your lsusb output.  

We are interested in your USB hardware in lspci and your keyboard in lsusb.

Some hardware has an issue with USB module load order, which is difficult to address if you only have a USB keyboard unless you can get access using ssh from another device.

----------

## 2handband

Here's the requested output. If it's the hardware I'll be surprised; I've been running various flavors of linux on this box for years with no issues till now.

```
root@sysresccd /root % lspci

00:00.0 Host bridge: Advanced Micro Devices, Inc. [AMD] RS880 Host Bridge

00:01.0 PCI bridge: Advanced Micro Devices, Inc. [AMD] RS780/RS880 PCI to PCI bridge (int gfx)

00:05.0 PCI bridge: Advanced Micro Devices, Inc. [AMD] RS780/RS880 PCI to PCI bridge (PCIE port 1)

00:0a.0 PCI bridge: Advanced Micro Devices, Inc. [AMD] RS780/RS880 PCI to PCI bridge (PCIE port 5)

00:11.0 SATA controller: Advanced Micro Devices, Inc. [AMD/ATI] SB7x0/SB8x0/SB9x0 SATA Controller [AHCI mode]

00:12.0 USB controller: Advanced Micro Devices, Inc. [AMD/ATI] SB7x0/SB8x0/SB9x0 USB OHCI0 Controller

00:12.1 USB controller: Advanced Micro Devices, Inc. [AMD/ATI] SB7x0 USB OHCI1 Controller

00:12.2 USB controller: Advanced Micro Devices, Inc. [AMD/ATI] SB7x0/SB8x0/SB9x0 USB EHCI Controller

00:13.0 USB controller: Advanced Micro Devices, Inc. [AMD/ATI] SB7x0/SB8x0/SB9x0 USB OHCI0 Controller

00:13.1 USB controller: Advanced Micro Devices, Inc. [AMD/ATI] SB7x0 USB OHCI1 Controller

00:13.2 USB controller: Advanced Micro Devices, Inc. [AMD/ATI] SB7x0/SB8x0/SB9x0 USB EHCI Controller

00:14.0 SMBus: Advanced Micro Devices, Inc. [AMD/ATI] SBx00 SMBus Controller (rev 3c)

00:14.2 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] SBx00 Azalia (Intel HDA)

00:14.3 ISA bridge: Advanced Micro Devices, Inc. [AMD/ATI] SB7x0/SB8x0/SB9x0 LPC host controller

00:14.4 PCI bridge: Advanced Micro Devices, Inc. [AMD/ATI] SBx00 PCI to PCI Bridge

00:18.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 10h Processor HyperTransport Configuration

00:18.1 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 10h Processor Address Map

00:18.2 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 10h Processor DRAM Controller

00:18.3 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 10h Processor Miscellaneous Control

00:18.4 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 10h Processor Link Control

01:05.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] RS880 [Radeon HD 4200]

02:00.0 Network controller: Ralink corp. RT3090 Wireless 802.11n 1T/1R PCIe

03:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8101E/RTL8102E PCI Express Fast Ethernet controller (rev 05)
```

```
root@sysresccd /root % lsusb

Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

Bus 005 Device 004: ID 093a:2510 Pixart Imaging, Inc. Optical Mouse

Bus 005 Device 002: ID 04f2:0841 Chicony Electronics Co., Ltd HP Multimedia Keyboard

Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

Bus 002 Device 004: ID 058f:6362 Alcor Micro Corp. Flash Card Reader/Writer

Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Bus 001 Device 003: ID 04e8:6860 Samsung Electronics Co., Ltd GT-I9100 Phone [Galaxy S II], GT-I9300 Phone [Galaxy S III], GT-P7500 [Galaxy Tab 10.1] , GT-I9500 [Galaxy S 4]

Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
```

----------

## NeddySeagoon

2handband,

That should just work.

Make a file called /etc/local.d/fixusb.start

Enter the following lines

```
# rip out USB drivers

modprobe -r xhci_hcd

modprobe -r ehci_hcd

modprobe -r ohci_hcd

modprobe -r uhci_hcd

# load the minimum for USB1.1

modprobe ohci_hcd
```

This will be executed just before the login prompt appears and should give you keyboard and mouse.

You can manually 

```
modprobe ehci_hcd
```

 to get USB2. If it works, add it to the file.

There have been issues with both ohci_hcd and uhci_hcd loading when you only need one of them and with xhci_hcd loading when its not needed.

Blacklisting xhci_hcd and uhci_hcd is probably a better way to achieve the same thing.

----------

## 2handband

That got it, thanks!

----------

