Dual Tuner Möglichkeit ?

  • Hallo zusammen,
    habe jetzt auch ein 800 und wollte bissel mit einem DVB-T stick testen , weiss aber nicht wie ich kernel module compilieren kann.


    usb 1-2: skipped 1 descriptor after interface
    usb 1-2: default language 0x0409
    usb 1-2: new device strings: Mfr=1, Product=2, SerialNumber=0
    usb 1-2: Product: DVB-T
    usb 1-2: Manufacturer: Afatech
    usb 1-2: hotplug
    usb 1-2: adding 1-2:1.0 (config #1, interface 0)
    usb 1-2:1.0: hotplug
    usbserial_generic 1-2:1.0: usb_probe_interface
    usbserial_generic 1-2:1.0: usb_probe_interface - got id
    usb 1-2: adding 1-2:1.1 (config #1, interface 1)
    usb 1-2:1.1: hotplug
    usbserial_generic 1-2:1.1: usb_probe_interface
    usbserial_generic 1-2:1.1: usb_probe_interface - got id


    Das sollen die sourcen sein .
    kernel-sourcen
    Das soll die firmware sein.
    firmware


  • Ein bißchen lesen solltest du schon selbst. Es gibt in deinen Quellen zwei Dateien mit Namen README und INSTALL. Darin ist alles beschrieben. Das einzige was man dazu wissen muß, ist daß man sich vorher eine Cross-Compilier-Umgebung schaffen und dann verwenden muß. Das ist zum Beispiel hier: "BIB - BoxMan-Images-Board » Software-Ecke » CVS-Firmware » openembedded howto die zweite" sehr genau beschrieben. Man braucht allerdings nur die Compiler und Kernelquellen der Box. Die Compiler werden dann mit source ./env.source in den Pfad gefügt und dann muß du noch die Quellen mit make release DIR=/deine/dreambox/kernel-quellen (hier richtigen Pfad einsetzen!) bekannt machen und los geht's mit make all. Wenn du Glück hast, ist dein Treiber auch auf dem Kernel 2.6.12 der Dreambox lauffähig, sonst gibt es Fehlermeldungen und dann heißt es zurückportieren.
    Viel Spaß
    mvsroot

  • Morgen zusammen,


    habe mir heute mal noch einmal ein bisschen den DVB-Stream angesehen nachdem ich folgendes im Log gefunden habe:

    Code
    timeout 0014!
    [eDVBLocalTimerHandler] no transponder tuned... or no TDT/TOT avail .. try to use RTC :)
    [eDVBLocalTimerHandler] shit RTC not ready :(


    Laut DVB-Spec muss die TDT (Time and Date Table) zwingend übertragen werden. Wenn ich in Enigma2 einen Kanal tune und mir mit dvbsnoop die PID 0x14 (also die TDT) ausgeben lassen möchte kommt einfach nichts. Enigma bricht laut Log irgendwann dann mit dem timeout 14 ab und gibt die Nachricht (Keine Daten auf dem Transponder! - Zeit lief beim Lesen der PAT ab) auf dem Fernseher aus.
    Offensichtlich versucht Enigma anschließend auf die Real Time Clock (RTC) der Dreambox auszuweichen, die aus irgendeinem Grund nicht gelesen werden kann.


    Hat von Euch jemand schon mal das Verhalten mit dem Original DVB-T Tuner beobachten können?


    Viele Grüße,
    tonymande

  • Sorry ,
    stelle mich grade etwas dusselig an.
    Ich habe diesen Fehler und frage mich ob ich etwas falsch verstanden habe.
    make -C /home/boris/af9015/v4l all
    make[1]: Entering directory `/home/boris/af9015/v4l'
    Updating/Creating .config
    Preparing to compile for kernel version
    File not found: /home/boris/tuxbox-bb/openembedded/1.5/dm800/dm800/openembedded/packages/linux/dm800/.config at ./scripts/make_kconfig.pl line 32.
    make[1]: *** Keine Regel vorhanden, um das Target ».myconfig«,
    benötigt von »config-compat.h«, zu erstellen. Schluss.
    make[1]: Leaving directory `/home/boris/af9015/v4l'
    make: *** [all] Fehler 2


    in /home/boris/af9015/tools/bin findet man die crosscomliler.
    in /home/boris/tuxbox-bb/openembedded/1.5/dm800/dm800/openembedded/packages/linux/dm-800 die kernel config


    Bevor ich make all eingab ,habe ich im Verzeichniss af9015 das hier als comando ausgeführt,
    make release DIR=/home/boris/tuxbox-bb/openembedded/1.5/dm800/dm800/openembedded/packages/linux/dm-800
    Dann habe ich eine Textdatei erstell mit dem Namen env.source und auch im Verzeichniss af9015 gespeichert Rechte auf 755 und die Datei ausgeführt alles mit dem obrigen ergebniss.


    Ich habe auch mit dm800_defconf in .config unbennen versucht aber auch ohne Erfolg .


    Ich hoffe ihn könnt mir auf die Sprünge helfen.

    Gruß
    Troll

    Einmal editiert, zuletzt von troll ()


  • Probiere mal in das Verzeichnis mit den Kernel-Quellen zu gehen und dort make oldconfig (oder menuconfig / xconfig / gconfig usw) zu machen und wenn das klappt, nochmal wie oben.

  • Danke für deine Unterstützung .
    Das ist alles was ich als Antwort bekomme.
    make: *** Keine Regel, um »gconfig« zu erstellen. Schluss.
    bei den anderen ist es das gleiche.
    Nur hier ist es anderes.
    boris@linux-xp4w:~/tuxbox-bb/openembedded/1.5/dm800/dm800/openembedded/packages/linux/linux-dm800> make dm800_defconfig
    make: Für das Ziel »dm800_defconfig« ist nichts zu tun.


  • Dann stimmt was mit deinem Kernel nicht. Du kannst dir einen von Kernel.org holen (die Patches spielen wahrscheinlich hierfür keine Rolle) und erstmal versuchen, ihn mit der Defaultconfig (die dann in .config umbenannt sein muß) zu erstellen. Wenn das klappt, sollte auch der Rest gehen.

  • Habe es jetzt mit einem Kernel von linux.org versucht und bin bis hier gekommen , aber in den verzeichnissen finde ich keine Module.


    linux-xp4w:/home/boris/af9015 # make install
    make -C /home/boris/af9015/v4l install
    make[1]: Entering directory `/home/boris/af9015/v4l'


    Removing obsolete files from /lib/modules/2.6.12.1/kernel/drivers/media/video:



    Removing obsolete files from /lib/modules/2.6.12.1/kernel/drivers/media/dvb/cinergyT2:



    Removing obsolete files from /lib/modules/2.6.12.1/kernel/drivers/media/common:



    Removing obsolete files from /lib/modules/2.6.12.1/kernel/drivers/media/dvb/frontends:


    Installing kernel modules under /lib/modules/2.6.12.1/kernel/drivers/media/:
    /sbin/depmod -a 2.6.12.1
    make -C firmware install
    make[2]: Entering directory `/home/boris/af9015/v4l/firmware'
    Installing firmwares at /lib/firmware: vicam/firmware.fw dabusb/firmware.fw dabusb/bitstream.bin ttusb-budget/dspbootcode.bin cpia2/stv0672_vp4.bin av7110/bootcode.bin
    make[2]: Leaving directory `/home/boris/af9015/v4l/firmware'
    make[1]: Leaving directory `/home/boris/af9015/v4l'
    linux-xp4w:/home/boris/af9015 #

  • Wo hast Du die Treiber Sourcen her? Das scheint ein ziemlich aktueller SVN Abzug zu sein, einige der Treiber verlangen min. Kernel 2.6.31 :)


    Im Prinzip ist das ziemlich einfach, wenn
    - ein vollständiges OE build env für die DM800 vorhanden (bei mir /stuff/dm800)
    - make im v4l tree mit einem Hinweis auf den Kernel aus dem DM800 OE gestartet wird


    Code
    make SRCDIR=/stuff/dm800.old/build/tmp/work/linux-dm800-2.6.12-r13/stblinux-2.6.12/ menuconfig


    Es gibt noch einen kleinen Fallstrick, der Kernel 2.6.12 kennt HAS_IOMEM nicht, daher kann im v4l Tree gar kein "Multimedia Support" ausgewält werden:

    Code
    Auszug aus v4l/Kconfig
    ...
    menuconfig MEDIA_SUPPORT
            tristate "Multimedia support"
           depends on HAS_IOMEM
    ...


    Ich habe die Abhängigkeit einfach rauskommentiert, ob das in der Praxis gut geht kann ich nicht sagen. Ich konnte dann aber die entsprechenden Treiber auswählen.


    Wenn der mipsel Cross Compiler im Pfad ist kann man versuchen das ganz zu kompilieren:



    An dieser Stelle müsste sich jemand ans Werk machen und den Treiber auf Kernel 2.6.12 zurück portieren.

  • Danke dir für die Mühe , vielleicht habe ich ja Glück und es läuft auf den neuen Kernel und ich mach mich mal auf die Suche nach anderen sourcen .
    Ich bin auf die Treiber gestossen bei der suche nach dem Chipsatz, der Stick hat einen AF9015 drin.

  • Es fehlt bei der Kernelversion ein Headerfile (error: linux/mutex.h: No such file or directory)
    Das würd ich mal ins Verzeichnis kopieren und es noch mal probieren.
    Vermutlich entstehen daraus neue Error-Meldungen oder weitere Fehlende Header-Dateien.

  • Zitat

    Originally posted by Zonk2007
    Es fehlt bei der Kernelversion ein Headerfile (error: linux/mutex.h: No such file or directory)
    Das würd ich mal ins Verzeichnis kopieren und es noch mal probieren.
    Vermutlich entstehen daraus neue Error-Meldungen oder weitere Fehlende Header-Dateien.


    Evtl. ist aber auch der Code restrukturiert worden, das bedeutet daß bestimmte Definitionen aus mutex.h früher in einem anderen Headerfile waren. Einfach einen Header aus 2.6.32 nach 2.6.12 kopieren wird vermutlich nicht funktionieren.


    Die Frage hier ist:
    - was aus mutex.h wird benötigt?
    - ist das neu?
    - wenn ja, wie wurde das Ziel früher erreicht
    -> was ist im code zu ändern
    - wenn nein, wo stand das früher
    -> welcher header ist stattdessen zu inkludieren


    Das ist aber eine Aufgabe für jemanden mit mehr Zeit und Ahnung als ich habe :)


    Roland

  • Hi,
    danke noch mal für eure Mühe , auf meinen Rechner reicht es wenn ich nur make install eingebe damit der Stick läuft.Hier wird viel weniger compiliert .Wenn ich es versuche gibt es kaum Fehler aber auch keine Module.

  • http://img42.imageshack.us/img42/447/testusbtuner.jpg


    This is a screenshot of my test.


    Configuration:


    dm800 with GP4.6 (driver of 17.01.2010)
    last usbtuner (thanks to rmie)
    cinergy T2 dvb-t usb (driver standard of kernel 2.6.12)


    i have edited manually the settings (i can't do any channell search)


    the frontend seems tune ok (femon says "FE_HAS_LOCK"), but i can't get any video/audio


    enigma2 says "nodata on trasponder - timeout reading PAT"


    i have tried with dm800 running last vtunerct (rev.40) with my notebook with ubuntu+ cinergyT2 (also tried hauppauge wintv nova t usb and toshiba px1211e) runnung vtunerd with the same results..
    (this system works ok with kaffeine)


    does anybody can help me ??


    Thanks


  • Bitte nicht mutex.h von einem neueren Kernel reinkopieren. Dies geht unter Garantie schief, weil der 2.6.12 kein Mutex kennt. Das muß man durch Semaphoren ersetzen. (Die Funktionen dafür heißen up und down mit und ohne _interruptible.)
    mvsroot


  • Have you tried a channel search with vtuner? What Kernel are you using on your Ubuntu machine?
    My openSUSE 11.0-x86_64 (Kernel 2.6.25 with s2-API DVB driver) works just fine with vtuner and my Cinergy T² (driver dvb-usb-cinergyT2.ko not cinergyT2.ko). Same happens with a WDTV Live with kernel 2.6.22 and a hacked dvb-usb-cinergyT2.ko driver. I haven't tried the new usbtuner yet.


    mvsroot

  • Hallo,


    ich habe jetzt auch mal den neuen usbtuner getestet und bei mir geht es leider auch nicht. Ich vermute, daß es ein Problem beim Sender einstellen (tuning) gibt, weil die blaue LED von Cinergy nicht an ist. Beim tzap geht die allerdings auch erst an, nachdem die PID-Filter gesetzt swerden. Das Setzen vom frontend sieht man nicht. Was mir noch aufgefallen ist, sind die Meldungen im Syslog. Dort wird erst ein DVB-S-Frontend gesetzt und anschließend ein DVB-T:
    DVB: registering new adapter (TerraTec/qanu USB2.0 Highspeed DVB-T Receiver).
    usbcore: registered new driver cinergyT2
    attaching virtual tuner 0
    DVB: registering frontend 0 (virtual DVB-S)...
    vtuner clip index 0
    VTUNER ioctl
    VTUNER ioctl
    VTUNER ioctl
    attaching virtual tuner 0
    DVB: registering frontend 0 (vTuner DVB-T)...
    VTUNER ioctl


    mvsroot


  • That's normal. The default type for vtuner is DVB-S, changing the type to DVB-T causes a reattach in the kernel, that's the reason for 'DVB: registering frontend 0 (vTuner DVB-T)'


    Roland