FS#23894 - [lirc] Remote control doesn't work anymore after the last lirc, lirc-utils or kernel26 update
Attached to Project:
Arch Linux
Opened by Heiko Baums (cyberpatrol) - Friday, 22 April 2011, 20:30 GMT
Last edited by Allan McRae (Allan) - Saturday, 16 June 2012, 08:00 GMT
Opened by Heiko Baums (cyberpatrol) - Friday, 22 April 2011, 20:30 GMT
Last edited by Allan McRae (Allan) - Saturday, 16 June 2012, 08:00 GMT
|
Details
Description:
I've got a Terratec Cinergy 1400 DVB-T which has an IR remote control. Lirc has worked perfectly for many years with this device. Until the latest update of lirc-utils, kernel26 or both (I unfortunately can't remember) a few days ago it suddenly stopped working. It completely doesn't react on irw, irexec etc. irrecord -H dev/input -d /dev/input/eventX gives only this message: irrecord: gap not found, can't continue irrecord: closing '/dev/input/eventX' At one try I could get irrecord to recognize it, but I don't know anymore how I did it, and after that I got a pretty weird lirc.conf and when I started lircd and irw my keyboard completely didn't react anymore, so that I had to hard reset the computer. I tried everything I found in the wiki, the forums or elsewhere, and a lot more. So it must be a bug (maybe an upstream bug) either in kernel26, lirc or lirc-utils. Or there's an important documentation about some important changes missing. Unfortunately there's no error message in the logs. The only thing I can provide is the relevant section of /proc/bus/input/devices: I: Bus=0001 Vendor=153b Product=1166 Version=0001 N: Name="cx88 IR (TerraTec Cinergy 1400 " P: Phys=pci-0000:03:06.2/ir0 S: Sysfs=/devices/pci0000:00/0000:00:14.4/0000:03:06.2/rc/rc0/input3 U: Uniq= H: Handlers=kbd event3 B: PROP=0 B: EV=100013 B: KEY=108fc210 204300000000 0 8000 208000000001 9e168000000000 ffc B: MSC=10 Those are the relevant modules which are loaded: $ lsmod | grep lirc lirc_it87 12034 0 lirc_i2c 6830 0 ir_lirc_codec 4275 0 lirc_dev 9535 3 lirc_it87,lirc_i2c,ir_lirc_codec rc_core 14688 10 bttv,ir_lirc_codec,ir_sony_decoder,ir_jvc_decoder,ir_rc6_decoder,rc_cinergy_1400,ir_rc5_decoder,cx88xx,ir_nec_decoder i2c_core 18740 17 ivtv,bttv,lirc_i2c,dvb_pll,cx22702,cx88_dvb,cx88_vp3054_i2c,cx8800,cx88xx,tveeprom,v4l2_common,videodev,i2c_piix4,radeon,drm_kms_helper,drm,i2c_algo_bit $ lsmod | grep ir lirc_it87 12034 0 lirc_i2c 6830 0 ir_lirc_codec 4275 0 lirc_dev 9535 3 lirc_it87,lirc_i2c,ir_lirc_codec ir_sony_decoder 2179 0 ir_jvc_decoder 2305 0 ir_rc6_decoder 2785 0 ir_rc5_decoder 2241 0 ir_nec_decoder 2561 0 rc_core 14688 10 bttv,ir_lirc_codec,ir_sony_decoder,ir_jvc_decoder,ir_rc6_decoder,rc_cinergy_1400,ir_rc5_decoder,cx88xx,ir_nec_decoder i2c_core 18740 17 ivtv,bttv,lirc_i2c,dvb_pll,cx22702,cx88_dvb,cx88_vp3054_i2c,cx8800,cx88xx,tveeprom,v4l2_common,videodev,i2c_piix4,radeon,drm_kms_helper,drm,i2c_algo_bit $ lsmod | grep rc lirc_it87 12034 0 lirc_i2c 6830 0 ir_lirc_codec 4275 0 lirc_dev 9535 3 lirc_it87,lirc_i2c,ir_lirc_codec ir_rc6_decoder 2785 0 rc_cinergy_1400 1217 0 ir_rc5_decoder 2241 0 rc_core 14688 10 bttv,ir_lirc_codec,ir_sony_decoder,ir_jvc_decoder,ir_rc6_decoder,rc_cinergy_1400,ir_rc5_decoder,cx88xx,ir_nec_decoder i2c_core 18740 17 ivtv,bttv,lirc_i2c,dvb_pll,cx22702,cx88_dvb,cx88_vp3054_i2c,cx8800,cx88xx,tveeprom,v4l2_common,videodev,i2c_piix4,radeon,drm_kms_helper,drm,i2c_algo_bit |
This task depends upon
I do get data from /dev/lirc0, but it won't work using it in /etc/conf.d/lircd.conf
I do not get anything from /dev/input/event3 or /dev/input/irremote (defined by a udev rule which worked previously).
irrecord -H devinput -d /dev/lirc0 /tmp/remote is what works for me, but with messed up output.
Additionally, I've passed echo lirc > /sys/class/rc/rc0/protocols still with no luck.
.bak2 is the one generated by irrecord. It works in that I see keycodes, but they're random.
Able to get feedback (just random repeated keycodes) via irw after setting the new lircd.conf, modprobe cx88xx, and setting the protocol to lirc (tried rc-5 and others with no luck).
/etc/conf.d/lircd.conf that kinda works:
PIDFILE0="/var/run/lircd0.pid"
LIRC_DEVICE="/dev/lirc0" #working prior to update with /dev/input/irremote set by udev rule
LIRC_DRIVER="devinput"
LIRC_EXTRAPTS=""
LIRC_CONFIGFILE="/etc/lirc/lircd.conf"
My /proc/bus/input/devices entry:
I: Bus=0001 Vendor=11bd Product=0051 Version=0001
N: Name="cx88 IR (Pinnacle PCTV HD 800i)"
P: Phys=pci-0000:03:06.0/ir0
S: Sysfs=/devices/pci0000:00/0000:00:14.4/0000:03:06.0/rc/rc0/input3
U: Uniq=
H: Handlers=kbd event3
B: PROP=0
B: EV=100013
B: KEY=c0000 14200000000000 0 10000 19000000001 1e000000000000 10000ffc
B: MSC=10
# lsmod |grep ir
ir_lirc_codec 4275 0
lirc_dev 9535 1 ir_lirc_codec
ir_sony_decoder 2179 0
ir_jvc_decoder 2305 0
ir_rc6_decoder 2785 0
ir_rc5_decoder 2241 0
firewire_ohci 28105 0
firewire_core 47790 1 firewire_ohci
crc_itu_t 1321 2 udf,firewire_core
ir_nec_decoder 2561 0
rc_core 14688 9 rc_pinnacle_pctv_hd,ir_lirc_codec,ir_sony_decoder,ir_jvc_decoder,ir_rc6_decoder,ir_rc5_decoder,ir_nec_decoder,cx88xx
I once opened a thread on the upstream mailing list, and some people tried to help me, but without any success.