Re: %09Mantis%09VP-1027/VP-1033/VP-1034/VP-2033/VP-3033

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




Hi Elmar and Manu

Maybe the smallest improvement might be to just
adjust the wait from 50ms into 10 seconds:
if FE_TUNE_MODE_ONESHOT is in use, dvb_frontend.c
must just wait a very long time.

Here are other thoughts, that might be helpful for you to get MB86A16
working:

I know that the values that I gave for dvb_frontend_tune_settings
might be the best values for DVB-C.
With DVB-C with me, max_drift and step_size must(?) be zero.
So no heuristics to figure out the optimal frequency.

With dvb_frontend.c frequencies are tested with steps.
One frequency step is defined with step_size.
max_drift gives an upper limit to the maximal frequency
drift based on the given original frequency. The max_drift is reached
by stepping long enough.

In dvb_frontend.c in function dvb_frontend_swzigzag_autotune() there is
heuristics for this optimal frequency selection.

That function needs nonzero max drift and step size.
Maybe the unit is HZ on both of them.

dvb_frontend_swzigzag_autotune() function assumes that fe->ops.set_frontend() is a simple function:
Inversion selection and small frequency tuning are done in dvb_frontend.c.

That's what I found with cu1216.c with frequency setting function:
by simplifying cu1216.c I managed to make cu1216.c to work.

dvb_frontend.c assumes, that cu1216.c has a simple frequency
setting with no inversion heuristics and with no frequency drift heuristics of it's own. cu1216_set_parameters() has also a very short maximum delay on my implementation.
That made dvb_frontend.c to do correct and successful
LOCK heuristics for me.

cu1216.c still figures out best gain setting for the given frequency and inversion.
That is not done in dvb_frontend.c.

So you could do further testing by simplfying mb86a16.c and testing
with different values on step_size and max_drift.

The problems seem to be mostly on software side, so it is this heuristics
and mb86a16_set_frontend() and mb86a16_mb86a16_read_status() function that are critical for lock acquirance.

Regards,
Marko Ristola

Elmar Schmidt kirjoitti:
Hi,
I aded the Lines from Marko Ristola to my cu1216.c File.

Anywere:

---
static int cu1216_get_tune_settings(struct dvb_frontend* fe, struct
dvb_frontend_tune_settings* settings)
{
    settings->min_delay_ms = 50;
    settings->step_size = 0; /* FE_QAM: zero */
    settings->max_drift = 0; /* FE_QAM: zero */

    return 0;
}
---


In dvb_frontend_ops:

---
.get_tune_settings            = cu1216_get_tune_settings,
---


But it doesnt work. Same Output like before this Changes :(
Is anything wrong with this Changes? Wrong Lines maybe?

After i added these Changes I did the following:
make all
cp v4l/cu1216.kp /lib/modules/kernel/drivers/media/dvb/mantis/
make install
modules-update
depmod -a

Infos:
amd64 Gentoo 2006.1

PS: Hope this opens not a new Thread. If this Mail opens a new Thread, so I have to say sorry. I dont get the Answeres in my E-Mail Programm to work.
SORRY.

--Using Opera's revolutionary e-mail client: http://www.opera.com/mail/

_______________________________________________
linux-dvb mailing list
linux-dvb@xxxxxxxxxxx
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb



_______________________________________________
linux-dvb mailing list
linux-dvb@xxxxxxxxxxx
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb

[Index of Archives]     [Linux Media]     [Video 4 Linux]     [Asterisk]     [Samba]     [Xorg]     [Xfree86]     [Linux USB]

  Powered by Linux