lirc-modules-source 0.8.6 has a broken lirc_i2c module
Bug #576508 reported by
Marc MERLIN
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.
To post a comment you must log in.
--- 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 $ */
/* ir->c.name, "Hauppauge PVR150", I2C_NAME_SIZE); l.code_ length = 13; buf_haup_ pvr150; ir->c.name, "Hauppauge IR", I2C_NAME_SIZE); >l.code_ length = 13; >l.add_ to_buf = add_to_buf_haup;
* 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(
- } else /* I2C_HW_B_CX2388x */
- strlcpy(ir->c.name, "Hauppauge HVR1300", I2C_NAME_SIZE);
+ }
ir->
ir->l.add_to_buf = add_to_
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-
ir-
- } 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: