Автор Тема: ИК пульт, irda+lirc  (Прочитано 31356 раз)

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 18 696
    • Домашняя страница
    • Email
Re: ИК пульт, irda+lirc
« Ответ #30 : 01.05.2012 18:09:54 »
В связи с этим вопрос: как отключить эту "поддержку" в ядре? :)
В файл /etc/modprobe.d/blacklist.conf добавить
blacklist <название проблемного модуля>
Андрей Черепанов (cas@)

Оффлайн Dominion

  • Давно тут
  • **
  • Сообщений: 28
Re: ИК пульт, irda+lirc
« Ответ #31 : 19.10.2012 22:00:15 »
Продолжаем разговор :)
Если так сделать - то пульт перестаёт работать вовсе :)
Заметил, что, пульт работает в системе даже без упоминания в lircd.conf и без xbmc. Вероятно, где-то есть программа, распознающая его нажатия и файл настроек. Подскажите, поажалуйста, где искать.

Оффлайн zerg

  • ненужная строка
  • alt linux team
  • ***
  • Сообщений: 2 165
  • ненужная строка
    • Найдётся всё
Re: ИК пульт, irda+lirc
« Ответ #32 : 24.10.2012 13:00:53 »
Мне для mceusb c какого-то момента понадобилось делать при старте системы
for l in /sys/class/rc/rc?
do
    echo none +lirc > $l/protocols
done
Убрать этот мусор можно переключателем: Не показывать подписи других пользователей.

Оффлайн graywolf

  • Давно тут
  • **
  • Сообщений: 47
Re: ИК пульт, irda+lirc
« Ответ #33 : 09.05.2016 10:12:25 »
Добавлю свои "пять копеек", вдруг кому пригодиться.
Приобрел вот такой вот карт-ридер со встроенным IR-приемником (это было неожиданностью при его покупке). Со смарт-картами в Linux свои заморочки, это отдельная песня, занялся IR-приемником.
Пульм у меня от телевизора JVC - RM-C360, под него и настраивал. Задача немного осложняется наличием в системе TV-тюнера AverMedia, у которого тоже есть свой приемник, но он не подключен. Начинаем...
Для начала смотрим в dmesg:
[root@ws01 ~]# dmesg | grep input
[    1.368150] input: AT Translated Set 2 keyboard as /devices/platform/i8042/serio0/input/input0
[    1.453245] input: Power Button as /devices/LNXSYSTM:00/device:00/PNP0C0C:00/input/input2
[    1.453334] input: Power Button as /devices/LNXSYSTM:00/LNXPWRBN:00/input/input3
[    6.342441] input: PC Speaker as /devices/platform/pcspkr/input/input5
[    6.359363] input: HDA Digital PCBeep as /devices/pci0000:00/0000:00:14.2/input/input7
[    6.389159] input: saa7134 IR (Avermedia AVerTV St as /devices/pci0000:00/0000:00:14.4/0000:03:06.0/rc/rc0/input6
[    6.917152] input: Media Center Ed. eHome Infrared Remote Transceiver (0bda:0161) as /devices/pci0000:00/0000:00:13.2/usb2/2-1/2-1:1.2/rc/rc1/input8
[    6.934143] input: MCE IR Keyboard/Mouse (mceusb) as /devices/virtual/input/input9
[    7.575292] input: ImPS/2 Generic Wheel Mouse as /devices/platform/i8042/serio1/input/input4
[   11.862681] systemd-logind[523]: Watching system buttons on /dev/input/event2 (Power Button)
[   11.862842] systemd-logind[523]: Watching system buttons on /dev/input/event1 (Power Button)
Меня заинтересовали 6,7 и 8 строки - кто-то из них должен быть приемником из карт-ридера. Смотрим в lsusb:
[root@ws01 ~]# lsusb
Bus 002 Device 002: ID 0bda:0161 Realtek Semiconductor Corp. Mass Storage Device
Bus 002 Device 003: ID 8564:1000 Transcend Information, Inc. JetFlash
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Первая строчка - явно мой карт-ридер. Уже хорошо. Хорошо потому, что в Windows мне пришлось устанавливать драйверы для него, иначе смарт-карты и приемник не определялись.
Пробуем перебирать эвенты в /dev/input, на пульт ответил /dev/input/event6, как ни странно. Остальные ничего не показывали. В /dev также есть устройство lirc0, которое также реагирует на пульт. Значит, придется экспериментировать с устройствами.
Запускаем в одной консоли lircd:
lircd --nodaemon -H devinput -d /dev/input/event6В другой консоли запускаем irw и начинаем жать кнопки на пульте. На выходе ничего. В это же время нашелся конфиг для моего пульта. Копируем его содержимое в /etc/lircd.conf и пробуем снова. Ничего...
Правильная конфигурация в итоге обнаружилась при такой строчке:
lircd --nodaemon -H default -d /dev/lirc0 /etc/lircd.confЕе и заносим в /etc/sysconfig/lircd. Конечно, без первого ключа. При указанных параметрах irw показывает названия кнопок пульта и генерирует по два события на каждое нажатие: нажатие и отпускание кнопки.