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_IR 0x...)" > > 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 0000:02:00.0, rev: 2, irq: 16, latency: 0, mmio: 0xfea00000 cx23885 0000: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 make sure interrupts should be > enabled for the IR controller. > > 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 majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html