Skip to contentSkip to conversation

Getting IR to work on a hvr-1250 tuner.

PATCH In review Dark Shadow 3 participants 13 messages Jun 8, 2011 – Jun 21, 2011 Media (V4L/DVB)

lore
Share & tools
lore
#0 lore raw

I have a capture card that was sold as a Hauppauge HVR-1250 (according to the box) that I am trying to use but I am having trouble getting all it's features at once. When I leave it auto detected by the module I have working TV in MythTV even though it thinks it is a 1270 but IR isn't setup.

dmesg outputs
#modprobe cx23885 enable_885_ir=1

[    7.592714] cx23885 driver version 0.0.2 loaded
[    7.592748] cx23885 0000:07:00.0: PCI INT A -> GSI 17 (level, low) -> IRQ 17
[    7.592926] CORE cx23885[0]: subsystem: 0070:2211, board: Hauppauge
WinTV-HVR1270 [card=18,autodetected]
[    7.728163] IR JVC protocol handler initialized
[    7.738971] tveeprom 0-0050: Hauppauge model 22111, rev C2F5, serial# 6429897
[    7.738974] tveeprom 0-0050: MAC address is 00:0d:fe:62:1c:c9
[    7.738975] tveeprom 0-0050: tuner model is NXP 18271C2 (idx 155, type 54)
[    7.738977] tveeprom 0-0050: TV standards NTSC(M) ATSC/DVB Digital
(eeprom 0x88)
[    7.738979] tveeprom 0-0050: audio processor is CX23888 (idx 40)
[    7.738980] tveeprom 0-0050: decoder processor is CX23888 (idx 34)
[    7.738982] tveeprom 0-0050: has no radio, has IR receiver, has no
IR transmitter
[    7.738983] cx23885[0]: hauppauge eeprom: model=22111
[    7.738985] cx23885_dvb_register() allocating 1 frontend(s)
[    7.738991] cx23885[0]: cx23885 based dvb card
[    7.961122] IR Sony protocol handler initialized
[    7.977301] tda18271 1-0060: creating new instance
[    7.979325] TDA18271HD/C2 detected @ 1-0060
[    8.209663] DVB: registering new adapter (cx23885[0])
[    8.209668] DVB: registering adapter 0 frontend 0 (LG Electronics
LGDT3305 VSB/QAM Frontend)...
[    8.210095] cx23885_dev_checkrevision() Hardware revision = 0xd0
[    8.210101] cx23885[0]/0: found at 0000:07:00.0, rev: 4, irq: 17,
latency: 0, mmio: 0xf7c00000
[    8.210109] cx23885 0000:07:00.0: setting latency timer to 64
[    8.210186] cx23885 0000:07:00.0: irq 49 for MSI/MSI-X

When I force it to be a 1250 no video works but IR seems to show up (with the exception that it never seems to receive signals from the remote)

#modprobe cx23885 enable_885_ir=1 card=3

[38647.660740] cx23885 driver version 0.0.2 loaded
[38647.660779] cx23885 0000:07:00.0: PCI INT A -> GSI 17 (level, low) -> IRQ 17
[38647.661009] CORE cx23885[0]: subsystem: 0070:2211, board: Hauppauge
WinTV-HVR1250 [card=3,insmod option]
[38647.787427] tveeprom 0-0050: Hauppauge model 22111, rev C2F5, serial# 6429897
[38647.787431] tveeprom 0-0050: MAC address is 00:0d:fe:62:1c:c9
[38647.787434] tveeprom 0-0050: tuner model is NXP 18271C2 (idx 155, type 54)
[38647.787437] tveeprom 0-0050: TV standards NTSC(M) ATSC/DVB Digital
(eeprom 0x88)
[38647.787439] tveeprom 0-0050: audio processor is CX23888 (idx 40)
[38647.787442] tveeprom 0-0050: decoder processor is CX23888 (idx 34)
[38647.787444] tveeprom 0-0050: has no radio, has IR receiver, has no
IR transmitter
[38647.787447] cx23885[0]: hauppauge eeprom: model=22111
[38647.824508] cx25840 2-0044: cx23888 A/V decoder found @ 0x88 (cx23885[0])
[38648.457502] cx25840 2-0044: loaded v4l-cx23885-avcore-01.fw
firmware (16382 bytes)
[38648.465061] cx23885_dvb_register() allocating 1 frontend(s)
[38648.465064] cx23885[0]: cx23885 based dvb card
[38648.492632] cx23885[0]: frontend initialization failed
[38648.492637] cx23885_dvb_register() dvb_register failed err = -22
[38648.492640] cx23885_dev_setup() Failed to register dvb on VID_C
[38648.492644] cx23885_dev_checkrevision() Hardware revision = 0xd0
[38648.492650] cx23885[0]/0: found at 0000:07:00.0, rev: 4, irq: 17,
latency: 0, mmio: 0xf7c00000
[38648.492660] cx23885 0000:07:00.0: setting latency timer to 64
[38648.492740] cx23885 0000:07:00.0: irq 48 for MSI/MSI-X
[38648.539598] Registered IR keymap rc-hauppauge
[38648.539775] input: cx23885 IR (Hauppauge WinTV-HVR1250) as
/devices/pci0000:00/0000:00:1c.1/0000:07:00.0/rc/rc0/input4
[38648.539852] rc0: cx23885 IR (Hauppauge WinTV-HVR1250) as
/devices/pci0000:00/0000:00:1c.1/0000:07:00.0/rc/rc0
[38648.539926] rc rc0: lirc_dev: driver ir-lirc-codec (cx23885)

registered at minor = 0

My setup commands for it's settings when using card=3

