Mailing List archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[linux-dvb] Re: Signal strength problem?
On Tue, 10 Jun 2003, Oscar Carlsson wrote:
> pvr dvbtune # ./dvbtune -f 362000000 -s 6875
...
> FE_STATUS: FE_HAS_SIGNAL FE_TIMEDOUT FE_HAS_CARRIER FE_HAS_VITERBI
> Not able to lock to the signal on the given frequency
You may have wrong QAM setting, or Inversion setting. I would bet the
inversion. You need to patch DVB-C portion of tune.c to set the inversion
ON, or you can use the patch below to give it on command line. Your
command line would be:
dvbtune -f 362000000 -s 6875 -qam 64 -I1
Or, you might try auto inversion setting, which is default after the
patch:
dvbtune -f 362000000 -s 6875 -qam 64 -I2
(same as: dvbtune -f 362000000 -s 6875 -qam 64)
Hope this helps,
Jaakko
Index: tune.c
===================================================================
RCS file: /cvsroot/dvbtools/dvbtune/tune.c,v
retrieving revision 1.15
diff -u -r1.15 tune.c
--- tune.c 16 Jan 2003 07:49:44 -0000 1.15
+++ tune.c 10 Jun 2003 04:38:54 -0000
@@ -188,14 +188,16 @@
event.status=0;
while (((event.status & FE_TIMEDOUT)==0) && ((event.status & FE_HAS_LOCK)==0)) {
fprintf(stderr,"polling....\n");
- if (poll(pfd,1,10000)){
+ if (poll(pfd,1,2000)){
if (pfd[0].revents & POLLIN){
fprintf(stderr,"Getting frontend event\n");
- if (status = ioctl(fd_frontend, FE_GET_EVENT, &event) < 0){
- if (status != -EOVERFLOW) {
- perror("FE_GET_EVENT");
- return -1;
+ if ( ioctl(fd_frontend, FE_GET_EVENT, &event) < 0){
+ if (EOVERFLOW == errno) {
+ fprintf (stderr, "Some events were lost\n");
+ continue;
}
+ perror("FE_GET_EVENT");
+ return -1;
}
}
print_status(stderr,event.status);
@@ -237,7 +239,7 @@
festatus=0;
ioctl(fd_frontend,FE_READ_STATUS,&festatus);
print_status(stderr,festatus);
- } else {
+ } else {
fprintf(stderr,"Not able to lock to the signal on the given frequency\n");
return -1;
}
@@ -517,19 +519,19 @@
#endif
break;
case FE_QAM:
- fprintf(stderr,"tuning DVB-C to %d, srate=%d\n",freq,srate);
+ fprintf(stderr,"tuning DVB-C to %f MHz, srate=%f Msym/s\n",freq/1e6,srate/1e6);
#ifdef NEWSTRUCT
feparams.frequency=freq;
- feparams.inversion=INVERSION_OFF;
+ feparams.inversion=specInv;
feparams.u.qam.symbol_rate = srate;
- feparams.u.qam.fec_inner = FEC_AUTO;
- feparams.u.qam.modulation = QAM_64;
+ feparams.u.qam.fec_inner = FEC_NONE;
+ feparams.u.qam.modulation = modulation;
#else
feparams.Frequency=freq;
- feparams.Inversion=INVERSION_OFF;
+ feparams.Inversion=specInv;
feparams.u.qam.SymbolRate = srate;
feparams.u.qam.FEC_inner = FEC_AUTO;
- feparams.u.qam.QAM = QAM_64;
+ feparams.u.qam.QAM = modulation;
#endif
break;
default:
--
Foreca Ltd Jaakko.Hyvatti@foreca.com
Pursimiehenkatu 29-31 B, FIN-00150 Helsinki, Finland http://www.foreca.com
--
Info:
To unsubscribe send a mail to ecartis@linuxtv.org with "unsubscribe linux-dvb" as subject.
Home |
Main Index |
Thread Index