Hello. I'm trying to configure LIRC to work with a IR receiver in Intel DH77DF mobo. The modules loaded are nuvoton_cir and lirc_dev. The input devices found are:
ir-keytable Found /sys/class/rc/rc0/ (/dev/input/event4) with: Driver nuvoton-cir, table rc-rc6-mce Supported protocols: NEC RC-5 RC-6 JVC SONY SANYO other Enabled protocols: NEC RC-5 RC-6 JVC SONY SANYO other Name: Nuvoton w836x7hg Infrared Remote bus: 25, vendor/product: 1050:00c3, version: 0x0033 Repeat delay = 500 ms, repeat period = 125 ms
cat /sys/class/input/input4/name Nuvoton w836x7hg Infrared Remote Transceiver cat /sys/class/input/input6/name MCE IR Keyboard/Mouse (nuvoton-cir)
I'm not sure what is input6, because hexdump /dev/input/event6 doesn't return anything. ir-keytable -d /dev/input/event4 actually returns consistent codes for various remotes. I guess this is the device I'm supposed to define in the LIRC daemon config. There's also /dev/lirc0 which also seems to give some codes. What is interesting though is that for almost all remote controls, /dev/input/event4 doesn't return repeating codes, but /dev/lirc0 does. This means that I only can create a lirc.conf using irrecord either using that specific remote (oddly enough, it's not the remote which came with the ir receiver dongle) or using /dev/lirc0. With /dev/input/event4 I don't get anything from irw. With /dev/lirc0 I get only the first code from lirc.conf and I can't confirm that lirc.conf is valid because, because ir-keytable doesn't work with /dev/lirc0 at all.
ir-keytable -d /dev/lirc0 -t Unable to query evdev protocol version: Invalid argument ir-keytable -d /dev/lirc0 EVIOCGNAME: Invalid argument EVIOCGID: Invalid argument
Here's a lirc.conf made with the only remote that returns repeating codes.
# Please make this file available to others # by sending it to <firstname.lastname@example.org> # # this config file was automatically generated # using lirc-0.9.0(devinput) on Sat Apr 6 19:46:13 2013 # # contributed by # # brand: /tmp/philips # model no. of remote control: # devices being controlled by this remote: # begin remote name /tmp/philips bits 56 eps 30 aeps 100 one 0 0 zero 0 0 pre_data_bits 8 pre_data 0x0 gap 104320 toggle_bit_mask 0x0 begin codes KEY_UP 0x04000400000058 0x00000000000000 KEY_DOWN 0x04000400000059 0x00000000000000 KEY_LEFT 0x0400040000005A 0x00000000000000 KEY_RIGHT 0x0400040000005B 0x00000000000000 end codes end remote
ir-keytable -t Testing events. Please, press CTRL-C to abort. 1365319512.536766: event MSC: scancode = 58 1365319512.536766: event sync 1365319513.083324: event MSC: scancode = 5a 1365319513.083324: event sync 1365319513.543355: event MSC: scancode = 59 1365319513.543355: event sync 1365319514.086978: event MSC: scancode = 5b 1365319514.086978: event sync 1365319515.103386: event MSC: scancode = 5c 1365319515.103386: event sync
Then I start lircd with the config file from above:
lircd -n -H devinput -d /dev/input/event4 /etc/lirc/lircd.conf lircd: lircd(devinput) ready, using /var/run/lirc/lircd lircd: accepted new client on /var/run/lirc/lircd lircd: initializing '/dev/input/event4'
That new client mentioned in the log is irw which I started, but it doesn't return anything at all.
Is the lirc_dev module necessary? If it is, am I supposed to use it as an input for lircd and irrecord? Which driver to use for it? Or is this /dev/lirc0 device just some sort of internal lirc device which should be ignored?
Any ideas why repeating presses aren't detected? Is it possible to create a working lirc.conf using irrecord without holding buttons? I don't mind pressing a button many times to get through irrecord configuration, but it could probably mess up the timings.
Thanks in advance