(I have read this is needed for this remote although according to the Internet my grey remote is supposed to need a "hauppauge=1" parameter but it doesn't exist (modinfo) in my version of the module from kernel 3.0-rc1
#modprobe ir-kbd-i2c

#ir-keytable -a /etc/rc_maps.cfg
Old keytable cleared
Wrote 136 keycode(s) to driver
Protocols changed to RC-5

#lsinput
/dev/input/event4
bustype : BUS_PCI
vendor : 0x70
product : 0x2211
version : 1
name : "cx23885 IR (Hauppauge WinTV-HVR1"
phys : "pci-0000:07:00.0/ir0"
bits ev : EV_SYN EV_KEY EV_MSC EV_REP

#lspci -v (plus a little -n)
07:00.0 0400: 14f1:8880 (rev 04)

	Subsystem: 0070:2211

07:00.0 Multimedia video controller: Conexant Systems, Inc. Hauppauge Inc. HDPVR-1250 model 1196 (rev 04)
Subsystem: Hauppauge computer works Inc. Device 2211
Flags: bus master, fast devsel, latency 0, IRQ 48
Memory at f7c00000 (64-bit, non-prefetchable) [size=2M]
Capabilities: [40] Express Endpoint, MSI 00
Capabilities: [80] Power Management version 3
Capabilities: [90] Vital Product Data <?>
Capabilities: [a0] Message Signalled Interrupts: Mask- 64bit+ Queue=0/0 Enable+
Capabilities: [100] Advanced Error Reporting <?>
Capabilities: [200] Virtual Channel <?>
Kernel driver in use: cx23885
Kernel modules: cx23885

I have heard this should show up as a normal keyboard to the system but no button presses cause anything to happen to the system and trying lirc with devinput (with devinput lircd.conf) and then opening irw doesn't show any button presses either

#1 lore raw
Quoted 129 lines · Dark Shadow

I have a capture card that was sold as a Hauppauge HVR-1250 (according to the box) that I am trying to use but I am having trouble getting all it's features at once. When I leave it auto detected by the module I have working TV in MythTV even though it thinks it is a 1270 but IR isn't setup.

dmesg outputs
#modprobe cx23885 enable_885_ir=1

[    7.592714] cx23885 driver version 0.0.2 loaded
[    7.592748] cx23885 0000:07:00.0: PCI INT A -> GSI 17 (level, low)
-> IRQ 17
[    7.592926] CORE cx23885[0]: subsystem: 0070:2211, board: Hauppauge
WinTV-HVR1270 [card=18,autodetected]
[    7.728163] IR JVC protocol handler initialized
[    7.738971] tveeprom 0-0050: Hauppauge model 22111, rev C2F5,
serial# 6429897
[    7.738974] tveeprom 0-0050: MAC address is 00:0d:fe:62:1c:c9
[    7.738975] tveeprom 0-0050: tuner model is NXP 18271C2 (idx 155,
type 54)
[    7.738977] tveeprom 0-0050: TV standards NTSC(M) ATSC/DVB Digital
(eeprom 0x88)
[    7.738979] tveeprom 0-0050: audio processor is CX23888 (idx 40)
[    7.738980] tveeprom 0-0050: decoder processor is CX23888 (idx 34)
[    7.738982] tveeprom 0-0050: has no radio, has IR receiver, has no
IR transmitter
[    7.738983] cx23885[0]: hauppauge eeprom: model=22111
[    7.738985] cx23885_dvb_register() allocating 1 frontend(s)
[    7.738991] cx23885[0]: cx23885 based dvb card
[    7.961122] IR Sony protocol handler initialized
[    7.977301] tda18271 1-0060: creating new instance
[    7.979325] TDA18271HD/C2 detected @ 1-0060
[    8.209663] DVB: registering new adapter (cx23885[0])
[    8.209668] DVB: registering adapter 0 frontend 0 (LG Electronics
LGDT3305 VSB/QAM Frontend)...
[    8.210095] cx23885_dev_checkrevision() Hardware revision = 0xd0
[    8.210101] cx23885[0]/0: found at 0000:07:00.0, rev: 4, irq: 17,
latency: 0, mmio: 0xf7c00000
[    8.210109] cx23885 0000:07:00.0: setting latency timer to 64
[    8.210186] cx23885 0000:07:00.0: irq 49 for MSI/MSI-X

When I force it to be a 1250 no video works but IR seems to show up (with the exception that it never seems to receive signals from the remote)

#modprobe cx23885 enable_885_ir=1 card=3

[38647.660740] cx23885 driver version 0.0.2 loaded
[38647.660779] cx23885 0000:07:00.0: PCI INT A -> GSI 17 (level, low)
-> IRQ 17
[38647.661009] CORE cx23885[0]: subsystem: 0070:2211, board: Hauppauge
WinTV-HVR1250 [card=3,insmod option]
[38647.787427] tveeprom 0-0050: Hauppauge model 22111, rev C2F5,
serial# 6429897
[38647.787431] tveeprom 0-0050: MAC address is 00:0d:fe:62:1c:c9
[38647.787434] tveeprom 0-0050: tuner model is NXP 18271C2 (idx 155,
type 54)
[38647.787437] tveeprom 0-0050: TV standards NTSC(M) ATSC/DVB Digital
(eeprom 0x88)
[38647.787439] tveeprom 0-0050: audio processor is CX23888 (idx 40)
[38647.787442] tveeprom 0-0050: decoder processor is CX23888 (idx 34)
[38647.787444] tveeprom 0-0050: has no radio, has IR receiver, has no
IR transmitter
[38647.787447] cx23885[0]: hauppauge eeprom: model=22111
[38647.824508] cx25840 2-0044: cx23888 A/V decoder found @ 0x88
(cx23885[0])
[38648.457502] cx25840 2-0044: loaded v4l-cx23885-avcore-01.fw
firmware (16382 bytes)
[38648.465061] cx23885_dvb_register() allocating 1 frontend(s)
[38648.465064] cx23885[0]: cx23885 based dvb card
[38648.492632] cx23885[0]: frontend initialization failed
[38648.492637] cx23885_dvb_register() dvb_register failed err = -22
[38648.492640] cx23885_dev_setup() Failed to register dvb on VID_C
[38648.492644] cx23885_dev_checkrevision() Hardware revision = 0xd0
[38648.492650] cx23885[0]/0: found at 0000:07:00.0, rev: 4, irq: 17,
latency: 0, mmio: 0xf7c00000
[38648.492660] cx23885 0000:07:00.0: setting latency timer to 64
[38648.492740] cx23885 0000:07:00.0: irq 48 for MSI/MSI-X
[38648.539598] Registered IR keymap rc-hauppauge
[38648.539775] input: cx23885 IR (Hauppauge WinTV-HVR1250) as
/devices/pci0000:00/0000:00:1c.1/0000:07:00.0/rc/rc0/input4
[38648.539852] rc0: cx23885 IR (Hauppauge WinTV-HVR1250) as
/devices/pci0000:00/0000:00:1c.1/0000:07:00.0/rc/rc0
[38648.539926] rc rc0: lirc_dev: driver ir-lirc-codec (cx23885)

registered at minor = 0

My setup commands for it's settings when using card=3

(I have read this is needed for this remote although according to the Internet my grey remote is supposed to need a "hauppauge=1" parameter but it doesn't exist (modinfo) in my version of the module from kernel 3.0-rc1
#modprobe ir-kbd-i2c

#ir-keytable -a /etc/rc_maps.cfg
Old keytable cleared
Wrote 136 keycode(s) to driver
Protocols changed to RC-5

#lsinput
/dev/input/event4
bustype : BUS_PCI
vendor : 0x70
product : 0x2211
version : 1
name : "cx23885 IR (Hauppauge WinTV-HVR1"
phys : "pci-0000:07:00.0/ir0"
bits ev : EV_SYN EV_KEY EV_MSC EV_REP

#lspci -v (plus a little -n)
07:00.0 0400: 14f1:8880 (rev 04)

	Subsystem: 0070:2211

07:00.0 Multimedia video controller: Conexant Systems, Inc. Hauppauge Inc. HDPVR-1250 model 1196 (rev 04)
Subsystem: Hauppauge computer works Inc. Device 2211
Flags: bus master, fast devsel, latency 0, IRQ 48 Memory at f7c00000 (64-bit, non-prefetchable) [size=2M]
Capabilities: [40] Express Endpoint, MSI 00
Capabilities: [80] Power Management version 3
Capabilities: [90] Vital Product Data <?>
Capabilities: [a0] Message Signalled Interrupts: Mask- 64bit+
Queue=0/0 Enable+
Capabilities: [100] Advanced Error Reporting <?>
Capabilities: [200] Virtual Channel <?>
Kernel driver in use: cx23885
Kernel modules: cx23885

Quoted 9 lines

I have heard this should show up as a normal keyboard to the system but no button presses cause anything to happen to the system and trying lirc with devinput (with devinput lircd.conf) and then opening irw doesn't show any button presses either
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html

Don't force your card to a 1250, if the driver detects it is a 1270 with a CX23888 chip. No need to use the enable_885_ir parameter with a CX23888 chip, either. It only applies for two board models with actual CX23885 chips.

Use of IR with the CX23888 chip should be realtively trouble free, *if* the 1270's IR has been enabled in the driver code. It likely has not been. I don't have the source code in front of me at the moment to check.

It shouldn't be hard for anyone to patch a few files in the cx23885 driver to add it. Patches are welcome...

Regards,
Andy

#2 lore raw
Quoted 141 lines · Andy Walls
Quoted 129 lines · Dark Shadow

I have a capture card that was sold as a Hauppauge HVR-1250 (according to the box) that I am trying to use but I am having trouble getting all it's features at once. When I leave it auto detected by the module I have working TV in MythTV even though it thinks it is a 1270 but IR isn't setup.

dmesg outputs
#modprobe cx23885 enable_885_ir=1
[    7.592714] cx23885 driver version 0.0.2 loaded
[    7.592748] cx23885 0000:07:00.0: PCI INT A -> GSI 17 (level, low) -> IRQ 17
[    7.592926] CORE cx23885[0]: subsystem: 0070:2211, board: Hauppauge WinTV-HVR1270 [card=18,autodetected]
[    7.728163] IR JVC protocol handler initialized
[    7.738971] tveeprom 0-0050: Hauppauge model 22111, rev C2F5, serial# 6429897
[    7.738974] tveeprom 0-0050: MAC address is 00:0d:fe:62:1c:c9 [    7.738975] tveeprom 0-0050: tuner model is NXP 18271C2 (idx 155, type 54)
[    7.738977] tveeprom 0-0050: TV standards NTSC(M) ATSC/DVB Digital (eeprom 0x88)
[    7.738979] tveeprom 0-0050: audio processor is CX23888 (idx 40) [    7.738980] tveeprom 0-0050: decoder processor is CX23888 (idx 34) [    7.738982] tveeprom 0-0050: has no radio, has IR receiver, has no IR transmitter
[    7.738983] cx23885[0]: hauppauge eeprom: model=22111
[    7.738985] cx23885_dvb_register() allocating 1 frontend(s) [    7.738991] cx23885[0]: cx23885 based dvb card
[    7.961122] IR Sony protocol handler initialized
[    7.977301] tda18271 1-0060: creating new instance
[    7.979325] TDA18271HD/C2 detected @ 1-0060
[    8.209663] DVB: registering new adapter (cx23885[0])
[    8.209668] DVB: registering adapter 0 frontend 0 (LG Electronics LGDT3305 VSB/QAM Frontend)...
[    8.210095] cx23885_dev_checkrevision() Hardware revision = 0xd0 [    8.210101] cx23885[0]/0: found at 0000:07:00.0, rev: 4, irq: 17,
latency: 0, mmio: 0xf7c00000
[    8.210109] cx23885 0000:07:00.0: setting latency timer to 64 [    8.210186] cx23885 0000:07:00.0: irq 49 for MSI/MSI-X

When I force it to be a 1250 no video works but IR seems to show up (with the exception that it never seems to receive signals from the remote)

#modprobe cx23885 enable_885_ir=1 card=3

[38647.660740] cx23885 driver version 0.0.2 loaded
[38647.660779] cx23885 0000:07:00.0: PCI INT A -> GSI 17 (level, low)
-> IRQ 17
[38647.661009] CORE cx23885[0]: subsystem: 0070:2211, board: Hauppauge
WinTV-HVR1250 [card=3,insmod option]
[38647.787427] tveeprom 0-0050: Hauppauge model 22111, rev C2F5,
serial# 6429897
[38647.787431] tveeprom 0-0050: MAC address is 00:0d:fe:62:1c:c9
[38647.787434] tveeprom 0-0050: tuner model is NXP 18271C2 (idx 155,
type 54)
[38647.787437] tveeprom 0-0050: TV standards NTSC(M) ATSC/DVB Digital
(eeprom 0x88)
[38647.787439] tveeprom 0-0050: audio processor is CX23888 (idx 40)
[38647.787442] tveeprom 0-0050: decoder processor is CX23888 (idx 34)
[38647.787444] tveeprom 0-0050: has no radio, has IR receiver, has no
IR transmitter
[38647.787447] cx23885[0]: hauppauge eeprom: model=22111
[38647.824508] cx25840 2-0044: cx23888 A/V decoder found @ 0x88
(cx23885[0])
[38648.457502] cx25840 2-0044: loaded v4l-cx23885-avcore-01.fw
firmware (16382 bytes)
[38648.465061] cx23885_dvb_register() allocating 1 frontend(s)
[38648.465064] cx23885[0]: cx23885 based dvb card
[38648.492632] cx23885[0]: frontend initialization failed
[38648.492637] cx23885_dvb_register() dvb_register failed err = -22
[38648.492640] cx23885_dev_setup() Failed to register dvb on VID_C
[38648.492644] cx23885_dev_checkrevision() Hardware revision = 0xd0
[38648.492650] cx23885[0]/0: found at 0000:07:00.0, rev: 4, irq: 17,
latency: 0, mmio: 0xf7c00000
[38648.492660] cx23885 0000:07:00.0: setting latency timer to 64
[38648.492740] cx23885 0000:07:00.0: irq 48 for MSI/MSI-X
[38648.539598] Registered IR keymap rc-hauppauge
[38648.539775] input: cx23885 IR (Hauppauge WinTV-HVR1250) as
/devices/pci0000:00/0000:00:1c.1/0000:07:00.0/rc/rc0/input4
[38648.539852] rc0: cx23885 IR (Hauppauge WinTV-HVR1250) as
/devices/pci0000:00/0000:00:1c.1/0000:07:00.0/rc/rc0
[38648.539926] rc rc0: lirc_dev: driver ir-lirc-codec (cx23885)

registered at minor = 0

My setup commands for it's settings when using card=3

(I have read this is needed for this remote although according to the Internet my grey remote is supposed to need a "hauppauge=1" parameter but it doesn't exist (modinfo) in my version of the module from kernel 3.0-rc1
#modprobe ir-kbd-i2c

#ir-keytable -a /etc/rc_maps.cfg
Old keytable cleared
Wrote 136 keycode(s) to driver
Protocols changed to RC-5

#lsinput
/dev/input/event4
  bustype : BUS_PCI
  vendor  : 0x70
  product : 0x2211
  version : 1
  name    : "cx23885 IR (Hauppauge WinTV-HVR1"
  phys    : "pci-0000:07:00.0/ir0"
  bits ev : EV_SYN EV_KEY EV_MSC EV_REP

#lspci -v (plus a little -n)
07:00.0 0400: 14f1:8880 (rev 04)
      Subsystem: 0070:2211

07:00.0 Multimedia video controller: Conexant Systems, Inc. Hauppauge Inc. HDPVR-1250 model 1196 (rev 04)
      Subsystem: Hauppauge computer works Inc. Device 2211
      Flags: bus master, fast devsel, latency 0, IRQ 48 Memory at f7c00000 (64-bit, non-prefetchable) [size=2M]
      Capabilities: [40] Express Endpoint, MSI 00
      Capabilities: [80] Power Management version 3
      Capabilities: [90] Vital Product Data <?>
      Capabilities: [a0] Message Signalled Interrupts: Mask- 64bit+ Queue=0/0 Enable+
      Capabilities: [100] Advanced Error Reporting <?>
      Capabilities: [200] Virtual Channel <?>
      Kernel driver in use: cx23885
      Kernel modules: cx23885

Quoted 9 lines

I have heard this should show up as a normal keyboard to the system but no button presses cause anything to happen to the system and trying lirc with devinput (with devinput lircd.conf) and then opening irw doesn't show any button presses either
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Quoted 11 lines

Don't force your card to a 1250, if the driver detects it is a 1270 with a CX23888 chip.  No need to use the enable_885_ir parameter with a CX23888 chip, either.  It only applies for two board models with actual CX23885 chips.

Use of IR with the CX23888 chip should be realtively trouble free, *if* the 1270's IR has been enabled in the driver code.  It likely has not been.  I don't have the source code in front of me at the moment to check.

It shouldn't be hard for anyone to patch a few files in the cx23885 driver to add it.  Patches are welcome...

Regards,
Andy

Under auto detect without the enable_885_ir there is no difference so I can only hope someone will add support for it.

As a side problem until then do you know if it would it be possible to use the Hauppauge remote that came with this card with a or Pinnacle PCTV Pro IR Receiver It is serial port and uses Lirc "pinsys" driver but I hate the remote that came with it. So far it works with it's normal remote but changing lircd.conf to a hauppauge one doesn't allow me to use a better remote.

#3 lore raw

PATCH 1/1 cx23885: Add IR Rx support for HVR-1270 boards

Quoted 64 lines · Dark Shadow
Quoted 47 lines · Andy Walls
Quoted 44 lines · Dark Shadow

I have a capture card that was sold as a Hauppauge HVR-1250 (according to the box) that I am trying to use but I am having trouble getting all it's features at once. When I leave it auto detected by the module I have working TV in MythTV even though it thinks it is a 1270 but IR isn't setup.

dmesg outputs
#modprobe cx23885 enable_885_ir=1

[    7.592714] cx23885 driver version 0.0.2 loaded
[    7.592748] cx23885 0000:07:00.0: PCI INT A -> GSI 17 (level, low)
-> IRQ 17
[    7.592926] CORE cx23885[0]: subsystem: 0070:2211, board: Hauppauge
WinTV-HVR1270 [card=18,autodetected]
[    7.728163] IR JVC protocol handler initialized
[    7.738971] tveeprom 0-0050: Hauppauge model 22111, rev C2F5,
serial# 6429897
[    7.738974] tveeprom 0-0050: MAC address is 00:0d:fe:62:1c:c9
[    7.738975] tveeprom 0-0050: tuner model is NXP 18271C2 (idx 155,
type 54)
[    7.738977] tveeprom 0-0050: TV standards NTSC(M) ATSC/DVB Digital
(eeprom 0x88)
[    7.738979] tveeprom 0-0050: audio processor is CX23888 (idx 40)
[    7.738980] tveeprom 0-0050: decoder processor is CX23888 (idx 34)
[    7.738982] tveeprom 0-0050: has no radio, has IR receiver, has no
IR transmitter
[    7.738983] cx23885[0]: hauppauge eeprom: model=22111
[    7.738985] cx23885_dvb_register() allocating 1 frontend(s)
[    7.738991] cx23885[0]: cx23885 based dvb card
[    7.961122] IR Sony protocol handler initialized
[    7.977301] tda18271 1-0060: creating new instance
[    7.979325] TDA18271HD/C2 detected @ 1-0060
[    8.209663] DVB: registering new adapter (cx23885[0])
[    8.209668] DVB: registering adapter 0 frontend 0 (LG Electronics
LGDT3305 VSB/QAM Frontend)...
[    8.210095] cx23885_dev_checkrevision() Hardware revision = 0xd0
[    8.210101] cx23885[0]/0: found at 0000:07:00.0, rev: 4, irq: 17,
latency: 0, mmio: 0xf7c00000
[    8.210109] cx23885 0000:07:00.0: setting latency timer to 64
[    8.210186] cx23885 0000:07:00.0: irq 49 for MSI/MSI-X

#ir-keytable -a /etc/rc_maps.cfg
Old keytable cleared
Wrote 136 keycode(s) to driver
Protocols changed to RC-5

Quoted 7 lines
Quoted 4 lines

I have heard this should show up as a normal keyboard to the system but no button presses cause anything to happen to the system and trying lirc with devinput (with devinput lircd.conf) and then opening irw doesn't show any button presses either

Don't force your card to a 1250, if the driver detects it is a 1270

with a CX23888 chip. No need to use the enable_885_ir parameter with a CX23888 chip, either. It only applies for two board models with actual CX23885 chips.

Quoted 2 lines

Use of IR with the CX23888 chip should be realtively trouble free,

*if* the 1270's IR has been enabled in the driver code. It likely has not been. I don't have the source code in front of me at the moment to check.

Quoted 1 line
Quoted 6 lines
Quoted 1 line

It shouldn't be hard for anyone to patch a few files in the cx23885

driver to add it. Patches are welcome...

Quoted 1 line

Under auto detect without the enable_885_ir there is no difference so I can only hope someone will add support for it.

I wasn't kidding when I said the patch is sholdn't be hard for anyone. It is really, really simple cut-and-paste job. In fact here is an *untested* patch.

Regards,
Andy

cx23885: Add IR Rx support for HVR-1270 boards

drivers/media/video/cx23885/cx23885-cards.c +11 -1
index ea88722..5635588 100644
@@ -1097,12 +1097,19 @@ int cx23885_ir_init(struct cx23885_dev *dev)
 	case CX23885_BOARD_HAUPPAUGE_HVR1800:
 	case CX23885_BOARD_HAUPPAUGE_HVR1200:
 	case CX23885_BOARD_HAUPPAUGE_HVR1400:
-	case CX23885_BOARD_HAUPPAUGE_HVR1270:
 	case CX23885_BOARD_HAUPPAUGE_HVR1275:
 	case CX23885_BOARD_HAUPPAUGE_HVR1255:
 	case CX23885_BOARD_HAUPPAUGE_HVR1210:
 		/* FIXME: Implement me */
 		break;
+	case CX23885_BOARD_HAUPPAUGE_HVR1270:
+		ret = cx23888_ir_probe(dev);
+		if (ret)
+			break;
+		dev->sd_ir = cx23885_find_hw(dev, CX23885_HW_888_IR);
+		v4l2_subdev_call(dev->sd_cx25840, core, s_io_pin_config,
+				 ir_rx_pin_cfg_count, ir_rx_pin_cfg);
+		break;
 	case CX23885_BOARD_HAUPPAUGE_HVR1850:
 	case CX23885_BOARD_HAUPPAUGE_HVR1290:
 		ret = cx23888_ir_probe(dev);
@@ -1156,6 +1163,7 @@ int cx23885_ir_init(struct cx23885_dev *dev)
 void cx23885_ir_fini(struct cx23885_dev *dev)
 {
 	switch (dev->board) {
+	case CX23885_BOARD_HAUPPAUGE_HVR1270:
 	case CX23885_BOARD_HAUPPAUGE_HVR1850:
 	case CX23885_BOARD_HAUPPAUGE_HVR1290:
 		cx23885_irq_remove(dev, PCI_MSK_IR);
@@ -1199,6 +1207,7 @@ int netup_jtag_io(void *device, int tms, int tdi, int read_tdo)
 void cx23885_ir_pci_int_enable(struct cx23885_dev *dev)
 {
 	switch (dev->board) {
+	case CX23885_BOARD_HAUPPAUGE_HVR1270:
 	case CX23885_BOARD_HAUPPAUGE_HVR1850:
 	case CX23885_BOARD_HAUPPAUGE_HVR1290:
 		if (dev->sd_ir)
@@ -1357,6 +1366,7 @@ void cx23885_card_setup(struct cx23885_dev *dev)
 	case CX23885_BOARD_NETUP_DUAL_DVBS2_CI:
 	case CX23885_BOARD_NETUP_DUAL_DVB_T_C_CI_RF:
 	case CX23885_BOARD_COMPRO_VIDEOMATE_E800:
+	case CX23885_BOARD_HAUPPAUGE_HVR1270:
 	case CX23885_BOARD_HAUPPAUGE_HVR1850:
 	case CX23885_BOARD_MYGICA_X8506:
 	case CX23885_BOARD_MAGICPRO_PROHDTVE2:
drivers/media/video/cx23885/cx23885-input.c +3 -0
index e97cafd..bc28d2c 100644
@@ -82,6 +82,7 @@ void cx23885_input_rx_work_handler(struct cx23885_dev *dev, u32 events)
 		return;
 
 	switch (dev->board) {
+	case CX23885_BOARD_HAUPPAUGE_HVR1270:
 	case CX23885_BOARD_HAUPPAUGE_HVR1850:
 	case CX23885_BOARD_HAUPPAUGE_HVR1290:
 	case CX23885_BOARD_TEVII_S470:
@@ -133,6 +134,7 @@ static int cx23885_input_ir_start(struct cx23885_dev *dev)
 
 	v4l2_subdev_call(dev->sd_ir, ir, rx_g_parameters, &params);
 	switch (dev->board) {
+	case CX23885_BOARD_HAUPPAUGE_HVR1270:
 	case CX23885_BOARD_HAUPPAUGE_HVR1850:
 	case CX23885_BOARD_HAUPPAUGE_HVR1290:
 	case CX23885_BOARD_HAUPPAUGE_HVR1250:
@@ -257,6 +259,7 @@ int cx23885_input_init(struct cx23885_dev *dev)
 		return -ENODEV;
 
 	switch (dev->board) {
+	case CX23885_BOARD_HAUPPAUGE_HVR1270:
 	case CX23885_BOARD_HAUPPAUGE_HVR1850:
 	case CX23885_BOARD_HAUPPAUGE_HVR1290:
 	case CX23885_BOARD_HAUPPAUGE_HVR1250:
#4 lore raw

Re: [PATCH] cx23885: Add IR Rx support for HVR-1270 boards

Quoted 9 lines · Andy Walls
Quoted 5 lines · Dark Shadow
Quoted 3 lines · Andy Walls

Dark Shadow <[email protected]> wrote:

It shouldn't be hard for anyone to patch a few files in the cx23885

driver to add it. Patches are welcome...

I wasn't kidding when I said the patch is sholdn't be hard for anyone.

                                         ^^^^^^^^^^^
                                          shouldn't
Quoted 1 line

It is really, really simple cut-and-paste job. In fact here is an

       ^
       a
Quoted 1 line

*untested* patch.

Good grief, I need to wear my glasses when I type emails. :P

-Andy

#5 lore raw

Re: [PATCH] cx23885: Add IR Rx support for HVR-1270 boards

In reply to Andy Walls
Quoted 158 lines · Andy Walls
Quoted 64 lines · Dark Shadow
Quoted 47 lines · Andy Walls
Quoted 44 lines · Dark Shadow

I have a capture card that was sold as a Hauppauge HVR-1250 (according to the box) that I am trying to use but I am having trouble getting all it's features at once. When I leave it auto detected by the module I have working TV in MythTV even though it thinks it is a 1270 but IR isn't setup.

dmesg outputs
#modprobe cx23885 enable_885_ir=1
[    7.592714] cx23885 driver version 0.0.2 loaded
[    7.592748] cx23885 0000:07:00.0: PCI INT A -> GSI 17 (level, low) -> IRQ 17
[    7.592926] CORE cx23885[0]: subsystem: 0070:2211, board: Hauppauge WinTV-HVR1270 [card=18,autodetected]
[    7.728163] IR JVC protocol handler initialized
[    7.738971] tveeprom 0-0050: Hauppauge model 22111, rev C2F5, serial# 6429897
[    7.738974] tveeprom 0-0050: MAC address is 00:0d:fe:62:1c:c9 [    7.738975] tveeprom 0-0050: tuner model is NXP 18271C2 (idx 155, type 54)
[    7.738977] tveeprom 0-0050: TV standards NTSC(M) ATSC/DVB Digital (eeprom 0x88)
[    7.738979] tveeprom 0-0050: audio processor is CX23888 (idx 40) [    7.738980] tveeprom 0-0050: decoder processor is CX23888 (idx 34) [    7.738982] tveeprom 0-0050: has no radio, has IR receiver, has no IR transmitter
[    7.738983] cx23885[0]: hauppauge eeprom: model=22111
[    7.738985] cx23885_dvb_register() allocating 1 frontend(s) [    7.738991] cx23885[0]: cx23885 based dvb card
[    7.961122] IR Sony protocol handler initialized
[    7.977301] tda18271 1-0060: creating new instance
[    7.979325] TDA18271HD/C2 detected @ 1-0060
[    8.209663] DVB: registering new adapter (cx23885[0])
[    8.209668] DVB: registering adapter 0 frontend 0 (LG Electronics LGDT3305 VSB/QAM Frontend)...
[    8.210095] cx23885_dev_checkrevision() Hardware revision = 0xd0 [    8.210101] cx23885[0]/0: found at 0000:07:00.0, rev: 4, irq: 17,
latency: 0, mmio: 0xf7c00000
[    8.210109] cx23885 0000:07:00.0: setting latency timer to 64 [    8.210186] cx23885 0000:07:00.0: irq 49 for MSI/MSI-X

#ir-keytable -a /etc/rc_maps.cfg
Old keytable cleared
Wrote 136 keycode(s) to driver
Protocols changed to RC-5

Quoted 7 lines
Quoted 4 lines

I have heard this should show up as a normal keyboard to the system but no button presses cause anything to happen to the system and trying lirc with devinput (with devinput lircd.conf) and then opening irw doesn't show any button presses either

Don't force your card to a 1250, if the driver detects it is a 1270

with a CX23888 chip.  No need to use the enable_885_ir parameter with a CX23888 chip, either.  It only applies for two board models with actual CX23885 chips.

Quoted 2 lines

Use of IR with the CX23888 chip should be realtively trouble free,

*if* the 1270's IR has been enabled in the driver code.  It likely has not been.  I don't have the source code in front of me at the moment to check.

Quoted 1 line
Quoted 6 lines
Quoted 1 line

It shouldn't be hard for anyone to patch a few files in the cx23885

driver to add it.  Patches are welcome...

Quoted 1 line

Under auto detect without the enable_885_ir there is no difference so I can only hope someone will add support for it.

I wasn't kidding when I said the patch is sholdn't be hard for anyone. It is really, really simple cut-and-paste job.  In fact here is an *untested* patch.

Regards,
Andy

cx23885: Add IR Rx support for HVR-1270 boards

drivers/media/video/cx23885/cx23885-cards.c +0 -0
index ea88722..5635588 100644
@@ -1097,12 +1097,19 @@ int cx23885_ir_init(struct cx23885_dev *dev)

       case CX23885_BOARD_HAUPPAUGE_HVR1800:
       case CX23885_BOARD_HAUPPAUGE_HVR1200:
       case CX23885_BOARD_HAUPPAUGE_HVR1400:
-       case CX23885_BOARD_HAUPPAUGE_HVR1270:
       case CX23885_BOARD_HAUPPAUGE_HVR1275:
       case CX23885_BOARD_HAUPPAUGE_HVR1255:
       case CX23885_BOARD_HAUPPAUGE_HVR1210:
               /* FIXME: Implement me */
               break;
+       case CX23885_BOARD_HAUPPAUGE_HVR1270:
+               ret = cx23888_ir_probe(dev);
+               if (ret)
+                       break;
+               dev->sd_ir = cx23885_find_hw(dev, CX23885_HW_888_IR);
+               v4l2_subdev_call(dev->sd_cx25840, core, s_io_pin_config,
+                                ir_rx_pin_cfg_count, ir_rx_pin_cfg);
+               break;
       case CX23885_BOARD_HAUPPAUGE_HVR1850:
       case CX23885_BOARD_HAUPPAUGE_HVR1290:
               ret = cx23888_ir_probe(dev);

drivers/media/video/cx23885/cx23885-cards.c +1 -0
@@ -1156,6 +1163,7 @@ int cx23885_ir_init(struct cx23885_dev *dev)
  void cx23885_ir_fini(struct cx23885_dev *dev)
  {
        switch (dev->board) {
+       case CX23885_BOARD_HAUPPAUGE_HVR1270:

       case CX23885_BOARD_HAUPPAUGE_HVR1850:
       case CX23885_BOARD_HAUPPAUGE_HVR1290:
               cx23885_irq_remove(dev, PCI_MSK_IR);

drivers/media/video/cx23885/cx23885-cards.c +1 -0
@@ -1199,6 +1207,7 @@ int netup_jtag_io(void *device, int tms, int tdi, int read_tdo)
  void cx23885_ir_pci_int_enable(struct cx23885_dev *dev)
  {
        switch (dev->board) {
+       case CX23885_BOARD_HAUPPAUGE_HVR1270:

       case CX23885_BOARD_HAUPPAUGE_HVR1850:
       case CX23885_BOARD_HAUPPAUGE_HVR1290:
               if (dev->sd_ir)

drivers/media/video/cx23885/cx23885-cards.c +0 -0
@@ -1357,6 +1366,7 @@ void cx23885_card_setup(struct cx23885_dev *dev)

       case CX23885_BOARD_NETUP_DUAL_DVBS2_CI:
       case CX23885_BOARD_NETUP_DUAL_DVB_T_C_CI_RF:
       case CX23885_BOARD_COMPRO_VIDEOMATE_E800:
+       case CX23885_BOARD_HAUPPAUGE_HVR1270:
       case CX23885_BOARD_HAUPPAUGE_HVR1850:
       case CX23885_BOARD_MYGICA_X8506:
       case CX23885_BOARD_MAGICPRO_PROHDTVE2:

drivers/media/video/cx23885/cx23885-input.c +1 -0
index e97cafd..bc28d2c 100644
@@ -82,6 +82,7 @@ void cx23885_input_rx_work_handler(struct cx23885_dev *dev, u32 events)
                return;
 
        switch (dev->board) {
+       case CX23885_BOARD_HAUPPAUGE_HVR1270:

       case CX23885_BOARD_HAUPPAUGE_HVR1850:
       case CX23885_BOARD_HAUPPAUGE_HVR1290:
       case CX23885_BOARD_TEVII_S470:

drivers/media/video/cx23885/cx23885-input.c +1 -0
@@ -133,6 +134,7 @@ static int cx23885_input_ir_start(struct cx23885_dev *dev)
 
        v4l2_subdev_call(dev->sd_ir, ir, rx_g_parameters, &params);
        switch (dev->board) {
+       case CX23885_BOARD_HAUPPAUGE_HVR1270:

       case CX23885_BOARD_HAUPPAUGE_HVR1850:
       case CX23885_BOARD_HAUPPAUGE_HVR1290:
       case CX23885_BOARD_HAUPPAUGE_HVR1250:

drivers/media/video/cx23885/cx23885-input.c +1 -0
@@ -257,6 +259,7 @@ int cx23885_input_init(struct cx23885_dev *dev)
                return -ENODEV;
 
        switch (dev->board) {
+       case CX23885_BOARD_HAUPPAUGE_HVR1270:
Quoted 8 lines

       case CX23885_BOARD_HAUPPAUGE_HVR1850:
       case CX23885_BOARD_HAUPPAUGE_HVR1290:
       case CX23885_BOARD_HAUPPAUGE_HVR1250:

Thank you I just tested those changes and they work (in getting the IR to work to the same level as forcing the card model and not cause problems for the video)

I still can't use the remote any more then forcing the card model but I have a guess on that. According to everything I have read the ir-kbd-i2c module is needed but it never auto loads on my system so I am thinking it is just not updated to know about this card and may only need the same type of changes as the cx23885 module. (I am guessing since I can't even program a Hello World) Is there any chance you would be able to see if any easy changes could be done to it.

#6 lore raw

Re: [PATCH] cx23885: Add IR Rx support for HVR-1270 boards

Quoted 203 lines · Dark Shadow
Quoted 2 lines · Andy Walls
Quoted 1 line · Dark Shadow

On Wed, Jun 8, 2011 at 4:19 AM, Andy Walls <[email protected]>

Quoted 3 lines · wrote:
Quoted 3 lines
Quoted 3 lines
Quoted 1 line · Dark Shadow

I have a capture card that was sold as a Hauppauge HVR-1250

(according

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

to the box) that I am trying to use but I am having trouble

getting

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

all it's features at once. When I leave it auto detected by the

module

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

I have working TV in MythTV even though it thinks it is a 1270 but

IR

Quoted 6 lines
Quoted 6 lines
Quoted 6 lines
Quoted 6 lines

isn't setup.

dmesg outputs
#modprobe cx23885 enable_885_ir=1
[    7.592714] cx23885 driver version 0.0.2 loaded
[    7.592748] cx23885 0000:07:00.0: PCI INT A -> GSI 17 (level,

low)

Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines

-> IRQ 17
[    7.592926] CORE cx23885[0]: subsystem: 0070:2211, board:

Hauppauge

Quoted 6 lines
Quoted 6 lines
Quoted 6 lines
Quoted 6 lines

WinTV-HVR1270 [card=18,autodetected]
[    7.728163] IR JVC protocol handler initialized
[    7.738971] tveeprom 0-0050: Hauppauge model 22111, rev C2F5, serial# 6429897
[    7.738974] tveeprom 0-0050: MAC address is 00:0d:fe:62:1c:c9 [    7.738975] tveeprom 0-0050: tuner model is NXP 18271C2 (idx

155,

Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines

type 54)
[    7.738977] tveeprom 0-0050: TV standards NTSC(M) ATSC/DVB

Digital

Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines

(eeprom 0x88)
[    7.738979] tveeprom 0-0050: audio processor is CX23888 (idx

40)

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

[    7.738980] tveeprom 0-0050: decoder processor is CX23888 (idx

34)

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

[    7.738982] tveeprom 0-0050: has no radio, has IR receiver, has

no

Quoted 9 lines
Quoted 9 lines
Quoted 9 lines
Quoted 9 lines

IR transmitter
[    7.738983] cx23885[0]: hauppauge eeprom: model=22111 [    7.738985] cx23885_dvb_register() allocating 1 frontend(s) [    7.738991] cx23885[0]: cx23885 based dvb card
[    7.961122] IR Sony protocol handler initialized [    7.977301] tda18271 1-0060: creating new instance [    7.979325] TDA18271HD/C2 detected @ 1-0060
[    8.209663] DVB: registering new adapter (cx23885[0]) [    8.209668] DVB: registering adapter 0 frontend 0 (LG

Electronics

Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines

LGDT3305 VSB/QAM Frontend)...
[    8.210095] cx23885_dev_checkrevision() Hardware revision =

0xd0

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

[    8.210101] cx23885[0]/0: found at 0000:07:00.0, rev: 4, irq:

17,

Quoted 10 lines
Quoted 10 lines
Quoted 10 lines
Quoted 10 lines

latency: 0, mmio: 0xf7c00000
[    8.210109] cx23885 0000:07:00.0: setting latency timer to 64 [    8.210186] cx23885 0000:07:00.0: irq 49 for MSI/MSI-X

#ir-keytable -a /etc/rc_maps.cfg
Old keytable cleared
Wrote 136 keycode(s) to driver
Protocols changed to RC-5

I have heard this should show up as a normal keyboard to the

system

Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines

but no button presses cause anything to happen to the system and trying lirc with devinput (with devinput lircd.conf) and then

opening

Quoted 4 lines
Quoted 4 lines
Quoted 4 lines
Quoted 1 line

irw doesn't show any button presses either

Don't force your card to a 1250, if the driver detects it is a

1270

Quoted 1 line
Quoted 1 line

with a CX23888 chip.  No need to use the enable_885_ir parameter

with

Quoted 5 lines
Quoted 5 lines

a CX23888 chip, either.  It only applies for two board models with actual CX23885 chips.

Quoted 2 lines

Use of IR with the CX23888 chip should be realtively trouble free,

*if* the 1270's IR has been enabled in the driver code.  It likely

has

Quoted 4 lines
Quoted 4 lines

not been.  I don't have the source code in front of me at the moment to check.

Quoted 2 lines

It shouldn't be hard for anyone to patch a few files in the

cx23885

Quoted 4 lines
Quoted 4 lines

driver to add it.  Patches are welcome...

Quoted 1 line

Under auto detect without the enable_885_ir there is no difference

so

Quoted 3 lines
Quoted 1 line

I can only hope someone will add support for it.

I wasn't kidding when I said the patch is sholdn't be hard for

anyone.

Quoted 6 lines

It is really, really simple cut-and-paste job.  In fact here is an *untested* patch.

Regards,
Andy

Review

Quoted 6 lines

cx23885: Add IR Rx support for HVR-1270 boards

(quoted diff) +0 -0

b/drivers/media/video/cx23885/cx23885-cards.c

Quoted 11 lines

index ea88722..5635588 100644

drivers/media/video/cx23885/cx23885-cards.c +0 -0
@@ -1097,12 +1097,19 @@ int cx23885_ir_init(struct cx23885_dev *dev)

       case CX23885_BOARD_HAUPPAUGE_HVR1800:
       case CX23885_BOARD_HAUPPAUGE_HVR1200:
       case CX23885_BOARD_HAUPPAUGE_HVR1400:
-       case CX23885_BOARD_HAUPPAUGE_HVR1270:
       case CX23885_BOARD_HAUPPAUGE_HVR1275:
       case CX23885_BOARD_HAUPPAUGE_HVR1255:
       case CX23885_BOARD_HAUPPAUGE_HVR1210:

Quoted 8 lines

               /* FIXME: Implement me */
               break;
+       case CX23885_BOARD_HAUPPAUGE_HVR1270:
+               ret = cx23888_ir_probe(dev);
+               if (ret)
+                       break;
+               dev->sd_ir = cx23885_find_hw(dev, CX23885_HW_888_IR);
+               v4l2_subdev_call(dev->sd_cx25840, core,

s_io_pin_config,

drivers/media/video/cx23885/cx23885-cards.c int netup_jtag_io(void *device, int tms, int

Quoted 14 lines

+                                ir_rx_pin_cfg_count, ir_rx_pin_cfg);
+               break;
       case CX23885_BOARD_HAUPPAUGE_HVR1850:
       case CX23885_BOARD_HAUPPAUGE_HVR1290:
               ret = cx23888_ir_probe(dev);

drivers/media/video/cx23885/cx23885-cards.c +1 -0
@@ -1156,6 +1163,7 @@ int cx23885_ir_init(struct cx23885_dev *dev)
  void cx23885_ir_fini(struct cx23885_dev *dev)
  {
        switch (dev->board) {
+       case CX23885_BOARD_HAUPPAUGE_HVR1270:

       case CX23885_BOARD_HAUPPAUGE_HVR1850:
       case CX23885_BOARD_HAUPPAUGE_HVR1290:
               cx23885_irq_remove(dev, PCI_MSK_IR);

drivers/media/video/cx23885/cx23885-cards.c +0 -0
@@ -1199,6 +1207,7 @@ int netup_jtag_io(void *device, int tms, int

tdi, int read_tdo)

drivers/media/video/cx23885/cx23885-cards.c void cx23885_card_setup(struct cx23885_dev

Quoted 8 lines
drivers/media/video/cx23885/cx23885-cards.c +1 -0
  void cx23885_ir_pci_int_enable(struct cx23885_dev *dev)
  {
        switch (dev->board) {
+       case CX23885_BOARD_HAUPPAUGE_HVR1270:

       case CX23885_BOARD_HAUPPAUGE_HVR1850:
       case CX23885_BOARD_HAUPPAUGE_HVR1290:
               if (dev->sd_ir)

drivers/media/video/cx23885/cx23885-cards.c +0 -0
@@ -1357,6 +1366,7 @@ void cx23885_card_setup(struct cx23885_dev

*dev)

Review

Quoted 8 lines

       case CX23885_BOARD_NETUP_DUAL_DVBS2_CI:
       case CX23885_BOARD_NETUP_DUAL_DVB_T_C_CI_RF:
       case CX23885_BOARD_COMPRO_VIDEOMATE_E800:
+       case CX23885_BOARD_HAUPPAUGE_HVR1270:
       case CX23885_BOARD_HAUPPAUGE_HVR1850:
       case CX23885_BOARD_MYGICA_X8506:
       case CX23885_BOARD_MAGICPRO_PROHDTVE2:

(quoted diff) +0 -0

b/drivers/media/video/cx23885/cx23885-input.c

drivers/media/video/cx23885/cx23885-input.c void cx23885_input_rx_work_handler(struct

Quoted 4 lines

index e97cafd..bc28d2c 100644

drivers/media/video/cx23885/cx23885-input.c +0 -0
@@ -82,6 +82,7 @@ void cx23885_input_rx_work_handler(struct

cx23885_dev *dev, u32 events)

drivers/media/video/cx23885/cx23885-input.c static int cx23885_input_ir_start(struct

Quoted 8 lines
drivers/media/video/cx23885/cx23885-input.c +1 -0
                return;
 
        switch (dev->board) {
+       case CX23885_BOARD_HAUPPAUGE_HVR1270:

       case CX23885_BOARD_HAUPPAUGE_HVR1850:
       case CX23885_BOARD_HAUPPAUGE_HVR1290:
       case CX23885_BOARD_TEVII_S470:

drivers/media/video/cx23885/cx23885-input.c +0 -0
@@ -133,6 +134,7 @@ static int cx23885_input_ir_start(struct

cx23885_dev *dev)

Quoted 12 lines
drivers/media/video/cx23885/cx23885-input.c +1 -0
        v4l2_subdev_call(dev->sd_ir, ir, rx_g_parameters, &params);
        switch (dev->board) {
+       case CX23885_BOARD_HAUPPAUGE_HVR1270:

       case CX23885_BOARD_HAUPPAUGE_HVR1850:
       case CX23885_BOARD_HAUPPAUGE_HVR1290:
       case CX23885_BOARD_HAUPPAUGE_HVR1250:

drivers/media/video/cx23885/cx23885-input.c +1 -0
@@ -257,6 +259,7 @@ int cx23885_input_init(struct cx23885_dev *dev)
                return -ENODEV;
 
        switch (dev->board) {
+       case CX23885_BOARD_HAUPPAUGE_HVR1270:
Quoted 8 lines

       case CX23885_BOARD_HAUPPAUGE_HVR1850:
       case CX23885_BOARD_HAUPPAUGE_HVR1290:
       case CX23885_BOARD_HAUPPAUGE_HVR1250:

Thank you I just tested those changes and they work (in getting the IR to work to the same level as forcing the card model and not cause problems for the video)

Quoted 7 lines

I still can't use the remote any more then forcing the card model but I have a guess on that. According to everything I have read the ir-kbd-i2c module is needed but it never auto loads on my system so I am thinking it is just not updated to know about this card and may only need the same type of changes as the cx23885 module. (I am guessing since I can't even program a Hello World) Is there any chance you would be able to see if any easy changes could be done to it.

You don't need ir-kbd-i2c for this ir unit. If you don't have the right keymap loaded, the remote won't work though.

The cx23885 module has a parameter called ir_888_debug (or something similar). Set it to a value of around 7 or so. The cx23885 module will log pulse and space measurments to dmesg or var/log/messages. That way you can at least verify pulses are being processed.

If pulses are not being processed, check that the cable is firmly plugged into the card and that you have fresh batteries in the remote.

I don't have a 1270 of my own, so I can't help too much.

Andy

#7 lore raw

Re: [PATCH] cx23885: Add IR Rx support for HVR-1270 boards

Quoted 215 lines · Andy Walls
Quoted 203 lines · Dark Shadow
Quoted 2 lines · Andy Walls
Quoted 1 line · Dark Shadow

On Wed, Jun 8, 2011 at 4:19 AM, Andy Walls <[email protected]>

Quoted 3 lines · wrote:
Quoted 3 lines
Quoted 3 lines
Quoted 1 line · Dark Shadow

I have a capture card that was sold as a Hauppauge HVR-1250

(according

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

to the box) that I am trying to use but I am having trouble

getting

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

all it's features at once. When I leave it auto detected by the

module

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

I have working TV in MythTV even though it thinks it is a 1270 but

IR

Quoted 6 lines
Quoted 6 lines
Quoted 6 lines
Quoted 6 lines

isn't setup.

dmesg outputs
#modprobe cx23885 enable_885_ir=1
[    7.592714] cx23885 driver version 0.0.2 loaded
[    7.592748] cx23885 0000:07:00.0: PCI INT A -> GSI 17 (level,

low)

Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines

-> IRQ 17
[    7.592926] CORE cx23885[0]: subsystem: 0070:2211, board:

Hauppauge

Quoted 6 lines
Quoted 6 lines
Quoted 6 lines
Quoted 6 lines

WinTV-HVR1270 [card=18,autodetected]
[    7.728163] IR JVC protocol handler initialized
[    7.738971] tveeprom 0-0050: Hauppauge model 22111, rev C2F5, serial# 6429897
[    7.738974] tveeprom 0-0050: MAC address is 00:0d:fe:62:1c:c9 [    7.738975] tveeprom 0-0050: tuner model is NXP 18271C2 (idx

155,

Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines

type 54)
[    7.738977] tveeprom 0-0050: TV standards NTSC(M) ATSC/DVB

Digital

Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines

(eeprom 0x88)
[    7.738979] tveeprom 0-0050: audio processor is CX23888 (idx

40)

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

[    7.738980] tveeprom 0-0050: decoder processor is CX23888 (idx

34)

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

[    7.738982] tveeprom 0-0050: has no radio, has IR receiver, has

no

Quoted 9 lines
Quoted 9 lines
Quoted 9 lines
Quoted 9 lines

IR transmitter
[    7.738983] cx23885[0]: hauppauge eeprom: model=22111 [    7.738985] cx23885_dvb_register() allocating 1 frontend(s) [    7.738991] cx23885[0]: cx23885 based dvb card
[    7.961122] IR Sony protocol handler initialized [    7.977301] tda18271 1-0060: creating new instance [    7.979325] TDA18271HD/C2 detected @ 1-0060
[    8.209663] DVB: registering new adapter (cx23885[0]) [    8.209668] DVB: registering adapter 0 frontend 0 (LG

Electronics

Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines

LGDT3305 VSB/QAM Frontend)...
[    8.210095] cx23885_dev_checkrevision() Hardware revision =

0xd0

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

[    8.210101] cx23885[0]/0: found at 0000:07:00.0, rev: 4, irq:

17,

Quoted 10 lines
Quoted 10 lines
Quoted 10 lines
Quoted 10 lines

latency: 0, mmio: 0xf7c00000
[    8.210109] cx23885 0000:07:00.0: setting latency timer to 64 [    8.210186] cx23885 0000:07:00.0: irq 49 for MSI/MSI-X

#ir-keytable -a /etc/rc_maps.cfg
Old keytable cleared
Wrote 136 keycode(s) to driver
Protocols changed to RC-5

I have heard this should show up as a normal keyboard to the

system

Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines

but no button presses cause anything to happen to the system and trying lirc with devinput (with devinput lircd.conf) and then

opening

Quoted 4 lines
Quoted 4 lines
Quoted 4 lines
Quoted 1 line

irw doesn't show any button presses either

Don't force your card to a 1250, if the driver detects it is a

1270

Quoted 1 line
Quoted 1 line

with a CX23888 chip.  No need to use the enable_885_ir parameter

with

Quoted 5 lines
Quoted 5 lines

a CX23888 chip, either.  It only applies for two board models with actual CX23885 chips.

Quoted 2 lines

Use of IR with the CX23888 chip should be realtively trouble free,

*if* the 1270's IR has been enabled in the driver code.  It likely

has

Quoted 4 lines
Quoted 4 lines

not been.  I don't have the source code in front of me at the moment to check.

Quoted 2 lines

It shouldn't be hard for anyone to patch a few files in the

cx23885

Quoted 4 lines
Quoted 4 lines

driver to add it.  Patches are welcome...

Quoted 1 line

Under auto detect without the enable_885_ir there is no difference

so

Quoted 3 lines
Quoted 1 line

I can only hope someone will add support for it.

I wasn't kidding when I said the patch is sholdn't be hard for

anyone.

Quoted 6 lines

It is really, really simple cut-and-paste job.  In fact here is an *untested* patch.

Regards,
Andy

Review

Quoted 6 lines

cx23885: Add IR Rx support for HVR-1270 boards

(quoted diff) +0 -0

b/drivers/media/video/cx23885/cx23885-cards.c

Quoted 11 lines

index ea88722..5635588 100644

drivers/media/video/cx23885/cx23885-cards.c +0 -0
@@ -1097,12 +1097,19 @@ int cx23885_ir_init(struct cx23885_dev *dev)

       case CX23885_BOARD_HAUPPAUGE_HVR1800:
       case CX23885_BOARD_HAUPPAUGE_HVR1200:
       case CX23885_BOARD_HAUPPAUGE_HVR1400:
-       case CX23885_BOARD_HAUPPAUGE_HVR1270:
       case CX23885_BOARD_HAUPPAUGE_HVR1275:
       case CX23885_BOARD_HAUPPAUGE_HVR1255:
       case CX23885_BOARD_HAUPPAUGE_HVR1210:

Quoted 8 lines

               /* FIXME: Implement me */
               break;
+       case CX23885_BOARD_HAUPPAUGE_HVR1270:
+               ret = cx23888_ir_probe(dev);
+               if (ret)
+                       break;
+               dev->sd_ir = cx23885_find_hw(dev, CX23885_HW_888_IR);
+               v4l2_subdev_call(dev->sd_cx25840, core,

s_io_pin_config,

drivers/media/video/cx23885/cx23885-cards.c int netup_jtag_io(void *device, int tms, int

Quoted 14 lines

+                                ir_rx_pin_cfg_count, ir_rx_pin_cfg);
+               break;
       case CX23885_BOARD_HAUPPAUGE_HVR1850:
       case CX23885_BOARD_HAUPPAUGE_HVR1290:
               ret = cx23888_ir_probe(dev);

drivers/media/video/cx23885/cx23885-cards.c +1 -0
@@ -1156,6 +1163,7 @@ int cx23885_ir_init(struct cx23885_dev *dev)
  void cx23885_ir_fini(struct cx23885_dev *dev)
  {
        switch (dev->board) {
+       case CX23885_BOARD_HAUPPAUGE_HVR1270:

       case CX23885_BOARD_HAUPPAUGE_HVR1850:
       case CX23885_BOARD_HAUPPAUGE_HVR1290:
               cx23885_irq_remove(dev, PCI_MSK_IR);

drivers/media/video/cx23885/cx23885-cards.c +0 -0
@@ -1199,6 +1207,7 @@ int netup_jtag_io(void *device, int tms, int

tdi, int read_tdo)

drivers/media/video/cx23885/cx23885-cards.c void cx23885_card_setup(struct cx23885_dev

Quoted 8 lines
drivers/media/video/cx23885/cx23885-cards.c +1 -0
  void cx23885_ir_pci_int_enable(struct cx23885_dev *dev)
  {
        switch (dev->board) {
+       case CX23885_BOARD_HAUPPAUGE_HVR1270:

       case CX23885_BOARD_HAUPPAUGE_HVR1850:
       case CX23885_BOARD_HAUPPAUGE_HVR1290:
               if (dev->sd_ir)

drivers/media/video/cx23885/cx23885-cards.c +0 -0
@@ -1357,6 +1366,7 @@ void cx23885_card_setup(struct cx23885_dev

*dev)

Review

Quoted 8 lines

       case CX23885_BOARD_NETUP_DUAL_DVBS2_CI:
       case CX23885_BOARD_NETUP_DUAL_DVB_T_C_CI_RF:
       case CX23885_BOARD_COMPRO_VIDEOMATE_E800:
+       case CX23885_BOARD_HAUPPAUGE_HVR1270:
       case CX23885_BOARD_HAUPPAUGE_HVR1850:
       case CX23885_BOARD_MYGICA_X8506:
       case CX23885_BOARD_MAGICPRO_PROHDTVE2:

(quoted diff) +0 -0

b/drivers/media/video/cx23885/cx23885-input.c

drivers/media/video/cx23885/cx23885-input.c void cx23885_input_rx_work_handler(struct

Quoted 4 lines

index e97cafd..bc28d2c 100644

drivers/media/video/cx23885/cx23885-input.c +0 -0
@@ -82,6 +82,7 @@ void cx23885_input_rx_work_handler(struct

cx23885_dev *dev, u32 events)

drivers/media/video/cx23885/cx23885-input.c static int cx23885_input_ir_start(struct

Quoted 8 lines
drivers/media/video/cx23885/cx23885-input.c +1 -0
                return;
 
        switch (dev->board) {
+       case CX23885_BOARD_HAUPPAUGE_HVR1270:

       case CX23885_BOARD_HAUPPAUGE_HVR1850:
       case CX23885_BOARD_HAUPPAUGE_HVR1290:
       case CX23885_BOARD_TEVII_S470:

drivers/media/video/cx23885/cx23885-input.c +0 -0
@@ -133,6 +134,7 @@ static int cx23885_input_ir_start(struct

cx23885_dev *dev)

Quoted 12 lines
drivers/media/video/cx23885/cx23885-input.c +1 -0
        v4l2_subdev_call(dev->sd_ir, ir, rx_g_parameters, &params);
        switch (dev->board) {
+       case CX23885_BOARD_HAUPPAUGE_HVR1270:

       case CX23885_BOARD_HAUPPAUGE_HVR1850:
       case CX23885_BOARD_HAUPPAUGE_HVR1290:
       case CX23885_BOARD_HAUPPAUGE_HVR1250:

drivers/media/video/cx23885/cx23885-input.c +1 -0
@@ -257,6 +259,7 @@ int cx23885_input_init(struct cx23885_dev *dev)
                return -ENODEV;
 
        switch (dev->board) {
+       case CX23885_BOARD_HAUPPAUGE_HVR1270:
Quoted 8 lines

       case CX23885_BOARD_HAUPPAUGE_HVR1850:
       case CX23885_BOARD_HAUPPAUGE_HVR1290:
       case CX23885_BOARD_HAUPPAUGE_HVR1250:

Thank you I just tested those changes and they work (in getting the IR to work to the same level as forcing the card model and not cause problems for the video)

Quoted 7 lines

I still can't use the remote any more then forcing the card model but I have a guess on that. According to everything I have read the ir-kbd-i2c module is needed but it never auto loads on my system so I am thinking it is just not updated to know about this card and may only need the same type of changes as the cx23885 module. (I am guessing since I can't even program a Hello World) Is there any chance you would be able to see if any easy changes could be done to it.

You don't need ir-kbd-i2c for this ir unit.  If you don't have the right keymap loaded, the remote won't work though.

Quoted 8 lines

The cx23885 module has a parameter called ir_888_debug (or something similar).  Set it to a value of around 7 or so.  The cx23885 module will log pulse and space measurments to dmesg or var/log/messages.  That way you can at least verify pulses are being processed.

If pulses are not being processed, check that the cable is firmly plugged into the card and that you have fresh batteries in the remote.

I don't have a 1270 of my own, so I can't help too much.

Andy

I have been unable to get any debug output but on two occasions I got the down arrow to work on the XBMC menu but both times were followed by the system locking up and I can't reproduce it anymore.

Do I need the parameter to enable ir or not? I have tried it both ways.

#8 lore raw

Re: [PATCH] cx23885: Add IR Rx support for HVR-1270 boards

Quoted 227 lines · Dark Shadow
Quoted 215 lines · Andy Walls
Quoted 203 lines · Dark Shadow
Quoted 2 lines · Andy Walls
Quoted 1 line · Dark Shadow

On Wed, Jun 8, 2011 at 4:19 AM, Andy Walls <[email protected]>

Quoted 3 lines · wrote:
Quoted 3 lines
Quoted 3 lines
Quoted 1 line · Dark Shadow

I have a capture card that was sold as a Hauppauge HVR-1250

(according

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

to the box) that I am trying to use but I am having trouble

getting

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

all it's features at once. When I leave it auto detected by the

module

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

I have working TV in MythTV even though it thinks it is a 1270 but

IR

Quoted 6 lines
Quoted 6 lines
Quoted 6 lines
Quoted 6 lines

isn't setup.

dmesg outputs
#modprobe cx23885 enable_885_ir=1
[    7.592714] cx23885 driver version 0.0.2 loaded
[    7.592748] cx23885 0000:07:00.0: PCI INT A -> GSI 17 (level,

low)

Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines

-> IRQ 17
[    7.592926] CORE cx23885[0]: subsystem: 0070:2211, board:

Hauppauge

Quoted 6 lines
Quoted 6 lines
Quoted 6 lines
Quoted 6 lines

WinTV-HVR1270 [card=18,autodetected]
[    7.728163] IR JVC protocol handler initialized
[    7.738971] tveeprom 0-0050: Hauppauge model 22111, rev C2F5, serial# 6429897
[    7.738974] tveeprom 0-0050: MAC address is 00:0d:fe:62:1c:c9 [    7.738975] tveeprom 0-0050: tuner model is NXP 18271C2 (idx

155,

Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines

type 54)
[    7.738977] tveeprom 0-0050: TV standards NTSC(M) ATSC/DVB

Digital

Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines

(eeprom 0x88)
[    7.738979] tveeprom 0-0050: audio processor is CX23888 (idx

40)

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

[    7.738980] tveeprom 0-0050: decoder processor is CX23888 (idx

34)

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

[    7.738982] tveeprom 0-0050: has no radio, has IR receiver, has

no

Quoted 9 lines
Quoted 9 lines
Quoted 9 lines
Quoted 9 lines

IR transmitter
[    7.738983] cx23885[0]: hauppauge eeprom: model=22111 [    7.738985] cx23885_dvb_register() allocating 1 frontend(s) [    7.738991] cx23885[0]: cx23885 based dvb card
[    7.961122] IR Sony protocol handler initialized [    7.977301] tda18271 1-0060: creating new instance [    7.979325] TDA18271HD/C2 detected @ 1-0060
[    8.209663] DVB: registering new adapter (cx23885[0]) [    8.209668] DVB: registering adapter 0 frontend 0 (LG

Electronics

Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines

LGDT3305 VSB/QAM Frontend)...
[    8.210095] cx23885_dev_checkrevision() Hardware revision =

0xd0

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

[    8.210101] cx23885[0]/0: found at 0000:07:00.0, rev: 4, irq:

17,

Quoted 10 lines
Quoted 10 lines
Quoted 10 lines
Quoted 10 lines

latency: 0, mmio: 0xf7c00000
[    8.210109] cx23885 0000:07:00.0: setting latency timer to 64 [    8.210186] cx23885 0000:07:00.0: irq 49 for MSI/MSI-X

#ir-keytable -a /etc/rc_maps.cfg
Old keytable cleared
Wrote 136 keycode(s) to driver
Protocols changed to RC-5

I have heard this should show up as a normal keyboard to the

system

Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines

but no button presses cause anything to happen to the system and trying lirc with devinput (with devinput lircd.conf) and then

opening

Quoted 4 lines
Quoted 4 lines
Quoted 4 lines
Quoted 1 line

irw doesn't show any button presses either

Don't force your card to a 1250, if the driver detects it is a

1270

Quoted 1 line
Quoted 1 line

with a CX23888 chip.  No need to use the enable_885_ir parameter

with

Quoted 5 lines
Quoted 5 lines

a CX23888 chip, either.  It only applies for two board models with actual CX23885 chips.

Quoted 2 lines

Use of IR with the CX23888 chip should be realtively trouble free,

*if* the 1270's IR has been enabled in the driver code.  It likely

has

Quoted 4 lines
Quoted 4 lines

not been.  I don't have the source code in front of me at the moment to check.

Quoted 2 lines

It shouldn't be hard for anyone to patch a few files in the

cx23885

Quoted 4 lines
Quoted 4 lines

driver to add it.  Patches are welcome...

Quoted 1 line

Under auto detect without the enable_885_ir there is no difference

so

Quoted 3 lines
Quoted 1 line

I can only hope someone will add support for it.

I wasn't kidding when I said the patch is sholdn't be hard for

anyone.

Quoted 6 lines

It is really, really simple cut-and-paste job.  In fact here is an *untested* patch.

Regards,
Andy

Review

Quoted 6 lines

cx23885: Add IR Rx support for HVR-1270 boards

(quoted diff) +0 -0

b/drivers/media/video/cx23885/cx23885-cards.c

Quoted 11 lines

index ea88722..5635588 100644

drivers/media/video/cx23885/cx23885-cards.c +0 -0
@@ -1097,12 +1097,19 @@ int cx23885_ir_init(struct cx23885_dev *dev)

       case CX23885_BOARD_HAUPPAUGE_HVR1800:
       case CX23885_BOARD_HAUPPAUGE_HVR1200:
       case CX23885_BOARD_HAUPPAUGE_HVR1400:
-       case CX23885_BOARD_HAUPPAUGE_HVR1270:
       case CX23885_BOARD_HAUPPAUGE_HVR1275:
       case CX23885_BOARD_HAUPPAUGE_HVR1255:
       case CX23885_BOARD_HAUPPAUGE_HVR1210:

Quoted 8 lines

               /* FIXME: Implement me */
               break;
+       case CX23885_BOARD_HAUPPAUGE_HVR1270:
+               ret = cx23888_ir_probe(dev);
+               if (ret)
+                       break;
+               dev->sd_ir = cx23885_find_hw(dev, CX23885_HW_888_IR);
+               v4l2_subdev_call(dev->sd_cx25840, core,

s_io_pin_config,

drivers/media/video/cx23885/cx23885-cards.c int netup_jtag_io(void *device, int tms, int

Quoted 14 lines

+                                ir_rx_pin_cfg_count, ir_rx_pin_cfg);
+               break;
       case CX23885_BOARD_HAUPPAUGE_HVR1850:
       case CX23885_BOARD_HAUPPAUGE_HVR1290:
               ret = cx23888_ir_probe(dev);

drivers/media/video/cx23885/cx23885-cards.c +1 -0
@@ -1156,6 +1163,7 @@ int cx23885_ir_init(struct cx23885_dev *dev)
  void cx23885_ir_fini(struct cx23885_dev *dev)
  {
        switch (dev->board) {
+       case CX23885_BOARD_HAUPPAUGE_HVR1270:

       case CX23885_BOARD_HAUPPAUGE_HVR1850:
       case CX23885_BOARD_HAUPPAUGE_HVR1290:
               cx23885_irq_remove(dev, PCI_MSK_IR);

drivers/media/video/cx23885/cx23885-cards.c +0 -0
@@ -1199,6 +1207,7 @@ int netup_jtag_io(void *device, int tms, int

tdi, int read_tdo)

drivers/media/video/cx23885/cx23885-cards.c void cx23885_card_setup(struct cx23885_dev

Quoted 8 lines
drivers/media/video/cx23885/cx23885-cards.c +1 -0
  void cx23885_ir_pci_int_enable(struct cx23885_dev *dev)
  {
        switch (dev->board) {
+       case CX23885_BOARD_HAUPPAUGE_HVR1270:

       case CX23885_BOARD_HAUPPAUGE_HVR1850:
       case CX23885_BOARD_HAUPPAUGE_HVR1290:
               if (dev->sd_ir)

drivers/media/video/cx23885/cx23885-cards.c +0 -0
@@ -1357,6 +1366,7 @@ void cx23885_card_setup(struct cx23885_dev

*dev)

Review

Quoted 8 lines

       case CX23885_BOARD_NETUP_DUAL_DVBS2_CI:
       case CX23885_BOARD_NETUP_DUAL_DVB_T_C_CI_RF:
       case CX23885_BOARD_COMPRO_VIDEOMATE_E800:
+       case CX23885_BOARD_HAUPPAUGE_HVR1270:
       case CX23885_BOARD_HAUPPAUGE_HVR1850:
       case CX23885_BOARD_MYGICA_X8506:
       case CX23885_BOARD_MAGICPRO_PROHDTVE2:

(quoted diff) +0 -0

b/drivers/media/video/cx23885/cx23885-input.c

drivers/media/video/cx23885/cx23885-input.c void cx23885_input_rx_work_handler(struct

Quoted 4 lines

index e97cafd..bc28d2c 100644

drivers/media/video/cx23885/cx23885-input.c +0 -0
@@ -82,6 +82,7 @@ void cx23885_input_rx_work_handler(struct

cx23885_dev *dev, u32 events)

drivers/media/video/cx23885/cx23885-input.c static int cx23885_input_ir_start(struct

Quoted 8 lines
drivers/media/video/cx23885/cx23885-input.c +1 -0
                return;
 
        switch (dev->board) {
+       case CX23885_BOARD_HAUPPAUGE_HVR1270:

       case CX23885_BOARD_HAUPPAUGE_HVR1850:
       case CX23885_BOARD_HAUPPAUGE_HVR1290:
       case CX23885_BOARD_TEVII_S470:

drivers/media/video/cx23885/cx23885-input.c +0 -0
@@ -133,6 +134,7 @@ static int cx23885_input_ir_start(struct

cx23885_dev *dev)

Quoted 12 lines
drivers/media/video/cx23885/cx23885-input.c +1 -0
        v4l2_subdev_call(dev->sd_ir, ir, rx_g_parameters, &params);
        switch (dev->board) {
+       case CX23885_BOARD_HAUPPAUGE_HVR1270:

       case CX23885_BOARD_HAUPPAUGE_HVR1850:
       case CX23885_BOARD_HAUPPAUGE_HVR1290:
       case CX23885_BOARD_HAUPPAUGE_HVR1250:

drivers/media/video/cx23885/cx23885-input.c +1 -0
@@ -257,6 +259,7 @@ int cx23885_input_init(struct cx23885_dev *dev)
                return -ENODEV;
 
        switch (dev->board) {
+       case CX23885_BOARD_HAUPPAUGE_HVR1270:
Quoted 8 lines

       case CX23885_BOARD_HAUPPAUGE_HVR1850:
       case CX23885_BOARD_HAUPPAUGE_HVR1290:
       case CX23885_BOARD_HAUPPAUGE_HVR1250:

Thank you I just tested those changes and they work (in getting the IR to work to the same level as forcing the card model and not cause problems for the video)

Quoted 7 lines

I still can't use the remote any more then forcing the card model but I have a guess on that. According to everything I have read the ir-kbd-i2c module is needed but it never auto loads on my system so I am thinking it is just not updated to know about this card and may only need the same type of changes as the cx23885 module. (I am guessing since I can't even program a Hello World) Is there any chance you would be able to see if any easy changes could be done to it.

You don't need ir-kbd-i2c for this ir unit.  If you don't have the right keymap loaded, the remote won't work though.

Quoted 8 lines

The cx23885 module has a parameter called ir_888_debug (or something similar).  Set it to a value of around 7 or so.  The cx23885 module will log pulse and space measurments to dmesg or var/log/messages.  That way you can at least verify pulses are being processed.

If pulses are not being processed, check that the cable is firmly plugged into the card and that you have fresh batteries in the remote.

I don't have a 1270 of my own, so I can't help too much.

Andy

Quoted 6 lines

I have been unable to get any debug output but on two occasions I got the down arrow to work on the XBMC menu but both times were followed by the system locking up and I can't reproduce it anymore.

Do I need the parameter to enable ir or not? I have tried it both ways.

After a couple more 1 button freezes the computer. I had one occasion that for about 20 seconds the remote was working perfect (play/pause, arrows, volume) then it just stopped working for no reason (but luckily didn't crash the computer) This was with no module parameters.

So it can work but is extremely flaky.

#9 lore raw

Re: [PATCH] cx23885: Add IR Rx support for HVR-1270 boards

Quoted 235 lines · Dark Shadow
Quoted 227 lines · Dark Shadow
Quoted 215 lines · Andy Walls
Quoted 203 lines · Dark Shadow
Quoted 2 lines · Andy Walls
Quoted 1 line · Dark Shadow

On Wed, Jun 8, 2011 at 4:19 AM, Andy Walls <[email protected]>

Quoted 3 lines · wrote:
Quoted 3 lines
Quoted 3 lines
Quoted 1 line · Dark Shadow

I have a capture card that was sold as a Hauppauge HVR-1250

(according

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

to the box) that I am trying to use but I am having trouble

getting

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

all it's features at once. When I leave it auto detected by the

module

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

I have working TV in MythTV even though it thinks it is a 1270 but

IR

Quoted 6 lines
Quoted 6 lines
Quoted 6 lines
Quoted 6 lines

isn't setup.

dmesg outputs
#modprobe cx23885 enable_885_ir=1
[    7.592714] cx23885 driver version 0.0.2 loaded
[    7.592748] cx23885 0000:07:00.0: PCI INT A -> GSI 17 (level,

low)

Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines

-> IRQ 17
[    7.592926] CORE cx23885[0]: subsystem: 0070:2211, board:

Hauppauge

Quoted 6 lines
Quoted 6 lines
Quoted 6 lines
Quoted 6 lines

WinTV-HVR1270 [card=18,autodetected]
[    7.728163] IR JVC protocol handler initialized
[    7.738971] tveeprom 0-0050: Hauppauge model 22111, rev C2F5, serial# 6429897
[    7.738974] tveeprom 0-0050: MAC address is 00:0d:fe:62:1c:c9 [    7.738975] tveeprom 0-0050: tuner model is NXP 18271C2 (idx

155,

Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines

type 54)
[    7.738977] tveeprom 0-0050: TV standards NTSC(M) ATSC/DVB

Digital

Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines

(eeprom 0x88)
[    7.738979] tveeprom 0-0050: audio processor is CX23888 (idx

40)

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

[    7.738980] tveeprom 0-0050: decoder processor is CX23888 (idx

34)

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

[    7.738982] tveeprom 0-0050: has no radio, has IR receiver, has

no

Quoted 9 lines
Quoted 9 lines
Quoted 9 lines
Quoted 9 lines

IR transmitter
[    7.738983] cx23885[0]: hauppauge eeprom: model=22111 [    7.738985] cx23885_dvb_register() allocating 1 frontend(s) [    7.738991] cx23885[0]: cx23885 based dvb card
[    7.961122] IR Sony protocol handler initialized [    7.977301] tda18271 1-0060: creating new instance [    7.979325] TDA18271HD/C2 detected @ 1-0060
[    8.209663] DVB: registering new adapter (cx23885[0]) [    8.209668] DVB: registering adapter 0 frontend 0 (LG

Electronics

Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines

LGDT3305 VSB/QAM Frontend)...
[    8.210095] cx23885_dev_checkrevision() Hardware revision =

0xd0

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

[    8.210101] cx23885[0]/0: found at 0000:07:00.0, rev: 4, irq:

17,

Quoted 10 lines
Quoted 10 lines
Quoted 10 lines
Quoted 10 lines

latency: 0, mmio: 0xf7c00000
[    8.210109] cx23885 0000:07:00.0: setting latency timer to 64 [    8.210186] cx23885 0000:07:00.0: irq 49 for MSI/MSI-X

#ir-keytable -a /etc/rc_maps.cfg
Old keytable cleared
Wrote 136 keycode(s) to driver
Protocols changed to RC-5

I have heard this should show up as a normal keyboard to the

system

Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines

but no button presses cause anything to happen to the system and trying lirc with devinput (with devinput lircd.conf) and then

opening

Quoted 4 lines
Quoted 4 lines
Quoted 4 lines
Quoted 1 line

irw doesn't show any button presses either

Don't force your card to a 1250, if the driver detects it is a

1270

Quoted 1 line
Quoted 1 line

with a CX23888 chip.  No need to use the enable_885_ir parameter

with

Quoted 5 lines
Quoted 5 lines

a CX23888 chip, either.  It only applies for two board models with actual CX23885 chips.

Quoted 2 lines

Use of IR with the CX23888 chip should be realtively trouble free,

*if* the 1270's IR has been enabled in the driver code.  It likely

has

Quoted 4 lines
Quoted 4 lines

not been.  I don't have the source code in front of me at the moment to check.

Quoted 2 lines

It shouldn't be hard for anyone to patch a few files in the

cx23885

Quoted 4 lines
Quoted 4 lines

driver to add it.  Patches are welcome...

Quoted 1 line

Under auto detect without the enable_885_ir there is no difference

so

Quoted 3 lines
Quoted 1 line

I can only hope someone will add support for it.

I wasn't kidding when I said the patch is sholdn't be hard for

anyone.

Quoted 6 lines

It is really, really simple cut-and-paste job.  In fact here is an *untested* patch.

Regards,
Andy

Review

Quoted 6 lines

cx23885: Add IR Rx support for HVR-1270 boards

(quoted diff) +0 -0

b/drivers/media/video/cx23885/cx23885-cards.c

Quoted 11 lines

index ea88722..5635588 100644

drivers/media/video/cx23885/cx23885-cards.c +0 -0
@@ -1097,12 +1097,19 @@ int cx23885_ir_init(struct cx23885_dev *dev)

       case CX23885_BOARD_HAUPPAUGE_HVR1800:
       case CX23885_BOARD_HAUPPAUGE_HVR1200:
       case CX23885_BOARD_HAUPPAUGE_HVR1400:
-       case CX23885_BOARD_HAUPPAUGE_HVR1270:
       case CX23885_BOARD_HAUPPAUGE_HVR1275:
       case CX23885_BOARD_HAUPPAUGE_HVR1255:
       case CX23885_BOARD_HAUPPAUGE_HVR1210:

Quoted 8 lines

               /* FIXME: Implement me */
               break;
+       case CX23885_BOARD_HAUPPAUGE_HVR1270:
+               ret = cx23888_ir_probe(dev);
+               if (ret)
+                       break;
+               dev->sd_ir = cx23885_find_hw(dev, CX23885_HW_888_IR);
+               v4l2_subdev_call(dev->sd_cx25840, core,

s_io_pin_config,

drivers/media/video/cx23885/cx23885-cards.c int netup_jtag_io(void *device, int tms, int

Quoted 14 lines

+                                ir_rx_pin_cfg_count, ir_rx_pin_cfg);
+               break;
       case CX23885_BOARD_HAUPPAUGE_HVR1850:
       case CX23885_BOARD_HAUPPAUGE_HVR1290:
               ret = cx23888_ir_probe(dev);

drivers/media/video/cx23885/cx23885-cards.c +1 -0
@@ -1156,6 +1163,7 @@ int cx23885_ir_init(struct cx23885_dev *dev)
  void cx23885_ir_fini(struct cx23885_dev *dev)
  {
        switch (dev->board) {
+       case CX23885_BOARD_HAUPPAUGE_HVR1270:

       case CX23885_BOARD_HAUPPAUGE_HVR1850:
       case CX23885_BOARD_HAUPPAUGE_HVR1290:
               cx23885_irq_remove(dev, PCI_MSK_IR);

drivers/media/video/cx23885/cx23885-cards.c +0 -0
@@ -1199,6 +1207,7 @@ int netup_jtag_io(void *device, int tms, int

tdi, int read_tdo)

drivers/media/video/cx23885/cx23885-cards.c void cx23885_card_setup(struct cx23885_dev

Quoted 8 lines
drivers/media/video/cx23885/cx23885-cards.c +1 -0
  void cx23885_ir_pci_int_enable(struct cx23885_dev *dev)
  {
        switch (dev->board) {
+       case CX23885_BOARD_HAUPPAUGE_HVR1270:

       case CX23885_BOARD_HAUPPAUGE_HVR1850:
       case CX23885_BOARD_HAUPPAUGE_HVR1290:
               if (dev->sd_ir)

drivers/media/video/cx23885/cx23885-cards.c +0 -0
@@ -1357,6 +1366,7 @@ void cx23885_card_setup(struct cx23885_dev

*dev)

Review

Quoted 8 lines

       case CX23885_BOARD_NETUP_DUAL_DVBS2_CI:
       case CX23885_BOARD_NETUP_DUAL_DVB_T_C_CI_RF:
       case CX23885_BOARD_COMPRO_VIDEOMATE_E800:
+       case CX23885_BOARD_HAUPPAUGE_HVR1270:
       case CX23885_BOARD_HAUPPAUGE_HVR1850:
       case CX23885_BOARD_MYGICA_X8506:
       case CX23885_BOARD_MAGICPRO_PROHDTVE2:

(quoted diff) +0 -0

b/drivers/media/video/cx23885/cx23885-input.c

drivers/media/video/cx23885/cx23885-input.c void cx23885_input_rx_work_handler(struct

Quoted 4 lines

index e97cafd..bc28d2c 100644

drivers/media/video/cx23885/cx23885-input.c +0 -0
@@ -82,6 +82,7 @@ void cx23885_input_rx_work_handler(struct

cx23885_dev *dev, u32 events)

drivers/media/video/cx23885/cx23885-input.c static int cx23885_input_ir_start(struct

Quoted 8 lines
drivers/media/video/cx23885/cx23885-input.c +1 -0
                return;
 
        switch (dev->board) {
+       case CX23885_BOARD_HAUPPAUGE_HVR1270:

       case CX23885_BOARD_HAUPPAUGE_HVR1850:
       case CX23885_BOARD_HAUPPAUGE_HVR1290:
       case CX23885_BOARD_TEVII_S470:

drivers/media/video/cx23885/cx23885-input.c +0 -0
@@ -133,6 +134,7 @@ static int cx23885_input_ir_start(struct

cx23885_dev *dev)

Quoted 12 lines
drivers/media/video/cx23885/cx23885-input.c +1 -0
        v4l2_subdev_call(dev->sd_ir, ir, rx_g_parameters, &params);
        switch (dev->board) {
+       case CX23885_BOARD_HAUPPAUGE_HVR1270:

       case CX23885_BOARD_HAUPPAUGE_HVR1850:
       case CX23885_BOARD_HAUPPAUGE_HVR1290:
       case CX23885_BOARD_HAUPPAUGE_HVR1250:

drivers/media/video/cx23885/cx23885-input.c +1 -0
@@ -257,6 +259,7 @@ int cx23885_input_init(struct cx23885_dev *dev)
                return -ENODEV;
 
        switch (dev->board) {
+       case CX23885_BOARD_HAUPPAUGE_HVR1270:
Quoted 8 lines

       case CX23885_BOARD_HAUPPAUGE_HVR1850:
       case CX23885_BOARD_HAUPPAUGE_HVR1290:
       case CX23885_BOARD_HAUPPAUGE_HVR1250:

Thank you I just tested those changes and they work (in getting the IR to work to the same level as forcing the card model and not cause problems for the video)

Quoted 7 lines

I still can't use the remote any more then forcing the card model but I have a guess on that. According to everything I have read the ir-kbd-i2c module is needed but it never auto loads on my system so I am thinking it is just not updated to know about this card and may only need the same type of changes as the cx23885 module. (I am guessing since I can't even program a Hello World) Is there any chance you would be able to see if any easy changes could be done to it.

You don't need ir-kbd-i2c for this ir unit.  If you don't have the right keymap loaded, the remote won't work though.

Quoted 8 lines

The cx23885 module has a parameter called ir_888_debug (or something similar).  Set it to a value of around 7 or so.  The cx23885 module will log pulse and space measurments to dmesg or var/log/messages.  That way you can at least verify pulses are being processed.

If pulses are not being processed, check that the cable is firmly plugged into the card and that you have fresh batteries in the remote.

I don't have a 1270 of my own, so I can't help too much.

Andy

Quoted 6 lines

I have been unable to get any debug output but on two occasions I got the down arrow to work on the XBMC menu but both times were followed by the system locking up and I can't reproduce it anymore.

Do I need the parameter to enable ir or not? I have tried it both ways.

Quoted 7 lines

After a couple more 1 button freezes the computer. I had one occasion that for about 20 seconds the remote was working perfect (play/pause, arrows, volume) then it just stopped working for no reason (but luckily didn't crash the computer) This was with no module parameters.

So it can work but is extremely flaky.

I noticed something I missed from the debug parameter, when I press the first button after loading the module this error gets printed to the syslog

do_IRQ: 3.185 No irq handler for vector (irq -1)

I have reproduced it a few times to match up to the first button press but not after.

#10 lore raw

Re: [PATCH] cx23885: Add IR Rx support for HVR-1270 boards

Quoted 244 lines · Dark Shadow
Quoted 235 lines · Dark Shadow
Quoted 227 lines · Dark Shadow
Quoted 215 lines · Andy Walls
Quoted 203 lines · Dark Shadow
Quoted 2 lines · Andy Walls
Quoted 1 line · Dark Shadow

On Wed, Jun 8, 2011 at 4:19 AM, Andy Walls <[email protected]>

Quoted 3 lines · wrote:
Quoted 3 lines
Quoted 3 lines
Quoted 1 line · Dark Shadow

I have a capture card that was sold as a Hauppauge HVR-1250

(according

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

to the box) that I am trying to use but I am having trouble

getting

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

all it's features at once. When I leave it auto detected by the

module

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

I have working TV in MythTV even though it thinks it is a 1270 but

IR

Quoted 6 lines
Quoted 6 lines
Quoted 6 lines
Quoted 6 lines

isn't setup.

dmesg outputs
#modprobe cx23885 enable_885_ir=1
[    7.592714] cx23885 driver version 0.0.2 loaded
[    7.592748] cx23885 0000:07:00.0: PCI INT A -> GSI 17 (level,

low)

Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines

-> IRQ 17
[    7.592926] CORE cx23885[0]: subsystem: 0070:2211, board:

Hauppauge

Quoted 6 lines
Quoted 6 lines
Quoted 6 lines
Quoted 6 lines

WinTV-HVR1270 [card=18,autodetected]
[    7.728163] IR JVC protocol handler initialized
[    7.738971] tveeprom 0-0050: Hauppauge model 22111, rev C2F5, serial# 6429897
[    7.738974] tveeprom 0-0050: MAC address is 00:0d:fe:62:1c:c9 [    7.738975] tveeprom 0-0050: tuner model is NXP 18271C2 (idx

155,

Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines

type 54)
[    7.738977] tveeprom 0-0050: TV standards NTSC(M) ATSC/DVB

Digital

Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines

(eeprom 0x88)
[    7.738979] tveeprom 0-0050: audio processor is CX23888 (idx

40)

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

[    7.738980] tveeprom 0-0050: decoder processor is CX23888 (idx

34)

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

[    7.738982] tveeprom 0-0050: has no radio, has IR receiver, has

no

Quoted 9 lines
Quoted 9 lines
Quoted 9 lines
Quoted 9 lines

IR transmitter
[    7.738983] cx23885[0]: hauppauge eeprom: model=22111 [    7.738985] cx23885_dvb_register() allocating 1 frontend(s) [    7.738991] cx23885[0]: cx23885 based dvb card
[    7.961122] IR Sony protocol handler initialized [    7.977301] tda18271 1-0060: creating new instance [    7.979325] TDA18271HD/C2 detected @ 1-0060
[    8.209663] DVB: registering new adapter (cx23885[0]) [    8.209668] DVB: registering adapter 0 frontend 0 (LG

Electronics

Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines

LGDT3305 VSB/QAM Frontend)...
[    8.210095] cx23885_dev_checkrevision() Hardware revision =

0xd0

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

[    8.210101] cx23885[0]/0: found at 0000:07:00.0, rev: 4, irq:

17,

Quoted 10 lines
Quoted 10 lines
Quoted 10 lines
Quoted 10 lines

latency: 0, mmio: 0xf7c00000
[    8.210109] cx23885 0000:07:00.0: setting latency timer to 64 [    8.210186] cx23885 0000:07:00.0: irq 49 for MSI/MSI-X

#ir-keytable -a /etc/rc_maps.cfg
Old keytable cleared
Wrote 136 keycode(s) to driver
Protocols changed to RC-5

I have heard this should show up as a normal keyboard to the

system

Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines

but no button presses cause anything to happen to the system and trying lirc with devinput (with devinput lircd.conf) and then

opening

Quoted 4 lines
Quoted 4 lines
Quoted 4 lines
Quoted 1 line

irw doesn't show any button presses either

Don't force your card to a 1250, if the driver detects it is a

1270

Quoted 1 line
Quoted 1 line

with a CX23888 chip.  No need to use the enable_885_ir parameter

with

Quoted 5 lines
Quoted 5 lines

a CX23888 chip, either.  It only applies for two board models with actual CX23885 chips.

Quoted 2 lines

Use of IR with the CX23888 chip should be realtively trouble free,

*if* the 1270's IR has been enabled in the driver code.  It likely

has

Quoted 4 lines
Quoted 4 lines

not been.  I don't have the source code in front of me at the moment to check.

Quoted 2 lines

It shouldn't be hard for anyone to patch a few files in the

cx23885

Quoted 4 lines
Quoted 4 lines

driver to add it.  Patches are welcome...

Quoted 1 line

Under auto detect without the enable_885_ir there is no difference

so

Quoted 3 lines
Quoted 1 line

I can only hope someone will add support for it.

I wasn't kidding when I said the patch is sholdn't be hard for

anyone.

Quoted 6 lines

It is really, really simple cut-and-paste job.  In fact here is an *untested* patch.

Regards,
Andy

Review

Quoted 6 lines

cx23885: Add IR Rx support for HVR-1270 boards

(quoted diff) +0 -0

b/drivers/media/video/cx23885/cx23885-cards.c

Quoted 11 lines

index ea88722..5635588 100644

drivers/media/video/cx23885/cx23885-cards.c +0 -0
@@ -1097,12 +1097,19 @@ int cx23885_ir_init(struct cx23885_dev *dev)

       case CX23885_BOARD_HAUPPAUGE_HVR1800:
       case CX23885_BOARD_HAUPPAUGE_HVR1200:
       case CX23885_BOARD_HAUPPAUGE_HVR1400:
-       case CX23885_BOARD_HAUPPAUGE_HVR1270:
       case CX23885_BOARD_HAUPPAUGE_HVR1275:
       case CX23885_BOARD_HAUPPAUGE_HVR1255:
       case CX23885_BOARD_HAUPPAUGE_HVR1210:

Quoted 8 lines

               /* FIXME: Implement me */
               break;
+       case CX23885_BOARD_HAUPPAUGE_HVR1270:
+               ret = cx23888_ir_probe(dev);
+               if (ret)
+                       break;
+               dev->sd_ir = cx23885_find_hw(dev, CX23885_HW_888_IR);
+               v4l2_subdev_call(dev->sd_cx25840, core,

s_io_pin_config,

drivers/media/video/cx23885/cx23885-cards.c int netup_jtag_io(void *device, int tms, int

Quoted 14 lines

+                                ir_rx_pin_cfg_count, ir_rx_pin_cfg);
+               break;
       case CX23885_BOARD_HAUPPAUGE_HVR1850:
       case CX23885_BOARD_HAUPPAUGE_HVR1290:
               ret = cx23888_ir_probe(dev);

drivers/media/video/cx23885/cx23885-cards.c +1 -0
@@ -1156,6 +1163,7 @@ int cx23885_ir_init(struct cx23885_dev *dev)
  void cx23885_ir_fini(struct cx23885_dev *dev)
  {
        switch (dev->board) {
+       case CX23885_BOARD_HAUPPAUGE_HVR1270:

       case CX23885_BOARD_HAUPPAUGE_HVR1850:
       case CX23885_BOARD_HAUPPAUGE_HVR1290:
               cx23885_irq_remove(dev, PCI_MSK_IR);

drivers/media/video/cx23885/cx23885-cards.c +0 -0
@@ -1199,6 +1207,7 @@ int netup_jtag_io(void *device, int tms, int

tdi, int read_tdo)

drivers/media/video/cx23885/cx23885-cards.c void cx23885_card_setup(struct cx23885_dev

Quoted 8 lines
drivers/media/video/cx23885/cx23885-cards.c +1 -0
  void cx23885_ir_pci_int_enable(struct cx23885_dev *dev)
  {
        switch (dev->board) {
+       case CX23885_BOARD_HAUPPAUGE_HVR1270:

       case CX23885_BOARD_HAUPPAUGE_HVR1850:
       case CX23885_BOARD_HAUPPAUGE_HVR1290:
               if (dev->sd_ir)

drivers/media/video/cx23885/cx23885-cards.c +0 -0
@@ -1357,6 +1366,7 @@ void cx23885_card_setup(struct cx23885_dev

*dev)

Review

Quoted 8 lines

       case CX23885_BOARD_NETUP_DUAL_DVBS2_CI:
       case CX23885_BOARD_NETUP_DUAL_DVB_T_C_CI_RF:
       case CX23885_BOARD_COMPRO_VIDEOMATE_E800:
+       case CX23885_BOARD_HAUPPAUGE_HVR1270:
       case CX23885_BOARD_HAUPPAUGE_HVR1850:
       case CX23885_BOARD_MYGICA_X8506:
       case CX23885_BOARD_MAGICPRO_PROHDTVE2:

(quoted diff) +0 -0

b/drivers/media/video/cx23885/cx23885-input.c

drivers/media/video/cx23885/cx23885-input.c void cx23885_input_rx_work_handler(struct

Quoted 4 lines

index e97cafd..bc28d2c 100644

drivers/media/video/cx23885/cx23885-input.c +0 -0
@@ -82,6 +82,7 @@ void cx23885_input_rx_work_handler(struct

cx23885_dev *dev, u32 events)

drivers/media/video/cx23885/cx23885-input.c static int cx23885_input_ir_start(struct

Quoted 8 lines
drivers/media/video/cx23885/cx23885-input.c +1 -0
                return;
 
        switch (dev->board) {
+       case CX23885_BOARD_HAUPPAUGE_HVR1270:

       case CX23885_BOARD_HAUPPAUGE_HVR1850:
       case CX23885_BOARD_HAUPPAUGE_HVR1290:
       case CX23885_BOARD_TEVII_S470:

drivers/media/video/cx23885/cx23885-input.c +0 -0
@@ -133,6 +134,7 @@ static int cx23885_input_ir_start(struct

cx23885_dev *dev)

Quoted 12 lines
drivers/media/video/cx23885/cx23885-input.c +1 -0
        v4l2_subdev_call(dev->sd_ir, ir, rx_g_parameters, &params);
        switch (dev->board) {
+       case CX23885_BOARD_HAUPPAUGE_HVR1270:

       case CX23885_BOARD_HAUPPAUGE_HVR1850:
       case CX23885_BOARD_HAUPPAUGE_HVR1290:
       case CX23885_BOARD_HAUPPAUGE_HVR1250:

drivers/media/video/cx23885/cx23885-input.c +1 -0
@@ -257,6 +259,7 @@ int cx23885_input_init(struct cx23885_dev *dev)
                return -ENODEV;
 
        switch (dev->board) {
+       case CX23885_BOARD_HAUPPAUGE_HVR1270:
Quoted 8 lines

       case CX23885_BOARD_HAUPPAUGE_HVR1850:
       case CX23885_BOARD_HAUPPAUGE_HVR1290:
       case CX23885_BOARD_HAUPPAUGE_HVR1250:

Thank you I just tested those changes and they work (in getting the IR to work to the same level as forcing the card model and not cause problems for the video)

Quoted 7 lines

I still can't use the remote any more then forcing the card model but I have a guess on that. According to everything I have read the ir-kbd-i2c module is needed but it never auto loads on my system so I am thinking it is just not updated to know about this card and may only need the same type of changes as the cx23885 module. (I am guessing since I can't even program a Hello World) Is there any chance you would be able to see if any easy changes could be done to it.

You don't need ir-kbd-i2c for this ir unit.  If you don't have the right keymap loaded, the remote won't work though.

Quoted 8 lines

The cx23885 module has a parameter called ir_888_debug (or something similar).  Set it to a value of around 7 or so.  The cx23885 module will log pulse and space measurments to dmesg or var/log/messages.  That way you can at least verify pulses are being processed.

If pulses are not being processed, check that the cable is firmly plugged into the card and that you have fresh batteries in the remote.

I don't have a 1270 of my own, so I can't help too much.

Andy

Quoted 6 lines

I have been unable to get any debug output but on two occasions I got the down arrow to work on the XBMC menu but both times were followed by the system locking up and I can't reproduce it anymore.

Do I need the parameter to enable ir or not? I have tried it both ways.

Quoted 7 lines

After a couple more 1 button freezes the computer. I had one occasion that for about 20 seconds the remote was working perfect (play/pause, arrows, volume) then it just stopped working for no reason (but luckily didn't crash the computer) This was with no module parameters.

So it can work but is extremely flaky.

Quoted 9 lines

I noticed something I missed from the debug parameter, when I press the first button after loading the module this error gets printed to the syslog

do_IRQ: 3.185 No irq handler for vector (irq -1)

I have reproduced it a few times to match up to the first button press but not after.

OK I have it working now after Googling for a bit I found a fix for that error I had to add the kernel option "pci=nomsi" to grub. Now it works.
I just hope that didn't cause any problems with other hardware since during bootup it causes MSI-X to fail which I Googled to figure out what that is and my guess is it could cause problems for other hardware that needs it.

Now to figure out why some buttons don't seem to be in the keymap. Like the OK button But that will be a different message.

Thank you again for your patch you have no idea how grateful I am.

#11 lore raw

Re: [PATCH] cx23885: Add IR Rx support for HVR-1270 boards

Em 09-06-2011 01:12, Dark Shadow escreveu:

Quoted 263 lines · Dark Shadow
Quoted 244 lines · Dark Shadow
Quoted 235 lines · Dark Shadow
Quoted 227 lines · Andy Walls
Quoted 215 lines
Quoted 203 lines · Dark Shadow
Quoted 2 lines · Andy Walls
Quoted 1 line · Dark Shadow

On Wed, Jun 8, 2011 at 4:19 AM, Andy Walls <[email protected]>

Quoted 3 lines · wrote:
Quoted 3 lines
Quoted 3 lines
Quoted 1 line · Dark Shadow

I have a capture card that was sold as a Hauppauge HVR-1250

(according

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

to the box) that I am trying to use but I am having trouble

getting

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

all it's features at once. When I leave it auto detected by the

module

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

I have working TV in MythTV even though it thinks it is a 1270 but

IR

Quoted 6 lines
Quoted 6 lines
Quoted 6 lines
Quoted 6 lines

isn't setup.

dmesg outputs
#modprobe cx23885 enable_885_ir=1

[    7.592714] cx23885 driver version 0.0.2 loaded
[    7.592748] cx23885 0000:07:00.0: PCI INT A -> GSI 17 (level,

low)

Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines

-> IRQ 17

[    7.592926] CORE cx23885[0]: subsystem: 0070:2211, board:

Hauppauge

Quoted 6 lines
Quoted 6 lines
Quoted 6 lines
Quoted 6 lines

WinTV-HVR1270 [card=18,autodetected]

[    7.728163] IR JVC protocol handler initialized
[    7.738971] tveeprom 0-0050: Hauppauge model 22111, rev C2F5,
serial# 6429897
[    7.738974] tveeprom 0-0050: MAC address is 00:0d:fe:62:1c:c9
[    7.738975] tveeprom 0-0050: tuner model is NXP 18271C2 (idx

155,

Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines

type 54)

[    7.738977] tveeprom 0-0050: TV standards NTSC(M) ATSC/DVB

Digital

Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines

(eeprom 0x88)

[    7.738979] tveeprom 0-0050: audio processor is CX23888 (idx

40)

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
[    7.738980] tveeprom 0-0050: decoder processor is CX23888 (idx

34)

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
[    7.738982] tveeprom 0-0050: has no radio, has IR receiver, has

no

Quoted 9 lines
Quoted 9 lines
Quoted 9 lines
Quoted 9 lines

IR transmitter

[    7.738983] cx23885[0]: hauppauge eeprom: model=22111
[    7.738985] cx23885_dvb_register() allocating 1 frontend(s)
[    7.738991] cx23885[0]: cx23885 based dvb card
[    7.961122] IR Sony protocol handler initialized
[    7.977301] tda18271 1-0060: creating new instance
[    7.979325] TDA18271HD/C2 detected @ 1-0060
[    8.209663] DVB: registering new adapter (cx23885[0])
[    8.209668] DVB: registering adapter 0 frontend 0 (LG

Electronics

Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines

LGDT3305 VSB/QAM Frontend)...

[    8.210095] cx23885_dev_checkrevision() Hardware revision =

0xd0

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
[    8.210101] cx23885[0]/0: found at 0000:07:00.0, rev: 4, irq:

17,

Quoted 10 lines
Quoted 10 lines
Quoted 10 lines
Quoted 10 lines

latency: 0, mmio: 0xf7c00000

[    8.210109] cx23885 0000:07:00.0: setting latency timer to 64
[    8.210186] cx23885 0000:07:00.0: irq 49 for MSI/MSI-X

#ir-keytable -a /etc/rc_maps.cfg
Old keytable cleared
Wrote 136 keycode(s) to driver
Protocols changed to RC-5

I have heard this should show up as a normal keyboard to the

system

Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines

but no button presses cause anything to happen to the system and trying lirc with devinput (with devinput lircd.conf) and then

opening

Quoted 4 lines
Quoted 4 lines
Quoted 4 lines
Quoted 1 line

irw doesn't show any button presses either

Don't force your card to a 1250, if the driver detects it is a

1270

Quoted 1 line
Quoted 1 line

with a CX23888 chip. No need to use the enable_885_ir parameter

with

Quoted 5 lines
Quoted 5 lines

a CX23888 chip, either. It only applies for two board models with actual CX23885 chips.

Quoted 2 lines

Use of IR with the CX23888 chip should be realtively trouble free,

*if* the 1270's IR has been enabled in the driver code. It likely

has

Quoted 4 lines
Quoted 4 lines

not been. I don't have the source code in front of me at the moment to check.

Quoted 2 lines

It shouldn't be hard for anyone to patch a few files in the

cx23885

Quoted 4 lines
Quoted 4 lines

driver to add it. Patches are welcome...

Quoted 1 line

Under auto detect without the enable_885_ir there is no difference

so

Quoted 3 lines
Quoted 1 line

I can only hope someone will add support for it.

I wasn't kidding when I said the patch is sholdn't be hard for

anyone.

Quoted 6 lines

It is really, really simple cut-and-paste job. In fact here is an *untested* patch.

Regards,
Andy

Review

Quoted 6 lines

cx23885: Add IR Rx support for HVR-1270 boards

(quoted diff) +0 -0

b/drivers/media/video/cx23885/cx23885-cards.c

Quoted 9 lines

index ea88722..5635588 100644

drivers/media/video/cx23885/cx23885-cards.c +0 -1
@@ -1097,12 +1097,19 @@ int cx23885_ir_init(struct cx23885_dev *dev)
       case CX23885_BOARD_HAUPPAUGE_HVR1800:
       case CX23885_BOARD_HAUPPAUGE_HVR1200:
       case CX23885_BOARD_HAUPPAUGE_HVR1400:
-       case CX23885_BOARD_HAUPPAUGE_HVR1270:
       case CX23885_BOARD_HAUPPAUGE_HVR1275:

drivers/media/video/cx23885/cx23885-cards.c int cx23885_ir_init(struct cx23885_dev *dev) · line 1110

Quoted 10 lines
drivers/media/video/cx23885/cx23885-cards.c +6 -0
       case CX23885_BOARD_HAUPPAUGE_HVR1255:
       case CX23885_BOARD_HAUPPAUGE_HVR1210:
               /* FIXME: Implement me */
               break;
+       case CX23885_BOARD_HAUPPAUGE_HVR1270:
+               ret = cx23888_ir_probe(dev);
+               if (ret)
+                       break;
+               dev->sd_ir = cx23885_find_hw(dev, CX23885_HW_888_IR);
+               v4l2_subdev_call(dev->sd_cx25840, core,

s_io_pin_config,

drivers/media/video/cx23885/cx23885-cards.c int netup_jtag_io(void *device, int tms, int

Quoted 14 lines
drivers/media/video/cx23885/cx23885-cards.c +3 -0
+                                ir_rx_pin_cfg_count, ir_rx_pin_cfg);
+               break;
       case CX23885_BOARD_HAUPPAUGE_HVR1850:
       case CX23885_BOARD_HAUPPAUGE_HVR1290:
               ret = cx23888_ir_probe(dev);
@@ -1156,6 +1163,7 @@ int cx23885_ir_init(struct cx23885_dev *dev)
 void cx23885_ir_fini(struct cx23885_dev *dev)
 {
       switch (dev->board) {
+       case CX23885_BOARD_HAUPPAUGE_HVR1270:
       case CX23885_BOARD_HAUPPAUGE_HVR1850:
       case CX23885_BOARD_HAUPPAUGE_HVR1290:
               cx23885_irq_remove(dev, PCI_MSK_IR);
@@ -1199,6 +1207,7 @@ int netup_jtag_io(void *device, int tms, int

tdi, int read_tdo)

drivers/media/video/cx23885/cx23885-cards.c void cx23885_card_setup(struct cx23885_dev

Quoted 8 lines
drivers/media/video/cx23885/cx23885-cards.c +1 -0
 void cx23885_ir_pci_int_enable(struct cx23885_dev *dev)
 {
       switch (dev->board) {
+       case CX23885_BOARD_HAUPPAUGE_HVR1270:
       case CX23885_BOARD_HAUPPAUGE_HVR1850:
       case CX23885_BOARD_HAUPPAUGE_HVR1290:
               if (dev->sd_ir)
@@ -1357,6 +1366,7 @@ void cx23885_card_setup(struct cx23885_dev

*dev)

Review

Quoted 8 lines
drivers/media/video/cx23885/cx23885-cards.c +1 -0
       case CX23885_BOARD_NETUP_DUAL_DVBS2_CI:
       case CX23885_BOARD_NETUP_DUAL_DVB_T_C_CI_RF:
       case CX23885_BOARD_COMPRO_VIDEOMATE_E800:
+       case CX23885_BOARD_HAUPPAUGE_HVR1270:
       case CX23885_BOARD_HAUPPAUGE_HVR1850:
       case CX23885_BOARD_MYGICA_X8506:
       case CX23885_BOARD_MAGICPRO_PROHDTVE2:
(quoted diff) +0 -0

b/drivers/media/video/cx23885/cx23885-input.c

drivers/media/video/cx23885/cx23885-input.c void cx23885_input_rx_work_handler(struct

Quoted 4 lines

index e97cafd..bc28d2c 100644

drivers/media/video/cx23885/cx23885-input.c +0 -0
@@ -82,6 +82,7 @@ void cx23885_input_rx_work_handler(struct

cx23885_dev *dev, u32 events)

drivers/media/video/cx23885/cx23885-input.c static int cx23885_input_ir_start(struct

Quoted 8 lines
drivers/media/video/cx23885/cx23885-input.c +1 -0
               return;
 
       switch (dev->board) {
+       case CX23885_BOARD_HAUPPAUGE_HVR1270:
       case CX23885_BOARD_HAUPPAUGE_HVR1850:
       case CX23885_BOARD_HAUPPAUGE_HVR1290:
       case CX23885_BOARD_TEVII_S470:
@@ -133,6 +134,7 @@ static int cx23885_input_ir_start(struct

cx23885_dev *dev)

Quoted 13 lines
drivers/media/video/cx23885/cx23885-input.c +1 -0
       v4l2_subdev_call(dev->sd_ir, ir, rx_g_parameters, &params);
       switch (dev->board) {
+       case CX23885_BOARD_HAUPPAUGE_HVR1270:
       case CX23885_BOARD_HAUPPAUGE_HVR1850:
       case CX23885_BOARD_HAUPPAUGE_HVR1290:
       case CX23885_BOARD_HAUPPAUGE_HVR1250:

drivers/media/video/cx23885/cx23885-input.c int cx23885_input_init(struct cx23885_dev *dev) · line 265

Quoted 7 lines
drivers/media/video/cx23885/cx23885-input.c +1 -0
@@ -257,6 +259,7 @@ int cx23885_input_init(struct cx23885_dev *dev)
               return -ENODEV;
 
       switch (dev->board) {
+       case CX23885_BOARD_HAUPPAUGE_HVR1270:
       case CX23885_BOARD_HAUPPAUGE_HVR1850:
       case CX23885_BOARD_HAUPPAUGE_HVR1290:
       case CX23885_BOARD_HAUPPAUGE_HVR1250:

Thank you I just tested those changes and they work (in getting the IR to work to the same level as forcing the card model and not cause problems for the video)

Quoted 7 lines

I still can't use the remote any more then forcing the card model but I have a guess on that. According to everything I have read the ir-kbd-i2c module is needed but it never auto loads on my system so I am thinking it is just not updated to know about this card and may only need the same type of changes as the cx23885 module. (I am guessing since I can't even program a Hello World) Is there any chance you would be able to see if any easy changes could be done to it.

You don't need ir-kbd-i2c for this ir unit. If you don't have the right keymap loaded, the remote won't work though.

Quoted 8 lines

The cx23885 module has a parameter called ir_888_debug (or something similar). Set it to a value of around 7 or so. The cx23885 module will log pulse and space measurments to dmesg or var/log/messages. That way you can at least verify pulses are being processed.

If pulses are not being processed, check that the cable is firmly plugged into the card and that you have fresh batteries in the remote.

I don't have a 1270 of my own, so I can't help too much.

Andy

Quoted 6 lines

I have been unable to get any debug output but on two occasions I got the down arrow to work on the XBMC menu but both times were followed by the system locking up and I can't reproduce it anymore.

Do I need the parameter to enable ir or not? I have tried it both ways.

Quoted 7 lines

After a couple more 1 button freezes the computer. I had one occasion that for about 20 seconds the remote was working perfect (play/pause, arrows, volume) then it just stopped working for no reason (but luckily didn't crash the computer) This was with no module parameters.

So it can work but is extremely flaky.

Quoted 9 lines

I noticed something I missed from the debug parameter, when I press the first button after loading the module this error gets printed to the syslog

do_IRQ: 3.185 No irq handler for vector (irq -1)

I have reproduced it a few times to match up to the first button press but not after.

OK I have it working now after Googling for a bit I found a fix for that error I had to add the kernel option "pci=nomsi" to grub. Now it works.
I just hope that didn't cause any problems with other hardware since during bootup it causes MSI-X to fail which I Googled to figure out what that is and my guess is it could cause problems for other hardware that needs it.

Quoted 5 lines

Now to figure out why some buttons don't seem to be in the keymap. Like the OK button But that will be a different message.

Thank you again for your patch you have no idea how grateful I am.

As the patch seems were tested, I'll apply it on my tree.

Thanks!
Mauro

#12 lore raw

Re: [PATCH] cx23885: Add IR Rx support for HVR-1270 boards

Quoted 326 lines · Mauro Carvalho Chehab

Em 09-06-2011 01:12, Dark Shadow escreveu:

Quoted 1 line

On Wed, Jun 8, 2011 at 9:27 PM, Dark Shadow

Quoted 1 line · <[email protected]> wrote:
Quoted 1 line

On Wed, Jun 8, 2011 at 9:17 PM, Dark Shadow

Quoted 1 line · <[email protected]> wrote:
Quoted 1 line
Quoted 1 line

On Wed, Jun 8, 2011 at 8:31 PM, Dark Shadow

Quoted 1 line · <[email protected]> wrote:
Quoted 1 line
Quoted 1 line
Quoted 1 line

On Wed, Jun 8, 2011 at 7:34 PM, Andy Walls

Quoted 3 lines · <[email protected]> wrote:
Quoted 3 lines
Quoted 3 lines
Quoted 3 lines
Quoted 3 lines
Quoted 1 line · Dark Shadow

On Wed, Jun 8, 2011 at 6:24 PM, Andy Walls

<[email protected]>

Quoted 3 lines
Quoted 3 lines
Quoted 3 lines
Quoted 3 lines
Quoted 3 lines
Quoted 3 lines
Quoted 2 lines · wrote:
Quoted 1 line · Dark Shadow

On Wed, Jun 8, 2011 at 4:19 AM, Andy Walls

<[email protected]>

Quoted 8 lines
Quoted 8 lines
Quoted 8 lines
Quoted 8 lines
Quoted 8 lines
Quoted 8 lines
Quoted 3 lines · wrote:
Quoted 3 lines
Quoted 3 lines
Quoted 1 line · Dark Shadow

I have a capture card that was sold as a Hauppauge HVR-1250

(according

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

to the box) that I am trying to use but I am having trouble

getting

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

all it's features at once. When I leave it auto detected by

the

Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines

module

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

I have working TV in MythTV even though it thinks it is a

1270 but

Quoted 7 lines
Quoted 7 lines
Quoted 7 lines
Quoted 7 lines
Quoted 7 lines
Quoted 7 lines

IR

Quoted 6 lines
Quoted 6 lines
Quoted 6 lines
Quoted 6 lines

isn't setup.

dmesg outputs
#modprobe cx23885 enable_885_ir=1

[    7.592714] cx23885 driver version 0.0.2 loaded
[    7.592748] cx23885 0000:07:00.0: PCI INT A -> GSI 17

(level,

Quoted 7 lines
Quoted 7 lines
Quoted 7 lines
Quoted 7 lines
Quoted 7 lines
Quoted 7 lines

low)

Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines

-> IRQ 17

[    7.592926] CORE cx23885[0]: subsystem: 0070:2211, board:

Hauppauge

Quoted 3 lines
Quoted 3 lines
Quoted 3 lines
Quoted 3 lines

WinTV-HVR1270 [card=18,autodetected]

[    7.728163] IR JVC protocol handler initialized
[    7.738971] tveeprom 0-0050: Hauppauge model 22111, rev

C2F5,

Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines

serial# 6429897

[    7.738974] tveeprom 0-0050: MAC address is

00:0d:fe:62:1c:c9

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
[    7.738975] tveeprom 0-0050: tuner model is NXP 18271C2

(idx

Quoted 3 lines
Quoted 3 lines
Quoted 3 lines
Quoted 3 lines
Quoted 3 lines
Quoted 3 lines

155,

Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines

type 54)

[    7.738977] tveeprom 0-0050: TV standards NTSC(M)

ATSC/DVB

Quoted 3 lines
Quoted 3 lines
Quoted 3 lines
Quoted 3 lines
Quoted 3 lines
Quoted 3 lines

Digital

Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines

(eeprom 0x88)

[    7.738979] tveeprom 0-0050: audio processor is CX23888

(idx

Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines

40)

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
[    7.738980] tveeprom 0-0050: decoder processor is CX23888

(idx

Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines

34)

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
[    7.738982] tveeprom 0-0050: has no radio, has IR

receiver, has

Quoted 4 lines
Quoted 4 lines
Quoted 4 lines
Quoted 4 lines
Quoted 4 lines
Quoted 4 lines

no

Quoted 3 lines
Quoted 3 lines
Quoted 3 lines
Quoted 3 lines

IR transmitter

[    7.738983] cx23885[0]: hauppauge eeprom: model=22111
[    7.738985] cx23885_dvb_register() allocating 1

frontend(s)

Quoted 9 lines
Quoted 9 lines
Quoted 9 lines
Quoted 9 lines
Quoted 9 lines
Quoted 9 lines
Quoted 6 lines
Quoted 6 lines
Quoted 6 lines
Quoted 6 lines
[    7.738991] cx23885[0]: cx23885 based dvb card
[    7.961122] IR Sony protocol handler initialized
[    7.977301] tda18271 1-0060: creating new instance
[    7.979325] TDA18271HD/C2 detected @ 1-0060
[    8.209663] DVB: registering new adapter (cx23885[0])
[    8.209668] DVB: registering adapter 0 frontend 0 (LG

Electronics

Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines

LGDT3305 VSB/QAM Frontend)...

[    8.210095] cx23885_dev_checkrevision() Hardware revision

=

Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines

0xd0

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
[    8.210101] cx23885[0]/0: found at 0000:07:00.0, rev: 4,

irq:

Quoted 3 lines
Quoted 3 lines
Quoted 3 lines
Quoted 3 lines
Quoted 3 lines
Quoted 3 lines

17,

Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines

latency: 0, mmio: 0xf7c00000

[    8.210109] cx23885 0000:07:00.0: setting latency timer

to 64

Quoted 10 lines
Quoted 10 lines
Quoted 10 lines
Quoted 10 lines
Quoted 10 lines
Quoted 10 lines
Quoted 8 lines
Quoted 8 lines
Quoted 8 lines
Quoted 8 lines
[    8.210186] cx23885 0000:07:00.0: irq 49 for MSI/MSI-X

#ir-keytable -a /etc/rc_maps.cfg
Old keytable cleared
Wrote 136 keycode(s) to driver
Protocols changed to RC-5

I have heard this should show up as a normal keyboard to the

system

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

but no button presses cause anything to happen to the system

and

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

trying lirc with devinput (with devinput lircd.conf) and

then

Quoted 5 lines
Quoted 5 lines
Quoted 5 lines
Quoted 5 lines
Quoted 5 lines
Quoted 5 lines

opening

Quoted 4 lines
Quoted 4 lines
Quoted 4 lines
Quoted 1 line

irw doesn't show any button presses either

Don't force your card to a 1250, if the driver detects it is

a

Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines

1270

Quoted 1 line
Quoted 1 line

with a CX23888 chip. No need to use the enable_885_ir

parameter

Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines

with

Quoted 1 line
Quoted 1 line

a CX23888 chip, either. It only applies for two board models

with

Quoted 3 lines
Quoted 3 lines
Quoted 3 lines
Quoted 3 lines
Quoted 3 lines
Quoted 3 lines
Quoted 3 lines
Quoted 3 lines

actual CX23885 chips.

Quoted 2 lines

Use of IR with the CX23888 chip should be realtively trouble

free,

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

*if* the 1270's IR has been enabled in the driver code. It

likely

Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines

has

Quoted 1 line
Quoted 1 line

not been. I don't have the source code in front of me at the

moment

Quoted 8 lines
Quoted 8 lines
Quoted 8 lines
Quoted 8 lines
Quoted 8 lines
Quoted 8 lines
Quoted 3 lines
Quoted 3 lines

to check.

Quoted 2 lines

It shouldn't be hard for anyone to patch a few files in the

cx23885

Quoted 4 lines
Quoted 4 lines

driver to add it. Patches are welcome...

Quoted 1 line

Under auto detect without the enable_885_ir there is no

difference

Quoted 6 lines
Quoted 6 lines
Quoted 6 lines
Quoted 6 lines
Quoted 6 lines
Quoted 6 lines

so

Quoted 3 lines
Quoted 1 line

I can only hope someone will add support for it.

I wasn't kidding when I said the patch is sholdn't be hard for

anyone.

Quoted 1 line

It is really, really simple cut-and-paste job. In fact here is

an

Quoted 10 lines
Quoted 10 lines
Quoted 10 lines
Quoted 10 lines
Quoted 10 lines
Quoted 10 lines
Quoted 10 lines

*untested* patch.

Regards,
Andy

cx23885: Add IR Rx support for HVR-1270 boards

Quoted 6 lines
Quoted 6 lines
Quoted 6 lines
Quoted 6 lines
Quoted 6 lines
Quoted 6 lines

Review

Quoted 1 line
(quoted diff) +0 -0

b/drivers/media/video/cx23885/cx23885-cards.c

drivers/media/video/cx23885/cx23885-cards.c int cx23885_ir_init(struct cx23885_dev

Quoted 4 lines

index ea88722..5635588 100644

drivers/media/video/cx23885/cx23885-cards.c +0 -0
@@ -1097,12 +1097,19 @@ int cx23885_ir_init(struct cx23885_dev

*dev)

Quoted 6 lines
Quoted 6 lines
Quoted 6 lines
Quoted 6 lines
Quoted 6 lines
Quoted 6 lines
Quoted 6 lines
drivers/media/video/cx23885/cx23885-cards.c +0 -1
       case CX23885_BOARD_HAUPPAUGE_HVR1800:
       case CX23885_BOARD_HAUPPAUGE_HVR1200:
       case CX23885_BOARD_HAUPPAUGE_HVR1400:
-       case CX23885_BOARD_HAUPPAUGE_HVR1270:
       case CX23885_BOARD_HAUPPAUGE_HVR1275:
       case CX23885_BOARD_HAUPPAUGE_HVR1255:
Quoted 8 lines
Quoted 8 lines
Quoted 8 lines
Quoted 8 lines
Quoted 8 lines
Quoted 8 lines

drivers/media/video/cx23885/cx23885-cards.c int cx23885_ir_init(struct cx23885_dev · line 1109

Quoted 8 lines
drivers/media/video/cx23885/cx23885-cards.c +5 -0
       case CX23885_BOARD_HAUPPAUGE_HVR1210:
               /* FIXME: Implement me */
               break;
+       case CX23885_BOARD_HAUPPAUGE_HVR1270:
+               ret = cx23888_ir_probe(dev);
+               if (ret)
+                       break;
+               dev->sd_ir = cx23885_find_hw(dev,

CX23885_HW_888_IR);

Quoted 3 lines
Quoted 3 lines
Quoted 3 lines
Quoted 3 lines
Quoted 3 lines
Quoted 3 lines

drivers/media/video/cx23885/cx23885-cards.c int cx23885_ir_init(struct cx23885_dev · line 1110

Quoted 1 line
drivers/media/video/cx23885/cx23885-cards.c +1 -0
+               v4l2_subdev_call(dev->sd_cx25840, core,

s_io_pin_config,

Quoted 1 line
drivers/media/video/cx23885/cx23885-cards.c +1 -0
+                                ir_rx_pin_cfg_count,

ir_rx_pin_cfg);

Quoted 5 lines
Quoted 5 lines
Quoted 5 lines
Quoted 5 lines
Quoted 5 lines
Quoted 5 lines

drivers/media/video/cx23885/cx23885-cards.c int cx23885_ir_init(struct cx23885_dev

Quoted 5 lines
drivers/media/video/cx23885/cx23885-cards.c +1 -0
+               break;
       case CX23885_BOARD_HAUPPAUGE_HVR1850:
       case CX23885_BOARD_HAUPPAUGE_HVR1290:
               ret = cx23888_ir_probe(dev);
@@ -1156,6 +1163,7 @@ int cx23885_ir_init(struct cx23885_dev

*dev)

Quoted 8 lines
Quoted 8 lines
Quoted 8 lines
Quoted 8 lines
Quoted 8 lines
Quoted 8 lines

drivers/media/video/cx23885/cx23885-cards.c int netup_jtag_io(void *device, int tms,

Quoted 8 lines
drivers/media/video/cx23885/cx23885-cards.c +1 -0
 void cx23885_ir_fini(struct cx23885_dev *dev)
 {
       switch (dev->board) {
+       case CX23885_BOARD_HAUPPAUGE_HVR1270:
       case CX23885_BOARD_HAUPPAUGE_HVR1850:
       case CX23885_BOARD_HAUPPAUGE_HVR1290:
               cx23885_irq_remove(dev, PCI_MSK_IR);
@@ -1199,6 +1207,7 @@ int netup_jtag_io(void *device, int tms,

int

Quoted 9 lines
Quoted 9 lines
Quoted 9 lines
Quoted 9 lines
Quoted 9 lines
Quoted 9 lines

tdi, int read_tdo)

drivers/media/video/cx23885/cx23885-cards.c void cx23885_card_setup(struct

Quoted 8 lines
drivers/media/video/cx23885/cx23885-cards.c +1 -0
 void cx23885_ir_pci_int_enable(struct cx23885_dev *dev)
 {
       switch (dev->board) {
+       case CX23885_BOARD_HAUPPAUGE_HVR1270:
       case CX23885_BOARD_HAUPPAUGE_HVR1850:
       case CX23885_BOARD_HAUPPAUGE_HVR1290:
               if (dev->sd_ir)
@@ -1357,6 +1366,7 @@ void cx23885_card_setup(struct

cx23885_dev

Quoted 25 lines
Quoted 25 lines
Quoted 25 lines
Quoted 25 lines
Quoted 25 lines
Quoted 25 lines

*dev)

Review

Quoted 8 lines
drivers/media/video/cx23885/cx23885-cards.c +1 -0
       case CX23885_BOARD_NETUP_DUAL_DVBS2_CI:
       case CX23885_BOARD_NETUP_DUAL_DVB_T_C_CI_RF:
       case CX23885_BOARD_COMPRO_VIDEOMATE_E800:
+       case CX23885_BOARD_HAUPPAUGE_HVR1270:
       case CX23885_BOARD_HAUPPAUGE_HVR1850:
       case CX23885_BOARD_MYGICA_X8506:
       case CX23885_BOARD_MAGICPRO_PROHDTVE2:
(quoted diff) +0 -0

b/drivers/media/video/cx23885/cx23885-input.c

drivers/media/video/cx23885/cx23885-input.c void cx23885_input_rx_work_handler(struct

Quoted 4 lines

index e97cafd..bc28d2c 100644

drivers/media/video/cx23885/cx23885-input.c +0 -0
@@ -82,6 +82,7 @@ void cx23885_input_rx_work_handler(struct

cx23885_dev *dev, u32 events)

drivers/media/video/cx23885/cx23885-input.c static int cx23885_input_ir_start(struct

Quoted 8 lines
drivers/media/video/cx23885/cx23885-input.c +1 -0
               return;
 
       switch (dev->board) {
+       case CX23885_BOARD_HAUPPAUGE_HVR1270:
       case CX23885_BOARD_HAUPPAUGE_HVR1850:
       case CX23885_BOARD_HAUPPAUGE_HVR1290:
       case CX23885_BOARD_TEVII_S470:
@@ -133,6 +134,7 @@ static int cx23885_input_ir_start(struct

cx23885_dev *dev)

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
       v4l2_subdev_call(dev->sd_ir, ir, rx_g_parameters,

&params);

Quoted 6 lines
Quoted 6 lines
Quoted 6 lines
Quoted 6 lines
Quoted 6 lines
Quoted 6 lines

drivers/media/video/cx23885/cx23885-input.c int cx23885_input_init(struct cx23885_dev

Quoted 6 lines
       switch (dev->board) {
drivers/media/video/cx23885/cx23885-input.c +1 -0
+       case CX23885_BOARD_HAUPPAUGE_HVR1270:
       case CX23885_BOARD_HAUPPAUGE_HVR1850:
       case CX23885_BOARD_HAUPPAUGE_HVR1290:
       case CX23885_BOARD_HAUPPAUGE_HVR1250:
@@ -257,6 +259,7 @@ int cx23885_input_init(struct cx23885_dev

*dev)

Quoted 13 lines
Quoted 13 lines
Quoted 13 lines
Quoted 13 lines
Quoted 13 lines
Quoted 13 lines
Quoted 12 lines
drivers/media/video/cx23885/cx23885-input.c +1 -0
               return -ENODEV;
 
       switch (dev->board) {
+       case CX23885_BOARD_HAUPPAUGE_HVR1270:
       case CX23885_BOARD_HAUPPAUGE_HVR1850:
       case CX23885_BOARD_HAUPPAUGE_HVR1290:
       case CX23885_BOARD_HAUPPAUGE_HVR1250:
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

Thank you I just tested those changes and they work (in getting

the IR

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

to work to the same level as forcing the card model and not

cause

Quoted 3 lines
Quoted 3 lines
Quoted 3 lines
Quoted 3 lines
Quoted 3 lines
Quoted 3 lines

problems for the video)

I still can't use the remote any more then forcing the card

model but

Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines

I have a guess on that. According to everything I have read the ir-kbd-i2c module is needed but it never auto loads on my system

so I

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

am thinking it is just not updated to know about this card and

may

Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines

only need the same type of changes as the cx23885 module. (I am guessing since I can't even program a Hello World) Is there any

chance

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

you would be able to see if any easy changes could be done to

it.

Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines

You don't need ir-kbd-i2c for this ir unit. If you don't have

the right keymap loaded, the remote won't work though.

Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines

The cx23885 module has a parameter called ir_888_debug (or

something similar). Set it to a value of around 7 or so. The cx23885 module will log pulse and space measurments to dmesg or var/log/messages. That way you can at least verify pulses are being processed.

Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines

If pulses are not being processed, check that the cable is firmly

plugged into the card and that you have fresh batteries in the remote.

Quoted 9 lines
Quoted 9 lines
Quoted 9 lines
Quoted 9 lines
Quoted 5 lines

I don't have a 1270 of my own, so I can't help too much.

Andy

I have been unable to get any debug output but on two occasions I

got

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

the down arrow to work on the XBMC menu but both times were

followed

Quoted 3 lines
Quoted 3 lines
Quoted 3 lines
Quoted 3 lines

by the system locking up and I can't reproduce it anymore.

Do I need the parameter to enable ir or not? I have tried it both

ways.

Quoted 3 lines
Quoted 3 lines
Quoted 3 lines
Quoted 1 line

After a couple more 1 button freezes the computer. I had one

occasion

Quoted 1 line
Quoted 1 line
Quoted 1 line

that for about 20 seconds the remote was working perfect

(play/pause,

Quoted 2 lines
Quoted 2 lines
Quoted 2 lines

arrows, volume) then it just stopped working for no reason (but luckily didn't crash the computer) This was with no module

parameters.

Quoted 11 lines
Quoted 11 lines
Quoted 3 lines

So it can work but is extremely flaky.

I noticed something I missed from the debug parameter, when I press the first button after loading the module this error gets printed to the syslog

do_IRQ: 3.185 No irq handler for vector (irq -1)

I have reproduced it a few times to match up to the first button

press

Quoted 15 lines
Quoted 2 lines

but not after.

OK I have it working now after Googling for a bit I found a fix for that error I had to add the kernel option "pci=nomsi" to grub. Now it works.
I just hope that didn't cause any problems with other hardware since during bootup it causes MSI-X to fail which I Googled to figure out what that is and my guess is it could cause problems for other hardware that needs it.

Now to figure out why some buttons don't seem to be in the keymap. Like the OK button But that will be a different message.

Quoted 6 lines
Quoted 1 line

Thank you again for your patch you have no idea how grateful I am.

As the patch seems were tested, I'll apply it on my tree.

Thanks!
Mauro

That's fine.

Regards,
Andy