1

Абсолютно незнаком с Linux, я пытаюсь добавить USB-клавиатуру к ARM-компьютеру Sheevaplug без компьютера, работающему под управлением Linux Debian 2.6.22.18.

Доступ к Sheevaplug из оболочки (удаленно, через 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:~#

... (локальная) клавиатура 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:~#

Есть идеи?

С уважением, Тамберг

3 ответа3

3

Почему вы ожидаете, что нажатия клавиш на локальной оболочке появятся в удаленной оболочке? Это не так, как это работает в любой системе. Вам нужно будет прикрепить дисплей к шейв-штекеру, чтобы использовать локальную оболочку. Я не думаю, что это имеет какое-либо отношение к загружаемым драйверам, а связано с неправильным пониманием того, как работает оболочка.

3

По умолчанию локальный ввод не отображается в удаленной оболочке. Как указано в

Linux: Перенаправление локальной USB-клавиатуры на удаленную оболочку

простой способ проверить из удаленной оболочки, что локальная клавиатура USB работает

cat /dev/tty0

С уважением, Тамберг

1

Просто мысль:

Последняя версия ядра - 2.6.32, поэтому 2.6.22 кажется немного старой или это опечатка?

Я не помню, когда в ядро была добавлена поддержка USB-клавиатуры, я просто знаю, что это относительно недавно.

Это может быть не связано с вашей клавиатурой, но я замечаю

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

в вашем вопросе. Я помню, что у меня были проблемы с внешним жестким диском USB2.0 примерно в 2.6.22, и было необходимо использовать insmod для загрузки модуля ядра 'ehci', прежде чем он будет работать на скорости usb2.0.

РЕДАКТИРОВАТЬ: я нашел Linux USB FAQ, который включал следующее:

Если вы используете Linux 2.4, не ждите помощи сообщества, если вы не обновите ядро 2.6 до последней версии. Если вы используете какое-либо старое ядро, у вас, вероятно, должно быть какое-то соглашение о поддержке поставщика для решения возникающих проблем. Если вы используете UHCI в ядре 2.4, попробуйте воспроизвести проблему с помощью "другого" драйвера хост-контроллера UHCI (HCD). В настоящее время есть два драйвера UHCI, которые не всегда ведут себя одинаково: usb-uhci и uhci (драйвер "alt" или "JE"). Если вы обнаружите, что у вас есть обходной путь, все равно сообщите о проблеме! И убедитесь, что вы говорите, какие HCD вы используете.

Q: Как я могу обнаружить USB на моей машине?

О: Если вы уверены, что у вас действительно есть подходящая аппаратная настройка, найдите вариант BIOS, который может быть применим. Это может быть помечено как USB, или это может быть более неясным, обсуждая Plug-n-Play или варианты для различных типов операционных систем. Возможно, вам придется попробовать различные комбинации. Если вы не используете USB-клавиатуру или мышь во время загрузки, возможно, безопаснее всего отключить поддержку тех, кто находится в вашем BIOS; многие писатели BIOS, похоже, ошибаются, создавая проблемы, когда Linux пытается захватить USB.

Хм, все еще говорит о UHCI. Я хотел бы, чтобы это было немного более конкретным, чем «последнее ядро 2.6»

Существует предположение здесь , что ядра 2.6.23.x до 2.6.28.x необходимы. Но, опять же, это расплывчато.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .