djmount UPNP Client

  • Moin Moin,
    diesen Sonntag hab ich damit verbracht, einen UPNP-Client für die DM7025 zu portieren.


    Die Wahl fiel auf djmount. Djmount stellt eine Verzeichniss bereit, in dem automatisch alle UPnP-Server und deren Medien aufgelistet sind und benutzt werden können, als ob sie ganz normal auf der Box vorhanden wären. Dazu wird in /media/ ein Verzeichniss upnp angelegt, in dem die Sever aufgelistet werden.


    Code
    root@dm7025:~# ls /media/upnp/AdlerMedia/
    Bilder   Musik    Videos   _search


    Code
    root@dm7025:~# ls /media/upnp/AdlerMedia/Musik/
    Album             Genre             Interpret         Wiedergabelisten
    Alle Lieder       Internet Radio    Verzeichnis       _search


    Getestet ist das Ganze auf der Serverseite (hier ein PC) mit dem Server TwonkyMedia (der leider kostenpflichtig ist nach 30 Tagen). GMediaserver funktioniert derzeit noch nicht. Würde mich über Testberichte mit anderen Servern/Geräten freuen.


    Installation:
    Bitte alle Dateien aus dem Tar all_ipkgs_needed_for_djmount.tar in ein Verzeichniss auf der Box (z.b. /tmp ) kopieren und mit "ipkg install djmount" installieren. Anschließend die Box neustarten. Der Client wird beim Neustart automatisch gestartet. Anschließend sollte eben unter /media/upnp eurer Server bereit stehen.
    Soll der Server nicht mitstarten, einfach die beiden Files /etc/rc3.d/S30djmount und /etc/rc4.d/K30djmount löschen.
    Der Client kann mit "/etc/init.d/djmount start|stop|restart" neu gestartet werden.


    Openembedded:
    Für die Imageersteller hier noch nen paar Angaben. Die fuse-utils bzw. die /util/fusermount.c aus dem Paket fuse muß gepatcht werden, da fusermount sonst das fusedevice unter /dev/fuse statt unter /dev/misc/fuse sucht. Daher angehängt die angepasste Version der fuse_2.5.3.bb incl. patch.


    Das BB-File für djmount ist natürlich auch dabei.


    Wie gesagt wünsche ich mir Feedback über die getesteten Server...


    UPDATE:
    Da anscheinend nich bei jedem die init-scripte erstellt werden, hier nun das script einzelt.


    - Datei aus djmount_initscript.tar nach /etc/init.d/djmount entpacken.
    - cd /etc/rc3.d/
    - ln ../init.d/djmount /etc/rc3.d/S30djmount
    - cd /etc/rc4.d/
    - ln ../init.d/djmount /etc/rc3.d/K30djmount


    Viel Erfolg
    3c5x9

  • Hi,


    erstmal vielen Dank für deine Bemühungen einen UPnP fähigen Client auf die 7025er zu portieren.


    Ich habe die ipkg's installiert, die Verzeichnisse sind auf der Festplatte vorhanden aber in /etc/init.d/ ist nichts über djmount vorhanden!


    Was ist da passiert?


    LG, hitam

    Dreambox 7025 SS mit 250 GB HDD

    Einmal editiert, zuletzt von hitam ()

  • Hallo 3c5x9,


    vielen dank für den fix. In /etc/rc3.d finde ich kein S30djmount und auch kein K30djmount!



    muss das nicht /etc/rec4.d für K30djmount heissen?


    Sorry, für die 'bad' news!


    Lg, hitam

    Dreambox 7025 SS mit 250 GB HDD

  • Zitat

    Original von DerMicha
    Wird damit , in Verbindung mit TVersity af dem PC auch Internet-TV funktionieren ?


    Wirst du testen müssen, die normalen Dateien werden auf jeden Fall wiedergegeben. Grade getestet.
    Eine Einschränkung gab es bei mir: Der Server hat sich als "Rechnername: TVesity Media Server" gemeldet. Damit war zwar alles in der Konsole erreichbar, der MEdiaplayer kam damit aber nicht zurecht. Er stellte keine Unterordner dar. (der : oder die vielen Leerzeichen haben ihn da wohl gestört)


    Abhilfe brachte, den Servernamen zu ändern. Dazu die Dateien aus dem Installationsverzeichniss von TVersity UPNP_AV_MediaServer_******.xml mit einem Editor öffnen und die Zeile


    <friendlyName>DiesIstMeinNeuerName</friendlyName>


    in allen Dateien ändern und den Server neu starten.



    Das in den Ordnern /etc/rc3.d und /etc/rc4.d es keine djmount Datei gibt, ist der Grund, warum wir das machen wollen mit den Links. Das sind sozusagen die Autostart-Ordner unter Linux.
    Und wir wollen eben die Datei aus /etc/init.d/ in diese beiden anderen Ordner verlinken.


    Versuch das mit den Links nochmal, ansonsten hilft dir dieses Tar weiter

  • Hi, danke für die Dateien. Ich werde berichten, sobald ich sie installiert und getestet habe.


    LG, hitam

    Dreambox 7025 SS mit 250 GB HDD

  • Hallo 3c5x9,


    vielen Dank erstmal für diesen uPNP Client und Deine sehr ausführliche Anleitung!


    Leider hab ich trotz Anleitung Schwierigkeiten das Paket zu installieren :frowning_face:


    Ich bekomme immer folgenden Fehler:


    Code
    root@dm7025:/tmp# ipkg install djmount_0.71-r0_mipsel.ipk 
    Installing djmount (0.71-r0) to root...
    Nothing to be done
    An error ocurred, return value: 1.
    Collected errors:
    ERROR: Cannot satisfy the following dependencies for djmount:
             libupnp2 (>= 1.3.1) libfuse2 (>= 2.5.3)
    root@dm7025:/tmp#


    Image ist das aktuelle von BoxMan.
    Hast Du eine Idee, was da falsch läuft?


    Vielen Dank!

  • Wenn du alle 5 ipk's aus dem Archiv nach /tmp verschoben hast, kannst du es damit versuchen:


    ipkg install /tmp/*.ipk


    Sollte dann gehen.

    MfG Ali

    DM8000 | DM8000 | DM500HD | DM500HD | DM7020S


    Bash
    #!/bin/sh
    while [ 1 ]
    do
    	echo "i love my dreams!!!"
    	sleep 1
    done
  • Been trying to compile FUSE for PPC plattform but it fails when I try,


    As I understand there is something with the kernel-staging that is not 100% so it cant find files used for compile.


    lt@soba:~/dm600pvr-fr/build$ more /home/lt/dm600pvr-fr/build/tmp/work/fuse-module-2.5.3-r1/temp/log.do_compile.32128
    NOTE: make
    make -C /home/lt/dm600pvr-fr/build/tmp/staging/powerpc-linux/kernel SUBDIRS=/home/lt/dm600pvr-fr/build/tmp/work/fuse-module-2.5.3-r1/fuse-2.5.3/kernel modules
    make[1]: Entering directory `/home/lt/dm600pvr-fr/build/tmp/staging/powerpc-linux/kernel'
    CC [M] /home/lt/dm600pvr-fr/build/tmp/work/fuse-module-2.5.3-r1/fuse-2.5.3/kernel/dev.o
    In file included from include/asm/machdep.h:8,
    from include/asm/irq.h:6,
    from include/asm/hardirq.h:8,
    from include/linux/hardirq.h:6,
    from include/asm-generic/local.h:6,
    from include/asm/local.h:4,
    from include/linux/module.h:21,
    from /home/lt/dm600pvr-fr/build/tmp/work/fuse-module-2.5.3-r1/fuse-2.5.3/kernel/dev.c:12:
    include/asm/setup.h:8:28: asm-m68k/setup.h: No such file or directory
    In file included from include/asm/irq.h:23,
    from include/asm/hardirq.h:8,
    from include/linux/hardirq.h:6,
    from include/asm-generic/local.h:6,
    from include/asm/local.h:4,
    from include/linux/module.h:21,
    from /home/lt/dm600pvr-fr/build/tmp/work/fuse-module-2.5.3-r1/fuse-2.5.3/kernel/dev.c:12:
    include/asm/ibm4xx.h:39:36: platforms/4xx/dreambox.h: No such file or directory
    In file included from include/asm/irq.h:23,
    from include/asm/hardirq.h:8,
    from include/linux/hardirq.h:6,
    from include/asm-generic/local.h:6,
    from include/asm/local.h:4,
    from include/linux/module.h:21,
    from /home/lt/dm600pvr-fr/build/tmp/work/fuse-module-2.5.3-r1/fuse-2.5.3/kernel/dev.c:12:
    include/asm/ibm4xx.h:77: error: parse error before "__res"
    include/asm/ibm4xx.h:77: warning: type defaults to `int' in declaration of `__res'
    include/asm/ibm4xx.h:77: warning: data definition has no type or storage class
    make[2]: *** [/home/lt/dm600pvr-fr/build/tmp/work/fuse-module-2.5.3-r1/fuse-2.5.3/kernel/dev.o] Error 1
    make[1]: *** [_module_/home/lt/dm600pvr-fr/build/tmp/work/fuse-module-2.5.3-r1/fuse-2.5.3/kernel] Error 2
    make[1]: Leaving directory `/home/lt/dm600pvr-fr/build/tmp/staging/powerpc-linux/kernel'
    make: *** [all-spec] Error 2
    FATAL: oe_runmake failed


    /WeeGull

  • Ich benutze fuppes um meine OGG und FLAC nach mp3 zu transcodieren. Mit djmount wird dann leider anstatt einer MP3-Datei nur eine M3U angezeigt. Auf dem verbotenen IHAD-Board (warum eigentlich, aus den Boardregeln kann ich das leider nicht ableiten) hat Benutzer juppschlupp im Thread "Upnp-Verzeichnisse leer" anscheinend eine Lösung gefunden:


    Zitat

    Es gibt in der Datei media_file.c ein Feld, welches die Umsetzung für die unterschiedlichen MIMIE-Types macht. Im Kommentar dazu steht:
    "if a given MIME type will be served as a playlist (if .playlist field is not NULL), or directly as a raw file."
    Also, fix für den MIME-Type "audio/mpeg" aus dem "m3u" ein fettes NULL gemacht und schon kommen in den Verzeichnissen mp3 Dateien an *


    Da ich leider ausserstande bin, die Openembedded Umgebung aufzubauen, die Frage, ob 3c5x9 vll. diesen Fix in djmount einbauen könnte :smiling_face:

  • Funktionierte bei mir fast tadellos. djmount wurde zwar gestartet, war danach aber nicht in der Prozessliste zu finden.


    Sobald ich es aber mit "djmount -f -d /mnt/upnp" gestartet hatte, bekam ich die Ursache:

    Code
    [D] Intializing UPnP with ipaddress=(null) port=0
    [E] UpnpInit() Error: -208
    [E] Check network configuration, in particular that a multicast route is set for the default network interface
    [E] Error starting UPnP Control Point : -208 (Unknown Error)


    Mit einem

    Code
    route add -net 239.0.0.0 netmask 255.0.0.0 dev eth0

    vor dem Start liess sich das aber beheben, und seitdem kann ich mit der PicturePlayer-Extension Bilder von meinem MediaTomb UPnP-Server anschauen.

  • Hi,


    hat hier zwar nichts zu suchen, aber ich suche dennoch eine fuse-module.bb für die dm7020, oder braucht man fuse-module für den Receiver nicht? :confused_face:

    Ein Problem ist halb gelöst, wenn es klar formuliert ist. (John Dewey, 1859-1952)

  • Kann mir jemand sagen, wenn ich auf die 2. Box DM800 zugreife hackt das Bild beim abspielen im Mediaplayer?


    p.s. Es sind beide Boxen DM 800er!

    Einmal editiert, zuletzt von TheSwan ()