# Weird hardware problem

## audiodef

My system does two things I think are related, and that I think are hardware related. I have a feeling I can tweak the kernel somehow to stop this, but I don't know how.

1. Keyboard repeat does not continue to repeat. Sometimes the cursor moves one space and stops. I have to let go of the key and press it again. Sometimes it will move several, or several tens of spaces before it stops and I have to re-press the key to continue.

2. In a terminal - ANY terminal or ANY terminal emulator, the screen ALWAYS jumps back to the most recent line after a second or two. This makes it impossible to scroll back and read earlier output, which I absolutely need to do. 

So... any ideas?

----------

## madchaz

get a new keyboard

----------

## Mousee

 *madchaz wrote:*   

> get a new keyboard

 

Have to agree with this one. Unless you're having some unusual USB (hardware/software) issues, there's not really anything, that I'm aware of, that could cause such issues other than malfunctioning/broken hardware (aka. your keyboard). You might check "dmesg" to see if it reports any USB-related errors.

----------

## audiodef

It's not the keyboard. I've ruled that out by putting a known working keyboard on it (same thing happens) and using my normal keyboard elsewhere, which shows it works fine.

----------

## Mousee

Alright - and did you check your "dmesg" log to see if there's any odd-looking activity regarding USB devices?

Do you possibly have a USB-to-PS/2 converter handy, assuming you have a PS/2 input somewhere on your computer, to try and rule out USB as an issue specifically?

I mean it's either failing hardware, conflicting USB drivers in the kernel, or kernel drivers that aren't working properly with your USB devices.

Again check dmesg first to see what it says and then, if you can, try the PS/2 idea as we're aware now that your keyboard is fine.

----------

## audiodef

 *Mousee wrote:*   

> conflicting USB drivers in the kernel

 

Just a while ago I developed a suspicion this might be the problem. I needed to compile EHCI. I don't know if that should be in addition to UHCI or instead of, but input devices don't work without EHCI. 

I'm going to first try with the two extra options for ECHI, then without UHCI. 

I think the way xscreensaver doesn't always start is related, I'm guessing because signals are being sent that something is active even though I'm not touching the keyboard or mouse. Which may be coming from conflicting drivers.

----------

## audiodef

Nope. Using only EHCI didn't change anything.

Here's dmesg | grep usb. Does anything look off?

```

[    0.208061] usbcore: registered new interface driver usbfs

[    0.208128] usbcore: registered new interface driver hub

[    0.208128] usbcore: registered new device driver usb

[    2.653163] usbcore: registered new interface driver usblp

[    2.655897] usbcore: registered new interface driver usb-storage

[    2.682635] usbcore: registered new interface driver hiddev

[    2.684015] usbcore: registered new interface driver usbhid

[    2.685313] usbhid: USB HID core driver

[    3.107269] usb 2-1: new full speed USB device using ohci_hcd and address 2

[    3.563926] usb 2-1.1: new low speed USB device using ohci_hcd and address 3

[    3.677278] input: Dell Dell USB Keyboard as /devices/pci0000:00/0000:00:02.0/usb2/2-1/2-1.1/2-1.1:1.0/input/input2

[    3.677437] generic-usb 0003:413C:2003.0001: input,hidraw0: USB HID v1.10 Keyboard [Dell Dell USB Keyboard] on usb-0000:00:02.0-1.1/input0

[    3.744902] usb 2-1.2: new low speed USB device using ohci_hcd and address 4

[    3.855214] input: Dell Dell USB Mouse as /devices/pci0000:00/0000:00:02.0/usb2/2-1/2-1.2/2-1.2:1.0/input/input3

[    3.855444] generic-usb 0003:413C:3200.0002: input,hidraw1: USB HID v1.10 Mouse [Dell Dell USB Mouse] on usb-0000:00:02.0-1.2/input0

[    3.922880] usb 2-1.3: new low speed USB device using ohci_hcd and address 5

[    4.048995] input: No brand SP02-A1 as /devices/pci0000:00/0000:00:02.0/usb2/2-1/2-1.3/2-1.3:1.0/input/input4

[    4.049158] generic-usb 0003:10D5:000D.0003: input,hidraw2: USB HID v1.10 Keyboard [No brand SP02-A1] on usb-0000:00:02.0-1.3/input0

[    4.051922] usbhid 2-1.3:1.1: couldn't find an input interrupt endpoint

[    8.539996] usbcore: registered new interface driver snd-usb-audio

```

----------

## erik258

Have you checked the motherboard manufacturer for a BIOS update?  Also, have you looked at the bios settings for key repeat (i think it's 'fast int20' or something like that), if any?  Newer computers probably don't have that setting, but older ones do, to use the BIOS to control key repeat rather than the keyboard itself.  If it's there, you might try toggling it. 

Does the same thing happen when logged in remotely from another computer?  If so, I tend to think it would almost have to be the software causing this problem.  What's your `uname -r` ?

----------

## krinn

I would assume that: explain for scrolling, ending keypressed and xscreensaver, all can have same root: keyboard pushing itself a key.

you can cat /dev/input/event? where ? is the number your keyboard (grab it in xorg.log).

Then push 1 or 2 keys to check output work (and so you've pickup the right event) and then of course, well, stop using the keyboard and watch for an event coming while you're not using it.

----------

## audiodef

Thanks for the good tips, guys. 

It also occurs to me that my make.conf has "evdev keyboard mouse" for input devices. Going to try just evdev and see what happens.

----------

