Mailing List archive

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

[linux-dvb] Does ANYONE have DVB-C working???



I cannot get my DVB-C card to even find a signal using the Linux driver.
Works fine under Windows (reference software 2.08), so all parameters should
be correct. Watch TV Pro works too. It uses the same driver as the reference
software. WinDVBLive DOES NOT work. Seems to be the same problem as with
Linux.

* Technotrend DVB-C v2.1 with optional CA-slot (but no CAM).
* RedHat 7.1 w/ Linux kernel 2.4.16
* Latest DVB-driver package (2001-12-12) from convergence.

Can someone please tell me ANYONE have a rev "C-2.1" that works!!!

Does the driver developers have this card available for testing? It is
supported according to the list @ http://www.linuxtv.org/developer/dvb.xml

Can the driver developers please comment? Am I doing something wrong? What
can I provide you to further comment on this?

Regards,

Stefan Norberg



Output from my small test "czap" (modified s/tzap):
[root@localhost szap]# gcc -I../../ost/include/ czap.c -o czap
[root@localhost szap]# ./czap
 status == 0x01: FE_HAS_POWER
 status == 0x01: FE_HAS_POWER
 status == 0x01: FE_HAS_POWER
 status == 0x01: FE_HAS_POWER
 status == 0x01: FE_HAS_POWER
 status == 0x01: FE_HAS_POWER
 status == 0x01: FE_HAS_POWER
 status == 0x01: FE_HAS_POWER
 status == 0x01: FE_HAS_POWER
 status == 0x01: FE_HAS_POWER
 status == 0x01: FE_HAS_POWER
 status == 0x01: FE_HAS_POWER
 status == 0x01: FE_HAS_POWER
 status == 0x01: FE_HAS_POWER
 status == 0x01: FE_HAS_POWER
 status == 0x01: FE_HAS_POWER
 status == 0x01: FE_HAS_POWER
 status == 0x01: FE_HAS_POWER
 status == 0x01: FE_HAS_POWER
 status == 0x01: FE_HAS_POWER
 status == 0x01: FE_HAS_POWER
 status == 0x01: FE_HAS_POWER
 status == 0x01: FE_HAS_POWER
 status == 0x01: FE_HAS_POWER
 status == 0x01: FE_HAS_POWER

