I have an interesting problem with the infrared remote control that came with my TV card. Has anyone else experienced it and does anyone know a solution? I press a key on the remote - let's call it A (it can be any key). Later I press another key - let's call it B. On the second key press, LIRC will recognize AB - ie it will repeat the previous key, immediately followed by the key just pressed. This happens regardless of the length of time between key presses, even overnight. I have tried a code modification that PARTLY fixes the problem - it happens 100% of the time before applying the code change, and something like 10% of the time after applying the code change.
static int build_key(struct saa7134_dev *dev) { struct saa7134_ir *ir = dev->remote; u32 gpio, data; /* rising SAA7134_GPIO_GPRESCAN reads the status */ saa_clearb(SAA7134_GPIO_GPMODE3,SAA7134_GPIO_GPRESCAN); saa_setb(SAA7134_GPIO_GPMODE3,SAA7134_GPIO_GPRESCAN); with static int build_key(struct saa7134_dev *dev) { struct saa7134_ir *ir = dev->remote; u32 gpio, data; /* rising SAA7134_GPIO_GPRESCAN reads the status */ /* JAL clear it a few times in order to provide some delay */ saa_clearb(SAA7134_GPIO_GPMODE3,SAA7134_GPIO_GPRESCAN); saa_clearb(SAA7134_GPIO_GPMODE3,SAA7134_GPIO_GPRESCAN); saa_clearb(SAA7134_GPIO_GPMODE3,SAA7134_GPIO_GPRESCAN); saa_clearb(SAA7134_GPIO_GPMODE3,SAA7134_GPIO_GPRESCAN); saa_setb(SAA7134_GPIO_GPMODE3,SAA7134_GPIO_GPRESCAN); The number of clearbs is relevant - if I use two instead of four then the performance is not as good, if I use 8 I get no further improvement over 4. Repeating the setb makes no difference. My computer configuration is: AMD64 3200+ CPU Gigabyte GA-K8NSC-939 motherboard with NFORCE3 chipset Gentoo Linux with 2.6.15r5 kernel - I got the same result previously when trying with 64 bit SuSE OSS 10.0 with a 2.6.13 kernel and drivers compiled from the v4l-dvb repository. |
_______________________________________________ linux-dvb@xxxxxxxxxxx http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb