IPB

Здравствуйте, гость ( Вход | Регистрация )

 Forum Rules ПРАВИЛА ФОРУМА. ЧИТАТЬ ВСЕМ !
> Разгоняем мышь..., под ОС Linux...
Gamer
13.03.2005 - 07:07
Сообщение #1



Налоговик...
Group Icon
Группа: Старейшины
Сообщений: 527
Регистрация: 16.12.2001
Из: Москва

Пользователь №: 217




Всем известно, что опрос мышки по USB идет не быстрее 133Hz, с ps/2 проще есть очень много способов как ее подразогнать, но сегодня мы будем разгонять USB мышь, да еще и по ОС Gentoo Linux.

Началом для этой статьи послужил топик на форуме Gentoo Linux => http://forums.gentoo.org/viewtopic.php?t=164679 , кое что новое для себя вы можете узнать прочитав его.

И так начнем, все нижеизложенное было протестировано на моей мышке Logitech MX500, дистрибутиве Gentoo Linux 2004.3 (emerge --update system) и ядре linux-2.6.11-gentoo (на ядрах линейки 2.4.х не проверялось). Также я не несу никакой отвечтвенности, если в результате “разгона” мышки она каким-либо образом пострадала.

1.) Качаем и устанавливаем патч для ядра.

Взять патч можно вот здесь => http://omfg.linux.dk/pub/configurable-hid-...p-r5-FULL.patch=>http://omfg.linux.dk/pub/configurable-hid-mouse-polling/archive/chmp-r5-FULL.patch .

Копируем его в директорию с исходниками ядра, обычно это /usr/src/linux и выполняем команду

patch -p1 < chmp-r5-FULL.patch

После успешного патча ядра переходим ко 2-у пункту.

2.) Конфигурация ядра и его установка.

Набираем в консоли make menuconfi
Затем заходим в Device Drivers ---> USB Support и выбираем

<*> Support for Host-side USB
--- USB Host Controller Drivers ****Выбираем в зависимости от чипсета****
<*>EHCI HCD (USB 2.0) support
<*>OHCI HCD support
<*>UHCI HCD (most Intel and Via) support
--- USB Input Devices
<*> USB Human Interface Device (full HID support)
(2) USB HID Mouse Interrupt Polling Interval *****Уменьшаем время опроса мышки до 2ms***
[*] HID input layer support

Вот список мышей, которые без проблем работают на 2ms:

* Logitech's MX-family
* Logitech Mouse Man Dual Optical
* Logitech iFeel
* Microsoft Intellimouse Explorer
* Microsoft Intellimouse Optical 1.1

Дальше как обычно: make && make modules_install
В обязательном порядке сделайте для этого ядра отдельный пункт в вашем загрузчике.

3.) Проверка работы патча.

После загрузки выполните команду:

cat /proc/bus/usb/devices

Если все прошло гладко, то вы увидите примерно следующее:

T: Bus=02 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 2 Spd=1.5 MxCh= 0
D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1
P: Vendor=046d ProdID=c025 Rev=98.02
S: Manufacturer=B16_b_02
S: Product=USB-PS/2 Optical Mouse
C:* #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr= 98mA
I: If#= 0 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=01 Prot=02 Driver=usbhid
E: Ad=81(I) Atr=03(Int.) MxPS= 5 Ivl=2ms

Это означает, что теперь опрос нашей мыши проводится каждые 2ms.
Здесь можно остановиться, я думаю вы уже почуствовали, что ваша мышь стала намного плавнее двигаться.

Но это еще не все, для гордых владельцев мышек серии logitech, коим я тоже являюсь есть возможность поднять скорость опроса поверхности с 400 cpi до 800 cpi (в некоторых случаях при увеличении cpi до 800 отмечено, что мышь начинает намного быстрее двигаться, если вам это не нравится, то откатитесь назад). Делается это очень просто, качаем вот отсюда => http://freshmeat.net/projects/logitech_applet/ программу logitech applet.

1.) Распаковываем ее куда-нибудь, читаем в обязательном порядке файл README, затем просто:

