Mailing List archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[linux-dvb] Re: Budget DVB-C tuning problems
Am Freitag, 13. Februar 2004 23:51 schrieb Robert Schlabbach:
> downwards a few times - I think you'll get a "no lock" very soon. You
> really need to implement the VAFC check and reset the VES1820 if VAFC runs
> out of a minimum range.
I tried the bit 0 stuff but it didn't seem to work. The content of register
0x00 is needed to AND/OR it. But the bits of reg0 are still a mystery to me
because a ves1820 datasheet is impossible to download. Here is the output
with bit 0 reset:
-----------------------------------------------------------
kernel: tuner_set_tv_freq freq=450000000
kernel: ves1820_set_symbolrate 6900000
kernel: ves1820_setup_reg0 reg0=0x8
kernel: Reset via reg0
kernel: Reset again..
kernel: Now reg0=0x48
kernel: FE_READ_STATUS status=0x7 DVB: VES1820(0): AFC (-5) 0Hz
kernel: Reset demodulator reg0=0x48
kernel: DVB: VES1820(0): AFC (-5) 568696Hz
kernel: Reset demodulator reg0=0x48
kernel: DVB: VES1820(0): AFC (-5) 568696Hz
kernel: Reset demodulator reg0=0x48
kernel: DVB: VES1820(0): AFC (-5) 568696Hz
kernel: Reset demodulator reg0=0x48
kernel: DVB: VES1820(0): AFC (-48) -412544
kernel: Reset demodulator reg0=0x48
kernel: DVB: VES1820(0): AFC (-5) 568696Hz
-----------------------------------------------------------
Moreover, I think this task belongs to the dvb_frontend_thread. Fiddling with
it I noticed the following:
-----------------------------------------------------------
kernel: tuner_set_tv_freq freq=410000000
kernel: ves1820_set_symbolrate 6900000
kernel: ves1820_setup_reg0 reg0=0x8
kernel: Reset via reg0
kernel: Reset again..
kernel: Now reg0=0x48
kernel: FE_READ_STATUS status=0x7
last message repeated 3 times
kernel: no lock
kernel: dvb_frontend_add_event
kernel: dvb_call_frontend_notifiers
kernel: FE_READ_STATUS status=0x7
kernel: FE_READ_STATUS status=0x7
kernel: no lock
:
kernel: FE_READ_STATUS status=0x7
kernel: FE_READ_STATUS status=0x7
kernel: no lock
kernel: FE_READ_STATUS status=0x7
kernel: dvb_frontend_release
kernel: FE_READ_STATUS status=0x7
kernel: no lock
kernel: FE_READ_STATUS status=0x7
kernel: no lock
kernel: FE_READ_STATUS status=0x7
kernel: no lock
:
-----------------------------------------------------------
What is this dvb_frontend_add_event, dvb_call_frontend_notifiers and
dvb_frontend_release stuff doing?
Finally I managed to get working by removing the FE_CAN_RECOVER flag from the
ves1820 capabilities. Now, when the tuner gets no lock dvb_frontend_recover
is called (ioctl 0x7652 must be FE_RESET).
-----------------------------------------------------------
kernel: dvb_frontend_open
kernel: dvb_frontend_start
kernel: dvb_frontend_thread
kernel: dvb_call_frontend_notifiers
kernel: DVB: initialising frontend 0:0 (VES1820 based DVB-C frontend)...
kernel: dvb_bend_frequency
kernel: dvb_frontend_set_parameters: f == 410000000, drift == 0
kernel: FE_SET_FRONTEND
kernel: ----------- ves1820_set_parameters real_qam=2 ------------
kernel: tuner_set_tv_freq freq=410000000
kernel: ves1820_set_symbolrate 6900000
kernel: ves1820_setup_reg0 reg0=0x8
kernel: Reset via reg0
kernel: Reset again..
kernel: Now reg0=0x48
kernel: FE_READ_STATUS status=0x0
kernel: FE_READ_STATUS status=0x7
last message repeated 2 times
kernel: no lock cant recover dvb_frontend_recover
kernel: dvb_bend_frequency
kernel: dvb_frontend_set_parameters: f == 410000000, drift == 0
kernel: FE_SET_FRONTEND
kernel: ----------- ves1820_set_parameters real_qam=2 ------------
kernel: tuner_set_tv_freq freq=410000000
kernel: ves1820_set_symbolrate 6900000
kernel: ves1820_setup_reg0 reg0=0x8
kernel: Reset via reg0
kernel: Reset again..
kernel: Now reg0=0x68
kernel: ioctl 0x7652 not supported!
kernel: dvb_frontend_add_event
kernel: dvb_call_frontend_notifiers
kernel: FE_READ_STATUS status=0x1F
kernel: FE_READ_STATUS status=0x1F
kernel: dvb_frontend_add_event
kernel: FE_GET_FRONTEND reg0=0x68
kernel: sync=0xF DVB: VES1820(0): AFC (-21) -141504Hz
-----------------------------------------------------------
The "second call" to FE_SET_FRONTEND makes the tuner lock.
May the ioctl FE_RESET should be implemented with a working demodulator reset.
But without datasheet...
> Regards,
Cheers
Ingolf Haberer
--
Info:
To unsubscribe send a mail to ecartis@linuxtv.org with "unsubscribe linux-dvb" as subject.
Home |
Main Index |
Thread Index