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.
    Mit "ipkg install /tmp/Paketname.ipk' installieren.
    Alle Pakete dem entsprechen installieren.
    Als Letztes aber djmount*.ipk selbst, damit die Abhängigkeiten vorher drin sind.
    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...


    Viel Erfolg
    3c5x9

  • Hi,


    sehr schöne Idee. Zumal der UPNP Client im Gemini mit meinem Twonkyvision Server nicht sauber arbeitet und sehr langsam ist.


    Bei der Installation bekam ich jedoch angezeigt, dass alls uptodate ist. Nothing to be done?



    root@dm7025:/tmp> ipkg install djmount
    Package djmount (0.71-r4) installed in root is up to date.
    Nothing to be done
    root@dm7025:/tmp> cd /etc/init.d
    root@dm7025:/etc/init.d> ls
    autofs_script.sh halt rcS single
    bootup hdparm_script.sh reboot syslog
    busybox-cron inetd rmnologin umountfs
    dropbear networking samba umountnfs.sh
    gmodules rc sendsigs vsftpd
    root@dm7025:/etc/init.d>


    Unter /etc/inet.d findet jedoch kein djmount. Was ist da faul?


    Der Client im Bluepanal meldet sich auch als Djmount unter usr/bin/djmount.


    1321 root 1460 S /usr/bin/djmount /media/Upnp
    1322 root 1460 S /usr/bin/djmount /media/Upnp



    Tex

  • SUPER !!!! LAAANGE drauf gewartet und mehrmals probiert den ausm Gemini rauszubekommen, bin aber immer gescheitert!


    Machst mich damit sehr glücklich, danke!!!


    Feedback und so bekommste auch sobald ich alles getestet hab :wmbiggrin:


    *edit*


    installieren hat nachn paar versuchen geklappt und nu hat die Box auch meinen TVersity Server aufm PC gefunden und gemounted unter /media/upnp/ *freu*


    Wenn du aber mal Zeit hast update mal dien Posting für die n00bs wie mich bitte und schreib auf was wir in telnet zum installieren der einzelnen Pakete eingeben sollen. Du schriebst "mit "ipkg install djmount" installieren", aber ich soll ja wohl eher die 5 einzelnen IPKG Pakete per telnet installieren, oder nicht!? Mit "ipkg install djmount" kam ich nicht weit (no file found) ... :wmbiggrin:


    mit "cd /tmp" und "ipkg install libupnp2_1.3.1-r0_mipsel.ipk" usw bin ich besser voran gekommen. Bei 3 paketen gabs irgendwelche "hinweise" (?warnungen vlt?), aber k.A. was die bedeutet haben, is mir auch wurscht weil es geht ja mit meinem OoZoon Image :face_with_rolling_eyes:

  • Zitat

    Original von TexanerX


    Unter /etc/inet.d findet jedoch kein djmount. Was ist da faul?


    hm, da werden anscheinend die Links aus dem IPKG´s nicht gesetzt bzw. das script fehlt ganz wohl. Muß ich mal schaun, wenn ein "ipkg install djmount --force-reinstall" bei dir auch keine Einträge herzaubert.


    per Hand:
    die Datei /etc/init.d/djmount aus dem .ipk holen und da hinkopieren.


    cd /etc/rc3.d/
    ln -sf ../init.d/djmount /etc/rc3.d/S30djmount


    cd /etc/rc4.d/
    ln -sf ../init.d/djmount /etc/rc3.d/S40djmount


    Das erste zum starten im Runlevel 3 und das zweite zum Beenden im Runlevel 4.


    Aber frag mich nicht warum das nu passiert ist. :grinning_squinting_face:


    PS.: Das Script /etc/init.d/djmount ist nur das Startscript... kannst djmount auch so mit "djmount <mountpoint>" von Hand starten. Vorher nur das Fusemodul mit "modprobe fuse" laden.

    Es heißt auch nicht mehr Troll, sondern Netzbürger mit Frustrationshintergrund.
    <br>
    Leider muß ich es extra schreiben: Kein Support per PM. Privater Support hilft uns nicht weiter als Forum!

    Einmal editiert, zuletzt von 3c5x9 ()

  • Zitat

    hm, da werden anscheinend die Links aus dem IPKG´s nicht gesetzt bzw. das script fehlt ganz wohl. Muß ich mal schaun, wenn ein "ipkg install djmount --force-reinstall" bei dir auch keine Einträge herzaubert.



    root@dm7025:/tmp> ipkg install djmount --force-reinstall
    Reinstalling djmount (0.71-r4) on root...
    Nothing to be done
    An error ocurred, return value: -1.
    Collected errors:
    ERROR: Package djmount (parent djmount) is not available from any con
    .
    Failed to download djmount. Perhaps you need to run 'ipkg update'?


    Zitat

    die Datei /etc/init.d/djmount aus dem .ipk holen und da hinkopieren.


    Wie holt man ein File aus einem Package?


    Kann man u.U. den Gemini DJmount deinstallieren? Und, ist bei dir der Gemini Upnp Client auch so langsam im Anzeigen der Files vom Server? Dauert bei mir ewig.


    Danke Tex

  • sorry, mein fehler. Ich hab die Pakete in einem lokalem Feed drin, daher geht das nur mit dem Paketnamen. Du müsstest den Filenamen komplett nehmen...


    Also "ipkg install /tmp/djmount****.ikg --force-reinstall".


    Zum Entpacken von IPKG´s eignet sich am besten die Freeware 7zip... google mal danach.


    Den Gp-Client hab ich nie wirklich getestet, da ich keinen Server hatte... aber wenn Twonkey meine MP3´s auflistet, dauert das auch recht lang. Da ist eben nen größerer Overhead im 'Upnp-Protokoll'.

    Es heißt auch nicht mehr Troll, sondern Netzbürger mit Frustrationshintergrund.
    <br>
    Leider muß ich es extra schreiben: Kein Support per PM. Privater Support hilft uns nicht weiter als Forum!

    Einmal editiert, zuletzt von 3c5x9 ()

  • Hi,


    naja, so einfach dann wohl auch nicht. Hab das Paket umbenannt auf djmount.ipk und dann versucht:


    root@dm7025:/tmp> ipkg install /tmp/djmount.ipk --force-reinstall
    Reinstalling djmount (0.71-r4) on root...
    Nothing to be done
    An error ocurred, return value: -1.
    Collected errors:
    ERROR: Package djmount (parent djmount) is not available from any co
    .
    Failed to download djmount. Perhaps you need to run 'ipkg update'?


    Will er dennoch nicht.


    Tex

  • Dann, diesmal wirklich nur mit dem paketnamen, "ipkg remove djmount" und mit filename wieder installieren "ipkg install /tmp/djmount****.ipk".

    Es heißt auch nicht mehr Troll, sondern Netzbürger mit Frustrationshintergrund.
    <br>
    Leider muß ich es extra schreiben: Kein Support per PM. Privater Support hilft uns nicht weiter als Forum!

  • Ok, remove ging wohl. Zumindest keine Fehlermeldung. Aber dann-))


    Installing djmount (0.71-r0) to root...
    Configuring djmount
    ipkg_conf_write_status_files: ERROR: An error has occurred writing //usr/lib/ipk
    g/status.tmp, retaining old //usr/lib/ipkg/status
    file_move: ERROR: failed to rename /media/ram//usr/lib/ipkg/status.tmp to /media
    /ram//usr/lib/ipkg/status: No space left on device
    file_move: ERROR: failed to rename /media/usb//usr/lib/ipkg/status.tmp to /media
    /usb//usr/lib/ipkg/status: No space left on device
    pkg_write_filelist pkg=djmount returned 28
    pkg_write_filelist pkg=enigma2-skin-nemesis-flatline-picon-red returned 28
    Collected errors:
    Could not open //usr/lib/ipkg/info/djmount.list for writing: No space left on de
    vice
    Could not open //usr/lib/ipkg/info/enigma2-skin-nemesis-flatline-picon-red.list
    for writing: No space left on device


    Soll mir das sagen, das mein Speicher voll ist? Laut Speicherinfo aber noch 12Mb im Flash frei.


    Tex

  • 12MB frei? ist dein Image halb leer?


    root@dm7025:~# df -h
    Filesystem Size Used Available Use% Mounted on
    /dev/root 28.0M 26.4M 1.6M 94% /



    Aber wenn dann ist da irgendwas krum... Warum macht der was mit nemesis-skins... und warum will er in /media/ram schreiben?


    /media/ram//usr/lib/ipkg/status.tmp to /media
    /ram//usr/lib/ipkg/status: No space left on device
    .


    Wenn sich das so bestätigt... ja, dann ist dir soeben dein Image geplatzt :)


    Ist das nen Gemini?

    Es heißt auch nicht mehr Troll, sondern Netzbürger mit Frustrationshintergrund.
    <br>
    Leider muß ich es extra schreiben: Kein Support per PM. Privater Support hilft uns nicht weiter als Forum!

  • Na Toll,


    Filesystem Size Used Available Use% Mo
    /dev/root 28.0M 27.7M 308.0k 99% /


    Ist ein gemini 2.3 im Flash. Mal neu starten und gucken. Schon mal Bluescreen beim restart. grummel.


    Melde mich gleich noch mal.


    Tex

  • Ok, hab jetzt mal ein 2.3 von CF gebootet. Da schien der install zu laufen:


    root@dm7025:/tmp> ipkg install djmount_0.71-r0_mipsel.ipk
    Installing djmount (0.71-r0) to root...
    Configuring djmount
    root@dm7025:/tmp>


    Das Script ist jetzt unter init.d auch da.


    root@dm7025:/etc/init.d> ls
    autofs_script.sh gmodules rc single
    bootup halt rcS syslog
    busybox-cron hdparm_script.sh reboot umountfs
    djmount inetd rmnologin umountnfs.sh
    dropbear networking sendsigs vsftpd
    root@dm7025:/etc/init.d> djmount start
    [I] Charset : successfully initialised charset='ANSI_X3.4-1968'


    und lässt sich wohl auch starten. Werd mal neu starten und schauen was passiert.


    Tex

  • Na soweit so gut. Box startet und djmount ist aktiv. Aber mein twonky wird nicht unter media/upnp aufgelistet.


    1103 root 1264 S /usr/bin/djmount /media/upnp/
    1106 root 1264 S /usr/bin/djmount /media/upnp/
    1107 root 1264 S /usr/bin/djmount /media/upnp/
    1109 root 1264 S /usr/bin/djmount /media/upnp/


    Hmm, der läuft aber.


    Tex


    P.s. für heute mach ich Schluss. Das Flash image ist zu 98% voll. Da sollte ich wohl solche Versuche unterlassen. Werd es vielleicht morgen Abend nochmal von CF testen.


    Danke und gute Nacht

  • 3c5x9


    Hast du eigentlich einfluss darauf mit welchem HTTP Header sich der UPNP Client meldet !?


    Er überträgt ja die UPNP ID und den "User Agent: Linux xx.xx.xx, UPNP 1.0 xxxxx".


    Arbeite grad an einem TVersity Profil und neben der einzigartigen ID nutzt Tversity auch den "UserAgent" ausm HTTP Header. "Linux 2.xx.xx" ist da nicht unbedingt sehr aussagefähig und ändert sich mit der Zeit sicher auch wenn mal ne andere Version kommt. Wenn da irgendwie "DreamBox 7025" drin vorkommen würde ... würde es was sicherer sein und dafür sorgen das Tversity auch mit meinem neuen Profil die Box automatisch erkennt. Funktioniert zwar auch bei mir jetzt, aber sobald sich die Linux Version ändert is schluss mit lustig :face_with_rolling_eyes:


    Wenn Ihr nix dagegen habt werd ich auch nen UPNP Media Client für dein UPNP package anbieten. Ist wie der MediaPlayer im prinzip nur ist die Navigation was leichter und es ist halt nur für UPNP Shares gedacht. Dazu werd ich dann das Profil für Tversity releasen das dann die DreamBox richtig erkennt und alle Formate korrekt umwandelt in das was die Dreambox abspielen kann. Sollte dann auch in einer der nächsten Tversity versionen mit drin sein (hab den schon angeschrieben ...).


    TexanerX
    Wat probierst du da eigentlich!? Du nutzt doch nen gemini image wenn ich das richtig sehe und da ist halt bereits der UPNP Client / DJMOUNT installiert ... da wird dir der hier doch nicht viel bringen, ist das selbe was auch im Gemini drin ist! Also bei mir funktionierts prima. Nutze aber nen Oozoon image und Tversity als Server aufm PC, weil Tversity was besser mit meinen ganzen geräten klarkommt. DLINK 320, Playstation 3 und DreamBox 7025 ... funktioniert alles prima. Nur für die DreamBox musste ich ein paar Config dateien bearbeiten udn nen Profil anlegen für die DreamBox, ansonsten klappts mit der automatischen erkennung nicht so wirklich, aber mehr dazu später :grinning_face_with_smiling_eyes:


    *edit*
    Hmmm, auf den screenshots ist im Hintergrund ja was zu sehen !? Eigentlich sollte da schwarz sein, aber die "grab" screenhsot funktion scheint wohl was verbugged zu sein und mein letztes TV LiveBild anzuzeigen !?


    Werd aber so oder so noch was dran basteln, solange bis es alles Features hat die mein DLINK 320 Media Client auch hat und ich das Teil endlich bei Ebay verhökern kann, solangs noch was Wert ist :face_with_rolling_eyes:

  • nur weil es mir beim Lesen grade aufgefallen ist - reicht es nicht einfach
    /dev/fuse auf /dev/misc/fuse mit einem soflink (ln -s) umzulinken ?

  • Hast du eigentlich einfluss darauf mit welchem HTTP Header sich der UPNP Client meldet !?
    Jain. Theoretisch ja, weil ich allen Sourcecode habe. Praktisch derzeit nicht. Ich hab im Endeffekt nix anderes gemacht, als die Sourcen für die Box zu kompilieren und das OE entsprechend anzupassen. Um in die Sourcen eingreifen zu können, müsste ich C/C++ können. Und daran haperts bei mir :winking_face:


    TVersity ist mir unsympatisch weil er nicht opensource und auch unter Linux läuft. Ich find es echt blöd das es zu TVeristy (nur Windows, closed source) und Twonkey (auch Linux, closed source, nicht kostenlos) keine Alternativen gibt, die mit diesen beiden mithalten können.


    Es gibt noch PyMedS, der will mir nur noch nicht recht gelingen (stellt nur Ordner da, keine Dateien).


    Zu deinem 'Player': Ist das nötig? Weil es mit djmount ja so tief ansetzt, das jede vorhandene Software (MediaPlayer) damit klar kommt. Was ist denn diese Spezialisierung genau?

    Es heißt auch nicht mehr Troll, sondern Netzbürger mit Frustrationshintergrund.
    <br>
    Leider muß ich es extra schreiben: Kein Support per PM. Privater Support hilft uns nicht weiter als Forum!

  • Hi,


    nun, ich dachte der neu compilierte Djmount würde sich als schneller herausstellen. Dies wollte ich testen. Aber gut, ich warte mal auf Verbesserungen im gemini.


    Für euch noch mal zum testen hier der Philips Mediamanager für Windows. Ein Upnp Server der bei den WAS7000 als Software dabei ist.


    download


    Gruß Tex

  • Na gut, denke habs auch so hinbekommen jetzt mit der korrekten identifizierung :face_with_rolling_eyes:


    Zitat

    Zu deinem 'Player': Ist das nötig? Weil es mit djmount ja so tief ansetzt, das jede vorhandene Software (MediaPlayer) damit klar kommt. Was ist denn diese Spezialisierung genau?


    Nein, nötig ist das sicher nicht. Es ist auch nicht nötig einen Porsche oder Ferrari zu fahren, nen Golf 1 tuts auch ... AAaaaaber :wmbiggrin:


    Ich mag den DMM Media Player nicht besonders. Mir ist die Navigation da etwas zu umständlich und träge und immer dieses "Menu - Player ausblenden" und all son kram ... und bis ich mich mal durch all die 15 unterordner gewühlt habe um mein Video/Audio/Foto zu finden ... nääää, dauert mir alles viel zu lange. In meinem MediaPlayer hab ich mit Rot/Grün/Gelb Taste direkt Audio/Video/Foto vor mir und mit 2-3klicks alles direkt da. Auch Fotos kann ich direkt mir da anschauen, was ja im MediaPlayer nich geht, dafür müsste ich dann das PicturePlayer Plugin aufrufen, was in meinem Player quasi integriert ist. Und die Video Wiedergabe funktioniert hier halt was anders. Ich klick mein video an und der wird auch direkt abgespielt (nix menü ausblenden oder son kram) und ich kann während des Video schauens alles machen was ich auch beim TV schauen machen kann (Menü mit Einstellungen der Box aufrufen und all son kram). Solang bis ich die Stop Taste drück is alles so als ob ich TV schauen würde ...


    Naja, aber wie gesagt: Irgendwie auch nix ebsonderes was nicht auch MediaPlayer und Pic-Player schon können. Ich mag nur die leichtere Navigation halt und die andere Art von Video abspielen die mich meine Box weiterhin ganz normal nutzen lässt ...


    Nötig ist's aber nicht ... primär mach ich das auch eh für mich das addon, weil mir wie gesagt der normale MediaPlayer nicht liegt und mir das alles da immer viel zu lange dauert bis ich was abspielen kann ...

  • jo, war auch nicht negativ gemeint ... versteh das nicht falsch :winking_face:

    Es heißt auch nicht mehr Troll, sondern Netzbürger mit Frustrationshintergrund.
    <br>
    Leider muß ich es extra schreiben: Kein Support per PM. Privater Support hilft uns nicht weiter als Forum!

  • Habe heute meinen philosophischen Tag - daher ein Zitat - endlich passt es einmal :)


    Von einer Vision begeistert zu sein, ist wohl eines der ältesten, natürlichsten und grundsätzlichsten Prinzipien, mit denen Menschen sich selbst und andere begeistern und führen.


    Dies belegt der folgende Ausspruch eines frühen indianischen Geschichtenerzählers: „Alle Dinge beginnen mit einer Vision, alle Dinge haben ihren Ursprung in der Vision, doch alle Dinge müssen dann auch noch ins Werk gesetzt werden. Alles, was ist oder entsteht oder erzeugt oder geschaffen wird, alles ist das Ergebnis eines Tuns oder Ausführens. Selbst die Vision ist nicht ohne Voraussetzung, wir müssen sie suchen, wir müssen Visionen und Träume suchen und unsere Träume dann leben.“


    gutemine2

    Einmal editiert, zuletzt von gutemine ()