lirc-modules-source 0.8.6 has a broken lirc_i2c module

Bug #576508 reported by Marc MERLIN
20
This bug affects 3 people
Affects Status Importance Assigned to Milestone
lirc (Ubuntu)
Fix Released
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.

Tags: lucid
Revision history for this message
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
Revision history for this message
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
Revision history for this message
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..

Revision history for this message
spike speigel (frail-knight) wrote :

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

Revision history for this message
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.

Revision history for this message
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  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.