PS2 2 USB adapter - проблемы с горячим подключением

Разбираемся с подключением и настройкой устройств ввода информации.

Модератор: Модераторы разделов

Julliet
Сообщения: 3

PS2 2 USB adapter - проблемы с горячим подключением

Сообщение Julliet »

Здравствуйте
Имеется PS2 -> USB адаптер, который позволяет подключить ps2 мышку и клавиатуру туда, где нет этого порта. И при старте системы с подключенными мышью и клав. все работает нормально - оба опознаются. До тех пор пока не выдернуть одно из устройств (или сам USB адаптер) и вставить в тот же порт - клавиатура наотрез отказывается работать.

lsusb опознает его как
Bus 002 Device 004: ID 13ba:0017 Unknown PS/2 Keyboard+Mouse Adapter

cat /proc/bus/usb/devices добавляет следующую запись
T: Bus=02 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 5 Spd=1.5 MxCh= 0
D: Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1
P: Vendor=13ba ProdID=0017 Rev= 0.01
S: Product=Generic USB K/B
C:* #Ifs= 2 Cfg#= 1 Atr=a0 MxPwr=100mA
I:* If#= 0 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=01 Prot=01 Driver=usbhid
E: Ad=81(I) Atr=03(Int.) MxPS= 8 Ivl=24ms
I:* If#= 1 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=01 Prot=02 Driver=usbhid
E: Ad=82(I) Atr=03(Int.) MxPS= 5 Ivl=10ms

и dmesg после "горячего" подключения выводит, что
usb 2-1: new low speed USB device using uhci_hcd and address 7
usb 2-1: configuration #1 chosen from 1 choice
input: Generic USB K/B as /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1:1.0/input/input17
input,hidraw0: USB HID v1.10 Keyboard [Generic USB K/B] on usb-0000:00:1d.0-1
input: Generic USB K/B as /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1:1.1/input/input18
input,hidraw1: USB HID v1.10 Mouse [Generic USB K/B] on usb-0000:00:1d.0-1
usb 2-1: New USB device found, idVendor=13ba, idProduct=0017
usb 2-1: New USB device strings: Mfr=0, Product=1, SerialNumber=0
usb 2-1: Product: Generic USB K/B

причем в поле address после каждого отключения-подключения значение увеличивается на 1

Мышка работает нормально, а вот клавиатура.. Даже лампончки не загораются :( Может нужно что-то дополнительно в параметрах ядра указать?
В WindowsXP горячее подключение работает нормально
Есть ли какие-нибудь утилиты или команды для реинициализации "горячо" подключенных устройств, как это происходит при старте системы? В чем пожет быть проблема? Спасибо :)
Спасибо сказали:
Аватара пользователя
rm_
Сообщения: 3340
Статус: It's the GNU Age
ОС: Debian

Re: PS2 2 USB adapter - проблемы с горячим подключением

Сообщение rm_ »

Есть ли какие-нибудь утилиты или команды для реинициализации "горячо" подключенных устройств, как это происходит при старте системы?

Попробуйте:

Код: Выделить всё

rmmod usbhid; sleep 2; modprobe usbhid
Спасибо сказали:
Аватара пользователя
deadhead
Сообщения: 1913
Статус: zzz..z

Re: PS2 2 USB adapter - проблемы с горячим подключением

Сообщение deadhead »

можно заменить rmmod usbhid на modprobe -r usbhid
[x] close
Спасибо сказали:
Аватара пользователя
rm_
Сообщения: 3340
Статус: It's the GNU Age
ОС: Debian

Re: PS2 2 USB adapter - проблемы с горячим подключением

Сообщение rm_ »

deadhead писал(а):
15.10.2009 15:14
можно заменить rmmod usbhid на modprobe -R usbhid

А зачем, если не секрет? Кроме того, что "modprobe -r" дольше печатать, есть у этого варианта какие-то преимущества над rmmod?
Спасибо сказали:
Аватара пользователя
deadhead
Сообщения: 1913
Статус: zzz..z

Re: PS2 2 USB adapter - проблемы с горячим подключением

Сообщение deadhead »

If the modules it depends on are also unused, modprobe will try to remove them, too.


rmmod is a trivial program to remove a module from the kernel. Most users will want to use modprobe(8) instead, with the -r option.


upd. ошибочку подправил ;-)
[x] close
Спасибо сказали:
Аватара пользователя
rm_
Сообщения: 3340
Статус: It's the GNU Age
ОС: Debian

Re: PS2 2 USB adapter - проблемы с горячим подключением

Сообщение rm_ »

Most users will want to use modprobe(8) instead, with the -r option.

И тоже не поясняется, почему. А, понятно.
If the modules it depends on are also unused, modprobe will try to remove them, too.
Спасибо сказали:
Julliet
Сообщения: 3

Re: PS2 2 USB adapter - проблемы с горячим подключением

Сообщение Julliet »

Спасибо за совет, но modprobe -r usbhid выполняется "успешно", а вот modprobe usbhid выдает ошибку "invalid argument". В dmesg написано, что модуль уже загружен
Если я правильно понимаю, ядро просто не дает выгрузить этот модуль. Кстати, он даже не "числится" в списке lsmod.
Результат работы lsmod | grep usb - пустая строка
:(

И както посоветовали еще отмонтировать и примонтировать /proc/bus/usb, выгрузить-загрузить usbcore
Но последнего модуля тоже нет в списке, а отмонтировав usb из проц яя с трудом представляю как это примонтировать обратно. Не подскажете?
Спасибо сказали:
Аватара пользователя
rm_
Сообщения: 3340
Статус: It's the GNU Age
ОС: Debian

Re: PS2 2 USB adapter - проблемы с горячим подключением

Сообщение rm_ »

Если я правильно понимаю, ядро просто не дает выгрузить этот модуль. Кстати, он даже не "числится" в списке lsmod.
Результат работы lsmod | grep usb - пустая строка
И както посоветовали еще отмонтировать и примонтировать /proc/bus/usb, выгрузить-загрузить usbcore
Но последнего модуля тоже нет в списке

Видимо всё собрано статично в ядро, а не модулями.

$ grep USB_HID /boot/config-версия-ядра
CONFIG_USB_HID=m
CONFIG_USB_HIDDEV=y

Такое есть?
Спасибо сказали:
Julliet
Сообщения: 3

Re: PS2 2 USB adapter - проблемы с горячим подключением

Сообщение Julliet »

$ grep USB_HID /boot/config-версия-ядра
CONFIG_USB_HID=m
CONFIG_USB_HIDDEV=y
Такое есть?


Есть CONFIG_USB_HID=y
CONFIG_USB_HIDDEV=y
И единственный выход - пересборка ядра с указанным вами параметром? А нету способа "перезагрузить" эту подсистему например отмонтированием /proc/bus/usb и примонтированием обратно (только что монировать в эту mount point?). Или послать какой-то сигнал, у этого модуля ведь должны быть какие-то сервисы (ре)инииализации? Извините, если сказал глупость
Спасибо сказали: