You are not logged in.

#1 2013-04-07 07:37:31

Registered: 2007-09-28
Posts: 61

A few questions about LIRC config for Nuvoton.

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:

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 <>
# 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 smile


Board footer

Powered by FluxBB