[linux-dvb] Re: [patch] TT C-1200 USB wrong frequency

Thomas Kaiser linux-dvb at kaiser-linux.li
Tue May 1 20:47:18 CEST 2007


Petri Helin wrote:
> Thomas Kaiser wrote:
>> Petri Helin wrote:
>>> Thomas Kaiser wrote:
>>>> Petri Helin wrote:
>>>>> Thomas Kaiser wrote:
>>>>>> Suur Karu wrote:
>>>>>>> Thomas Kaiser wrote:
>>>>>>>> Suur Karu wrote:
>>>>>>>> > My Technotrend Connect C-1200 USB DVB-C adapter have problem
>>>>>>>> > to tunning to 170MHz (no signal at all), but instead of it I 
>>>>>>>> found missing channels on frequency 178MHz (not listed in NIT 
>>>>>>>> table), but with big disturbance in picture and not stable LOCK 
>>>>>>>> (not usable).
>>>>>>>> >
>>>>>>>> > dmesg:
>>>>>>>> > ttusb_init_controller: unknown STC version V 2.5, please report!
>>>>>>>> > ttusb_init_controller: dsp-version: 0.0
>>>>>>>> > DVB: registering new adapter (Technotrend/Hauppauge Nova-USB).
>>>>>>>> > DVB: registering frontend 1 (ST STV0297 DVB-C)...
>>>>>>>> > usbcore: registered new driver ttusb
>>>>>>>>
>>>>>>>> If your device is using the philips tda1316 tuner, i think there 
>>>>>>>> is a problem in setting the correct Band. 162 MHz and above 
>>>>>>>> should be band 2 (Mid-Band). But in 
>>>>>>>> dvbc_philips_tdm1316l_tuner_set_params band 1 is set for 
>>>>>>>> frequencies below 200 MHz:
>>>>>>>>     // determine charge pump
>>>>>>>>     tuner_frequency = params->frequency;
>>>>>>>>     if      (tuner_frequency <  87000000) {return -EINVAL;}
>>>>>>>>     else if (tuner_frequency < 130000000) {cp = 3; band = 1;}
>>>>>>>>     else if (tuner_frequency < 160000000) {cp = 5; band = 1;}
>>>>>>>>     else if (tuner_frequency < 200000000) {cp = 6; band = 1;} <<==
>>>>>>>>     else if (tuner_frequency < 290000000) {cp = 3; band = 2;}
>>>>>>>>     else if (tuner_frequency < 420000000) {cp = 5; band = 2;}
>>>>>>>>     else if (tuner_frequency < 480000000) {cp = 6; band = 2;}
>>>>>>>>     else if (tuner_frequency < 620000000) {cp = 3; band = 4;}
>>>>>>>>     else if (tuner_frequency < 830000000) {cp = 5; band = 4;}
>>>>>>>>     else if (tuner_frequency < 895000000) {cp = 7; band = 4;}
>>>>>>>>     else {return -EINVAL;}
>>>>>>>>
>>>>>>>> Try to change to 2:
>>>>>>>>     else if (tuner_frequency < 200000000) {cp = 6; band = 2;}
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>> Yes! This fixed tuning problem. Thank You!
>>>>>>>
>>>>>>> Regards,
>>>>>>> SK
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> linux-dvb mailing list
>>>>>>> linux-dvb at linuxtv.org
>>>>>>> http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb
>>>>>>>
>>>>>>>
>>>>>>
>>>>>> Andrew, can you please add this small change to the official sources?
>>>>>>
>>>>>> Thank you, Thomas
>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>> Just to let you all know, in case you didn't see an earlier post 
>>>>> about tuning problems with TechnoTrend's C1500 card, the above 
>>>>> change broke tuning on those cards with frequencies under 160MHz.
>>>>>
>>>>> -Petri
>>>>
>>>> The above change should only affect frequencies between 160MHz and 
>>>> 200MHz. Can you explain why it affects tunning on frequencies 
>>>> _under_ 160MHz?
>>>>
>>>> Thomas
>>>>
>>>>
>>>>
>>>>
>>>
>>> I can only guess, maybe someone else can explain this. But I noticed 
>>> that there is a suspicious line just above the changed part of the 
>>> code.  An amount of 36.125 MHz is added to the frequency before band 
>>> is defined:
>>>
>>>         // determine charge pump
>>>         tuner_frequency = params->frequency + 36125000;
>>>         if (tuner_frequency < 87000000)
>>>                 return -EINVAL;
>>>         else if (tuner_frequency < 130000000) {
>>>                 cp = 3;
>>>                 band = 1;
>>>         } else if (tuner_frequency < 160000000) {
>>>                 cp = 5;
>>>                 band = 1;
>>>         } else if (tuner_frequency < 200000000) {
>>>                 cp = 6;
>>>
>>> -Petri
>>>
>>>
>>
>> Hello Petri
>>
>> You refer to the wrong change.
>> The code change above suggested by me is for the USB device.
>> It is in 
>> v4l-dvb/linux/drivers/media/dvb/ttusb-budget/dvb-ttusb-budget.c and 
>> got positive feedback.
>>
>> I think your code snip is from 
>> v4l-dvb/linux/drivers/media/dvb/ttpci/budget-ci.c
>> and I don't know why this frequency offset is needed for the PCI device?
>> Anyway, it is not needed for the USB device.
>>
>> You could start a new thread on the mail list and ask for what these 
>> offset is needed.
>>
>> Hope this helps.
>>
>> Thomas
>>
>>
> 
> Hi,
> 
> I refer to this change in budget-ci.c: 
> http://linuxtv.org/hg/v4l-dvb?cmd=changeset;node=e7c424bbf9aa;style=gitweb
> 
> ----- The change log ----------
> Fix TD1316 tuner for DVBC
> committer    Andrew de Quincey <adq_dvb at lidskialf.net>
>     Wed Nov 22 21:15:19 2006 +0000 (5 months ago)
> changeset    e7c424bbf9aa
> tree    77784ed2ef1c
> parent    fbd952a3bd91
> child    36f10656f43f
> Fix TD1316 tuner for DVBC
> 
> From: Thomas Kaiser <linux-dvb at kaiser-linux.li>
> 
> If your device is using the philips tda1316 tuner, i think there is a
> problem in setting the correct Band. 162 MHz and above should be band 2
> (Mid-Band). But in dvbc_philips_tdm1316l_tuner_set_params band 1 is set
> for frequencies below 200 MHz.
> 
> Signed-off-by: Thomas Kaiser <linux-dvb at kaiser-linux.li>
> Signed-off-by: Andrew de Quincey <adq_dvb at lidskialf.net>
> linux/drivers/media/dvb/ttpci/budget-ci.c        file | revisions
> --- a/linux/drivers/media/dvb/ttpci/budget-ci.c Wed Nov 22 21:02:58 2006 
> +0000
> +++ b/linux/drivers/media/dvb/ttpci/budget-ci.c Wed Nov 22 21:15:19 2006 
> +0000
> @@ -952,7 +952,7 @@ static int dvbc_philips_tdm1316l_tuner_s
> band = 1;
> } else if (tuner_frequency < 200000000) {
> cp = 6;
> - band = 1;
> + band = 2;
> } else if (tuner_frequency < 290000000) {
> cp = 3;
> band = 2;
> 
> --------------------------------------
> 
> 
> Has the change been applied to budget-ci.c in error? At least it looks 
> like the change has not been applied to dvb-ttusb-budget.c.
> 
> -Petri
> 
> 

Yes, it looks like. I never checked, because I don't own this USB device 
and just made the driver work for a friend some time ago. But he don't 
use these frequencies.

Anyway, looks like a misunderstanding between me and Andrew, the change 
should be for the USB device.

My fault, I did not provide a patch. Just a note by mail :-(

I will try to work this out.

Thanks for the hint.

Thomas


-- 
http://www.kaiser-linux.li



More information about the linux-dvb mailing list