Была у меня система, работающая, в основном, как домашний мультимедиа-центр, на базе Gentoo. Естественно, был пульт и использовался lircd.
Для работы компилировались модули ядра из комплекта lirc. И для работы использовался модуль lirc_mceusb. Однако примерно с ядра 2.6.36 mceusb включён в ядро linux. Конечно, есть всякие "полезности" для совместимости, но нужно переделывать lircd.conf, что не хочется. В итоге у меня использовался lirc_mceusb, а всё, касающееся пультов ДУ, из ядра было убрано.
Но это не могло продолжаться вечно. И наступил тот час, когда после обновления, lirc банально не собрался, а в более свежей версии уже не было поддержки lirc. В общем, пришлось делать всё "по-уму". Вообще, действия простые, но на то, чтобы понять, что делать, ушло довольно много времени.
1) Включаем в ядре (можно модулями, если есть желание)
Это всё зависит от модели пульта и протокола, который он использует. Подробнее можно посмотреть тут
2) В make.conf заменяем значение LIRC_DEVICES на "devinput", заменяя то, что было. И пересобираем lirc.
3) Используем стандартный конфиг для lirc
4) стартуем lircd
5) Если irw не видит нажатий кнопок на пульте, то смотрим, какое устройство в /dev/input соответствует нашему ir-приёмнику. Для этого можно его отключить, и посмотреть, что изчезнет, затем подключить. После этого, можно прописать /etc/conf.d/lircd что-то вроде
5) Перезапускаем lirc, смотрим irw и радуемся.
6) А мне пришлось не радоваться, а править ~/.xbmc/userdata/Lircmap.xml для корректной работы всех кнопок. Для этого я добавил описание пульта.
Всё работает.
Примечание. В большинстве дистрибутивов такой проблемы не возникнет, ибо модули компилируются почти все, как для ядра, так и для lirc, но местами материал может быть полезен.
Для работы компилировались модули ядра из комплекта lirc. И для работы использовался модуль lirc_mceusb. Однако примерно с ядра 2.6.36 mceusb включён в ядро linux. Конечно, есть всякие "полезности" для совместимости, но нужно переделывать lircd.conf, что не хочется. В итоге у меня использовался lirc_mceusb, а всё, касающееся пультов ДУ, из ядра было убрано.
Но это не могло продолжаться вечно. И наступил тот час, когда после обновления, lirc банально не собрался, а в более свежей версии уже не было поддержки lirc. В общем, пришлось делать всё "по-уму". Вообще, действия простые, но на то, чтобы понять, что делать, ушло довольно много времени.
1) Включаем в ядре (можно модулями, если есть желание)
Это всё зависит от модели пульта и протокола, который он использует. Подробнее можно посмотреть тут
2) В make.conf заменяем значение LIRC_DEVICES на "devinput", заменяя то, что было. И пересобираем lirc.
3) Используем стандартный конфиг для lirc
4) стартуем lircd
5) Если irw не видит нажатий кнопок на пульте, то смотрим, какое устройство в /dev/input соответствует нашему ir-приёмнику. Для этого можно его отключить, и посмотреть, что изчезнет, затем подключить. После этого, можно прописать /etc/conf.d/lircd что-то вроде
LIRCD_OPTS="-H devinput -d /dev/input/by-id/usb-COMPRO_VideoMate_IR20_REV.02-event-if00"LIRCD_OPTS="-H devinput -d /dev/input/by-id/usb-COMPRO_VideoMate_IR20_REV.02-event-if00"
|
5) Перезапускаем lirc, смотрим irw и радуемся.
6) А мне пришлось не радоваться, а править ~/.xbmc/userdata/Lircmap.xml для корректной работы всех кнопок. Для этого я добавил описание пульта.
<remote device="devinput"> <play>KEY_PLAYPAUSE</play> <pause>KEY_PAUSE</pause> <stop>KEY_STOP</stop> <forward>KEY_FASTFORWARD</forward> <reverse>KEY_REWIND</reverse> <left>KEY_LEFT</left> <right>KEY_RIGHT</right> <up>KEY_UP</up> <down>KEY_DOWN</down> <select>KEY_OK</select> <pageplus>KEY_CHANNELUP</pageplus> <pageminus>KEY_CHANNELDOWN</pageminus> <back>KEY_EXIT</back> <menu>KEY_LEFTMETA</menu> <title>KEY_EPG</title> <info>KEY_INFO</info> <skipplus>KEY_NEXT</skipplus> <skipminus>KEY_PREVIOUS</skipminus> <display>KEY_SUBTITLE</display> <start>Home</start> <record>KEY_RECORD</record> <volumeplus>KEY_VOLUMEUP</volumeplus> <volumeminus>KEY_VOLUMEDOWN</volumeminus> <mute>KEY_MUTE</mute> <power>KEY_POWER</power> <myvideo>KEY_VIDEO</myvideo> <mymusic>KEY_AUDIO</mymusic> <mypictures>KEY_CAMERA</mypictures> <recordedtv>KEY_PVR</recordedtv> <livetv>KEY_TUNER</livetv> <mytv>KEY_DVD</mytv> <one>KEY_NUMERIC_1</one> <two>KEY_NUMERIC_2</two> <three>KEY_NUMERIC_3</three> <four>KEY_NUMERIC_4</four> <five>KEY_NUMERIC_5</five> <six>KEY_NUMERIC_6</six> <seven>KEY_NUMERIC_7</seven> <eight>KEY_NUMERIC_8</eight> <nine>KEY_NUMERIC_9</nine> <zero>KEY_NUMERIC_0</zero> <star>KEY_NUMERIC_STAR</star> <hash>KEY_NUMERIC_POUND</hash> <clear>KEY_DELETE</clear> <enter>KEY_ENTER</enter> <red>KEY_RED</red> <green>KEY_GREEN</green> <yellow>KEY_YELLOW</yellow> <blue>KEY_BLUE</blue> </remote>
Всё работает.
Примечание. В большинстве дистрибутивов такой проблемы не возникнет, ибо модули компилируются почти все, как для ядра, так и для lirc, но местами материал может быть полезен.
Впервые опубликовано на http://welinux.ru
Комментариев нет:
Отправить комментарий