Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

Totally unfamiliar with Linux, I try to add a USB keyboard to a Sheevaplug headless ARM computer running Linux debian 2.6.22.18

Accessing the Sheevaplug from a shell (remote, via Ethernet) ...

login as: root
root@192.168.20.108's password:
Linux debian 2.6.22.18 #1 Thu Mar 19 14:46:22 IST 2009 armv5tejl

root@debian:~#

... the (local) USB keyboard seems to have been recognized ...

root@debian:~# cat /proc/bus/input/devices
I: Bus=0003 Vendor=046a Product=0023 Version=0111
N: Name="HID 046a:0023"
P: Phys=usb-ehci_marvell.70059-1/input0
S: Sysfs=/class/input/input0
U: Uniq=
H: Handlers=kbd
B: EV=120003
B: KEY=7 ff800000 7ff e0b2ffdf 1cfffff ffffffff fffffffe
B: LED=1f

I: Bus=0003 Vendor=046a Product=0023 Version=0111
N: Name="HID 046a:0023"
P: Phys=usb-ehci_marvell.70059-1/input1
S: Sysfs=/class/input/input1
U: Uniq=
H: Handlers=kbd
B: EV=f
B: KEY=7fff 2c3027 bf004440 0 0 1 f80 8837c400 667bfa d971dfed 9e0000 0 0 0
B: REL=40
B: ABS=1 0

root@debian:~#

... but pressing keys on the local USB keyboard does not display anything ...

root@debian:~#

Any Ideas?

Regards, tamberg

share|improve this question
1  
The sheeva plug is a fairly oddball device; adding more information about your setup (especially a description of the plug) would help a lot. I, for one, was under the impression that the sheeva plug didn't actually have a local display. From what I can infer, you've got a plug computer that you've accessed via a remote shell over a LAN. You've attached a usb keyboard to the plug, and are trying to get the commands from the local keyboard to the remote shell. Is this an accurate picture? –  Babu Jan 5 '10 at 21:48
    
Exactly. Getting commands (or any text) from the local keyboard to the shell (as a proof of concept), and later to a program running on the Sheevaplug. –  tamberg Jan 5 '10 at 21:56
4  
Why would you expect keystrokes on a local shell to show up in a remote shell? This is not how it works on any system. You would need to attach a display to the sheeva plug in order to use a local shell. –  micmcg Jan 6 '10 at 0:25

3 Answers 3

Just a thought:

The latest version of the kernel is 2.6.32, therefore 2.6.22 seems a little old, or was that a typo?

I don't recall when USB keyboard support was added to the kernel, I simply know it's a relatively recent thing.

This may be nothing to do with your keyboard problem, but I notice

P: Phys=usb-ehci_marvell.70059-1/input0

in your question. I remember having trouble with a USB2.0 external HDD at about the time of 2.6.22 and it was necessary to use insmod to load an 'ehci' kernel module before it would run at usb2.0 speed.

EDIT: I found a Linux USB FAQ which included the following:

If you are using Linux 2.4, don't expect community assistance unless you first upgrade to a recent 2.6 kernel. If you're using any kernel that old, you should probably have some sort of vendor support agreement to handle issues that come up. If you are using UHCI on a 2.4 kernel, try to reproduce the problem with the "other" UHCI host controller driver (HCD). There are currently two UHCI drivers, which don't always behave the same: usb-uhci and uhci (the "alt" or "JE" driver). If you find that you have a workaround, please still report the problem! And make sure you say which HCD(s) you're using.

Q: How do I make USB be detected on my machine?

A: If you are sure that you actually have a suitable hardware setup, look for a BIOS option that could be applicable. It might be labelled as USB, or it might be more obscure, discussing Plug-n-Play, or having options for various types of operating systems. You may need to try various combinations. Unless you rely on a USB keyboard or mouse during booting, it's probably safest to disable support for those in your BIOS; lots of BIOS writers seem to get that wrong, making trouble when Linux tries to take over USB.

Hmmm, still talks about UHCI. I wish it was a bit more specific than 'recent 2.6 kernel'

There is a suggestion here that kernels 2.6.23.x up to 2.6.28.x are needed. But, again, it's vague.

share|improve this answer
    
No typo. How can I check if keyboards are supported? –  tamberg Jan 5 '10 at 21:58
    
Thanks for the edit (+1). From the kernel log it looked like an ehci module is loaded. At least that's what I remember. Got to check that tomorrow. –  tamberg Jan 5 '10 at 23:39
    
I found out USB keyboards were supported on my PC by the same method you were hoping to use. I plugged one in and (was surprised when) it worked. –  pavium Jan 6 '10 at 6:59

Why would you expect keystrokes on a local shell to show up in a remote shell? This is not how it works on any system. You would need to attach a display to the sheeva plug in order to use a local shell. I don't think this has anything to do with the drivers being loaded and everything to do with misunderstanding how the shell works.

share|improve this answer
    
Good point, thanks. As there is no display I'll try to write a program reading keyboard input (from stdin?) into a file. Run that in the background (with screen?) and see what's there afterwards. –  tamberg Jan 6 '10 at 1:39
up vote 3 down vote accepted

Per default local input does not show up in the remote shell. As stated in

http://superuser.com/questions/92147/linux-redirect-local-usb-keyboard-to-remote-shell

a simple way to check from the remote shell that the local USB keyboard works is

cat /dev/tty0

Regards, tamberg

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.