[Hardware] Cordless Optical mouse

Sergey Vlasov vsu на altlinux.ru
Пт Июл 2 17:34:19 MSD 2004


On Fri, Jul 02, 2004 at 04:03:12PM +0300, Aleksandr wrote:
> вывод cat /proc/bus/usb/devices, когда работает:
> 
> T:  Bus=01 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#=  2 Spd=1.5 MxCh= 0
> D:  Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1
> P:  Vendor=046d ProdID=c505 Rev=17.00
> S:  Manufacturer=Logitech
> S:  Product=USB Receiver
> C:* #Ifs= 2 Cfg#= 1 Atr=a0 MxPwr= 98mA
> I:  If#= 0 Alt= 0 #EPs= 1 Cls=03(HID  ) Sub=01 Prot=01 Driver=usbkbd
> E:  Ad=81(I) Atr=03(Int.) MxPS=   8 Ivl=10ms
> I:  If#= 1 Alt= 0 #EPs= 1 Cls=03(HID  ) Sub=01 Prot=02 Driver=hid
> E:  Ad=82(I) Atr=03(Int.) MxPS=   8 Ivl=10ms
> 
> 
> вывод cat /proc/bus/usb/devices, когда не работает:
> 
> T:  Bus=01 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#=  2 Spd=1.5 MxCh= 0
> D:  Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1
> P:  Vendor=046d ProdID=c505 Rev=17.00
> S:  Manufacturer=Logitech
> S:  Product=USB Receiver
> C:* #Ifs= 2 Cfg#= 1 Atr=a0 MxPwr= 98mA
> I:  If#= 0 Alt= 0 #EPs= 1 Cls=03(HID  ) Sub=01 Prot=01 Driver=usbkbd
> E:  Ad=81(I) Atr=03(Int.) MxPS=   8 Ivl=10ms
> I:  If#= 1 Alt= 0 #EPs= 1 Cls=03(HID  ) Sub=01 Prot=02 Driver=usbmouse
> E:  Ad=82(I) Atr=03(Int.) MxPS=   8 Ivl=10ms

Как я и думал - не работает драйвер usbmouse.  Однако писать alias
usbmouse null нельзя из-за древнего кода в /etc/init.d/usb,
переделывающего этот alias в usb-interface.  Также странно, что rmmod
usbmouse не исправляет ситуацию (обычно в этом случае устройство
передаётся драйверу hid и начинает работаеть); возможно, usbmouse успевает
сделать что-то нехорошее, либо есть какая-то проблема с устройствами,
имеющими несколько интерфейсов.

Можно сделать следующее:

1) Убедитесь, что установлен пакет hotplug.

2) Занесите в /etc/hotplug/blacklist строку:

usbmouse

Весьма вероятно, что туда же можно отправить и usbkbd - драйвер hid должен
обслуживать и клавиатуру.

3) Уберите из скрипта /etc/init.d/usb вот этот вызов detect_devices:

	mount_proc_usb
	sleep 2
	detect_devices
	if is_yes "$MOUSE"; then
		action "Loading USB mouse:" /sbin/modprobe usbmouse && /sbin/modprobe mousedev

В принципе можно убрать и sleep 2 рядом - он был нужен только для работы
detect_devices.

Хотя может возникнуть ещё одна проблема - слишком поздняя загрузка модуля
mousedev.  Для профилактики этого можно добавить в /etc/modules строку:

mousedev

В Сизифе сейчас этот старый скрипт /etc/init.d/usb просто выброшен, а все
функции загрузки драйверов USB-устройств переданы пакету hotplug.
-------------- next part --------------
z'╣ЛmjшZr··э╡г+╧╤чtж╕zz-jЖ╒∙╕Еy<╘y╙i√'╤*'Ч≤)╡('jш╚y(Ё{_=o+^╟7╛rz-jЖ╒∙╕ЕyJЕ├шiЪЫb╡ш√ыb·Лk╩Зb╔ЙФj)┘╙ща╙чЩ╚miхfz{lЪm4ЦNТшЧ_См=О╞з╤ж°├g╖╣╦╖


Подробная информация о списке рассылки Hardware