субота, 16 січня 2016 р.

LIRC на супутниковій карті Prof Revolution 7500 DVB-S2

Собі на пам'ять, і може комусь стане в нагоді. Посилене риття інтернету не дало ніякого готового рецепту, довелося самому придумувати. Карта Prof Revolution 7500 купляється в комплекті з пультом. Для налаштування LIRC для карти Prof Revolution 7500 потрібно мати  конфігураційний файл і знати, який пристрій потрібно вказувати для демона lircd.
Конфігураційний файл я згенерував і помістив тут. Для пристрою достатньо виконати команду

cat /proc/bus/input/devices

і знайти там подібні рядки:

I: Bus=0003 Vendor=3034 Product=7500 Version=0000
N: Name="IR-receiver inside an USB DVB receiver"
P: Phys=usb-0000:00:1d.7-5.1/ir0
S: Sysfs=/devices/pci0000:00/0000:00:1d.7/usb5/5-5/5-5.1/rc/rc0/input2
U: Uniq=
H: Handlers=kbd event0
B: PROP=0
B: EV=100013
B: KEY=3000000100c0000 34301100000000 0 100000 408000000800 8e168000000000 ffc
B: MSC=10


З цього робимо висновок, що карта очікує сигналу на пристрої /dev/input/event0 (або ж /dev/input/by-path/pci-0000\:00\:1d.7-usb-0\:5.1-event-ir). Далі все просто.
Файл /etc/lirc/lirc_options.conf (все далі для Archlinux, але не мало б відрізнятися від інших лінуксів):

# These are the default options to lircd, if installed as
# /etc/lirc/lirc_options.conf. See the lircd(8) and lircmd(8)
# manpages for info on the different options.

[lircd]
nodaemon        = False
driver          = devinput
device          = /dev/input/by-path/pci-0000:00:1d.7-usb-0:5.1-event-ir
output          = /var/run/lirc/lircd
pidfile         = /var/run/lirc/lircd.pid
plugindir       = /usr/lib/lirc/plugins
permission      = 666
allow-simulate  = No
repeat-max      = 600
#effective-user =
#listen         = [address:]port
#connect        = host[:port]
#debug          = 6
#uinput         = ...
#release        = ...
#logfile        = ...

[lircmd]
uinput          = False
nodaemon        = False

[modprobe]
#modules        = [lircd_dev, lirc_sir...]


У теку /etc/lirc/lircd.conf.d ставимо файлик ProfRev7500.lircd.conf, вмикаємо демон lirc і запускаємо його:

systemctl enable lircd
systemctl start lircd

Потім запускаємо в терміналі irw, натискаємо якісь кнопки на пульті і переконуємося, що все працює (або не працює :) ):

irw
0004000400000099 00 KEY_OK ProfRev7500
000400040000009f 00 KEY_EXIT ProfRev7500

Немає коментарів:

Google Analytics