[linux-dvb] DiB3000MC rewritten and MT2060 is ready to go into main

matthieu castet castet.matthieu at free.fr
Wed Aug 2 17:50:10 CEST 2006


matthieu castet wrote:
> castet.matthieu at free.fr wrote:
> 
>> Hi,
>>
>> Selon Patrick Boettcher <patrick.boettcher at desy.de>:
>>
>>
>>> Might be a mistake: Do you say that when you convert the data from 
>>> the old
>>> buffer to the new agc-structure it works better? Otherwise I don't 
>>> see why
>>> it changed.
>>>
>>
>> I didn't try that yet. I wanted first to know your opinion on it.
>>
>> I will try it this evening.
>>
> No it still doesn't help :(
> As I don't have a datasheet nor a knowlege of the driver, I don't know 
> what to try.
> 
> With your mt2060 dongle, don't you see a signal strength loose between 
> old driver (with patched signal strength report) and new driver ?
> 
> Can't you attenuate your reception quality in order to check if you see 
> the same behaviour ?
> 
> 
I found a bug in the mt2060, the VGAG wasn't set to a correct level.

Now I get the signal level from the old driver, but there still no 
picture...

The rate of the dvb stream reported by femon (from vdr is very low) : 
0.5 Mb/s instead of 5 Mb/s.

Matthieu

PS : I attach a patch that add a init fonction from the mt2060 and 
remove the .calc_regs callback as lot's of frontends check if the 
callback is here but the returned value...
-------------- next part --------------
--- mt2060.c.old	2006-08-02 17:39:44.000000000 +0200
+++ mt2060.c	2006-08-02 17:41:38.000000000 +0200
@@ -283,11 +283,6 @@
 		dprintk("FMCAL timed out");
 }
 
-static int mt2060_calc_regs(struct dvb_frontend *fe, struct dvb_frontend_parameters *params, u8 *buf, int buf_len)
-{
-	return -ENODEV;
-}
-
 static int mt2060_get_frequency(struct dvb_frontend *fe, u32 *frequency)
 {
 	struct mt2060_priv *priv = fe->tuner_priv;
@@ -302,6 +297,12 @@
 	return 0;
 }
 
+static int mt2060_init(struct dvb_frontend *fe)
+{
+	struct mt2060_priv *priv = fe->tuner_priv;
+	return mt2060_writereg(priv, REG_VGAG,0x33);
+}
+
 static int mt2060_sleep(struct dvb_frontend *fe)
 {
 	struct mt2060_priv *priv = fe->tuner_priv;
@@ -325,10 +326,10 @@
 
 	.release       = mt2060_release,
 
+	.init          = mt2060_init,
 	.sleep         = mt2060_sleep,
 
 	.set_params    = mt2060_set_params,
-	.calc_regs     = mt2060_calc_regs,
 	.get_frequency = mt2060_get_frequency,
 	.get_bandwidth = mt2060_get_bandwidth
 };


More information about the linux-dvb mailing list