---------------------------------------
/var/log/messages
---------------------------------------
ec 13 01:58:01 localhost kernel: i2c-core.o: i2c core module
Dec 13 01:58:01 localhost kernel: Linux video capture interface: v1.00
Dec 13 01:58:01 localhost kernel: i2c-core.o: driver VES1893 DVB demodulator
registered.
Dec 13 01:58:01 localhost kernel: i2c-core.o: driver VES1820 DVB demodulator
registered.
Dec 13 01:58:01 localhost kernel: i2c-core.o: driver L64781 DVB demodulator
registered.
Dec 13 01:58:01 localhost kernel: init_SP8870:
Dec 13 01:58:01 localhost kernel: i2c-core.o: driver SP8870 DVB demodulator
registered.
Dec 13 01:58:01 localhost kernel: i2c-core.o: driver tda8083 DVB demodulator
registered.
Dec 13 01:58:01 localhost kernel: i2c-core.o: driver stv0299 DVB demodulator
registered.
Dec 13 01:58:01 localhost kernel: stv0299: init done
Dec 13 01:58:01 localhost kernel: i2c-core.o: driver i2c TV tuner driver
registered.
Dec 13 01:58:01 localhost kernel: saa7146_core.o: saa7146(1): bus:2, rev:1,
mem:0xcc998000.
Dec 13 01:58:01 localhost kernel: VES1820: attaching VES1820 at 0x12
Dec 13 01:58:01 localhost kernel: i2c-core.o: client [VES1820] registered to
adapter [saa7146(1)](pos. 0).
Dec 13 01:58:02 localhost kernel: VES1820: attached to adapter saa7146(1)
Dec 13 01:58:02 localhost kernel: SP8870: no SP8870 found ...
Dec 13 01:58:02 localhost kernel: tuner: chip found @ 0x62
Dec 13 01:58:02 localhost kernel: i2c-core.o: client [i2c tv tuner chip]
registered to adapter [saa7146(1)](pos. 1).
Dec 13 01:58:02 localhost kernel: i2c-core.o: adapter saa7146(1) registered
as adapter 0.
Dec 13 01:58:02 localhost kernel: dvb: init_dvb
Dec 13 01:58:02 localhost kernel: bootarm: debi test OK
Dec 13 01:58:02 localhost kernel: bootarm: load boot code
Dec 13 01:58:03 localhost kernel: bootarm: load dram code
Dec 13 01:58:03 localhost kernel: Unable to load 'arm_firm/Root'.
Dec 13 01:58:03 localhost kernel: Writing DRAM block 0
...
Dec 13 01:58:04 localhost kernel: Writing DRAM block 81
Dec 13 01:58:04 localhost kernel: bootarm: load dpram code
Dec 13 01:58:04 localhost kernel: Unable to load 'arm_firm/Dpram'.
Dec 13 01:58:05 localhost kernel: dvb0: AV7111 - firm f0240009, rtsl
b0250018, vid 71010068, app 00010002
Dec 13 01:58:05 localhost kernel: adapter id = 25  addr = 12
Dec 13 01:58:05 localhost kernel: adapter id = 02  addr = c4
Dec 13 01:58:05 localhost kernel: initfront tunertype=17 dvbtype=2
Dec 13 01:58:06 localhost kernel: tuner: type set to 17 (SPXXXX)
Dec 13 01:58:06 localhost kernel: dvb: dvbdevice found
Dec 13 01:58:06 localhost kernel: dvb: 1 dvb(s) found!
Dec 13 01:58:27 localhost kernel: try to open DEVICE_FRONTEND_0
Dec 13 01:58:27 localhost kernel: try to open DEVICE_FRONTEND_0
Dec 13 01:58:27 localhost kernel: tuner: tv freq set to 386012000
Dec 13 01:58:27 localhost kernel: buffer == 0x1a 0x62 0x8e 0x92
Dec 13 01:58:28 localhost kernel: tuner: tv freq set to 386012000
Dec 13 01:58:28 localhost kernel: buffer == 0x1a 0x62 0x8e 0x92
Dec 13 01:58:28 localhost kernel: tuner: tv freq set to 386012000
Dec 13 01:58:28 localhost kernel: buffer == 0x1a 0x62 0x8e 0x92
Dec 13 01:58:29 localhost kernel: tuner: tv freq set to 385582313
Dec 13 01:58:29 localhost kernel: buffer == 0x1a 0x5b 0x8e 0x92
Dec 13 01:58:29 localhost kernel: tuner: tv freq set to 386441687
Dec 13 01:58:29 localhost kernel: buffer == 0x1a 0x69 0x8e 0x92
Dec 13 01:58:30 localhost kernel: tuner: tv freq set to 385152626
Dec 13 01:58:30 localhost kernel: buffer == 0x1a 0x54 0x8e 0x92
Dec 13 01:58:30 localhost kernel: tuner: tv freq set to 386871374
Dec 13 01:58:30 localhost kernel: buffer == 0x1a 0x6f 0x8e 0x92
Dec 13 01:58:31 localhost kernel: tuner: tv freq set to 384722939
Dec 13 01:58:31 localhost kernel: buffer == 0x1a 0x4d 0x8e 0x92
Dec 13 01:58:31 localhost kernel: tuner: tv freq set to 387301061
Dec 13 01:58:31 localhost kernel: buffer == 0x1a 0x76 0x8e 0x92
Dec 13 01:58:32 localhost kernel: tuner: tv freq set to 384293252
Dec 13 01:58:32 localhost kernel: buffer == 0x1a 0x46 0x8e 0x92
Dec 13 01:58:32 localhost kernel: tuner: tv freq set to 387730748
Dec 13 01:58:32 localhost kernel: buffer == 0x1a 0x7d 0x8e 0x92
Dec 13 01:58:33 localhost kernel: tuner: tv freq set to 383863565
Dec 13 01:58:33 localhost kernel: buffer == 0x1a 0x3f 0x8e 0x92
Dec 13 01:58:34 localhost kernel: tuner: tv freq set to 388160435
Dec 13 01:58:34 localhost kernel: buffer == 0x1a 0x84 0x8e 0x92
Dec 13 01:58:34 localhost kernel: tuner: tv freq set to 383433878
Dec 13 01:58:34 localhost kernel: buffer == 0x1a 0x38 0x8e 0x92
Dec 13 01:58:35 localhost kernel: tuner: tv freq set to 388590122
Dec 13 01:58:35 localhost kernel: buffer == 0x1a 0x8b 0x8e 0x92
Dec 13 01:58:35 localhost kernel: tuner: tv freq set to 383004191
Dec 13 01:58:35 localhost kernel: buffer == 0x1a 0x32 0x8e 0x92
Dec 13 01:58:36 localhost kernel: tuner: tv freq set to 389019809
Dec 13 01:58:36 localhost kernel: buffer == 0x1a 0x92 0x8e 0x92
Dec 13 01:58:36 localhost kernel: tuner: tv freq set to 382574504
Dec 13 01:58:36 localhost kernel: buffer == 0x1a 0x2b 0x8e 0x92
Dec 13 01:58:37 localhost kernel: tuner: tv freq set to 389449496
Dec 13 01:58:37 localhost kernel: buffer == 0x1a 0x99 0x8e 0x92
Dec 13 01:58:37 localhost kernel: tuner: tv freq set to 382144817
Dec 13 01:58:37 localhost kernel: buffer == 0x1a 0x24 0x8e 0x92
Dec 13 01:58:38 localhost kernel: tuner: tv freq set to 389879183
Dec 13 01:58:38 localhost kernel: buffer == 0x1a 0xa0 0x8e 0x92
Dec 13 01:58:38 localhost kernel: tuner: tv freq set to 386012000
Dec 13 01:58:38 localhost kernel: buffer == 0x1a 0x62 0x8e 0x92


