Исходные данные:
Есть компьютер под управлением XBMClive, к нему прикручен пульт ДУ Microsoft IrDa adapter for MCE, работающий с lirc что называется "из коробки". Но в один момент пульт превращается в кирпич с кнопками... Не беда! комп собран на базе ASUS AT3IONT-I deluxe, а у этой мамки в комплекте есть свой замечательный пульт! Но, как оказалось, lirc о существовании такого пульта даже и не подозревает- а вот это уже грустно... Что ж, достаем бубен и заходим под кат.
К счастью, после весьма недолгих поисков, решение было найдено и воплощено в жизнь.
Все что следует далее - мой вольный перевод вот этой ветки форума убунтоводов.
Итак, хороший человек pj7 сконструлил пакет, решающий нашу проблему. Правда пульт будет работать не через lirc, а как клавиатура, что мне абсолютно без разницы - главное чтоб работало.
Забираем пакет здесь. Этот пакет содержит исходные коды драйвера (hid-philips-asus) для ПДУ и ath3k для bluetooth адаптера установленного на материнской плате (я этим добром не пользуюсь, поэтому ничего про установку, настройку и работоспособность сказать не могу)
Установка.
Чтобы установить пакет выполняем:
Загрузка модулей.
Модуль ath3k для bluetooth будет запущен автоматически, после перезагрузки системы.
Модуль hid-philips-asus для ПДУ требует для запуска некоторых ухищрений. Дело в том. что он зависит от модуля usbhid, но при этом должен быть загружен раньше, чем usbhid. Иначе usbhid займет приемник ПДУ и hid-philips-asus не сможет получить к нему (приемнику) доступ. Для решения этой проблемы в составе пакета есть скрипт load-module.sh
Выполняем:
Чтобы это безобразие отрабатывало при запуске системы, добавляем строку для его запуска в /etc/rc.local
Если модули загружены в нужном порядке, после загрузки модуля в логах должно появиться сообщение типа:
Опытным путем было выяснено, что на пульте не работает кнопка "OK", в ходе дальнейших изысканий на форуме нашлось решение - открываем для редактирования файл /usr/src/asus-at3iont-i-deluxe-1.0.1/drivers/hid-philips-asus/mappings.h и меняем строку
На сегодня все.
Всем удачи!
Есть компьютер под управлением XBMClive, к нему прикручен пульт ДУ Microsoft IrDa adapter for MCE, работающий с lirc что называется "из коробки". Но в один момент пульт превращается в кирпич с кнопками... Не беда! комп собран на базе ASUS AT3IONT-I deluxe, а у этой мамки в комплекте есть свой замечательный пульт! Но, как оказалось, lirc о существовании такого пульта даже и не подозревает- а вот это уже грустно... Что ж, достаем бубен и заходим под кат.
К счастью, после весьма недолгих поисков, решение было найдено и воплощено в жизнь.
Все что следует далее - мой вольный перевод вот этой ветки форума убунтоводов.
Итак, хороший человек pj7 сконструлил пакет, решающий нашу проблему. Правда пульт будет работать не через lirc, а как клавиатура, что мне абсолютно без разницы - главное чтоб работало.
Забираем пакет здесь. Этот пакет содержит исходные коды драйвера (hid-philips-asus) для ПДУ и ath3k для bluetooth адаптера установленного на материнской плате (я этим добром не пользуюсь, поэтому ничего про установку, настройку и работоспособность сказать не могу)
Установка.
Чтобы установить пакет выполняем:
DKMS автоматически соберет и установит модули в систему, как для текущего ядра, так и для последующих обновлений ядра.sudo dpkg -i asus-at3iont-i-deluxe-dkms_1.0.1_all.deb
Загрузка модулей.
Модуль ath3k для bluetooth будет запущен автоматически, после перезагрузки системы.
Модуль hid-philips-asus для ПДУ требует для запуска некоторых ухищрений. Дело в том. что он зависит от модуля usbhid, но при этом должен быть загружен раньше, чем usbhid. Иначе usbhid займет приемник ПДУ и hid-philips-asus не сможет получить к нему (приемнику) доступ. Для решения этой проблемы в составе пакета есть скрипт load-module.sh
Выполняем:
sudo sh /usr/src/asus-at3iont-i-deluxe-1.0.1/drivers/hid-philips-asus/load-module.shСуть решения в том, что данный скрипт выгружает все загруженные ранее модули hid, загружает hid-philips-asus и затем загружает модули hid, выгруженные ранее. (Надо сказать костыль кривоват, ну да работает и ладно)
Чтобы это безобразие отрабатывало при запуске системы, добавляем строку для его запуска в /etc/rc.local
Если модули загружены в нужном порядке, после загрузки модуля в логах должно появиться сообщение типа:
input: PHILIPS MCE USB IR Receiver- Spinel plusf0r ASUS as /devices/pci0000:00/0000:00:0b.1/usb1/1-4/1-4.1/1-4.1.3/1-4.1.3:1.0/input/input60В противном случае:
philips_asus 0003:0471:206C.0004: input: USB HID v1.00 Keyboard [PHILIPS MCE USB IR Receiver- Spinel plusf0r ASUS] on usb-0000:00:0b.1-4.1.3/input0
input: PHILIPS MCE USB IR Receiver- Spinel plusf0r ASUS as /devices/pci0000:00/0000:00:0b.1/usb1/1-4/1-4.1/1-4.1.3/1-4.1.3:1.0/input/input63Настройка
generic-usb 0003:0471:206C.0005: input,hiddev98,hidraw3: USB HID v1.00 Keyboard [PHILIPS MCE USB IR Receiver- Spinel plusf0r ASUS] on usb-0000:00:0b.1-4.1.3/input0
Опытным путем было выяснено, что на пульте не работает кнопка "OK", в ходе дальнейших изысканий на форуме нашлось решение - открываем для редактирования файл /usr/src/asus-at3iont-i-deluxe-1.0.1/drivers/hid-philips-asus/mappings.h и меняем строку
define BUTTON_OK KEY_OKПосле чего выполняем
на
define BUTTON_OK KEY_ENTER
sudo dpkg-reconfigure asus-at3iont-i-deluxe-dkmsПерезагружаемся, проверяем - все работает как надо! Значение любой кнопки на пульте можно переназначить, допустимые значения KEY_* можно посмотреть тут
На сегодня все.
Всем удачи!
Комментариев нет:
Отправить комментарий