Mailing List archive

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

[linux-dvb] Re: tuning problem



Hi!

On Thu, 28 Feb 2002, Arpi wrote:
> I've put together a simple app to scan through freq ranges and show signal
> strength and other flags (sync, carrier etc) for each mhz.
> When I start it, for few minutes it's running fine, and then it lost the
> control over the card, just shows zero signal. Even if i start VDR or other
> dvb app, i got no channels tuned again, until hard reset :(

Recent driver version? Are there syslog messages?

I can confirm this kind of phenomenon for the old 0.8.2 driver with a
DVB-S 1.3 card. I revived the "stest" program that uses libdvb scanning
routines. From time to time the program hangs while syslog reveals DEBI
timeout and ARM reset messages.
 
> Any idea, about what am i doing wrong?
> 
> Multidec 8 and the technotrend windows programs could scan the whole range,
> so the card/lnb etc should be ok. I just wanted to add such feature to VDR.
> 
> Maybe I should disable/enable some other flags somewhere to set up 'channel
> scanning' mode?

Where are those flags?

It seems there is a risk that the ARM firmware may hang on heavy traffic
through the DEBI port. Well, only a certain kind of traffic. For me no
hangs appear while reading/writing streams thru DEBI. As said this is true
for the 0.8.2 driver.

> Or it just drives LNB to some disallowd freq range ?

There is no frequency control data sent to the LNB.

> What's the relation between FrontendParameters.Frequency, and the LNB limits
> (9750, 10600 and switch freq 11700) ?

The frontend device relates to tuner hardware module and its properties.
LNB settings must be dealt via the SEC device.
 
> For reference, the interesting part of my code:
> 
> 
>         FrontendInfo info;
>         FrontendParameters param;
>         if((fd = open("/dev/ost/frontend",O_RDWR)) < 0){
>                 perror("FRONTEND DEVICE: ");
>                 return -1;
>         }
>         printf("selftest=%d\n",ioctl(fd,FE_SELFTEST));
                                          ^^^^^^^^^^^
Does nothing.

>         printf("get_info=%d\n",ioctl(fd,FE_GET_INFO,&info));
                                          ^^^^^^^^^^^
Returned values are not reliable. An allowed frequency range of
500..2700000 kHz for DVB-S is nonsense IMHO. Unfortunately out-of-range
or "silly" input values are not rejected, neither by dvb.o nor tuner.o.

>         printf("get_param=%d\n",ioctl(fd,FE_GET_FRONTEND,&param));
>         for(freq=info.minFrequency;freq<info.maxFrequency;freq+=250){
>             int x=0;
> //              printf("FREQ=%d\n",freq);
>                 param.Frequency=freq*1000;
                                       ^^^^
param.Frequency needs [kHz] for DVB-S.

>                 ioctl(fd,FE_SET_FRONTEND,&param);
>                 usleep(500000);
>                 ioctl(fd,FE_READ_SIGNAL_STRENGTH,&sstr);x+=sstr;
>                 usleep(100000);
>                 ioctl(fd,FE_READ_SIGNAL_STRENGTH,&sstr);x+=sstr;
>                 usleep(100000);
>                 ioctl(fd,FE_READ_SIGNAL_STRENGTH,&sstr);x+=sstr;
>                 usleep(100000);
>                 ioctl(fd,FE_READ_SIGNAL_STRENGTH,&sstr);x+=sstr;
>                 usleep(100000);
>                 ioctl(fd,FE_READ_STATUS,&status);
>                 printf("FREQ=%10.3f MHz SS=%5d STATUS=0x%02X\n",
> 			(float)(freq*0.001f),sstr,status);
> 	}

My experiences with DVB-S 1.3 (VES1893 demodulator) say that the signal
strength parameter is not explicit enough to detect a good-quality
reception status.


Bye,
     Rolf




-- 
Info:
To unsubscribe send a mail to listar@linuxtv.org with "unsubscribe linux-dvb" as subject.


Home | Main Index | Thread Index