Wo gibt es denn nun diese ominöse head.ko für die dm500? Im CVS ist sie jedenfalls nicht.
Und für die Unwissenden, die einen dream-klon mit Dream-Multimedia-Logo angedreht bekommen haben: wie wäre es denn mit einem test-tool, das einem sagt, dass man einen klon hat, ohne dass man ein fremdimage flashen muss (was einem dann ja bestimmt die Restgarantie beendet)?
Dass es technisch möglich ist, etwas besseres als schwammige Beschreibungen und Undeutliche Bilder zur Klonidentifizierung zu schaffen, wurde ja anscheinend gezeigt
Beiträge von seife
-
-
Haha:
http://www.dream-multimedia-tv…ducts_dm800_technical.phpZitatEthernet:
10/100 MBit kompatibles Interface
Funktion: Update der BetriebssoftwareDas war schon bei der 500 so, also kann man wieder nicht aufs Netzwerk aufnehmen.
-
Hallo,
für diverse "Fremdimages" gibt es die Möglichkeit, OGG-Vorbis Audio abzuspielen. Hat irgendjemand die Quellen dazu? Ich würde das gern auf meiner dm500 haben, möglichst ohne so ein zweifelhaftes Image einzuspielen.
Wenn es nicht unbedingt sein muss, will ich es auch nicht selbst neu implementieren.Bin für sachdienliche Hinweise dankbar
-
Na gut - dann antworte ich mir nochmal selbst (ich habe die Info inzwischen im IRC #dbox2gui erhalten).
Am einfachsten zeigt man die Verwendung des DMX_SET_NEGFILTER ioctl an einem Code-Beispiel (in diesem Fall Code, um auf ein update der PMT zu reagieren):Code
Alles anzeigen#if HAVE_DVB_API_VERSION >= 3 #define DEMUX_DEVICE "/dev/dvb/adapter0/demux0" #else #define DEMUX_DEVICE "/dev/dvb/card0/demux0" #endif struct dmx_sct_filter_params f; int fd = open(DEMUX_DEVICE, O_RDWR); memset(f, 0, sizeof(struct dmx_sct_filter_params)); f.filter.filter[0] = 0x02; /* table_id */ f.filter.filter[1] = service_id >> 8; f.filter.filter[2] = service_id; f.filter.filter[3] = (pmt_version_number << 1) | 0x01; f.filter.filter[4] = 0x00; /* section_number */ f.filter.mask[0] = 0xFF; f.filter.mask[1] = 0xFF; f.filter.mask[2] = 0xFF; f.filter.mask[3] = (0x1F << 1) | 0x01; f.filter.mask[4] = 0xFF; f.pid = pmt_pid; f.timeout = 0; #if HAVE_DVB_API_VERSION >= 3 f.filter.mode[3] = 0x1F << 1; f.flags = DMX_CHECK_CRC | DMX_IMMEDIATE_START; #else __u8 mode[DMX_FILTER_SIZE]; memset(mode, 0, DMX_FILTER_SIZE); mode[3] = 0x1F << 1; f.flags = DMX_CHECK_CRC; #endif if (ioctl(fd, DMX_SET_FILTER, &f) < 0) { perror("DMX_SET_FILTER"); close(fd); return -1; } #if HAVE_DVB_API_VERSION < 3 #define DMX_SET_NEGFILTER_MASK _IOW('o',48,uint8_t *) if (ioctl(fd, DMX_SET_NEGFILTER_MASK, mode) < 0) perror("DMX_SET_NEGFILTER_MASK"); if (ioctl(fd, DMX_START, 0) < 0) { perror("DMX_START"); close(fd); return -1; } #endif
Der "mode"-Teil des Filters wird also mit einem extra ioctl gesetzt.
Wichtig ist wohl, daß DMX_START erst nach dem setzen des Negativfilters gemacht wird. -
Hallo.
Kann es sein, daß mit dreamdriver_dm500_20071022.tar.bz2 "aus Versehen" die Interaktion von MPEG-Dekoder und Netzwerk verbessert wurde?
Bisher konnte ich nur per NFS aufnehmen, wenn ich gleichzeitig Playback abschaltete. Da das für meinen Zweck nicht taugt, habe ich das nicht weiter probiert.
Heute versuchte ich es dann doch mal wieder und siehe da - es funktionierte recht ordentlich (auf ZDF, also mit eher hoher Bitrate, ein "Rülpser" in ca. 5 Minuten).Ich benutze ein sebstgebautes neutrino-Image mit aktuellem tuxbox-CVS auf einer DM500S (keine Plus).
-
Weiß das keiner, will das keiner erzählen oder habe ich zu ungenau gefragt?
Sollte ich das vielleicht eher beim Techn. Support anfragen? -
Hallo,
wie ich aus gewöhnlich gut unterrichteter Quelle erfahren habe, gibt es den einen oder anderen privaten ioctl in den dreambox-Treibern (z.B. DMX_SET_NEGFILTER_MASK).
Ebenso gibt es einige Einstellmöglichkeiten, z.B. in /proc/stb/ir/, die durchaus interessant sein könnten.Meine Frage ist nun: sind dies ioctls etc. irgendwo dokumentiert? Ich würde im Quellcode schauen, aber das ist ja leider nicht möglich
Die Arbeitsweise des DMX_SET_NEGFILTER_MASK ioctl könnte man noch aus esection.cpp extrahieren, wobei es natürlich einfacher ist, wenn man weiß, wie das Ganze gedacht ist.
Danke,
Stefan