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,¶m));
> 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,¶m);
> 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