./configure --prefix=/usr
make
make install

(Вам потребуется libusb для компиляции программы, взять ее можно вот тут: http://libusb.sourceforge.net/) => http://libusb.sourceforge.net/

Если все прошло успешно, то сама программа logitech_applet будет находится в /usr/bin/.

2.) Проверяем скорость работы мышки.

Выполняем команду logitech_applet --get-res, получаем что-то вроде:

002/002 046D/C025 M-BP81A MX500 Optical Mouse
Resolution: 400cpi
Cruise Control / Smart Scroll: Disabled


Как видно сейчас скорость опроса поверхности стоит 400cpi.

Выполняем команду:

logitech_applet -s800

Затем опять logitech_applet --get-res и видим, что ситуация поменялась.

002/002 046D/C025 M-BP81A MX500 Optical Mouse
Resolution: 800cpi
Cruise Control / Smart Scroll: Disabled


Теперь нужно сделать так, чтобы при перезагрузке все автоматически выставлялось в 800cpi.

Если у вас работает hotplug, то просто разархивируйте содерживмое вот этого => http://download.linux-gamers.net/hardware/...logitech.tar.gz=>http://download.linux-gamers.net/hardware/logitech/hotplug_logitech.tar.gz архива в директорию /etc/hotplug/usb. Все должно работать.

Содержимое архива – 2-а файлика logitech_mouse.usermap и logitech_mouse, logitech_mouse.usermap определяет какая мышь подключена и запускает logitech_mouse, который выставляет 800cpi и отключает cruise control.

Либо есть второй способ, но он подходит владельцам Gentoo Linux, создаем в /etc/init.d/ файлик logitech следующего содержания:

#!/sbin/runscript

depend() {
need localmount
before gpm
}

checkconfig() {
if [ ! -x /usr/bin/logitech_applet ]; then
eerror "Logitech Applet not found."
fi
return 0
}

start() {
checkconfig || return 1

ebegin "Running logitech mouse applet"
/usr/bin/logitech_applet --set-res=800 > /dev/null
/usr/bin/logitech_applet --get-res | grep [Rr]esolution

eend $?
}


Выполняем: chmod +x logitech затем rc-update add logitech default.

3.) Как добавить мышку, которой нет в списке:
Выполняем команду

cat /proc/bus/usb/devices | grep Vendor=046d

Получится что-то вроде этого:

P: Vendor=046d ProdID=c025 Rev=98.02

Открываете logitech_applet.c в vi, находите структуру device_table и просто копируете одну строку в которой меняете ProductID (2-е поле), название мышки (3-е поле), поле информации и поддерживаемые возможности, которые описываются после структуры. Сохраняете этот файл и затем возвращаетесь к 1-му пункту.

Эту статью прошу считать вольным переводом 2-х статей ребят с http://www.linux-gamers.net

(1 – http://www.linux-gamers.net/modules/wfsect...p?articleid=62) => http://www.linux-gamers.net/modules/wfsect...p?articleid=62)=>http://www.linux-gamers.net/modules/wfsection/article.php?articleid=62)
(2 – http://www.linux-gamers.net/modules/wfsect...p?articleid=47) => http://www.linux-gamers.net/modules/wfsect...p?articleid=47)=>http://www.linux-gamers.net/modules/wfsection/article.php?articleid=47)

И топика (3 - http://forums.gentoo.org/viewtopic.php?t=164679)

Я просто добавил, то что посчитал нужным, и уточнил некоторые детали.

Сообщение было отредактировано Gamer: 13.03.2005 - 15:39


--------------------
[url=http://www.bestfilez.net/chat]Заходи в IRC:[/url]
Сервер - [b]irc.rizon.net:6668[/b]
Канал - [b]#bestfilez.net[/b]
--------------------------
User is offlineProfile Card PM
Go to the top of the page
+

Сообщения в этой теме
Реклама


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0 -

 

- Текстовая версия Сейчас: 29.03.2024 - 02:43
]]> ]]>
]]> Яндекс.Метрика ]]>