Deutsch > Sundtek MediaTV Pro

dvbloopback, sasc-ng

<< < (2/5) > >>

Sundtek:
Eventuell sollten Sie den Treiber versuchen zu aktualisieren, es gab am 27. August 2 Updates das jeweils spätere beinhaltet Radio Support für gängige Applikationen. Die adapter[n] Node sollte in der Tat sichtbar sein.

sundtek@fl:
Habe es gerade noch einmal versucht. Für jegliche Tips bei der Geräteerkennung wäre ich dankbar.

mediaclient -e bringt:

**** List of Media Hardware Devices ****
device 0: [ Sundtek MediaTV Pro] DVB-C, DVB-T, ANALOG-TV, FM-RADIO, REMOTE-CONTROL
  [DVB-C]:
     FRONTEND: /dev/dvb/adapter0/frontend0
     DVR: /dev/dvb/adapter0/dvr0
     DMX: /dev/dvb/adapter0/demux0


ls -al /dev/dvb/adapter0/
ls: /dev/dvb/adapter0/: No such file or directory
ls: cannot access /dev/dvb/adapter0/.: No such file or directory
ls: cannot access /dev/dvb/adapter0/..: No such file or directory
ls: /dev/dvb/adapter0/frontend0: No such file or directory
total 0
c????????? ? ?    ?       ?                ? .
c????????? ? ?    ?       ?                ? ..
crw-r--r-- 1 root root 0, 0 2009-08-28 22:03 frontend0

"./sasc-ng -j 0:1 --cam-budget" bringt:

scandir: No such file or directory
Aug 28 22:01:33.139 : Didn't find any DVB adapters!

Sundtek:
Das Problem wird unsererseits bearbeitet, es liegt daran das wir derzeitig "scandir" nicht unterstützen.
Dies wird mit einem der nächsten Updates jedoch auch unterstützt werden.

sundtek@fl:
Müsste es dann aber so nicht funktionieren?

 n = 1;

  *adaptermap = (struct t_adaptermap *)malloc(n * sizeof(struct t_adaptermap));
  for(i = 0; i < n; i++) {

      adapter = i;
      snprintf(frontend, 30, "/dev/dvb/adapter%d/frontend0", adapter);
      fd = open(frontend, O_RDONLY);
      if(fd >= 0) {
        if(ioctl(fd, FE_GET_INFO, &fe) >=0) {
        perror("scandir");
          (*adaptermap)[count].adapter = adapter;
          snprintf((*adaptermap)[count].name, 128, "%s", fe.name);
          (*adaptermap)[count].used = 0;
          count++;
        }
        close(fd);
    }

Bekomme jetzt aber trotzdem


Aug 29 16:15:23.631 : Version: 0.0.2-77M/77M
Aug 29 16:15:23.632 : Could not connect to loopback device 1
Aug 29 16:15:23.632 : Are you sure you have loaded the dvbloopback module
Aug 29 16:15:23.632 : properly and/or used the correct values to the '-j' switch

Und mit n =2 nen CoreDump





sundtek@fl:
Wenn ich in der forward.c in get_adapter folgendes ändere, dann zeigt er ein reales Devices an "sasc-ng -i"

0: Sundtek DVB-C

forward.c:

int get_adapters(struct t_adaptermap **adaptermap)
{
  int count = 0;
  //struct dirent **adptrlist;
  int i, n, fd, adapter;
  char frontend[30];
  struct dvb_frontend_info fe;

  n = 1;

  *adaptermap = (struct t_adaptermap *)malloc(n * sizeof(struct t_adaptermap));
  for(i = 0; i < n; i++) {
    if(1 == sscanf("adapter0", "adapter%d", &adapter)) {
      snprintf(frontend, 30, "/dev/dvb/adapter%d/frontend0", adapter);
      fd = open(frontend, O_RDONLY);
      if(fd >= 0) {
        if(ioctl(fd, FE_GET_INFO, &fe) >=0) {
          //printf("%s\n",fe.name);
          (*adaptermap)[count].adapter = adapter;
          snprintf((*adaptermap)[count].name, 128, "%s", fe.name);
          (*adaptermap)[count].used = 0;
          count++;
        }
        close(fd);
      }
    }
    //free(adptrlist);
  }
  //free(adptrlist);
  if(count == 0)
    free(*adaptermap);
  return count;
}


Das Problem ist aber glaube ich, dass er keine neuen devices unter adapter1 anlegen kann?(Ist das so?)

In init_parser ist das Problem dann hier:

stat(realdev, &st) != 0


Und deswegen ist in main bei init_parser dann wieder Schluss:

init_parser(&pc_all, &common);
    if(! pc_all.frontend || ! pc_all.demux || ! pc_all.dvr) {
      dprintf("Could not connect to loopback device %d\n", virt_adapt);
      dprintf("Are you sure you have loaded the dvbloopback module\n");
      dprintf("properly and/or used the correct values to the '-j' switch\n");
      return(-1);
    }

Navigation

[0] Themen-Index

[#] Nächste Seite

[*] Vorherige Sete

Zur normalen Ansicht wechseln