Re: IR Receiver on an Tevii S470
On Wed, 2010-01-06 at 21:21 +, Andreas Tschirpke wrote: > Andy Walls radix.net> writes: > > > > > please try again when you have time. > > > > > > > > # modprobe cx25840 debug=2 ir_debug=2 > > > > # modprobe cx23885 debug=7 > I tried to activate my remote using the driver in > http://linuxtv.org/hg/~awalls/cx23885-ir. > According to the following dmesg output everything is loaded correctly and the > ir interface is registered as /dev/input/event5: > > [9.220413] Linux video capture interface: v2.00 > [9.432581] cx23885 driver version 0.0.2 loaded > [9.433560] ACPI: PCI Interrupt Link [LN0A] enabled at IRQ 19 > [9.433572] alloc irq_desc for 19 on node -1 > [9.433577] alloc kstat_irqs on node -1 > [9.433594] cx23885 :02:00.0: PCI INT A -> Link[LN0A] -> GSI 19 (level, > low) -> IRQ 19 > [9.433746] CORE cx23885[0]: subsystem: d470:9022, board: TeVii S470 > [card=15,autodetected] > [9.720071] cx25840 3-0044: cx23885 A/V decoder found @ 0x88 (cx23885[0]) > [9.728397] cx25840 3-0044: firmware: requesting v4l-cx23885-avcore-01.fw > [9.994115] HDA Intel :00:08.0: power state changed by ACPI to D0 > [9.995038] ACPI: PCI Interrupt Link [LAZA] enabled at IRQ 22 > [9.995055] HDA Intel :00:08.0: PCI INT A -> Link[LAZA] -> GSI 22 > (level, > low) -> IRQ 22 > [9.995139] HDA Intel :00:08.0: setting latency timer to 64 > [ 10.579145] cx25840 3-0044: loaded v4l-cx23885-avcore-01.fw firmware (16382 > bytes) > [ 10.586817] cx23885_dvb_register() allocating 1 frontend(s) > [ 10.586830] cx23885[0]: cx23885 based dvb card > [ 10.593034] hda_codec: Unknown model for ALC662 rev1, trying auto-probe > from > BIOS... > [ 10.790592] DS3000 chip version: 0.192 attached. > [ 10.790604] DVB: registering new adapter (cx23885[0]) > [ 10.790613] DVB: registering adapter 0 frontend 0 (Montage Technology > DS3000/TS2020)... > [ 10.791219] cx23885_dev_checkrevision() Hardware revision = 0xb0 > [ 10.791236] cx23885[0]/0: found at :02:00.0, rev: 2, irq: 19, latency: > 0, > mmio: 0xfac0 > [ 10.791249] cx23885 :02:00.0: setting latency timer to 64 > [ 10.791258] IRQ 19/cx23885[0]: IRQF_DISABLED is not guaranteed on shared > IRQs > [ 10.795358] input: cx23885 IR (TeVii S470) as > /devices/pci:00/:00:0c.0/:02:00.0/input/input5 > > But there is no signal comming from input/event5, regardless of the tools > trying > to access it (lircd, irw, mode2, inputlircd, plain cat, etc.). What else is > needed to activate the remote with this driver? I admire your initiaive, however, that code is not working yet. The problem is getting AV core IR interrupts from the CX23885 without getting a constant stream of AV core interrupts that are not realted to IR. I just received a loaner HVR-1250 with a CX23885 from Devin a few days ago. It doesn't have the external IR hardware, but it has enough on-chip for me to debug my interrupt problem using the IR loopback. Once I have the interrupt problem solved, I'll ask Igor, you, and whomever else to test. Life is busy right now. I might not get to looking at it until Sunday. Regards, Andy > If I enable debug messages by > > modprobe cx25840 debug=2 ir_debug=2 > > modprobe cx23885 debug=7 > > the dmesg/syslog is flooded with: > [ 75.932848] cx23885[0]/0: [f47e4840/9] wakeup reg=9514 buf=9514 > [ 75.937811] cx23885[0]/0: pci_status: 0x8002 pci_mask: 0x08001f02 > [ 75.937839] cx23885[0]/0: vida_status: 0x vida_mask: 0x > count: 0x0 > [ 75.937847] cx23885[0]/0: ts1_status: 0x0001 ts1_mask: 0x > count: > 0x252b > [ 75.937856] cx23885[0]/0: ts2_status: 0x ts2_mask: 0x > count: > 0x2ca4d364 > [ 75.937881] cx23885[0]/0: (PCI_MSK_VID_B 0x0002) > [ 75.937902] cx23885[0]/0: (RISCI10x0001) > [ 75.937918] cx23885[0]/0: [f47e4000/10] wakeup reg=9515 buf=9515 > [ 75.937942] cx23885[0]/0: queue is not empty - append to active > [ 75.937964] cx23885[0]/0: [f47e4840/9] cx23885_buf_queue - append to active > [ 75.938064] cx23885[0]/0: queue is not empty - append to active > [ 75.938087] cx23885[0]/0: [f47e4000/10] cx23885_buf_queue - append to > active > [ 75.942878] cx23885[0]/0: pci_status: 0x8002 pci_mask: 0x08001f02 > [ 75.942901] cx23885[0]/0: vida_status: 0x vida_mask: 0x > count: 0x0 > [ 75.942908] cx23885[0]/0: ts1_status: 0x0001 ts1_mask: 0x > count: > 0x252c > [ 75.942917] cx23885[0]/0: ts2_status: 0x ts2_mask: 0x > count: > 0x2ca4d364 > [ 75.942943] cx23885[0]/0: (PCI_MSK_VID_B 0x0002) > [ 75.942949] cx23885[0]/0: (RISCI10x0001) > [ 75.942961] cx23885[0]/0: [f47e4480/11] wakeup reg=9516 buf=9516 > [ 75.943101] cx23885[0]/0: queue is not empty - append to active > [ 75.943112] cx23885[0]/0: [f47e4480/11] cx23885_buf_queue - append to > active > ... > > Any advice where to go fr
Re: IR Receiver on an Tevii S470
Andy Walls radix.net> writes: > > > please try again when you have time. > > > > > > # modprobe cx25840 debug=2 ir_debug=2 > > > # modprobe cx23885 debug=7 I tried to activate my remote using the driver in http://linuxtv.org/hg/~awalls/cx23885-ir. According to the following dmesg output everything is loaded correctly and the ir interface is registered as /dev/input/event5: [9.220413] Linux video capture interface: v2.00 [9.432581] cx23885 driver version 0.0.2 loaded [9.433560] ACPI: PCI Interrupt Link [LN0A] enabled at IRQ 19 [9.433572] alloc irq_desc for 19 on node -1 [9.433577] alloc kstat_irqs on node -1 [9.433594] cx23885 :02:00.0: PCI INT A -> Link[LN0A] -> GSI 19 (level, low) -> IRQ 19 [9.433746] CORE cx23885[0]: subsystem: d470:9022, board: TeVii S470 [card=15,autodetected] [9.720071] cx25840 3-0044: cx23885 A/V decoder found @ 0x88 (cx23885[0]) [9.728397] cx25840 3-0044: firmware: requesting v4l-cx23885-avcore-01.fw [9.994115] HDA Intel :00:08.0: power state changed by ACPI to D0 [9.995038] ACPI: PCI Interrupt Link [LAZA] enabled at IRQ 22 [9.995055] HDA Intel :00:08.0: PCI INT A -> Link[LAZA] -> GSI 22 (level, low) -> IRQ 22 [9.995139] HDA Intel :00:08.0: setting latency timer to 64 [ 10.579145] cx25840 3-0044: loaded v4l-cx23885-avcore-01.fw firmware (16382 bytes) [ 10.586817] cx23885_dvb_register() allocating 1 frontend(s) [ 10.586830] cx23885[0]: cx23885 based dvb card [ 10.593034] hda_codec: Unknown model for ALC662 rev1, trying auto-probe from BIOS... [ 10.790592] DS3000 chip version: 0.192 attached. [ 10.790604] DVB: registering new adapter (cx23885[0]) [ 10.790613] DVB: registering adapter 0 frontend 0 (Montage Technology DS3000/TS2020)... [ 10.791219] cx23885_dev_checkrevision() Hardware revision = 0xb0 [ 10.791236] cx23885[0]/0: found at :02:00.0, rev: 2, irq: 19, latency: 0, mmio: 0xfac0 [ 10.791249] cx23885 :02:00.0: setting latency timer to 64 [ 10.791258] IRQ 19/cx23885[0]: IRQF_DISABLED is not guaranteed on shared IRQs [ 10.795358] input: cx23885 IR (TeVii S470) as /devices/pci:00/:00:0c.0/:02:00.0/input/input5 But there is no signal comming from input/event5, regardless of the tools trying to access it (lircd, irw, mode2, inputlircd, plain cat, etc.). What else is needed to activate the remote with this driver? If I enable debug messages by > modprobe cx25840 debug=2 ir_debug=2 > modprobe cx23885 debug=7 the dmesg/syslog is flooded with: [ 75.932848] cx23885[0]/0: [f47e4840/9] wakeup reg=9514 buf=9514 [ 75.937811] cx23885[0]/0: pci_status: 0x8002 pci_mask: 0x08001f02 [ 75.937839] cx23885[0]/0: vida_status: 0x vida_mask: 0x count: 0x0 [ 75.937847] cx23885[0]/0: ts1_status: 0x0001 ts1_mask: 0x count: 0x252b [ 75.937856] cx23885[0]/0: ts2_status: 0x ts2_mask: 0x count: 0x2ca4d364 [ 75.937881] cx23885[0]/0: (PCI_MSK_VID_B 0x0002) [ 75.937902] cx23885[0]/0: (RISCI10x0001) [ 75.937918] cx23885[0]/0: [f47e4000/10] wakeup reg=9515 buf=9515 [ 75.937942] cx23885[0]/0: queue is not empty - append to active [ 75.937964] cx23885[0]/0: [f47e4840/9] cx23885_buf_queue - append to active [ 75.938064] cx23885[0]/0: queue is not empty - append to active [ 75.938087] cx23885[0]/0: [f47e4000/10] cx23885_buf_queue - append to active [ 75.942878] cx23885[0]/0: pci_status: 0x8002 pci_mask: 0x08001f02 [ 75.942901] cx23885[0]/0: vida_status: 0x vida_mask: 0x count: 0x0 [ 75.942908] cx23885[0]/0: ts1_status: 0x0001 ts1_mask: 0x count: 0x252c [ 75.942917] cx23885[0]/0: ts2_status: 0x ts2_mask: 0x count: 0x2ca4d364 [ 75.942943] cx23885[0]/0: (PCI_MSK_VID_B 0x0002) [ 75.942949] cx23885[0]/0: (RISCI10x0001) [ 75.942961] cx23885[0]/0: [f47e4480/11] wakeup reg=9516 buf=9516 [ 75.943101] cx23885[0]/0: queue is not empty - append to active [ 75.943112] cx23885[0]/0: [f47e4480/11] cx23885_buf_queue - append to active ... Any advice where to go from here, what to try? Thank you. Andreas -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: IR Receiver on an Tevii S470
On 31 декабря 2009 14:46:49 Guillem Solà Aranda wrote: > Hi, > > I have a s470 and with > > s2-liplianin-7212833be10d > s2-liplianin-ab3a80e883ba > > began to work, but today I have tested > > s2-liplianin-b663b38d616f > > and seems that there are some problems trying to load the driver > > Linux video capture interface: v2.00 > cx23885: disagrees about version of symbol ir_codes_hauppauge_new_table > cx23885: Unknown symbol ir_codes_hauppauge_new_table > cx23885: disagrees about version of symbol ir_input_init > cx23885: Unknown symbol ir_input_init > cx23885: disagrees about version of symbol ir_input_nokey > cx23885: Unknown symbol ir_input_nokey > cx23885: disagrees about version of symbol ir_input_keydown > cx23885: Unknown symbol ir_input_keydown > > I'm running this on a DELL Server with RHEL and kernel 2.6.31. > > regards, > Guillem > -- > To unsubscribe from this list: send the line "unsubscribe linux-media" in > the body of a message to majord...@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html Since module ir-common.ko moved to IR directory just remove old one. rm /lib/modules/$(uname -r)/kernel/drivers/media/common/ir-common.ko Happy New Year! -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: IR Receiver on an Tevii S470
Hi, I have a s470 and with s2-liplianin-7212833be10d s2-liplianin-ab3a80e883ba began to work, but today I have tested s2-liplianin-b663b38d616f and seems that there are some problems trying to load the driver Linux video capture interface: v2.00 cx23885: disagrees about version of symbol ir_codes_hauppauge_new_table cx23885: Unknown symbol ir_codes_hauppauge_new_table cx23885: disagrees about version of symbol ir_input_init cx23885: Unknown symbol ir_input_init cx23885: disagrees about version of symbol ir_input_nokey cx23885: Unknown symbol ir_input_nokey cx23885: disagrees about version of symbol ir_input_keydown cx23885: Unknown symbol ir_input_keydown I'm running this on a DELL Server with RHEL and kernel 2.6.31. regards, Guillem -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: IR Receiver on an Tevii S470
On 12 декабря 2009 16:15:27 Andy Walls wrote: > V4L2_SUBDEV_IO_PIN_ACTIVE_LOW After I removed this from ir_rx_pin_cfg, interrupts stopped. -- Igor M. Liplianin Microsoft Windows Free Zone - Linux used for all Computing Tasks -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: IR Receiver on an Tevii S470
On Sat, 2009-12-12 at 13:49 +0200, Igor M. Liplianin wrote: > On 12 декабря 2009 04:58:48 Andy Walls wrote: > > On Sat, 2009-12-12 at 03:42 +0200, Igor M. Liplianin wrote: > > > On 12 декабря 2009 03:00:37 Andy Walls wrote: > > > > On Sat, 2009-12-12 at 02:30 +0200, Igor M. Liplianin wrote: > > > > > On 11 декабря 2009, "Igor M. Liplianin" wrote: > > > > > > On Thu, 2009-12-10 at 18:16 +0200, Igor M. Liplianin wrote: > > > > > > > On 10 декабря 2009 03:12:39 Andy Walls wrote: > > > > > > > > On Wed, 2009-12-09 at 17:54 +0200, Igor M. Liplianin wrote: > > > > > > > > > > > > Igor and Matthias, > > > > > > > > > > > > > > > > > > > > > > > > Please try the changes that I have for the TeVii S470 > > > > > > > > > > > > that are here: > > > > > > > > > > > > > > > > > > > > > > > > http://linuxtv.org/hg/~awalls/cx23885-ir > > > > > > > > > > > I have checked in more changes, please try when you get the chance. > cx23885[0]/0: pci_status: 0x08304000 pci_mask: 0x0800 > cx23885[0]/0: vida_status: 0x vida_mask: 0x count: 0x0 > cx23885[0]/0: ts1_status: 0x ts1_mask: 0x count: 0x0 > cx23885[0]/0: ts2_status: 0x ts2_mask: 0x count: 0x47381f2a > cx23885[0]/0: (PCI_MSK_AV_CORE 0x0800) > cx25840 3-0044: AV Core IRQ status (entry): ir > cx25840 3-0044: IRQ Status: tsr > cx25840 3-0044: IRQ Enables: rse rte roe ?! Those three lines make no sense together. Maybe I should take out the V4L2_SUBDEV_IO_PIN_ACTIVE_LOW setting in cx23885-cards.c. I'm going to have to buy some hardware and experiment for myself. BTW, what happens you press a button on an NEC remote? Thanks for all your help. Regards, Andy -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: IR Receiver on an Tevii S470
On Sat, 2009-12-12 at 18:22 +0200, Igor M. Liplianin wrote: > On 12 декабря 2009 16:15:27 Andy Walls wrote: > > V4L2_SUBDEV_IO_PIN_ACTIVE_LOW > After I removed this from ir_rx_pin_cfg, interrupts stopped. If we are lucky, that was the problem. If it was the problem, now it is a matter of setting the params.modulation params.invert_level properly for the TeVii S470 in cx23885-input.c to have the hardware generate interrupts when it makes a few pulse measurements. If it was not the problem, then we still have some interrupt(s) coming from the AV Core and have just supressed all of the interrupts from the AV Core. :) Regards, Andy -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: IR Receiver on an Tevii S470
On 12 декабря 2009 16:15:27 Andy Walls wrote: > On Sat, 2009-12-12 at 13:49 +0200, Igor M. Liplianin wrote: > > On 12 декабря 2009 04:58:48 Andy Walls wrote: > > > On Sat, 2009-12-12 at 03:42 +0200, Igor M. Liplianin wrote: > > > > On 12 декабря 2009 03:00:37 Andy Walls wrote: > > > > > On Sat, 2009-12-12 at 02:30 +0200, Igor M. Liplianin wrote: > > > > > > On 11 декабря 2009, "Igor M. Liplianin" wrote: > > > > > > > On Thu, 2009-12-10 at 18:16 +0200, Igor M. Liplianin wrote: > > > > > > > > On 10 декабря 2009 03:12:39 Andy Walls wrote: > > > > > > > > > On Wed, 2009-12-09 at 17:54 +0200, Igor M. Liplianin wrote: > > > > > > > > > > > > > Igor and Matthias, > > > > > > > > > > > > > > > > > > > > > > > > > > Please try the changes that I have for the TeVii > > > > > > > > > > > > > S470 that are here: > > > > > > > > > > > > > > > > > > > > > > > > > > http://linuxtv.org/hg/~awalls/cx23885-ir > > > > > > I have checked in more changes, please try when you get the chance. > > > > cx23885[0]/0: pci_status: 0x08304000 pci_mask: 0x0800 > > cx23885[0]/0: vida_status: 0x vida_mask: 0x count: 0x0 > > cx23885[0]/0: ts1_status: 0x ts1_mask: 0x count: 0x0 > > cx23885[0]/0: ts2_status: 0x ts2_mask: 0x count: > > 0x47381f2a cx23885[0]/0: (PCI_MSK_AV_CORE 0x0800) > > > > cx25840 3-0044: AV Core IRQ status (entry): ir > > cx25840 3-0044: IRQ Status: tsr > > cx25840 3-0044: IRQ Enables: rse rte roe > > ?! > > Those three lines make no sense together. Maybe I should take out the I know. But it is. There would be something small, but important, which is missing. > V4L2_SUBDEV_IO_PIN_ACTIVE_LOW setting in cx23885-cards.c. Low level raises interrupt by default, as I understand. But it is configurable. > > I'm going to have to buy some hardware and experiment for myself. I can test your code forever ... Until it success > > > BTW, what happens you press a button on an NEC remote? Nothing. But remote is working under m$ > > Thanks for all your help. > > Regards, > Andy -- Igor M. Liplianin Microsoft Windows Free Zone - Linux used for all Computing Tasks -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: IR Receiver on an Tevii S470
On 12 декабря 2009 04:58:48 Andy Walls wrote: > On Sat, 2009-12-12 at 03:42 +0200, Igor M. Liplianin wrote: > > On 12 декабря 2009 03:00:37 Andy Walls wrote: > > > On Sat, 2009-12-12 at 02:30 +0200, Igor M. Liplianin wrote: > > > > On 11 декабря 2009, "Igor M. Liplianin" wrote: > > > > > On Thu, 2009-12-10 at 18:16 +0200, Igor M. Liplianin wrote: > > > > > > On 10 декабря 2009 03:12:39 Andy Walls wrote: > > > > > > > On Wed, 2009-12-09 at 17:54 +0200, Igor M. Liplianin wrote: > > > > > > > > > > > Igor and Matthias, > > > > > > > > > > > > > > > > > > > > > > Please try the changes that I have for the TeVii S470 > > > > > > > > > > > that are here: > > > > > > > > > > > > > > > > > > > > > > http://linuxtv.org/hg/~awalls/cx23885-ir > > > > > > > > > > > > First try, without pressing IR keys > > > > > > > > > > > > cx25840 3-0044: IRQ Enables: rse rte roe > > > > > > cx25840 3-0044: IRQ Status: tsr > > > > > > cx25840 3-0044: IRQ Enables: rse rte roe > > > > > > irq 16: nobody cared (try booting with the "irqpoll" option) > > > > > > > > > > please try again when you have time. > > > > > > > > > > # modprobe cx25840 debug=2 ir_debug=2 > > > > > # modprobe cx23885 debug=7 > > > > > > > > dmesg is full of repeated lines: > > > > > > > > cx25840 3-0044: AV Core IRQ status (entry): > > > > cx25840 3-0044: AV Core IRQ status (exit): > > > > > > A strange thing here is that under this condition my changes should > > > never claim the AV Core interrupt is "handled". I don't know why you > > > didn't get the "nobody cared" message again. > > > > I did, but not frequently. I thought it is obvious :) > > OK, that's better. :P > > I have checked in more changes, please try when you get the chance. > > Please be aware that I reconfigured the drive of one signal PAD in the > AV Core - I'm hoping to stop false interrupts. I did not reconfigure > the corresponding IO pin in the bridge driver - I left it at whatever > was the default. cx23885[0]/0: pci_status: 0x08304000 pci_mask: 0x0800 cx23885[0]/0: vida_status: 0x vida_mask: 0x count: 0x0 cx23885[0]/0: ts1_status: 0x ts1_mask: 0x count: 0x0 cx23885[0]/0: ts2_status: 0x ts2_mask: 0x count: 0x47381f2a cx23885[0]/0: (PCI_MSK_AV_CORE 0x0800) cx25840 3-0044: AV Core IRQ status (entry): ir cx25840 3-0044: IRQ Status: tsr cx25840 3-0044: IRQ Enables: rse rte roe cx25840 3-0044: AV Core audio IRQ status: 0x80 cx25840 3-0044: AV Core audio MC IRQ status: 0x2000 cx25840 3-0044: AV Core video IRQ status: 0x0002 cx25840 3-0044: AV Core IRQ status (exit): ir cx23885[0]/0: pci_status: 0x08004000 pci_mask: 0x0800 cx23885[0]/0: vida_status: 0x vida_mask: 0x count: 0x0 cx23885[0]/0: ts1_status: 0x ts1_mask: 0x count: 0x0 cx23885[0]/0: ts2_status: 0x ts2_mask: 0x count: 0x47381f2a cx23885[0]/0: (PCI_MSK_AV_CORE 0x0800) cx25840 3-0044: AV Core IRQ status (entry): ir cx25840 3-0044: IRQ Status: tsr cx25840 3-0044: IRQ Enables: rse rte roe cx25840 3-0044: AV Core audio IRQ status: 0x80 cx25840 3-0044: AV Core audio MC IRQ status: 0x2000 cx25840 3-0044: AV Core video IRQ status: 0x0002 cx25840 3-0044: AV Core IRQ status (exit): ir cx23885[0]/0: pci_status: 0x08304000 pci_mask: 0x0800 cx23885[0]/0: vida_status: 0x vida_mask: 0x count: 0x0 cx23885[0]/0: ts1_status: 0x ts1_mask: 0x count: 0x0 cx23885[0]/0: ts2_status: 0x ts2_mask: 0x count: 0x47381f2a cx23885[0]/0: (PCI_MSK_AV_CORE 0x0800) cx25840 3-0044: AV Core IRQ status (entry): ir cx25840 3-0044: IRQ Status: tsr cx25840 3-0044: IRQ Enables: rse rte roe cx25840 3-0044: AV Core audio IRQ status: 0x80 cx25840 3-0044: AV Core audio MC IRQ status: 0x2000 cx25840 3-0044: AV Core video IRQ status: 0x0123 cx25840 3-0044: AV Core IRQ status (exit): ir cx23885[0]/0: pci_status: 0x08004000 pci_mask: 0x0800 cx23885[0]/0: vida_status: 0x vida_mask: 0x count: 0x0 cx23885[0]/0: ts1_status: 0x ts1_mask: 0x count: 0x0 cx23885[0]/0: ts2_status: 0x ts2_mask: 0x count: 0x47381f2a cx23885[0]/0: (PCI_MSK_AV_CORE 0x0800) cx25840 3-0044: AV Core IRQ status (entry): ir > > > (I think I'm going to have to buy a CX23885 based card soon...) > > Regards, > Andy -- Igor M. Liplianin Microsoft Windows Free Zone - Linux used for all Computing Tasks -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: IR Receiver on an Tevii S470
On Sat, 2009-12-12 at 03:42 +0200, Igor M. Liplianin wrote: > On 12 декабря 2009 03:00:37 Andy Walls wrote: > > On Sat, 2009-12-12 at 02:30 +0200, Igor M. Liplianin wrote: > > > On 11 декабря 2009, "Igor M. Liplianin" wrote: > > > > On Thu, 2009-12-10 at 18:16 +0200, Igor M. Liplianin wrote: > > > > > On 10 декабря 2009 03:12:39 Andy Walls wrote: > > > > > > On Wed, 2009-12-09 at 17:54 +0200, Igor M. Liplianin wrote: > > > > > > > > > > Igor and Matthias, > > > > > > > > > > > > > > > > > > > > Please try the changes that I have for the TeVii S470 that > > > > > > > > > > are here: > > > > > > > > > > > > > > > > > > > > http://linuxtv.org/hg/~awalls/cx23885-ir > > > > > > > > > > First try, without pressing IR keys > > > > > > > > > > cx25840 3-0044: IRQ Enables: rse rte roe > > > > > cx25840 3-0044: IRQ Status: tsr > > > > > cx25840 3-0044: IRQ Enables: rse rte roe > > > > > irq 16: nobody cared (try booting with the "irqpoll" option) > > > > > > > > please try again when you have time. > > > > > > > > # modprobe cx25840 debug=2 ir_debug=2 > > > > # modprobe cx23885 debug=7 > > > > > > dmesg is full of repeated lines: > > > > > > cx25840 3-0044: AV Core IRQ status (entry): > > > cx25840 3-0044: AV Core IRQ status (exit): > > > > A strange thing here is that under this condition my changes should > > never claim the AV Core interrupt is "handled". I don't know why you > > didn't get the "nobody cared" message again. > I did, but not frequently. I thought it is obvious :) OK, that's better. :P I have checked in more changes, please try when you get the chance. Please be aware that I reconfigured the drive of one signal PAD in the AV Core - I'm hoping to stop false interrupts. I did not reconfigure the corresponding IO pin in the bridge driver - I left it at whatever was the default. (I think I'm going to have to buy a CX23885 based card soon...) Regards, Andy -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: IR Receiver on an Tevii S470
On 12 декабря 2009 03:00:37 Andy Walls wrote: > On Sat, 2009-12-12 at 02:30 +0200, Igor M. Liplianin wrote: > > On 11 декабря 2009, "Igor M. Liplianin" wrote: > > > On Thu, 2009-12-10 at 18:16 +0200, Igor M. Liplianin wrote: > > > > On 10 декабря 2009 03:12:39 Andy Walls wrote: > > > > > On Wed, 2009-12-09 at 17:54 +0200, Igor M. Liplianin wrote: > > > > > > > > > Igor and Matthias, > > > > > > > > > > > > > > > > > > Please try the changes that I have for the TeVii S470 that > > > > > > > > > are here: > > > > > > > > > > > > > > > > > > http://linuxtv.org/hg/~awalls/cx23885-ir > > > > > > > > First try, without pressing IR keys > > > > > > > > cx25840 3-0044: IRQ Enables: rse rte roe > > > > cx25840 3-0044: IRQ Status: tsr > > > > cx25840 3-0044: IRQ Enables: rse rte roe > > > > irq 16: nobody cared (try booting with the "irqpoll" option) > > > > > > please try again when you have time. > > > > > > # modprobe cx25840 debug=2 ir_debug=2 > > > # modprobe cx23885 debug=7 > > > > dmesg is full of repeated lines: > > > > cx25840 3-0044: AV Core IRQ status (entry): > > cx25840 3-0044: AV Core IRQ status (exit): > > A strange thing here is that under this condition my changes should > never claim the AV Core interrupt is "handled". I don't know why you > didn't get the "nobody cared" message again. I did, but not frequently. I thought it is obvious :) cx23885[0]/0: pci_status: 0x083f4000 pci_mask: 0x0801 cx23885[0]/0: vida_status: 0x vida_mask: 0x count: 0x0 cx23885[0]/0: ts1_status: 0x ts1_mask: 0x count: 0x20 cx23885[0]/0: ts2_status: 0x ts2_mask: 0x count: 0xc7383f3a cx23885[0]/0: (PCI_MSK_AV_CORE 0x0800) cx25840 3-0044: AV Core IRQ status (entry): cx25840 3-0044: AV Core IRQ status (exit): irq 16: nobody cared (try booting with the "irqpoll" option) Pid: 2521, comm: syslogd Not tainted 2.6.32 #2 Call Trace: [] ? __report_bad_irq+0x24/0x69 [] ? __report_bad_irq+0x2b/0x69 [] ? note_interrupt+0xe7/0x13f [] ? handle_fasteoi_irq+0x7a/0x97 [] ? handle_irq+0x38/0x3f [] ? do_IRQ+0x38/0x89 [] ? common_interrupt+0x29/0x30 handlers: [] (usb_hcd_irq+0x0/0x59) [] (azx_interrupt+0x0/0xe7 [snd_hda_intel]) [] (cx23885_irq+0x0/0x4e1 [cx23885]) Disabling IRQ #16 cx23885[0]/0: pci_status: 0x083f4000 pci_mask: 0x0801 cx23885[0]/0: vida_status: 0x vida_mask: 0x count: 0x0 cx23885[0]/0: ts1_status: 0x ts1_mask: 0x count: 0x20 cx23885[0]/0: ts2_status: 0x ts2_mask: 0x count: 0xc7383f3a cx23885[0]/0: (PCI_MSK_AV_CORE 0x0800) Igor -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: IR Receiver on an Tevii S470
On Sat, 2009-12-12 at 02:30 +0200, Igor M. Liplianin wrote: > On 11 декабря 2009, "Igor M. Liplianin" wrote: > > On Thu, 2009-12-10 at 18:16 +0200, Igor M. Liplianin wrote: > > > On 10 декабря 2009 03:12:39 Andy Walls wrote: > > > > On Wed, 2009-12-09 at 17:54 +0200, Igor M. Liplianin wrote: > > > > > > > > Igor and Matthias, > > > > > > > > > > > > > > > > Please try the changes that I have for the TeVii S470 that are > > > > > > > > here: > > > > > > > > > > > > > > > > http://linuxtv.org/hg/~awalls/cx23885-ir > > > First try, without pressing IR keys > > > > > > cx25840 3-0044: IRQ Enables: rse rte roe > > > cx25840 3-0044: IRQ Status: tsr > > > cx25840 3-0044: IRQ Enables: rse rte roe > > > irq 16: nobody cared (try booting with the "irqpoll" option) > > please try again when you have time. > > > > # modprobe cx25840 debug=2 ir_debug=2 > > # modprobe cx23885 debug=7 > > > dmesg is full of repeated lines: > > cx25840 3-0044: AV Core IRQ status (entry): > cx25840 3-0044: AV Core IRQ status (exit): A strange thing here is that under this condition my changes should never claim the AV Core interrupt is "handled". I don't know why you didn't get the "nobody cared" message again. > cx23885[0]/0: pci_status: 0x083f4000 pci_mask: 0x0801 > cx23885[0]/0: vida_status: 0x vida_mask: 0x count: 0x0 > cx23885[0]/0: ts1_status: 0x ts1_mask: 0x count: 0x20 > cx23885[0]/0: ts2_status: 0x ts2_mask: 0x count: 0xc7383f3a > cx23885[0]/0: (PCI_MSK_AV_CORE 0x0800) I'll read over the documentation again to see if I missed something. I'll have some changes later tonight that will always try to clear every interrupt that the AV Core could possibly generate. -Andy -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: IR Receiver on an Tevii S470
On 11 декабря 2009, "Igor M. Liplianin" wrote: > On Thu, 2009-12-10 at 18:16 +0200, Igor M. Liplianin wrote: > > On 10 декабря 2009 03:12:39 Andy Walls wrote: > > > On Wed, 2009-12-09 at 17:54 +0200, Igor M. Liplianin wrote: > > > > > > > Igor and Matthias, > > > > > > > > > > > > > > Please try the changes that I have for the TeVii S470 that are > > > > > > > here: > > > > > > > > > > > > > > http://linuxtv.org/hg/~awalls/cx23885-ir > > > > > > > > In fact some time ago I was writing some code for cx23885 IR, but not > > > > reached IR interrupts to work. Though I used PCI_MSK_AV_CORE (1 << > > > > 27), then test register PIN_CTRL for field FLD_IR_IRQ_STAT. > > > > > > Igor, > > > > > > You are exactly right on this. I used the wrong interrupt status flag. > > > I have pushed a patch to my repository to use the PCI_MSK_AV_CORE > > > status flag. > > > > > > Could you please update an test the TeVii S470 again when you have > > > time? > > > > > > > I have Compro E650F with RC6 remote, also have RC5 remote from TV > > > > set. I will made little hack to test Compro & RC5. > > > > > > OK. Thank you. > > > > > > Regards, > > > Andy > > > > First try, without pressing IR keys > > > > cx25840 3-0044: IRQ Enables: rse rte roe > > cx25840 3-0044: IRQ Status: tsr > > cx25840 3-0044: IRQ Enables: rse rte roe > > irq 16: nobody cared (try booting with the "irqpoll" option) > > Pid: 0, comm: swapper Not tainted 2.6.32 #2 > > Call Trace: > > [] ? __report_bad_irq+0x24/0x69 > > [] ? __report_bad_irq+0x2b/0x69 > > [] ? note_interrupt+0xe7/0x13f > > [] ? handle_fasteoi_irq+0x7a/0x97 > > [] ? handle_irq+0x38/0x3f > > [] ? do_IRQ+0x38/0x89 > > [] ? common_interrupt+0x29/0x30 > > [] ? mwait_idle+0x7a/0x7f > > [] ? cpu_idle+0x37/0x4c > > handlers: > > [] (usb_hcd_irq+0x0/0x59) > > [] (azx_interrupt+0x0/0xe7 [snd_hda_intel]) > > [] (cx23885_irq+0x0/0x4a5 [cx23885]) > > Disabling IRQ #16 > > cx25840 3-0044: IRQ Status: tsr > > cx25840 3-0044: IRQ Enables: rse rte roe > > cx25840 3-0044: IRQ Status: tsr > > OK. We're getting interrupts from the A/V core, but they are not IR > related. They must be audio and video interrupts from the A/V core. > > I have checked in new changes: > > http://linuxtv.org/hg/~awalls/cx23885-ir > > please try again when you have time. > > # modprobe cx25840 debug=2 ir_debug=2 > # modprobe cx23885 debug=7 > > My only concern now, is that I have not turned off all the audio > interrupts from the A/V core - I could not determine if registers > 0x80c-0x80f were improtant to set. > > Regards, > Andy dmesg is full of repeated lines: cx25840 3-0044: AV Core IRQ status (entry): cx25840 3-0044: AV Core IRQ status (exit): cx23885[0]/0: pci_status: 0x083f4000 pci_mask: 0x0801 cx23885[0]/0: vida_status: 0x vida_mask: 0x count: 0x0 cx23885[0]/0: ts1_status: 0x ts1_mask: 0x count: 0x20 cx23885[0]/0: ts2_status: 0x ts2_mask: 0x count: 0xc7383f3a cx23885[0]/0: (PCI_MSK_AV_CORE 0x0800) Igor -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: IR Receiver on an Tevii S470
On Thu, 2009-12-10 at 18:16 +0200, Igor M. Liplianin wrote: > On 10 декабря 2009 03:12:39 Andy Walls wrote: > > On Wed, 2009-12-09 at 17:54 +0200, Igor M. Liplianin wrote: > > > > > > Igor and Matthias, > > > > > > > > > > > > Please try the changes that I have for the TeVii S470 that are > > > > > > here: > > > > > > > > > > > > http://linuxtv.org/hg/~awalls/cx23885-ir > > > > > > In fact some time ago I was writing some code for cx23885 IR, but not > > > reached IR interrupts to work. Though I used PCI_MSK_AV_CORE (1 << 27), > > > then test register PIN_CTRL for field FLD_IR_IRQ_STAT. > > > > Igor, > > > > You are exactly right on this. I used the wrong interrupt status flag. > > I have pushed a patch to my repository to use the PCI_MSK_AV_CORE status > > flag. > > > > Could you please update an test the TeVii S470 again when you have time? > > > > > I have Compro E650F with RC6 remote, also have RC5 remote from TV set. > > > I will made little hack to test Compro & RC5. > > > > OK. Thank you. > > > > Regards, > > Andy > First try, without pressing IR keys > > cx25840 3-0044: IRQ Enables: rse rte roe > cx25840 3-0044: IRQ Status: tsr > cx25840 3-0044: IRQ Enables: rse rte roe > irq 16: nobody cared (try booting with the "irqpoll" option) > Pid: 0, comm: swapper Not tainted 2.6.32 #2 > Call Trace: > [] ? __report_bad_irq+0x24/0x69 > [] ? __report_bad_irq+0x2b/0x69 > [] ? note_interrupt+0xe7/0x13f > [] ? handle_fasteoi_irq+0x7a/0x97 > [] ? handle_irq+0x38/0x3f > [] ? do_IRQ+0x38/0x89 > [] ? common_interrupt+0x29/0x30 > [] ? mwait_idle+0x7a/0x7f > [] ? cpu_idle+0x37/0x4c > handlers: > [] (usb_hcd_irq+0x0/0x59) > [] (azx_interrupt+0x0/0xe7 [snd_hda_intel]) > [] (cx23885_irq+0x0/0x4a5 [cx23885]) > Disabling IRQ #16 > cx25840 3-0044: IRQ Status: tsr > cx25840 3-0044: IRQ Enables: rse rte roe > cx25840 3-0044: IRQ Status: tsr OK. We're getting interrupts from the A/V core, but they are not IR related. They must be audio and video interrupts from the A/V core. I have checked in new changes: http://linuxtv.org/hg/~awalls/cx23885-ir please try again when you have time. # modprobe cx25840 debug=2 ir_debug=2 # modprobe cx23885 debug=7 My only concern now, is that I have not turned off all the audio interrupts from the A/V core - I could not determine if registers 0x80c-0x80f were improtant to set. Regards, Andy -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: IR Receiver on an Tevii S470
On 10 декабря 2009 03:12:39 Andy Walls wrote: > On Wed, 2009-12-09 at 17:54 +0200, Igor M. Liplianin wrote: > > > > > Igor and Matthias, > > > > > > > > > > Please try the changes that I have for the TeVii S470 that are > > > > > here: > > > > > > > > > > http://linuxtv.org/hg/~awalls/cx23885-ir > > > > In fact some time ago I was writing some code for cx23885 IR, but not > > reached IR interrupts to work. Though I used PCI_MSK_AV_CORE (1 << 27), > > then test register PIN_CTRL for field FLD_IR_IRQ_STAT. > > Igor, > > You are exactly right on this. I used the wrong interrupt status flag. > I have pushed a patch to my repository to use the PCI_MSK_AV_CORE status > flag. > > Could you please update an test the TeVii S470 again when you have time? > > > I have Compro E650F with RC6 remote, also have RC5 remote from TV set. > > I will made little hack to test Compro & RC5. > > OK. Thank you. > > Regards, > Andy First try, without pressing IR keys cx25840 3-0044: IRQ Enables: rse rte roe cx25840 3-0044: IRQ Status: tsr cx25840 3-0044: IRQ Enables: rse rte roe irq 16: nobody cared (try booting with the "irqpoll" option) Pid: 0, comm: swapper Not tainted 2.6.32 #2 Call Trace: [] ? __report_bad_irq+0x24/0x69 [] ? __report_bad_irq+0x2b/0x69 [] ? note_interrupt+0xe7/0x13f [] ? handle_fasteoi_irq+0x7a/0x97 [] ? handle_irq+0x38/0x3f [] ? do_IRQ+0x38/0x89 [] ? common_interrupt+0x29/0x30 [] ? mwait_idle+0x7a/0x7f [] ? cpu_idle+0x37/0x4c handlers: [] (usb_hcd_irq+0x0/0x59) [] (azx_interrupt+0x0/0xe7 [snd_hda_intel]) [] (cx23885_irq+0x0/0x4a5 [cx23885]) Disabling IRQ #16 cx25840 3-0044: IRQ Status: tsr cx25840 3-0044: IRQ Enables: rse rte roe cx25840 3-0044: IRQ Status: tsr Sorry for not speaking to much :) -- Igor M. Liplianin Microsoft Windows Free Zone - Linux used for all Computing Tasks -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: IR Receiver on an Tevii S470
On Wed, 2009-12-09 at 17:54 +0200, Igor M. Liplianin wrote: > > > > Igor and Matthias, > > > > > > > > Please try the changes that I have for the TeVii S470 that are here: > > > > > > > > http://linuxtv.org/hg/~awalls/cx23885-ir > > > > > In fact some time ago I was writing some code for cx23885 IR, but not reached > IR interrupts to > work. Though I used PCI_MSK_AV_CORE (1 << 27), then test register PIN_CTRL > for field > FLD_IR_IRQ_STAT. Igor, You are exactly right on this. I used the wrong interrupt status flag. I have pushed a patch to my repository to use the PCI_MSK_AV_CORE status flag. Could you please update an test the TeVii S470 again when you have time? > I have Compro E650F with RC6 remote, also have RC5 remote from TV set. > I will made little hack to test Compro & RC5. OK. Thank you. Regards, Andy -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: IR Receiver on an Tevii S470
On 9 декабря 2009 13:47:46 Andy Walls wrote: > On Tue, 2009-12-08 at 19:59 +0200, Igor M. Liplianin wrote: > > On 7 декабря 2009 05:35:46 Andy Walls wrote: > > > Igor and Matthias, > > > > > > Please try the changes that I have for the TeVii S470 that are here: > > > > > > http://linuxtv.org/hg/~awalls/cx23885-ir > > > > > > You will want to modprobe the driver modules like this to get debugging > > > information: > > > > > > # modprobe cx25840 ir_debug=2 > > > # modprobe cx23885 ir_input_debug=1 > > > > > > With that debugging you will get output something like this in dmesg or > > > your logs when you press a button on the remote (this is RC-5 using a > > > CX23888 chip not NEC using a CX23885 chip): > > > > > > cx23885[0]/888-ir: IRQ Status: tsr rsr rby > > > cx23885[0]/888-ir: IRQ Enables: rse rte roe > > > cx23885[0]/888-ir: IRQ Status: tsr rsr rby > > > cx23885[0]/888-ir: IRQ Enables: rse rte roe > > > cx23885[0]/888-ir: IRQ Status: tsr rsr rby > > > cx23885[0]/888-ir: IRQ Enables: rse rte roe > > > cx23885[0]/888-ir: IRQ Status: tsr rsr rby > > > cx23885[0]/888-ir: IRQ Enables: rse rte roe > > > cx23885[0]/888-ir: IRQ Status: tsr rsr rby > > > cx23885[0]/888-ir: IRQ Enables: rse rte roe > > > cx23885[0]/888-ir: IRQ Status: tsr rto > > > cx23885[0]/888-ir: IRQ Enables: rse rte roe > > > cx23885[0]/888-ir: rx read: 817000 ns mark > > > cx23885[0]/888-ir: rx read: 838926 ns space > > > cx23885[0]/888-ir: rx read:1572259 ns mark > > > cx23885[0]/888-ir: rx read:1705296 ns space > > > [...] > > > cx23885[0]/888-ir: rx read: 838037 ns space > > > cx23885[0]/888-ir: rx read: 746333 ns mark > > > cx23885[0]/888-ir: rx read:1705741 ns space > > > cx23885[0]/888-ir: rx read:1619370 ns mark > > > cx23885[0]/888-ir: rx read: end of rx > > > > > > If you do not see good or many NEC timing measurments in the logs, the > > > first thing to try is to change lines 533-534 of > > > linux/drivers/media/cx23885/cx23885-input.c: > > > > > >params.modulation = true; > > >params.invert_level = false; > > > > > > If you see no timing measurements or few timing measurements, change > > > the "modulation" to "false". If the chip is expecting carrier pulses > > > and an external circuit or capacitor is smoothing carrier bursts into > > > baseband pulses, then the hardware won't make measurements properly. > > > > > > If you see inverted mark and space inverted when "modulation" is set to > > > "false", then set "invert_level" to "true". > > > > > > Those are the two things I had to really guess at. > > > > > > Regards, > > > Andy > > > > No luck :( > > Nothing in logs > > > :( > > OK. > > 1. I assume you have the v4l-cx23885-avcore-01.fw file available for the > cx25840 module, just so there is no problem initializing the CX23885 AV > core. > > > 2. Does dmesg or the logs show the input device being created? > Somewhere in the log you should see: > > "cx23885 IR (TeVii S470)" > > when the input device is created. > > > 3. With the "debug=7" option to the cx23885 module, do you see any IR > interrupts coming in? In dmesg or the log you should see: > > "(PCI_MSK_IR0x...)" > > when an IR interrupt happens. cx25840 3-0044: cx23885 A/V decoder found @ 0x88 (cx23885[0]) cx25840 3-0044: firmware: requesting v4l-cx23885-avcore-01.fw cx25840 3-0044: loaded v4l-cx23885-avcore-01.fw firmware (16382 bytes) cx23885_dvb_register() allocating 1 frontend(s) cx23885[0]: cx23885 based dvb card DS3000 chip version: 0.192 attached. DVB: registering new adapter (cx23885[0]) dvb_register_frontend DVB: registering adapter 0 frontend 0 (Montage Technology DS3000/TS2020)... cx23885_dev_checkrevision() Hardware revision = 0xb0 cx23885[0]/0: found at :02:00.0, rev: 2, irq: 16, latency: 0, mmio: 0xfea0 cx23885 :02:00.0: setting latency timer to 64 IRQ 16/cx23885[0]: IRQF_DISABLED is not guaranteed on shared IRQs input: cx23885 IR (TeVii S470) as /class/input/input5 That's all. In fact some time ago I was writing some code for cx23885 IR, but not reached IR interrupts to work. Though I used PCI_MSK_AV_CORE (1 << 27), then test register PIN_CTRL for field FLD_IR_IRQ_STAT. I have Compro E650F with RC6 remote, also have RC5 remote from TV set. I will made little hack to test Compro & RC5. > > > Tonight I will: > > a. Add a guess at HVR-1800 support so maybe Steve can help us debug as > well. I know the NEC decoder works; I tested it. What I don't know is > if the CX23885 AV IR implementation works (I don't have CX23885 hardware > at the moment). > > b. Add a temporary patch to add a /dev/videoN node for the TeVii S470 so > you can use "v4l2-ctl --log-status" to show the status of the IR > controller and v4l2-dbg to dump the cx23885 and cx23885-av-core > registers, so I can see if everthying is set right. > > c. Review the register settings to
Re: IR Receiver on an Tevii S470
On Tue, 2009-12-08 at 19:59 +0200, Igor M. Liplianin wrote: > On 7 декабря 2009 05:35:46 Andy Walls wrote: > > Igor and Matthias, > > > > Please try the changes that I have for the TeVii S470 that are here: > > > > http://linuxtv.org/hg/~awalls/cx23885-ir > > > > You will want to modprobe the driver modules like this to get debugging > > information: > > > > # modprobe cx25840 ir_debug=2 > > # modprobe cx23885 ir_input_debug=1 > > > > With that debugging you will get output something like this in dmesg or > > your logs when you press a button on the remote (this is RC-5 using a > > CX23888 chip not NEC using a CX23885 chip): > > > > cx23885[0]/888-ir: IRQ Status: tsr rsr rby > > cx23885[0]/888-ir: IRQ Enables: rse rte roe > > cx23885[0]/888-ir: IRQ Status: tsr rsr rby > > cx23885[0]/888-ir: IRQ Enables: rse rte roe > > cx23885[0]/888-ir: IRQ Status: tsr rsr rby > > cx23885[0]/888-ir: IRQ Enables: rse rte roe > > cx23885[0]/888-ir: IRQ Status: tsr rsr rby > > cx23885[0]/888-ir: IRQ Enables: rse rte roe > > cx23885[0]/888-ir: IRQ Status: tsr rsr rby > > cx23885[0]/888-ir: IRQ Enables: rse rte roe > > cx23885[0]/888-ir: IRQ Status: tsr rto > > cx23885[0]/888-ir: IRQ Enables: rse rte roe > > cx23885[0]/888-ir: rx read: 817000 ns mark > > cx23885[0]/888-ir: rx read: 838926 ns space > > cx23885[0]/888-ir: rx read:1572259 ns mark > > cx23885[0]/888-ir: rx read:1705296 ns space > > [...] > > cx23885[0]/888-ir: rx read: 838037 ns space > > cx23885[0]/888-ir: rx read: 746333 ns mark > > cx23885[0]/888-ir: rx read:1705741 ns space > > cx23885[0]/888-ir: rx read:1619370 ns mark > > cx23885[0]/888-ir: rx read: end of rx > > If you do not see good or many NEC timing measurments in the logs, the > > first thing to try is to change lines 533-534 of > > linux/drivers/media/cx23885/cx23885-input.c: > > > >params.modulation = true; > >params.invert_level = false; > > > > If you see no timing measurements or few timing measurements, change the > > "modulation" to "false". If the chip is expecting carrier pulses and an > > external circuit or capacitor is smoothing carrier bursts into baseband > > pulses, then the hardware won't make measurements properly. > > > > If you see inverted mark and space inverted when "modulation" is set to > > "false", then set "invert_level" to "true". > > > > Those are the two things I had to really guess at. > > Regards, > > Andy > > No luck :( > Nothing in logs :( OK. 1. I assume you have the v4l-cx23885-avcore-01.fw file available for the cx25840 module, just so there is no problem initializing the CX23885 AV core. 2. Does dmesg or the logs show the input device being created? Somewhere in the log you should see: "cx23885 IR (TeVii S470)" when the input device is created. 3. With the "debug=7" option to the cx23885 module, do you see any IR interrupts coming in? In dmesg or the log you should see: "(PCI_MSK_IR0x...)" when an IR interrupt happens. Tonight I will: a. Add a guess at HVR-1800 support so maybe Steve can help us debug as well. I know the NEC decoder works; I tested it. What I don't know is if the CX23885 AV IR implementation works (I don't have CX23885 hardware at the moment). b. Add a temporary patch to add a /dev/videoN node for the TeVii S470 so you can use "v4l2-ctl --log-status" to show the status of the IR controller and v4l2-dbg to dump the cx23885 and cx23885-av-core registers, so I can see if everthying is set right. c. Review the register settings to make sure interrupts should be enabled for the IR controller. Regards, Andy -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: IR Receiver on an Tevii S470
On 7 декабря 2009 05:35:46 Andy Walls wrote: > On Mon, 2009-12-07 at 03:23 +0200, Igor M. Liplianin wrote: > > On 6 декабря 2009 23:40:54 Andy Walls wrote: > > > On Sun, 2009-11-22 at 03:03 +0200, Igor M. Liplianin wrote: > > > > On 21 ноября 2009 22:41:42 Andy Walls wrote: > > > > > > Matthias Fechner schrieb: > > > > > > > I bought some days ago a Tevii S470 DVB-S2 (PCI-E) card and got > > > > > > > it running with the driver from: > > > > > > > http://mercurial.intuxication.org/hg/s2-liplianin > > > > > > > > > > > > > > But I was not successfull in got the IR receiver working. > > > > > > > It seems that it is not supported yet by the driver. > > > > > > > > > > > > > > Is there maybe some code available to get the IR receiver with > > > > > > > evdev running? > > > > > > > > > > If the card is using the built in IR controller in the CX23885, > > > > > then you'll have to wait until I port my CX23888 IR controller > > > > > changes to work with the IR controller in the CX23885. That should > > > > > be somewhat straightforward, but will take time. Then we'll still > > > > > need you to experiment with a patch. > > > > > > > > It's cx23885 definitely. > > > > Remote uses NEC codes. > > > > In any case I can test. > > > > > > On Mon, 2009-11-23, Igor M. Liplianin wrote: > > > > Receiver connected to cx23885 IR_RX(pin 106). It is not difficult to > > > > track. > > > > > > Igor, > > > > Hi Andy, > > > > > As I make patches for test, perhaps you can help answer some questions > > > which will save some experimentation: > > > > > > > > > 1. Does the remote for the TeVii S470 use the same codes as > > > > > > linux/drivers/media/common/ir-keymaps.c : ir_codes_tevii_nec[] > > > > That is correct table for cx88 based TeVii card with the same remote. > > I believe there is no difference for cx23885. > > > > > or some other remote code table we have in the kernel? > > > > > > > > > 2. Does the remote for the TeVii S470, like other TeVii remotes, use a > > > standard NEC address of 0x00 (so that Addr'Addr is 0xff00) ? Or does > > > it use another address? > > > > Again like in cx88, the address is standard. > > > > > 3. When you traced board wiring from the IR receiver to the IR_RX pin > > > on the CX23885, did you notice any external components that might > > > modify the signal? For example, a capacitor that integrates carrier > > > bursts into baseband pulses. > > > > Yet again I believe there is no capacitors. > > Very same scheme like in cx88 variants for TeVii and others. > > Igor and Matthias, > > Please try the changes that I have for the TeVii S470 that are here: > > http://linuxtv.org/hg/~awalls/cx23885-ir > > You will want to modprobe the driver modules like this to get debugging > information: > > # modprobe cx25840 ir_debug=2 > # modprobe cx23885 ir_input_debug=1 > > With that debugging you will get output something like this in dmesg or > your logs when you press a button on the remote (this is RC-5 using a > CX23888 chip not NEC using a CX23885 chip): > > cx23885[0]/888-ir: IRQ Status: tsr rsr rby > cx23885[0]/888-ir: IRQ Enables: rse rte roe > cx23885[0]/888-ir: IRQ Status: tsr rsr rby > cx23885[0]/888-ir: IRQ Enables: rse rte roe > cx23885[0]/888-ir: IRQ Status: tsr rsr rby > cx23885[0]/888-ir: IRQ Enables: rse rte roe > cx23885[0]/888-ir: IRQ Status: tsr rsr rby > cx23885[0]/888-ir: IRQ Enables: rse rte roe > cx23885[0]/888-ir: IRQ Status: tsr rsr rby > cx23885[0]/888-ir: IRQ Enables: rse rte roe > cx23885[0]/888-ir: IRQ Status: tsr rto > cx23885[0]/888-ir: IRQ Enables: rse rte roe > cx23885[0]/888-ir: rx read: 817000 ns mark > cx23885[0]/888-ir: rx read: 838926 ns space > cx23885[0]/888-ir: rx read:1572259 ns mark > cx23885[0]/888-ir: rx read:1705296 ns space > [...] > cx23885[0]/888-ir: rx read: 838037 ns space > cx23885[0]/888-ir: rx read: 746333 ns mark > cx23885[0]/888-ir: rx read:1705741 ns space > cx23885[0]/888-ir: rx read:1619370 ns mark > cx23885[0]/888-ir: rx read: end of rx > > NEC would actually have this sort of timing: > > 8257296 ns mark > 4206185 ns space > 482926 ns mark > 545296 ns space > 481296 ns mark > 1572259 ns space > 481148 ns mark > 546333 ns space > [...] > 433593 ns mark > 1618333 ns space > 454481 ns mark > end of rx > > 8255519 ns mark > 2130926 ns space > 480556 ns mark > end of rx > > > The NEC decoder will also log the decoded 32 bits it receives and > separate out the address and the command bits. > > > If you do not see good or many NEC timing measurments in the logs, the > first thing to try is to change lines 533-534 of > linux/drivers/media/cx23885/cx23885-input.c: > >params.modulation = true; >params.invert_level = false; > > If you see no timing measurements or few timing measurements, change the > "modulation" to "false". If the chip is expecting
Re: IR Receiver on an Tevii S470
On Mon, 2009-12-07 at 03:23 +0200, Igor M. Liplianin wrote: > On 6 декабря 2009 23:40:54 Andy Walls wrote: > > On Sun, 2009-11-22 at 03:03 +0200, Igor M. Liplianin wrote: > > > On 21 ноября 2009 22:41:42 Andy Walls wrote: > > > > > Matthias Fechner schrieb: > > > > > > I bought some days ago a Tevii S470 DVB-S2 (PCI-E) card and got it > > > > > > running with the driver from: > > > > > > http://mercurial.intuxication.org/hg/s2-liplianin > > > > > > > > > > > > But I was not successfull in got the IR receiver working. > > > > > > It seems that it is not supported yet by the driver. > > > > > > > > > > > > Is there maybe some code available to get the IR receiver with > > > > > > evdev running? > > > > > > > > If the card is using the built in IR controller in the CX23885, then > > > > you'll have to wait until I port my CX23888 IR controller changes to > > > > work with the IR controller in the CX23885. That should be somewhat > > > > straightforward, but will take time. Then we'll still need you to > > > > experiment with a patch. > > > > > > It's cx23885 definitely. > > > Remote uses NEC codes. > > > In any case I can test. > > > > On Mon, 2009-11-23, Igor M. Liplianin wrote: > > > Receiver connected to cx23885 IR_RX(pin 106). It is not difficult to > > > track. > > > > Igor, > Hi Andy, > > > > > As I make patches for test, perhaps you can help answer some questions > > which will save some experimentation: > > > > > > 1. Does the remote for the TeVii S470 use the same codes as > > > > linux/drivers/media/common/ir-keymaps.c : ir_codes_tevii_nec[] > That is correct table for cx88 based TeVii card with the same remote. > I believe there is no difference for cx23885. > > > > > or some other remote code table we have in the kernel? > > > > > > 2. Does the remote for the TeVii S470, like other TeVii remotes, use a > > standard NEC address of 0x00 (so that Addr'Addr is 0xff00) ? Or does it > > use another address? > Again like in cx88, the address is standard. > > > > > > > 3. When you traced board wiring from the IR receiver to the IR_RX pin on > > the CX23885, did you notice any external components that might modify > > the signal? For example, a capacitor that integrates carrier bursts > > into baseband pulses. > Yet again I believe there is no capacitors. > Very same scheme like in cx88 variants for TeVii and others. Igor and Matthias, Please try the changes that I have for the TeVii S470 that are here: http://linuxtv.org/hg/~awalls/cx23885-ir You will want to modprobe the driver modules like this to get debugging information: # modprobe cx25840 ir_debug=2 # modprobe cx23885 ir_input_debug=1 With that debugging you will get output something like this in dmesg or your logs when you press a button on the remote (this is RC-5 using a CX23888 chip not NEC using a CX23885 chip): cx23885[0]/888-ir: IRQ Status: tsr rsr rby cx23885[0]/888-ir: IRQ Enables: rse rte roe cx23885[0]/888-ir: IRQ Status: tsr rsr rby cx23885[0]/888-ir: IRQ Enables: rse rte roe cx23885[0]/888-ir: IRQ Status: tsr rsr rby cx23885[0]/888-ir: IRQ Enables: rse rte roe cx23885[0]/888-ir: IRQ Status: tsr rsr rby cx23885[0]/888-ir: IRQ Enables: rse rte roe cx23885[0]/888-ir: IRQ Status: tsr rsr rby cx23885[0]/888-ir: IRQ Enables: rse rte roe cx23885[0]/888-ir: IRQ Status: tsr rto cx23885[0]/888-ir: IRQ Enables: rse rte roe cx23885[0]/888-ir: rx read: 817000 ns mark cx23885[0]/888-ir: rx read: 838926 ns space cx23885[0]/888-ir: rx read:1572259 ns mark cx23885[0]/888-ir: rx read:1705296 ns space [...] cx23885[0]/888-ir: rx read: 838037 ns space cx23885[0]/888-ir: rx read: 746333 ns mark cx23885[0]/888-ir: rx read:1705741 ns space cx23885[0]/888-ir: rx read:1619370 ns mark cx23885[0]/888-ir: rx read: end of rx NEC would actually have this sort of timing: 8257296 ns mark 4206185 ns space 482926 ns mark 545296 ns space 481296 ns mark 1572259 ns space 481148 ns mark 546333 ns space [...] 433593 ns mark 1618333 ns space 454481 ns mark end of rx 8255519 ns mark 2130926 ns space 480556 ns mark end of rx The NEC decoder will also log the decoded 32 bits it receives and separate out the address and the command bits. If you do not see good or many NEC timing measurments in the logs, the first thing to try is to change lines 533-534 of linux/drivers/media/cx23885/cx23885-input.c: params.modulation = true; params.invert_level = false; If you see no timing measurements or few timing measurements, change the "modulation" to "false". If the chip is expecting carrier pulses and an external circuit or capacitor is smoothing carrier bursts into baseband pulses, then the hardware won't make measurements properly. If you see inverted mark and space inverted when "modulation" is set to "false", then set "invert_level" to "true
Re: IR Receiver on an Tevii S470
On 6 декабря 2009 23:40:54 Andy Walls wrote: > On Sun, 2009-11-22 at 03:03 +0200, Igor M. Liplianin wrote: > > On 21 ноября 2009 22:41:42 Andy Walls wrote: > > > > Matthias Fechner schrieb: > > > > > I bought some days ago a Tevii S470 DVB-S2 (PCI-E) card and got it > > > > > running with the driver from: > > > > > http://mercurial.intuxication.org/hg/s2-liplianin > > > > > > > > > > But I was not successfull in got the IR receiver working. > > > > > It seems that it is not supported yet by the driver. > > > > > > > > > > Is there maybe some code available to get the IR receiver with > > > > > evdev running? > > > > > > If the card is using the built in IR controller in the CX23885, then > > > you'll have to wait until I port my CX23888 IR controller changes to > > > work with the IR controller in the CX23885. That should be somewhat > > > straightforward, but will take time. Then we'll still need you to > > > experiment with a patch. > > > > It's cx23885 definitely. > > Remote uses NEC codes. > > In any case I can test. > > On Mon, 2009-11-23, Igor M. Liplianin wrote: > > Receiver connected to cx23885 IR_RX(pin 106). It is not difficult to > > track. > > Igor, Hi Andy, > > As I make patches for test, perhaps you can help answer some questions > which will save some experimentation: > > > 1. Does the remote for the TeVii S470 use the same codes as > > linux/drivers/media/common/ir-keymaps.c : ir_codes_tevii_nec[] That is correct table for cx88 based TeVii card with the same remote. I believe there is no difference for cx23885. > > or some other remote code table we have in the kernel? > > > 2. Does the remote for the TeVii S470, like other TeVii remotes, use a > standard NEC address of 0x00 (so that Addr'Addr is 0xff00) ? Or does it > use another address? Again like in cx88, the address is standard. > > > 3. When you traced board wiring from the IR receiver to the IR_RX pin on > the CX23885, did you notice any external components that might modify > the signal? For example, a capacitor that integrates carrier bursts > into baseband pulses. Yet again I believe there is no capacitors. Very same scheme like in cx88 variants for TeVii and others. > > > Thanks. > > Regards, > Andy -- Igor M. Liplianin Microsoft Windows Free Zone - Linux used for all Computing Tasks -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: IR Receiver on an Tevii S470
Hi Andy, Andy Walls wrote: 1. Does the remote for the TeVii S470 use the same codes as linux/drivers/media/common/ir-keymaps.c : ir_codes_tevii_nec[] or some other remote code table we have in the kernel? I don't know how it should work with the kernel but I use the remote together with lirc with the attached config files. Maybe that helps you a little bit. Bye, Matthias -- "Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning." -- Rich Cook # # this config file was automatically generated # using lirc-0.8.4(default) on Sun Jul 12 12:05:06 2009 # # contributed by # # brand: TeVii # model no. of remote control: # devices being controlled by this remote: TeVii S650 DVB-S2 USB # begin remote name TeVii_S470 bits 16 flags SPACE_ENC|CONST_LENGTH eps30 aeps 100 header 9032 4440 one 594 1651 zero 594 527 ptrail592 repeat90322212 pre_data_bits 16 pre_data 0xFF gap 107715 toggle_bit_mask 0x8000 begin codes Power0x50AF Mute 0x30CF 10x8877 20x48B7 30xC837 40x28D7 50xA857 60x6897 70xE817 80x18E7 90x9867 00x08F7 recall 0x58A7 fav 0xD827 Vol+ 0x906F Vol- 0xF00F Chan+0x10EF Chan-0x609F ModeLive 0xA05F ModePlay 0xE01F Up 0x00FF Down 0x807F Left 0xC03F Right0x40BF Ok 0xF807 Menu 0x38C7 Back 0xB847 Play 0x02FD FastRew 0x7887 FastFwd 0xB24D EPG 0x22DD Rec 0x20DF Timer0xD02F Open 0x708F Info 0x32CD a/b 0x827D Audio0xC23D subs 0xA25D List 0x52AD F1 0x629D F2 0xE21D F3 0x7A85 F4 0x3AC5 F5 0x4AB5 F6 0x5AA5 mom 0x6A95 fs 0x1AE5 end codes end remote
Re: IR Receiver on an Tevii S470
On Sun, 2009-11-22 at 03:03 +0200, Igor M. Liplianin wrote: > On 21 ноября 2009 22:41:42 Andy Walls wrote: > > > Matthias Fechner schrieb: > > > > I bought some days ago a Tevii S470 DVB-S2 (PCI-E) card and got it > > > > running with the driver from: > > > > http://mercurial.intuxication.org/hg/s2-liplianin > > > > > > > > But I was not successfull in got the IR receiver working. > > > > It seems that it is not supported yet by the driver. > > > > > > > > Is there maybe some code available to get the IR receiver with evdev > > > > running? > > If the card is using the built in IR controller in the CX23885, then > > you'll have to wait until I port my CX23888 IR controller changes to > > work with the IR controller in the CX23885. That should be somewhat > > straightforward, but will take time. Then we'll still need you to > > experiment with a patch. > It's cx23885 definitely. > Remote uses NEC codes. > In any case I can test. On Mon, 2009-11-23, Igor M. Liplianin wrote: > Receiver connected to cx23885 IR_RX(pin 106). It is not difficult to > track. Igor, As I make patches for test, perhaps you can help answer some questions which will save some experimentation: 1. Does the remote for the TeVii S470 use the same codes as linux/drivers/media/common/ir-keymaps.c : ir_codes_tevii_nec[] or some other remote code table we have in the kernel? 2. Does the remote for the TeVii S470, like other TeVii remotes, use a standard NEC address of 0x00 (so that Addr'Addr is 0xff00) ? Or does it use another address? 3. When you traced board wiring from the IR receiver to the IR_RX pin on the CX23885, did you notice any external components that might modify the signal? For example, a capacitor that integrates carrier bursts into baseband pulses. Thanks. Regards, Andy -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: IR Receiver on an Tevii S470
On Thu, 2009-11-26 at 17:43 +0100, Matthias Fechner wrote: > Hi Andy, > > Andy Walls wrote: > > I will inspect and test these with my HVR-1850 (CX23888) loaner board > > this weekend (hopefully). > > > > if you want me to test something on the Tevii S470 card, please let me know. MAtthias, Not right now. I'll let you know. If you wish, you can monitor http://linuxtv.org/hg/~awalls/cx23885-ir Right now that repository has Jean's patches which I have minimally tested. They do fix the i2cdetect problems. There are not TeVii S470 patches there, so I'm not sure how easy it will be for you to test. In the v4l2_subdev_ir_parameters and cx23888-ir.c, I need to improve a minor point about carrier sense inversion (configuring if a carrier burst means mark or space) and IO pin level inversion. After that, I can port cx23888-ir.c to a cx25840-ir.c implementation. I also have to implement NEC decoding in cx23885-input.c. I found a remote in my house that implements the NEC protocol with Extended addresses (although its timing is about 100 microseconds short for every mark & space pair and the header pulse is almost 1 ms shorter than it should be :P ). I should be able to get NEC decoding worked out with that remote and the HVR-1850 I have in hand. Merging TeVii S470 fixes from Igor will then be a final step before I ask you to correct my guess at the v4l2_subdev_ir_parameters setup in cx23885-input.c for your card. Regards, Andy > Bye, > Matthias -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: IR Receiver on an Tevii S470
Hi Andy, Andy Walls wrote: I will inspect and test these with my HVR-1850 (CX23888) loaner board this weekend (hopefully). if you want me to test something on the Tevii S470 card, please let me know. Bye, Matthias -- "Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning." -- Rich Cook -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: IR Receiver on an Tevii S470
On Mon, 2009-11-23 at 09:54 +0100, Jean Delvare wrote: > On Sun, 22 Nov 2009 19:17:59 -0500, Andy Walls wrote: > > On Sun, 2009-11-22 at 21:32 +0100, Jean Delvare wrote: > > > The fact that 0x30-0x37 and 0x50-0x5f all reply suggest that the bus > > > driver erroneously returns success to "SMBus receive byte" transactions > > > even when no device acks. This is a bug which should get fixed. If you > > > point me to the I2C adapter driver code, I can take a look. > > > > Although Igor's information makes the original need for this moot, here > > is the i2c adapter driver code: > > > > http://linuxtv.org/hg/v4l-dvb/file/8bff7e6c44d4/linux/drivers/media/video/cx23885/cx23885-i2c.c > > The results are not surprising: i2c_slave_did_ack() is only called for > zero-length transactions. For all other transactions, no check is done. > This is incorrect. > > I have written 3 patches for cx23885-i2c.c, the second one should fix > this particular issue. The other two are cleanups. Patches are there if > you want to take a look / give them a try: > http://khali.linux-fr.org/devel/misc/cx23885/ > > These are totally untested, and I don't know anything about the > hardware, so they might need some more work. But at least you should > get the idea of what's missing. Jean, (adding Steven Toth to the Cc: list) Thanks! I will inspect and test these with my HVR-1850 (CX23888) loaner board this weekend (hopefully). Regards, Andy -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: IR Receiver on an Tevii S470
On Sun, 22 Nov 2009 19:17:59 -0500, Andy Walls wrote: > On Sun, 2009-11-22 at 21:32 +0100, Jean Delvare wrote: > > The fact that 0x30-0x37 and 0x50-0x5f all reply suggest that the bus > > driver erroneously returns success to "SMBus receive byte" transactions > > even when no device acks. This is a bug which should get fixed. If you > > point me to the I2C adapter driver code, I can take a look. > > Although Igor's information makes the original need for this moot, here > is the i2c adapter driver code: > > http://linuxtv.org/hg/v4l-dvb/file/8bff7e6c44d4/linux/drivers/media/video/cx23885/cx23885-i2c.c The results are not surprising: i2c_slave_did_ack() is only called for zero-length transactions. For all other transactions, no check is done. This is incorrect. I have written 3 patches for cx23885-i2c.c, the second one should fix this particular issue. The other two are cleanups. Patches are there if you want to take a look / give them a try: http://khali.linux-fr.org/devel/misc/cx23885/ These are totally untested, and I don't know anything about the hardware, so they might need some more work. But at least you should get the idea of what's missing. > Note the CX2388[578] chips have 3 I2C masters, 2 for external buses, and > 1 internal "on silicon" bus which the driver sets up as the 3rd bus. > The internal bus should at least have devices at 0x44 and 0x4c as > confirmed above. I'll note the comment in this file, that indicates the > "on silicon" I2C bus runs at 1.95 MHz: > > http://linuxtv.org/hg/v4l-dvb/file/8bff7e6c44d4/linux/drivers/media/video/cx23885/cx23885-core.c This is strange. For one thing, 1.95 MHz wouldn't be standard I2C but high-speed mode I2C. But more importantly, I fail to see how you could reach such speeds with a software-driven, byte-by-byte implementation. You need hardware buffers to reach high speeds on I2C. > The TeVii S470 card had what looked like at serial I2C EEPROM with the > A0, A1, and A2 pins all grounded, so I assume it is at 0x50 on one of > the CX23885's external I2C buses. Probably. Hopefully my patches will show you where it is. -- Jean Delvare -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: IR Receiver on an Tevii S470
On Sun, 2009-11-22 at 21:32 +0100, Jean Delvare wrote: > On Sun, 22 Nov 2009 21:25:27 +0100, Matthias Fechner wrote: > > Hi Andy, > > > > Andy Walls wrote: > > > > > > # modprobe cx23885 > > > # modprobe i2c-dev > > > # i2c-detect -l > > > (to list all the i2c buses, including cx23885 mastered i2c buses) > > > > > i2c-0smbus SMBus nForce2 adapter at 4d00 SMBus adapter > > i2c-1i2c cx23885[0] I2C adapter > > i2c-2i2c cx23885[0] I2C adapter > > i2c-3i2c cx23885[0] I2C adapter > > i2c-4i2c NVIDIA i2c adapter I2C adapter > > i2c-5i2c NVIDIA i2c adapter I2C adapter > > i2c-6i2c NVIDIA i2c adapter I2C adapter > > > > > # i2c-detect -y N > > > (to show the addresses in use on bus # N: only query the cx23885 buses) > > > > > > > > vdrhd1 ~ # i2cdetect -y 1 > > 0 1 2 3 4 5 6 7 8 9 a b c d e f > > 00: -- -- -- -- -- -- -- -- -- -- -- -- -- > > 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- > > 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- > > 30: 30 31 32 33 34 35 36 37 -- -- -- -- -- -- -- -- > > 40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- > > 50: 50 51 52 53 54 55 56 57 58 59 5a 5b 5c 5d 5e 5f > > 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- > > 70: -- -- -- -- -- -- -- -- > > vdrhd1 ~ # i2cdetect -y 2 > > 0 1 2 3 4 5 6 7 8 9 a b c d e f > > 00: -- -- -- -- -- -- -- -- -- -- -- -- -- > > 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- > > 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- > > 30: 30 31 32 33 34 35 36 37 -- -- -- -- -- -- -- -- > > 40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- > > 50: 50 51 52 53 54 55 56 57 58 59 5a 5b 5c 5d 5e 5f > > 60: -- -- -- -- -- -- -- -- 68 -- -- -- -- -- -- -- > > 70: -- -- -- -- -- -- -- -- > > vdrhd1 ~ # i2cdetect -y 3 > > 0 1 2 3 4 5 6 7 8 9 a b c d e f > > 00: -- -- -- -- -- -- -- -- -- -- -- -- -- > > 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- > > 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- > > 30: 30 31 32 33 34 35 36 37 -- -- -- -- -- -- -- -- > > 40: -- -- -- -- 44 -- -- -- -- -- -- -- 4c -- -- -- > > 50: 50 51 52 53 54 55 56 57 58 59 5a 5b 5c 5d 5e 5f > > 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- > > 70: -- -- -- -- -- -- -- -- > > The fact that 0x30-0x37 and 0x50-0x5f all reply suggest that the bus > driver erroneously returns success to "SMBus receive byte" transactions > even when no device acks. This is a bug which should get fixed. If you > point me to the I2C adapter driver code, I can take a look. Jean, Although Igor's information makes the original need for this moot, here is the i2c adapter driver code: http://linuxtv.org/hg/v4l-dvb/file/8bff7e6c44d4/linux/drivers/media/video/cx23885/cx23885-i2c.c Note the CX2388[578] chips have 3 I2C masters, 2 for external buses, and 1 internal "on silicon" bus which the driver sets up as the 3rd bus. The internal bus should at least have devices at 0x44 and 0x4c as confirmed above. I'll note the comment in this file, that indicates the "on silicon" I2C bus runs at 1.95 MHz: http://linuxtv.org/hg/v4l-dvb/file/8bff7e6c44d4/linux/drivers/media/video/cx23885/cx23885-core.c The TeVii S470 card had what looked like at serial I2C EEPROM with the A0, A1, and A2 pins all grounded, so I assume it is at 0x50 on one of the CX23885's external I2C buses. Regards, Andy > In the meantime, you can try i2cdetect -q to force i2cdetect to use > "SMBus quick" commands for all the addresses. Beware though that some > chips are known to not like it at all (in particular the infamous > AT24RF08... not that I expect to ever see one on a TV adapter but you > never know.) > > At least the above scan has already found 3 chips. > -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: IR Receiver on an Tevii S470
On 23 ноября 2009, "Igor M. Liplianin" wrote: > On Mon, 2009-11-23 at 00:29 +0200, Igor M. Liplianin wrote: > > On 22 ноября 2009 22:11:47 Andy Walls wrote: > > > On Sun, 2009-11-22 at 19:08 +0100, Matthias Fechner wrote: > > > > Hi Andy, > > > > > > > > Andy Walls wrote: > > > > > Thank you. I will probably need you for testing when ready. > > > > > > > > > > > > > > > I was planning to do step 1 above for HVR-1800 IR anyway. > > > > > > > > > > I will estimate that I may have something ready by about Christmas > > > > > (25 December 2009), unless work becomes very busy. > > > > > > > > thanks a lot for your answer. > > > > I uploaded two pictures I did from the card, you can find it here: > > > > http://fechner.net/tevii-s470/ > > > > > > > > It is a CX23885. > > > > The driver I use is the ds3000. > > > > lspci says: > > > > > > [snip] > > > > > > Matthias, > > > > > > Thanks for the pictures. OK so of the two other interesting chips on > > > the S470: > > > > > > U4 is an I2C connected EEPROM - we don't care about that for IR. > > > > > > U10 appears to perhaps be a Silicon Labs C8051F300 microcontroller or > > > similar: > > > > > > http://www.silabs.com/products/mcu/smallmcu/Pages/C8051F30x.aspx > > > > > > Since the 'F300 has an A/D convertor and has an SMBus interface > > > (compatable with the I2C bus), I suspect this chip could be the IR > > > controller on the TeVii S470. > > > > > > Could you as root: > > > > > > # modprobe cx23885 > > > # modprobe i2c-dev > > > # i2c-detect -l > > > (to list all the i2c buses, including cx23885 mastered i2c buses) > > > # i2c-detect -y N > > > (to show the addresses in use on bus # N: only query the cx23885 buses) > > > > > > > > > i2c-detect was in the lm-sensors package last I checked. (Jean can > > > correct me if I'm wrong.) > > > > > > With that information, I should be able to figure out what I2C address > > > that microcontroller is listening to. > > > > > > Then we can work out how to read and decode it's data and add it to > > > ir-kbd-i2c at least. Depending on how your kernel and LIRC versions > > > LIRC might still work with I2C IR chips too. > > > > > > > > > All presupposing of course that that 'F300 chip is for IR... > > > > Receiver connected to cx23885 IR_RX(pin 106). It is not difficult to > > track. > > Igor, > > Thank you. I did not have a board to trace. I will then stick with my > original plan since the F300 doesn't do the IR. I have cx23885 based Compro E650F DVB-T card. It shipped with RC6 type remote. So I can test RC6 too... And I will. > > > F300 is for LNB power control. > > It connected to cx23885 GPIO pins: > > GPIO0 - data - P0.3 F300 > > GPIO1 - reset - P0.2 F300 > > GPIO2 - clk - P0.1 F300 > > GPIO3 - busy - P0.0 F300 > > > > Interface seems not I2C/SMBUS. > > > > Source code from TeVii: > > http://mercurial.intuxication.org/hg/s2- > > liplianin/file/d0dfe416e0f6/linux/drivers/media/video/cx23885/tevii_pwr.c > > Interesting > >static void Delay1mS(void) >{ > udelay(800); >} > > :D Your link to datasheet helps me a lot :) I will clear all that out and will commit to linuxtv soon. BR Igor > > Regards, > Andy > > > BR > > Igor > > -- > To unsubscribe from this list: send the line "unsubscribe linux-media" in > the body of a message to majord...@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html -- Igor M. Liplianin Microsoft Windows Free Zone - Linux used for all Computing Tasks -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: IR Receiver on an Tevii S470
On Mon, 2009-11-23 at 00:29 +0200, Igor M. Liplianin wrote: > On 22 ноября 2009 22:11:47 Andy Walls wrote: > > On Sun, 2009-11-22 at 19:08 +0100, Matthias Fechner wrote: > > > Hi Andy, > > > > > > Andy Walls wrote: > > > > Thank you. I will probably need you for testing when ready. > > > > > > > > > > > > I was planning to do step 1 above for HVR-1800 IR anyway. > > > > > > > > I will estimate that I may have something ready by about Christmas (25 > > > > December 2009), unless work becomes very busy. > > > > > > thanks a lot for your answer. > > > I uploaded two pictures I did from the card, you can find it here: > > > http://fechner.net/tevii-s470/ > > > > > > It is a CX23885. > > > The driver I use is the ds3000. > > > lspci says: > > > > [snip] > > > > Matthias, > > > > Thanks for the pictures. OK so of the two other interesting chips on > > the S470: > > > > U4 is an I2C connected EEPROM - we don't care about that for IR. > > > > U10 appears to perhaps be a Silicon Labs C8051F300 microcontroller or > > similar: > > > > http://www.silabs.com/products/mcu/smallmcu/Pages/C8051F30x.aspx > > > > Since the 'F300 has an A/D convertor and has an SMBus interface > > (compatable with the I2C bus), I suspect this chip could be the IR > > controller on the TeVii S470. > > > > Could you as root: > > > > # modprobe cx23885 > > # modprobe i2c-dev > > # i2c-detect -l > > (to list all the i2c buses, including cx23885 mastered i2c buses) > > # i2c-detect -y N > > (to show the addresses in use on bus # N: only query the cx23885 buses) > > > > > > i2c-detect was in the lm-sensors package last I checked. (Jean can > > correct me if I'm wrong.) > > > > With that information, I should be able to figure out what I2C address > > that microcontroller is listening to. > > > > Then we can work out how to read and decode it's data and add it to > > ir-kbd-i2c at least. Depending on how your kernel and LIRC versions > > LIRC might still work with I2C IR chips too. > > > > > > All presupposing of course that that 'F300 chip is for IR... > Receiver connected to cx23885 IR_RX(pin 106). It is not difficult to track. Igor, Thank you. I did not have a board to trace. I will then stick with my original plan since the F300 doesn't do the IR. > F300 is for LNB power control. > It connected to cx23885 GPIO pins: > GPIO0 - data - P0.3 F300 > GPIO1 - reset - P0.2 F300 > GPIO2 - clk - P0.1 F300 > GPIO3 - busy - P0.0 F300 > > Interface seems not I2C/SMBUS. > > Source code from TeVii: > http://mercurial.intuxication.org/hg/s2- > liplianin/file/d0dfe416e0f6/linux/drivers/media/video/cx23885/tevii_pwr.c Interesting static void Delay1mS(void) { udelay(800); } :D Regards, Andy > BR > Igor -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: IR Receiver on an Tevii S470
On 22 ноября 2009 22:11:47 Andy Walls wrote: > On Sun, 2009-11-22 at 19:08 +0100, Matthias Fechner wrote: > > Hi Andy, > > > > Andy Walls wrote: > > > Thank you. I will probably need you for testing when ready. > > > > > > > > > I was planning to do step 1 above for HVR-1800 IR anyway. > > > > > > I will estimate that I may have something ready by about Christmas (25 > > > December 2009), unless work becomes very busy. > > > > thanks a lot for your answer. > > I uploaded two pictures I did from the card, you can find it here: > > http://fechner.net/tevii-s470/ > > > > It is a CX23885. > > The driver I use is the ds3000. > > lspci says: > > [snip] > > Matthias, > > Thanks for the pictures. OK so of the two other interesting chips on > the S470: > > U4 is an I2C connected EEPROM - we don't care about that for IR. > > U10 appears to perhaps be a Silicon Labs C8051F300 microcontroller or > similar: > > http://www.silabs.com/products/mcu/smallmcu/Pages/C8051F30x.aspx > > Since the 'F300 has an A/D convertor and has an SMBus interface > (compatable with the I2C bus), I suspect this chip could be the IR > controller on the TeVii S470. > > Could you as root: > > # modprobe cx23885 > # modprobe i2c-dev > # i2c-detect -l > (to list all the i2c buses, including cx23885 mastered i2c buses) > # i2c-detect -y N > (to show the addresses in use on bus # N: only query the cx23885 buses) > > > i2c-detect was in the lm-sensors package last I checked. (Jean can > correct me if I'm wrong.) > > With that information, I should be able to figure out what I2C address > that microcontroller is listening to. > > Then we can work out how to read and decode it's data and add it to > ir-kbd-i2c at least. Depending on how your kernel and LIRC versions > LIRC might still work with I2C IR chips too. > > > All presupposing of course that that 'F300 chip is for IR... Receiver connected to cx23885 IR_RX(pin 106). It is not difficult to track. F300 is for LNB power control. It connected to cx23885 GPIO pins: GPIO0 - data - P0.3 F300 GPIO1 - reset - P0.2 F300 GPIO2 - clk - P0.1 F300 GPIO3 - busy - P0.0 F300 Interface seems not I2C/SMBUS. Source code from TeVii: http://mercurial.intuxication.org/hg/s2- liplianin/file/d0dfe416e0f6/linux/drivers/media/video/cx23885/tevii_pwr.c BR Igor > > Regards, > Andy > > > I can test any patch when you have one ready, currently I'm using lirc > > together with a TechnoTrend RemoteControl. > > Thanks a lot and have a nice week > > > > Best regards, > > Matthias -- Igor M. Liplianin Microsoft Windows Free Zone - Linux used for all Computing Tasks -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: IR Receiver on an Tevii S470
On Sun, 22 Nov 2009 21:25:27 +0100, Matthias Fechner wrote: > Hi Andy, > > Andy Walls wrote: > > > > # modprobe cx23885 > > # modprobe i2c-dev > > # i2c-detect -l > > (to list all the i2c buses, including cx23885 mastered i2c buses) > > > i2c-0smbus SMBus nForce2 adapter at 4d00 SMBus adapter > i2c-1i2c cx23885[0] I2C adapter > i2c-2i2c cx23885[0] I2C adapter > i2c-3i2c cx23885[0] I2C adapter > i2c-4i2c NVIDIA i2c adapter I2C adapter > i2c-5i2c NVIDIA i2c adapter I2C adapter > i2c-6i2c NVIDIA i2c adapter I2C adapter > > > # i2c-detect -y N > > (to show the addresses in use on bus # N: only query the cx23885 buses) > > > > > vdrhd1 ~ # i2cdetect -y 1 > 0 1 2 3 4 5 6 7 8 9 a b c d e f > 00: -- -- -- -- -- -- -- -- -- -- -- -- -- > 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- > 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- > 30: 30 31 32 33 34 35 36 37 -- -- -- -- -- -- -- -- > 40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- > 50: 50 51 52 53 54 55 56 57 58 59 5a 5b 5c 5d 5e 5f > 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- > 70: -- -- -- -- -- -- -- -- > vdrhd1 ~ # i2cdetect -y 2 > 0 1 2 3 4 5 6 7 8 9 a b c d e f > 00: -- -- -- -- -- -- -- -- -- -- -- -- -- > 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- > 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- > 30: 30 31 32 33 34 35 36 37 -- -- -- -- -- -- -- -- > 40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- > 50: 50 51 52 53 54 55 56 57 58 59 5a 5b 5c 5d 5e 5f > 60: -- -- -- -- -- -- -- -- 68 -- -- -- -- -- -- -- > 70: -- -- -- -- -- -- -- -- > vdrhd1 ~ # i2cdetect -y 3 > 0 1 2 3 4 5 6 7 8 9 a b c d e f > 00: -- -- -- -- -- -- -- -- -- -- -- -- -- > 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- > 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- > 30: 30 31 32 33 34 35 36 37 -- -- -- -- -- -- -- -- > 40: -- -- -- -- 44 -- -- -- -- -- -- -- 4c -- -- -- > 50: 50 51 52 53 54 55 56 57 58 59 5a 5b 5c 5d 5e 5f > 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- > 70: -- -- -- -- -- -- -- -- The fact that 0x30-0x37 and 0x50-0x5f all reply suggest that the bus driver erroneously returns success to "SMBus receive byte" transactions even when no device acks. This is a bug which should get fixed. If you point me to the I2C adapter driver code, I can take a look. In the meantime, you can try i2cdetect -q to force i2cdetect to use "SMBus quick" commands for all the addresses. Beware though that some chips are known to not like it at all (in particular the infamous AT24RF08... not that I expect to ever see one on a TV adapter but you never know.) At least the above scan has already found 3 chips. -- Jean Delvare -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: IR Receiver on an Tevii S470
Hi Andy, On Sun, 22 Nov 2009 15:11:47 -0500, Andy Walls wrote: > On Sun, 2009-11-22 at 19:08 +0100, Matthias Fechner wrote: > > thanks a lot for your answer. > > I uploaded two pictures I did from the card, you can find it here: > > http://fechner.net/tevii-s470/ > > > > It is a CX23885. > > The driver I use is the ds3000. > > lspci says: > [snip] > > Thanks for the pictures. OK so of the two other interesting chips on > the S470: > > U4 is an I2C connected EEPROM - we don't care about that for IR. > > U10 appears to perhaps be a Silicon Labs C8051F300 microcontroller or > similar: > > http://www.silabs.com/products/mcu/smallmcu/Pages/C8051F30x.aspx > > Since the 'F300 has an A/D convertor and has an SMBus interface > (compatable with the I2C bus), I suspect this chip could be the IR > controller on the TeVii S470. > > Could you as root: > > # modprobe cx23885 > # modprobe i2c-dev > # i2c-detect -l > (to list all the i2c buses, including cx23885 mastered i2c buses) > # i2c-detect -y N > (to show the addresses in use on bus # N: only query the cx23885 buses) > > > i2c-detect was in the lm-sensors package last I checked. (Jean can > correct me if I'm wrong.) It is actually named "i2cdetect" (no dash). It used to live in the lm-sensors package (up to 2.10.x) but is now in i2c-tools: http://www.lm-sensors.org/wiki/I2CTools > With that information, I should be able to figure out what I2C address > that microcontroller is listening to. -- Jean Delvare -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: IR Receiver on an Tevii S470
Hi Andy, Andy Walls wrote: # modprobe cx23885 # modprobe i2c-dev # i2c-detect -l (to list all the i2c buses, including cx23885 mastered i2c buses) i2c-0smbus SMBus nForce2 adapter at 4d00 SMBus adapter i2c-1i2c cx23885[0] I2C adapter i2c-2i2c cx23885[0] I2C adapter i2c-3i2c cx23885[0] I2C adapter i2c-4i2c NVIDIA i2c adapter I2C adapter i2c-5i2c NVIDIA i2c adapter I2C adapter i2c-6i2c NVIDIA i2c adapter I2C adapter # i2c-detect -y N (to show the addresses in use on bus # N: only query the cx23885 buses) vdrhd1 ~ # i2cdetect -y 1 0 1 2 3 4 5 6 7 8 9 a b c d e f 00: -- -- -- -- -- -- -- -- -- -- -- -- -- 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 30: 30 31 32 33 34 35 36 37 -- -- -- -- -- -- -- -- 40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 50: 50 51 52 53 54 55 56 57 58 59 5a 5b 5c 5d 5e 5f 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 70: -- -- -- -- -- -- -- -- vdrhd1 ~ # i2cdetect -y 2 0 1 2 3 4 5 6 7 8 9 a b c d e f 00: -- -- -- -- -- -- -- -- -- -- -- -- -- 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 30: 30 31 32 33 34 35 36 37 -- -- -- -- -- -- -- -- 40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 50: 50 51 52 53 54 55 56 57 58 59 5a 5b 5c 5d 5e 5f 60: -- -- -- -- -- -- -- -- 68 -- -- -- -- -- -- -- 70: -- -- -- -- -- -- -- -- vdrhd1 ~ # i2cdetect -y 3 0 1 2 3 4 5 6 7 8 9 a b c d e f 00: -- -- -- -- -- -- -- -- -- -- -- -- -- 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 30: 30 31 32 33 34 35 36 37 -- -- -- -- -- -- -- -- 40: -- -- -- -- 44 -- -- -- -- -- -- -- 4c -- -- -- 50: 50 51 52 53 54 55 56 57 58 59 5a 5b 5c 5d 5e 5f 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 70: -- -- -- -- -- -- -- -- i2c-detect was in the lm-sensors package last I checked. (Jean can correct me if I'm wrong.) ok, it seems that the name of tool is different here, but I think it has the same output. Then we can work out how to read and decode it's data and add it to ir-kbd-i2c at least. Depending on how your kernel and LIRC versions LIRC might still work with I2C IR chips too. I will do my best to help you here. Bye, Matthias -- "Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning." -- Rich Cook -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: IR Receiver on an Tevii S470
On Sun, 2009-11-22 at 19:08 +0100, Matthias Fechner wrote: > Hi Andy, > > Andy Walls wrote: > > Thank you. I will probably need you for testing when ready. > > > > > > I was planning to do step 1 above for HVR-1800 IR anyway. > > > > I will estimate that I may have something ready by about Christmas (25 > > December 2009), unless work becomes very busy. > > > > thanks a lot for your answer. > I uploaded two pictures I did from the card, you can find it here: > http://fechner.net/tevii-s470/ > > It is a CX23885. > The driver I use is the ds3000. > lspci says: [snip] Matthias, Thanks for the pictures. OK so of the two other interesting chips on the S470: U4 is an I2C connected EEPROM - we don't care about that for IR. U10 appears to perhaps be a Silicon Labs C8051F300 microcontroller or similar: http://www.silabs.com/products/mcu/smallmcu/Pages/C8051F30x.aspx Since the 'F300 has an A/D convertor and has an SMBus interface (compatable with the I2C bus), I suspect this chip could be the IR controller on the TeVii S470. Could you as root: # modprobe cx23885 # modprobe i2c-dev # i2c-detect -l (to list all the i2c buses, including cx23885 mastered i2c buses) # i2c-detect -y N (to show the addresses in use on bus # N: only query the cx23885 buses) i2c-detect was in the lm-sensors package last I checked. (Jean can correct me if I'm wrong.) With that information, I should be able to figure out what I2C address that microcontroller is listening to. Then we can work out how to read and decode it's data and add it to ir-kbd-i2c at least. Depending on how your kernel and LIRC versions LIRC might still work with I2C IR chips too. All presupposing of course that that 'F300 chip is for IR... Regards, Andy > I can test any patch when you have one ready, currently I'm using lirc > together with a TechnoTrend RemoteControl. > Thanks a lot and have a nice week > > Best regards, > Matthias -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: IR Receiver on an Tevii S470
Hi Andy, Andy Walls wrote: Thank you. I will probably need you for testing when ready. I was planning to do step 1 above for HVR-1800 IR anyway. I will estimate that I may have something ready by about Christmas (25 December 2009), unless work becomes very busy. thanks a lot for your answer. I uploaded two pictures I did from the card, you can find it here: http://fechner.net/tevii-s470/ It is a CX23885. The driver I use is the ds3000. lspci says: 02:00.0 Multimedia video controller: Conexant Device 8852 (rev 02) Subsystem: Device d470:9022 Flags: bus master, fast devsel, latency 0, IRQ 19 Memory at fac0 (64-bit, non-prefetchable) [size=2M] Capabilities: [40] Express Endpoint, MSI 00 Capabilities: [80] Power Management version 2 Capabilities: [90] Vital Product Data Capabilities: [a0] Message Signalled Interrupts: Mask- 64bit+ Count=1/1 Enable- Capabilities: [100] Advanced Error Reporting UESta:DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq+ ACSVoil- UEMsk:DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSVoil- UESvrt:DLP+ SDES- TLP- FCP+ CmpltTO- CmpltAbrt- UnxCmplt- RxOF+ MalfTLP+ ECRC- UnsupReq- ACSVoil- CESta:RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr- CESta:RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr- AERCap:First Error Pointer: 14, GenCap- CGenEn- ChkCap- ChkEn- Capabilities: [200] Virtual Channel Kernel driver in use: cx23885 Kernel modules: cx23885 lsmod says: Module Size Used by lirc_serial10740 1 snd_mixer_oss 12428 0 lirc_dev9512 3 lirc_serial snd_hda_codec_nvhdmi 3976 1 ds3000 12820 1 snd_hda_codec_realtek 184292 1 cx23885 105116 9 cx2341x10784 1 cx23885 v4l2_common15428 2 cx23885,cx2341x nvidia 8860344 44 videodev 34080 2 cx23885,v4l2_common v4l1_compat11252 1 videodev videobuf_dma_sg11176 1 cx23885 videobuf_dvb6308 1 cx23885 dvb_core 78492 2 cx23885,videobuf_dvb videobuf_core 16280 3 cx23885,videobuf_dma_sg,videobuf_dvb snd_hda_intel 22004 1 ir_common 46132 1 cx23885 snd_hda_codec 55908 3 snd_hda_codec_nvhdmi,snd_hda_codec_realtek,snd_hda_intel btcx_risc 4244 1 cx23885 tveeprom 10652 1 cx23885 snd_pcm63812 3 snd_hda_intel,snd_hda_codec snd_timer 17584 1 snd_pcm ehci_hcd 29628 0 ohci_hcd 19664 0 snd49728 7 snd_mixer_oss,snd_hda_codec_realtek,snd_hda_intel,snd_hda_codec,snd_pcm,snd_timer usbcore 117380 2 ehci_hcd,ohci_hcd i2c_nforce2 6092 0 serio_raw 4708 0 soundcore 6276 1 snd i2c_core 19848 7 ds3000,cx23885,v4l2_common,nvidia,videodev,tveeprom,i2c_nforce2 snd_page_alloc 7952 2 snd_hda_intel,snd_pcm evdev 8148 4 I can test any patch when you have one ready, currently I'm using lirc together with a TechnoTrend RemoteControl. Thanks a lot and have a nice week Best regards, Matthias -- "Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning." -- Rich Cook -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: IR Receiver on an Tevii S470
On Sun, 2009-11-22 at 03:03 +0200, Igor M. Liplianin wrote: > On 21 ноября 2009 22:41:42 Andy Walls wrote: > > On Sat, 2009-11-21 at 18:10 +0100, Matthias Fechner wrote: > > > Hi, > > > > > > Matthias Fechner schrieb: > > > > I bought some days ago a Tevii S470 DVB-S2 (PCI-E) card and got it > > > > running with the driver from: > > > > http://mercurial.intuxication.org/hg/s2-liplianin > > > > > > > > But I was not successfull in got the IR receiver working. > > > > It seems that it is not supported yet by the driver. > > > > > > > > Is there maybe some code available to get the IR receiver with evdev > > > > running? > > > > What bridge chip does the TeVii S470 use: a CX23885, CX23887, or > > CX23888? > > > > Does the TeVii S470 have a separate microcontroller chip for IR > > somewhere on the board, or does it not have one? (If you can't tell, > > just provide a list of the chip markings on the board.) > > > > > > If the card is using the built in IR controller of the CX23888 than that > > should be pretty easy to get working, we'll just need you to do some > > experimentation with a patch. > > > > If the card is using the built in IR controller in the CX23885, then > > you'll have to wait until I port my CX23888 IR controller changes to > > work with the IR controller in the CX23885. That should be somewhat > > straightforward, but will take time. Then we'll still need you to > > experiment with a patch. > > > > If the card is using a separate IR microcontroller, I'm not sure where > > to begin :P > > > > Regards, > > Andy > > > It's cx23885 definitely. > Remote uses NEC codes. OK. Things I have to do: 1. Add v4l2_subdev_ir_ops for the CX23885 to the cx25840 module. Much of this code will look like the cx23885/cx23888-ir.[ch] code, except a little nicer when accessing I2C bus registers. 2. Add NEC pulse decoding to cx23885/cx23885-input.c. This will be new work, as right now the cx23885 driver only performs RC-5 decoding. 3. Add IR intiialization for the TeVii S470 into the cx23885 driver. This will be easy, except for filling out the v4l2_subdev_ir_parameters in cx23885/cx23885-input.c:cx23885_input_ir_start() ; I will need someone with hardware to experiment. > In any case I can test. Thank you. I will probably need you for testing when ready. I was planning to do step 1 above for HVR-1800 IR anyway. I will estimate that I may have something ready by about Christmas (25 December 2009), unless work becomes very busy. Regards, Andy -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: IR Receiver on an Tevii S470
On 21 ноября 2009 22:41:42 Andy Walls wrote: > On Sat, 2009-11-21 at 18:10 +0100, Matthias Fechner wrote: > > Hi, > > > > Matthias Fechner schrieb: > > > I bought some days ago a Tevii S470 DVB-S2 (PCI-E) card and got it > > > running with the driver from: > > > http://mercurial.intuxication.org/hg/s2-liplianin > > > > > > But I was not successfull in got the IR receiver working. > > > It seems that it is not supported yet by the driver. > > > > > > Is there maybe some code available to get the IR receiver with evdev > > > running? > > What bridge chip does the TeVii S470 use: a CX23885, CX23887, or > CX23888? > > Does the TeVii S470 have a separate microcontroller chip for IR > somewhere on the board, or does it not have one? (If you can't tell, > just provide a list of the chip markings on the board.) > > > If the card is using the built in IR controller of the CX23888 than that > should be pretty easy to get working, we'll just need you to do some > experimentation with a patch. > > If the card is using the built in IR controller in the CX23885, then > you'll have to wait until I port my CX23888 IR controller changes to > work with the IR controller in the CX23885. That should be somewhat > straightforward, but will take time. Then we'll still need you to > experiment with a patch. > > If the card is using a separate IR microcontroller, I'm not sure where > to begin :P > > Regards, > Andy > > -- > To unsubscribe from this list: send the line "unsubscribe linux-media" in > the body of a message to majord...@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html It's cx23885 definitely. Remote uses NEC codes. In any case I can test. -- Igor M. Liplianin Microsoft Windows Free Zone - Linux used for all Computing Tasks -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: IR Receiver on an Tevii S470
Andy Walls wrote: > On Sat, 2009-11-21 at 18:10 +0100, Matthias Fechner wrote: >> Hi, >> >> Matthias Fechner schrieb: >>> I bought some days ago a Tevii S470 DVB-S2 (PCI-E) card and got it >>> running with the driver from: >>> http://mercurial.intuxication.org/hg/s2-liplianin >>> >>> But I was not successfull in got the IR receiver working. >>> It seems that it is not supported yet by the driver. >>> >>> Is there maybe some code available to get the IR receiver with evdev >>> running? > > What bridge chip does the TeVii S470 use: a CX23885, CX23887, or > CX23888? > > Does the TeVii S470 have a separate microcontroller chip for IR > somewhere on the board, or does it not have one? (If you can't tell, > just provide a list of the chip markings on the board.) > > > If the card is using the built in IR controller of the CX23888 than that > should be pretty easy to get working, we'll just need you to do some > experimentation with a patch. > > If the card is using the built in IR controller in the CX23885, then > you'll have to wait until I port my CX23888 IR controller changes to > work with the IR controller in the CX23885. That should be somewhat > straightforward, but will take time. Then we'll still need you to > experiment with a patch. > > If the card is using a separate IR microcontroller, I'm not sure where > to begin :P > > Regards, > Andy > > -- > To unsubscribe from this list: send the line "unsubscribe linux-media" in > the body of a message to majord...@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > According to the Wiki it's a cx23885. Looks like the IR is on the chip. It's in the Wiki: http://linuxtv.org/wiki/index.php/TeVii_S470 Tevii is listing the card as supported in Linux with ti's own s2api driver download, its here: http://www.tevii.com/Support.asp Jonas -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: IR Receiver on an Tevii S470
On Sat, 2009-11-21 at 18:10 +0100, Matthias Fechner wrote: > Hi, > > Matthias Fechner schrieb: > > I bought some days ago a Tevii S470 DVB-S2 (PCI-E) card and got it > > running with the driver from: > > http://mercurial.intuxication.org/hg/s2-liplianin > > > > But I was not successfull in got the IR receiver working. > > It seems that it is not supported yet by the driver. > > > > Is there maybe some code available to get the IR receiver with evdev > > running? What bridge chip does the TeVii S470 use: a CX23885, CX23887, or CX23888? Does the TeVii S470 have a separate microcontroller chip for IR somewhere on the board, or does it not have one? (If you can't tell, just provide a list of the chip markings on the board.) If the card is using the built in IR controller of the CX23888 than that should be pretty easy to get working, we'll just need you to do some experimentation with a patch. If the card is using the built in IR controller in the CX23885, then you'll have to wait until I port my CX23888 IR controller changes to work with the IR controller in the CX23885. That should be somewhat straightforward, but will take time. Then we'll still need you to experiment with a patch. If the card is using a separate IR microcontroller, I'm not sure where to begin :P Regards, Andy -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: IR Receiver on an Tevii S470
Hi, Matthias Fechner schrieb: I bought some days ago a Tevii S470 DVB-S2 (PCI-E) card and got it running with the driver from: http://mercurial.intuxication.org/hg/s2-liplianin But I was not successfull in got the IR receiver working. It seems that it is not supported yet by the driver. Is there maybe some code available to get the IR receiver with evdev running? it seems to be not the correct mailing list, could some please suggest where I can ask that question? Bye Matthias -- "Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning." -- Rich Cook -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
IR Receiver on an Tevii S470
Hi, I bought some days ago a Tevii S470 DVB-S2 (PCI-E) card and got it running with the driver from: http://mercurial.intuxication.org/hg/s2-liplianin But I was not successfull in got the IR receiver working. It seems that it is not supported yet by the driver. Is there maybe some code available to get the IR receiver with evdev running? Thanks a lot, Matthias -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html