lirc-modules-source 0.8.6 has a broken lirc_i2c module

Bug #576508 reported by Marc MERLIN on 2010-05-06
20
This bug affects 3 people
Affects Status Importance Assigned to Milestone
lirc (Ubuntu)
Undecided
Unassigned

Bug Description

Binary package hint: lirc-modules-source

lirc-modules-source 0.8.6 has a broken lirc_i2c module which just does not receive any data whatsover from the infrared port on my haupage PVR-500 card (although it apparently affects most/all cards).

Patch is in CVS since last december:
-/* $Id: lirc_i2c.c,v 1.71 2009/12/15 05:37:00 jarodwilson Exp $ */
+/* $Id: lirc_i2c.c,v 1.72 2009/12/28 15:29:03 jarodwilson Exp $ */

lucid just picked up the wrong version by a few days it seems.

I hand copied the new file in my source tree, built, and it worked fine: my remote is working in mythtv again.

Marc MERLIN (marc-soft) wrote :

--- lirc_i2c.c.old 2010-03-27 22:17:24.000000000 -0700
+++ lirc_i2c.c 2009-12-28 07:29:03.000000000 -0800
@@ -1,4 +1,4 @@
-/* $Id: lirc_i2c.c,v 1.71 2009/12/15 05:37:00 jarodwilson Exp $ */
+/* $Id: lirc_i2c.c,v 1.72 2009/12/28 15:29:03 jarodwilson Exp $ */

 /*
  * lirc_i2c.c
@@ -492,20 +492,23 @@
   ir->l.add_to_buf = add_to_buf_pv951;
   break;
  case 0x71:
-#ifdef I2C_HW_B_CX2341X
- if (adap->id == (I2C_ALGO_BIT | I2C_HW_B_BT848) ||
- adap->id == (I2C_ALGO_BIT | I2C_HW_B_CX2341X)) {
-#else
- if (adap->id == (I2C_ALGO_BIT | I2C_HW_B_BT848)) {
+
+
+
+#ifdef I2C_HW_B_CX2388x
+ /* Leadtek Winfast PVR2000 or Hauppauge HVR-1300 */
+ if (adap->id == (I2C_ALGO_BIT | I2C_HW_B_CX2388x))
+ strlcpy(ir->c.name, "Hauppauge HVR1300", I2C_NAME_SIZE);
+ else
 #endif
+ {
    /*
     * The PVR150 IR receiver uses the same protocol as
     * other Hauppauge cards, but the data flow is
     * different, so we need to deal with it by its own.
     */
    strlcpy(ir->c.name, "Hauppauge PVR150", I2C_NAME_SIZE);
- } else /* I2C_HW_B_CX2388x */
- strlcpy(ir->c.name, "Hauppauge HVR1300", I2C_NAME_SIZE);
+ }
   ir->l.code_length = 13;
   ir->l.add_to_buf = add_to_buf_haup_pvr150;
   break;
@@ -516,19 +519,18 @@
   break;
  case 0x18:
  case 0x1a:
-#ifdef I2C_HW_B_CX2341X
- if (adap->id == (I2C_ALGO_BIT | I2C_HW_B_BT848) ||
- adap->id == (I2C_ALGO_BIT | I2C_HW_B_CX2341X)) {
+#ifdef I2C_HW_B_CX2388x
+ if (adap->id == (I2C_ALGO_BIT | I2C_HW_B_CX2388x)) {
+ strlcpy(ir->c.name, "Leadtek IR", I2C_NAME_SIZE);
+ ir->l.code_length = 8;
+ ir->l.add_to_buf = add_to_buf_pvr2000;
+ } else {
 #else
- if (adap->id == (I2C_ALGO_BIT | I2C_HW_B_BT848)) {
+ {
 #endif
    strlcpy(ir->c.name, "Hauppauge IR", I2C_NAME_SIZE);
    ir->l.code_length = 13;
    ir->l.add_to_buf = add_to_buf_haup;
- } else { /* I2C_HW_B_CX2388x */
- strlcpy(ir->c.name, "Leadtek IR", I2C_NAME_SIZE);
- ir->l.code_length = 8;
- ir->l.add_to_buf = add_to_buf_pvr2000;
   }
   break;
  case 0x30:

tags: added: lucid
Marc MERLIN (marc-soft) wrote :

doh, reattaching patch as patch to allow lirc_i2c to work on hauppage PVR-350 and friends.
(this is not my patch, it's a copy from the diff between ubuntu lucid lirc-modules-source 0.8.6-0ubuntu4 and the lirc CVS code that works.

Changed in lirc (Ubuntu):
status: New → Confirmed
Josef Andersson (northar) wrote :

I'm having problems (not working) with my MCE remote too, but it worked fine in Karmic. Maybe this is the same bug affecting this..

spike speigel (frail-knight) wrote :

Is this the same issue as reported here?
https://bugs.launchpad.net/ubuntu/+source/lirc/+bug/454371

Marc MERLIN (marc-soft) wrote :

They look simliar. Just apply the patch to see if it fixes it for you, I got it straight from the maintainer.

Mario Limonciello (superm1) wrote :

lirc_i2c has been updated to the version included in 0.8.7~pre2 (and pre3 soon) so this should be fixed in Ubuntu 10.10.

Changed in lirc (Ubuntu):
status: Confirmed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers