我对 Linux 完全不熟悉,所以我尝试将 USB 键盘添加到 Sheevaplug无头 ARM 计算机运行Linux Debian 2.6.22.18
从 shell(远程,通过以太网)访问 Sheevaplug...
login as: root
[email protected]'s password:
Linux debian 2.6.22.18 #1 Thu Mar 19 14:46:22 IST 2009 armv5tejl
root@debian:~#
...(本地)USB 键盘似乎已被识别...
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:~#
...但按下本地 USB 键盘上的键不会显示任何内容...
root@debian:~#
有任何想法吗?
问候,tamberg
答案1
为什么你会期望本地 shell 上的按键显示在远程 shell 中?在任何系统上,情况都不是这样的。你需要将显示器连接到 sheeva 插头才能使用本地 shell。我认为这与加载的驱动程序无关,而是与误解 shell 的工作原理有关。
答案2
默认情况下,本地输入不会显示在远程 shell 中。如
从远程 shell 检查本地 USB 键盘是否正常工作的一个简单方法是
cat /dev/tty0
问候,tamberg
答案3
只是一个想法:
内核的最新版本是 2.6.32,因此 2.6.22 看起来有点旧,或者这是一个打字错误?
我不记得了什么时候内核中添加了 USB 键盘支持,我只知道这是一个相对较新的事情。
这可能与你的键盘问题无关,但我注意到
P: Phys=usb-ehci_marvell.70059-1/input0
在您的问题中。我记得在 2.6.22 左右的时候,USB2.0 外置硬盘出现了问题,必须先insmod
加载“ehci”内核模块,它才能以 usb2.0 速度运行。
编辑:我发现了一个Linux USB 常见问题解答其中包括以下内容:
如果您使用的是 Linux 2.4,除非您先升级到最新的 2.6 内核,否则不要指望社区提供帮助。如果您使用的是任何旧内核,您可能应该有某种供应商支持协议来处理出现的问题。如果您在 2.4 内核上使用 UHCI,请尝试使用“其他”UHCI 主机控制器驱动程序 (HCD) 重现问题。目前有两个 UHCI 驱动程序,它们的行为并不总是相同的:usb-uhci 和 uhci(“alt”或“JE”驱动程序)。如果您发现有解决方法,请仍然报告问题!并确保说出您正在使用哪个 HCD。
问:如何让我的机器检测到 USB?
答:如果您确定您确实拥有合适的硬件设置,请寻找适用的 BIOS 选项。它可能被标记为 USB,也可能更模糊,讨论即插即用,或有各种操作系统的选项。您可能需要尝试各种组合。除非您在启动期间依赖 USB 键盘或鼠标,否则最安全的做法可能是在 BIOS 中禁用对这些的支持;许多 BIOS 编写者似乎都搞错了这一点,当 Linux 试图接管 USB 时,就会出现问题。
嗯,仍然在谈论 UHCI。我希望它比“最近的 2.6 内核”更具体一点
有一个建议这里需要内核 2.6.23.x 到 2.6.28.x。但是,这又很模糊。