субота, 12 вересня 2009 р.
lirc і CyberLink Remote Control
Чорт дьорнув мене купити оцей пульт, який забрав в мене кілька годин часу з настройкою під лінукс. Все би було добре, якби при підключенні приймача не появлялося два вхідні пристрої /dev/input/event6 і /dev/input/event7, один з яких відповідав за верхній ряд кнопок, а другий за нижній. Інтернет багато не дав, почав копати в напрямку як заставити lirc сприймати два девайси відразу. Що найсмішніше, рішення знайшлося на сторінці lirc (Using multiple different devices simultaneously). Просто відключив lircd при завантаженні, і додав дві стрічки в /etc/rc.local:
lircd -d `grep -l 'TopSeed' /sys/class/input/input*/name | tail -n2 | awk 'NR==1' | sed -e s'|/name||' | sed -e s'|sys/class/input/input|dev/input/event|'` -H dev/input --output=/dev/lircd1 --pidfile=/var/run/lircd1.pid --listen
lircd -d `grep -l 'TopSeed' /sys/class/input/input*/name | tail -n2 | awk 'NR==2' | sed -e s'|/name||' | sed -e s'|sys/class/input/input|dev/input/event|'` -H dev/input --output=/dev/lircd --pidfile=/var/run/lircd.pid --connect=localhost:8765
Замість lircd.conf використав lircd.conf.devinput з /usr/share/lirc/remote/devinput, як remote_device відповідно використано devinput. Все працює :-)
PS Приклад для systemd:
$cat lircd-cyberlink.service
[Unit]
Description=Linux Infrared Remote Control
[Service]
ExecStartPre=/usr/bin/rm -rf /dev/lircd* /var/run/lirc/lirc*.pid
ExecStartPre=/usr/bin/ln -sf /dev/lircd /var/run/lirc/lircd
ExecStart=/usr/local/bin/lircvdr
ExecStop=/usr/bin/rm -rf /dev/lircd* /var/run/lirc/lirc*.pid
Type=forking
PIDFile=/var/run/lirc/lircd.pid
[Install]
WantedBy=multi-user.target
Підписатися на:
Дописати коментарі (Atom)
loading..
Немає коментарів:
Дописати коментар