Mailing List archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[linux-dvb] Siemens DVB-C won't display video
- To: linux-dvb@linuxtv.org
- Subject: [linux-dvb] Siemens DVB-C won't display video
- From: Chris Worley <cworley@liberate.com>
- Date: Tue, 18 Sep 2001 10:45:06 -0600
- Content-Transfer-Encoding: 7bit
- Content-Type: text/plain; charset=us-ascii; format=flowed
- Delivered-To: mhonarc@limes.convergence.de
- Sender: linux-dvb-bounce@linuxtv.org
- User-Agent: Mozilla/5.0 (X11; U; Linux 2.2.16-22smp i686; en-US; m18) Gecko/20010110 Netscape6/6.5
I had this Siemens DVB-C card working well under 0.8.2.
I've been upgrading the OS and driver with latest (up to this
morning's) CVS versions for the past two months, and the Hauppauge
DVB-S card works fine, but not the Siemens DVB-C.
The cable stream is clear and valid (I can plug the cable in a STB and
see the video).
It seems like it's getting the stream, but just not
decoding/displaying the video. (I'm using a multisync TV that ought
to display just about anything).
The PES Filter IOCTL should get the decoder and video output started,
and it's very straight forward:
ioctl(fd, DMX_STOP);
pesFilterParams.pid = Pid;
pesFilterParams.input = DMX_IN_FRONTEND;
pesFilterParams.output = DMX_OUT_DECODER;
pesFilterParams.pesType = DMX_PES_VIDEO;
pesFilterParams.flags = DMX_IMMEDIATE_START;
if (ioctl(fd, DMX_SET_PES_FILTER, &pesFilterParams) < 0)...
But, no video.
Driver debug messages show the frequency/symbol rate/QAM64/FEC is
being set correctly:
...mon_complete(0): freq=602750000, sr=6900000, realfreq=602750000,
step=0 , fdiff=0, fec=0
That's later followed by some AFC tuning offset:
...dvb_mon(0): mon_afc freq:602750000 curfreq:602750000 afc:-20214
sync:e nest:0 vber:1048575
After waiting for the FE_COMPLETION_EV then setting the PIDs and
unblanking the video, I print the different front end status values:
if (fd_video >= 0 && fd_audio >= 0) {
ioctl(fd_audio, AUDIO_SET_MUTE, false);
ioctl(fd_video, VIDEO_SET_BLANK, false);
}
#define checkstatus(str, const, val) \
if (ioctl(frontend_fd, const, &val) < 0) {\
perror(str); \
} else {\
fprintf(stderr, str, val); \
}
checkstatus("Cumulative bit errors %d, ",
FE_READ_BER, uretdata);
checkstatus("Signal to noise ratio: %d, ",
FE_READ_SNR, retdata);
checkstatus("Signal strength: %d\n\n",
FE_READ_SIGNAL_STRENGTH, retdata);
The output usually looks like:
Cumulative bit errors 10485750,
Signal to noise ratio: 21250000,
Signal strength: 69
The SNR is always constant (not a clue what the value means), the BER
is fairly constant (sometimes the number dips down, then returns; I'm
guessing this is totally bogus). The signal strength bounces between
0 and ~70. It's usually 69, and the symbol rate is 6.9e6 -- probably
just coincidence.
The driver frequently reloads the firmware. This does display on the
screen (a full screen multi-colored herring bone pattern followed by
the Convergence copyright, which slides off the bottom of the screen).
The reload usually occurs when I haven't changed the PIDs for
awhile, then happens right as I'm changing them.
Up until about two weeks ago, the latest CVS sync would allow me to
fetch good SI data, but it was acting strangely: the amount of SI data
I was getting would be a function of the previously set video/audio
pids (getting SI data off PID 0 would be a function of freq/srate, but
not other active PIDs)! With a current CVS sync, I'm not getting any
SI data back at all, from any PID.
The CVS sync from July 2nd, which I successfully use for the DVB-S
card, panics when using the DVB-C card with a null pointer in the
kernel while loading the dvb.o module while it's loading the firmware.
Setting "readfirm=0" on the module load avoids the panic, but still
no video output.
Any ideas?
Thanks,
Chris
--
Info:
To unsubscribe send a mail to listar@linuxtv.org with "unsubscribe linux-dvb" as subject.
Home |
Main Index |
Thread Index