
awalls at radix
Feb 10, 2009, 6:50 PM
Post #5 of 6
(2506 views)
Permalink
|
|
Re: cx18: HVR-1600 ATSC Channels don't change
[In reply to]
|
|
On Fri, 2009-02-06 at 22:44 -0500, John Bickel wrote: > Attached is the DMESG with the debug options in /etc/modprobe.conf > > options tuner-simple debug=7 > options tuner debug=7 John, >From what I can tell, this is a somewhat subtle bug in linux/drivers/media/video/tuner-core.c:set_type() The cx18 driver ends up indirectly calling this function 2 times: 1. When the cx18 driver loads the tuner module in linux/drivers/media/video/cx18/cx18-driver.c:cx18_load_and_init_modules() upon which the set_type() function doesn't do much except gripe: [ 21.359036] tuner 1-0061: tuner 0x61: Tuner type absent 2. When the c18 driver initializes the tuner type by calling cx18_call_i2c_clients(cx, TUNER_SET_TYPE_ADDR, &setup) in linux/drivers/media/video/cx18/cx18-driver.c:cx18_probe() upon which the set_type() function calls dvb_attach(tuner_simple_attach, ...) to attach the tuner frontend, *just in case* this is an analog/digital hybrid tuner, sets the tuner to a default freq, and maybe does some other things. During this process, it blurts out: [ 21.360786] tuner 1-0061: Calling set_type_addr for type=50, addr=0xff, mode=0x04, config=0x32 [ 21.488974] tuner-simple 1-0061: creating new instance [ 21.488982] tuner-simple 1-0061: type set to 50 (TCL 2002N) [ 21.488985] tuner-simple 1-0061: tuner 0 atv rf input will be autoselected [ 21.488988] tuner-simple 1-0061: tuner 0 dtv rf input will be autoselected [ 21.488993] tuner 1-0061: type set to TCL 2002N [ 21.488996] tuner 1-0061: tv freq set to 400.00 [ 21.489001] tuner-simple 1-0061: desired params (pal) undefined for tuner 50 [ 21.489004] tuner-simple 1-0061: using tuner params #0 (ntsc) [ 21.489008] tuner-simple 1-0061: freq = 400.00 (6400), range = 1, config = 0x8e, cb = 0x02 [ 21.489013] tuner-simple 1-0061: Freq= 400.00 MHz, V_IF=38.93 MHz, Offset=0.00 MHz, div=7023 [ 21.489017] tuner-simple 1-0061: tv 0x1b 0x6f 0x8e 0x02 [ 21.489907] tuner 1-0061: cx18 i2c driver #0-1 tuner I2C addr 0xc2 with type 50 used for 0x0e Which is all just fine. 3. Now some time about 5 seconds later, I'm *GUESSING* something in your system unloads the "tuner-simple" module that calls tuner-core.c:tuner_remove() tuner-core.c:tuner_detach() tuner_simple.c:simple_release() That emits [ 53.076838] tuner-simple 1-0061: destroying instance 4. I'm also *GUESSING* that shortly after that, something reloads the tuner-simple module which emits this: [ 53.136315] tuner 1-0061: Setting mode_mask to 0x0e [ 53.136330] tuner 1-0061: chip found @ 0xc2 (cx18 i2c driver #0-1) [ 53.136334] tuner 1-0061: tuner 0x61: Tuner type absent Just like what the cx18's initial load of the tuner module caused. Here it is for comparison: [ 21.359026] tuner 1-0061: Setting mode_mask to 0x0e [ 21.359032] tuner 1-0061: chip found @ 0xc2 (cx18 i2c driver #0-1) [ 21.359036] tuner 1-0061: tuner 0x61: Tuner type absent I suspect you need to hunt down what script or process in your system is unloading and reloading the tuner related modules. Udev rules or /etc/rc.d/* scripts may provide insights. Happy hunting. Regards, Andy _______________________________________________ ivtv-devel mailing list ivtv-devel [at] ivtvdriver http://ivtvdriver.org/mailman/listinfo/ivtv-devel
|