---------------------------------------
czap.c
---------------------------------------
#include <sys/types.h>
#include <sys/stat.h>
#include <sys/ioctl.h>
#include <unistd.h>
#include <stdlib.h>
#include <stdio.h>
#include <fcntl.h>
#include <ctype.h>

#ifdef DVB_IN_KERNEL
#  include <linux/ost/frontend.h>
#  include <linux/ost/dmx.h>
#else
#  include <ost/frontend.h>
#  include <ost/dmx.h>
#endif


#define FRONTEND_DEV "/dev/ost/frontend0"
#define DEMUX_DEV "/dev/ost/demux0"

static
int setup_demux (int video_pid, int audio_pid)
{
   int vfd, afd;
   struct dmxPesFilterParams pesfilter;

   if ((vfd = open (DEMUX_DEV, O_RDWR)) < 0) {
      fprintf (stderr, "failed opening '%s' !!!\n", DEMUX_DEV);
      return -1;
   }

   if ((afd = open (DEMUX_DEV, O_RDWR)) < 0) {
      fprintf (stderr, "failed opening '%s' !!!\n", DEMUX_DEV);
      return -1;
   }

   pesfilter.pid = video_pid;
   pesfilter.input = DMX_IN_FRONTEND;
   pesfilter.output = DMX_OUT_DECODER;
   pesfilter.pesType = DMX_PES_VIDEO;
   pesfilter.flags = DMX_IMMEDIATE_START;

   if (ioctl (vfd, DMX_SET_PES_FILTER, &pesfilter) < 0) {
      fprintf (stderr, "ioctl(DMX_SET_PES_FILTER) for Video PID failed
!\n");
      return -1;
   }
   pesfilter.pid = audio_pid;
   pesfilter.input = DMX_IN_FRONTEND;
   pesfilter.output = DMX_OUT_DECODER;
   pesfilter.pesType = DMX_PES_AUDIO;
   pesfilter.flags = DMX_IMMEDIATE_START;

   if (ioctl (afd, DMX_SET_PES_FILTER, &pesfilter) < 0) {
      fprintf (stderr, "ioctl(DMX_SET_PES_FILTER) for Audio PID failed
!\n");
      return -1;
   }

   close (vfd);
   close (afd);
   return 0;
}

static
int setup_frontend (FrontendParameters *frontend)
{
   int fd;

   if ((fd = open (FRONTEND_DEV, O_RDWR)) < 0) {
      fprintf (stderr, "failed opening '%s' !!!\n", FRONTEND_DEV);
      return -1;
   }

   ioctl (fd, FE_SET_FRONTEND, frontend);

   close (fd);
   return 0;
}


static
int check_frontend (void)
{
   int fd;
   FrontendStatus status;

   if ((fd = open (FRONTEND_DEV, O_RDWR)) < 0) {
      fprintf (stderr, "failed opening '%s' !!!\n", FRONTEND_DEV);
      return -1;
   }

   do {
      ioctl (fd, FE_READ_STATUS, &status);
      printf (" status == 0x%02x: ", status);
      if (status & FE_HAS_POWER)
         printf ("FE_HAS_POWER ");
      if (status & FE_HAS_SIGNAL)
         printf ("FE_HAS_SIGNAL ");
      if (status & FE_SPECTRUM_INV)
         printf ("FE_SPECTRUM_INV ");
      if (status & FE_HAS_LOCK)
         printf ("FE_HAS_LOCK ");
      if (status & FE_HAS_CARRIER)
         printf ("FE_HAS_CARRIER ");
      if (status & FE_HAS_VITERBI)
         printf ("FE_HAS_VITERBI ");
      if (status & FE_HAS_SYNC)
         printf ("FE_HAS_SYNC ");
      if (status & FE_TUNER_HAS_LOCK)
         printf ("FE_TUNER_HAS_LOCK ");
      printf ("\n");
      usleep (1000000);
   } while (!(status & FE_HAS_LOCK));

   close (fd);
   return 0;
}


int main (int argc, char **argv)
{
   FrontendParameters frontend;
   int vpid, apid;

   memset(&frontend, 0, sizeof(FrontendParameters));

   frontend.Frequency=386012000;
   frontend.Inversion=INVERSION_AUTO;
   frontend.u.qam.SymbolRate=6875000;
   frontend.u.qam.FEC_inner=FEC_AUTO;
   frontend.u.qam.QAM=QAM_64;

   vpid=0;
   apid=2327;

   setup_frontend (&frontend);
   setup_demux (vpid, apid);

   return check_frontend ();
}




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


Home | Main Index | Thread Index