Beiträge von krallekit

    Zitat

    Leuft auf 7020 ,Gemini 2.6 in CF,Ofiziele in Flash
    jetzt habe ich wieder ein Paar Problemchen mit WebInf. Wen ich von Serverliste, nach erfolgreiche Conektion, zum Transfer weckseln will
    bricht Conection ab.


    Usprünglich habe ich amule wie gesagt für die 7000er gebaut. Es kann deswegen sein, daß während des Betriebes mit der 7020er ein paar Fehler auftreten.
    Deshalb nochmal die Frage, welche der beiden Packete, die ich hochgeladen habe benutzt du ? Das dynamisch gelinkte Packet (das 2.te geuppte) läuft auf meiner 7000er perfekt mit 30-40kb/s bei letztem Download. (Sourcen waren etwa 300 vorhanden)


    Zur Not kannst du amule mal wie folgt starten:

    Code
    export HOME=/hdd/aMule
    cd /hdd/aMule
    ./amuled &
    ./amuleweb


    Dabei sollten alle Fehlermeldungen auf der Konsole via Telnet erscheinen. Die telnet session dabei aber nicht schließen, sonst ist das webif gekillt.
    Jetzt probiere dein webif aus, bis die Verbindung abbricht und notiere dir die Fehlermeldung auf der Telnet Konsole.


    Ich vermute du benutzt das erste von mir geuppte Packet. Damit hatte ich auch nach 10 Minuten Betrieb einen Abbruch, weil Symbole in der libm.so.6 nicht gefunden wurden. Versuche deshalb das 2.Packet, das komplett dynamisch gelinkte.


    Zitat


    Und noch, kann man irgendwie automatische verbindungsaufbau zum Server schafen? Anderesfall muss ich imer aMule
    kontrolieren und manuel Verbindung bauen.


    Wie automatische Verbindung? Meinst du damit daß amuleweb automatisch gestartet werden soll oder die Connection von amule selbst?
    Normalerweise startet amuled von selbst die Connection zum Netzwerk. Du brauchst dazu eigentlich nichts zu machen. Hast du auch mal deine Ports geforwarded im Router. Das könnte auch ein Grund sein, warum man oft wegen der LOW ID gekickt wird und die Server öfter wechseln.


    cheers :winking_face:

    Wenn du amuled neu starten willst musst du vorher immer amuled und amuleweb beenden!


    Also

    Code
    killall amuled amuleweb


    Danach kannst du den Esel wieder normal starten.
    Aber export HOME=/hdd/aMule vorher nicht vergessen!


    /hdd/aMule/.aMule ist ein verstecktes Verzeichnis. Dieses solltest du aber mit einem FTP Tool auf der Box sehen. Wenn nicht die Option "Versteckte Dateien anzeigen" einschalten.


    Ich weiß nicht genau, ob man nach beenden von amuleweb mit anschließendem Neustart des amuleweb wieder auf den noch laufenden amuled connecten kann? Müsste ich nochmal probieren.


    Läuft aMule jetzt bei dir auf der 7000er oder 7020er Box ?


    cheers :winking_face:

    Zitat


    kann nicht verzeichnis .aMule finden


    Sorry, aber was soll ich damit anfangen? Ich würde dir gerne helfen, aber dazu brauche ich etwas mehr Infos!
    Wobei kommt denn die Fehlermeldung "kann nicht verzeichnis .aMule finden".
    Hast du es mal so probiert wie von mir zuvor beschrieben. Wenn ja, wo hängt es, also an welcher Stelle.

    Versuche mal folgende Kurzanleitung!


    Lösche /hdd/aMule/.aMule
    Starte amuled -> beende amuled
    Starte amuleweb -> beende amuleweb
    Editiere das passwd in den configs


    Also in Befehlen:

    Code
    killall -9 amuled amuleweb
    cd /hdd/aMule
    rm -rf .aMule
    ./amuled -f
    killall -9 amuled
    ./amuleweb -q & 
    killall -9 amuleweb


    Jetzt hast du einen neuen Ordner namens /hdd/aMule/.aMule
    Dort drinn befinden sich 2 Dateien.
    In beiden muss etwas geändert werden, was ursprünglich das amule Script machen sollte.
    Öffne mit einem Unixeditor /hdd/aMule/.aMule/amule.conf
    Ändere die Zeilen:

    Code
    AcceptExternalConnections=1
    ECPassword=495D4A32337FD4BD38F71135098C07A3


    Speichern und nach /hdd/aMule/.aMule schieben.


    Jetzt öffnest du wieder mit einem Unixeditor /hdd/aMule/.aMule/remote.conf
    Ändere die Zeile:

    Code
    Password=495D4A32337FD4BD38F71135098C07A3


    Speichern und nach /hdd/aMule/.aMule schieben.


    Jetzt den esel starten:

    Code
    export HOME=/hdd/aMule
    cd /hdd/aMule
    ./amuled -f && amuleweb -q &


    Jetzt kannst du im Webbrowser probieren, ob die Zugang zum webif von amule hast. Dazu eingeben http://ip_deiner_dream:4711


    cheers :winking_face:

    Zitat

    09:07:13: Error: Directory '/hdd/aMule/.aMule/' couldn't be created (error 17: )
    09:07:13: Error: Failed to create a temporary file name (error 20: Not a direct)
    09:07:13: Error: can't open user configuration file.


    Du scheinst keine Schreibrechte in /hdd/aMule zu haben.
    Entweder liegt dieses Verzeichnis im Flash oder ist anderswo verwaltet. Bin da gerade etwas auf dem Schlauch.
    Versuche mal das Verzeichnis manuell zu erstellen. Also

    Code
    mkdir -p /hdd/aMule/.aMule


    Ich sehe, deine /hdd ist nach media/hdd gemountet. Was ist bei dir in diesem Fall /media/hdd bzw. wie ist das gemountet. Ich vermute der Esel mag zu wildes Verlinken von Verzeichnissen bzw. den ganzen chroot Kram, wie es Flashwizzard macht, nicht so sehr. Ein Grund vielleicht, warum die configs dann vom esel nicht gefunden werden.


    cheers :winking_face:

    OK, i will try to answer in english.


    Zitat

    /hdd/aMule > ./amuled: relocation error: ./amuled: symbol _ZTVN10__cxxabiv116__e
    num_type_infoE, version CXXABI_1.3 not defined in file libstdc++.so.6 with link
    time reference


    Witch of the two package have you tried out ?


    It seems to be libs which are in your image are stripped too strongly.
    Therefore are not all important functions available for amule.


    Take the following and build a new CVS-Image:


    Unpack package amule-2.0.3-dynam.rar and after this amule-2.0.3-dynam.tar.gz to your pc.
    Then put three files (amuleweb, amuled and ed2k) to ../root/cdkflash/root/bin in your cvs directory.
    After this type "make rebuild-flash" .
    In this way mklibs.py will add the important functions to glibc, witch will needed by amule at the runtime.
    Sorry, but at the moment only this solution available, because i got some trouble to build this package static. I will try it out again :winking_face:


    cheers :winking_face:

    Zitat

    Leider geht bei mir gar nicht. Passt überhaupt aMule für 7020 ?


    Ähm, geht garnichts ist leider etwas mager um die Fehlerquelle zu finden.
    Was genau geht nicht? Fehlermeldungen auf der Konsole, Probleme etc. :winking_face:


    Gebaut habe ich amule auf der Dreambox 7000 für die 7000er, so wie auch als Thema dieses Threads angegeben. In wie weit der ganze Stuff zu der 7020er compatible ist weiß ich nicht. Es sind halt ein paar mehr Bibilotheken integriert als es beispielsweise bei enigma der Fall ist. Deshalb kann es auf der 7020 schon zu Problemen kommen.


    cheers :winking_face:

    Supi. Ich würde jedem empfehlen die dynamisch gelinkte Version vorzuziehen. Ich habe gerade mit der anderen Version auf einem 108er Image das Problem mit undefined referencen zur libm.so.6 gehabt. Warum auch immer. Der esel ist einfach nach 10 Minuten Betrieb mit dieser Fehlermeldung abgeschmiert.
    Also nach Möglichkeit ein CVS bauen, welches dann die benötigten libs enthält oder den alten Esel nehmen und nach Möglichkeit in einem 109er mit lzma Patch nutzen. Für die restlichen User muss ich mir was einfallen lassen, bzw. wohl doch nochmal eine statische Version versuchen zu bauen.


    Für die Start/Stop Prozedur kann ja das Script von Coronas verwendet werden.
    Vielleicht lässt sich das ganze auch noch mit einem kleinen Plugin verwalten?


    cheers :winking_face:

    Uh so viele Fragen auf einmal. Werde ich mal loslegen.


    @all
    Nochmal ein Kurzes FAQ für das manuelle Starten von amule bzw. das Einstellen der Configs.


    Das gespeicherte Passwort ist ein String in Hexadezimal und nicht das normale Password. Das amule Startscript sollte den ganzen Vorgang erleichtern, was aber durch fehlende Tools wie cut in einigen Images nicht ganz so funktioniert. Mit sed geht es aber auch.


    Es geht aber auch manuell.


    Gebe mal via telnet auf der Konsole ein

    Code
    echo password | md5sum | sed 's/ -//'


    oder alternativ ebend die cut Methode

    Code
    echo password | md5sum | cut -d " " -f 1


    Wenn ihr jetzt das Word "password" durch meinetwegen "dreambox" ersetzt,
    bekommt ihr folgenden String auf der Konsole:

    Code
    4fe14caf1cb7a87513c0ff9cf0611288


    Das wäre in diesem Fall das Password für Euer webif.


    Nun kopiert den ganzen String und öffnet /hdd/aMule/.aMule/amule.conf .
    .aMule ist hier kein file sondern ein verstecktes Verzeichnis was bei Linux gewöhnlich durch den vorgesetzten Punkt erzeugt wird. Es ist sinnvoll mit einem FTP Tool zu connecten, falls der Explorer das Verzeichnis nicht anzeigt. Falls das Verzeichnis noch nicht existiert muss amuled einmal gestartet werden. Dabei wird das Verzeichnis mit allen Dateien erzeugt. Wichtig! Vorher "export HOME=/hdd/aMule" nicht vergessen. Dazu weiter unten.


    In nun geöffneter amule.conf müsst ihr 2 Zeilen ändern:

    Code
    AcceptExternalConnections=1
    ECPassword=4fe14caf1cb7a87513c0ff9cf0611288


    Das eingetragene ECPassword ist in diesem Fall das vorher erzeugte, also hier wieder dreambox.


    amule.conf schliessen und speichern.


    Im selben Verzeichnis /hdd/aMule/.aMule findet ihr eine weitere Configdatei namens remote.conf. Diese ist für amuleweb zuständig. Wenn die Datei noch nicht existiert, muss amuleweb einmal gestartet und wieder beendet werden. Dabei wird die Datei erzeugt. Nicht das vorherige exportieren des HOME Verzeichnisses vergessen! Dazu wieder weiter unten.
    In der /hdd/aMule/.aMule/remote.conf muss folgende Zeile geändert werden

    Code
    Password=4fe14caf1cb7a87513c0ff9cf0611288


    Das wäre in diesem Fall wieder das Password dreambox.
    Das ECPassword und Password muss in beiden Dateien identisch sein !
    Fertig, remote.conf speichern und schliessen.


    Nun kann man vor der Benutzung vorher mal zum Testen beide Sachen einzeln starten und schauen, ob es eine Fehlermeldung gibt.
    Also den esel mit

    Code
    export HOME=/hdd/aMule
    ./amuled &


    als Hintergrundprozess starten. Wenn die Ausgabe auf der Konsole keine Fehlermeldung anzeigt ist soweit in der amule.conf alles ok.
    Nun STRG+C drücken, damit die Eingabe wieder möglich ist. amuled bleibt dabei im Background gestartet. Das ist wichtig, da sonst das webif nicht connecten kann und sich gleich wieder beendet.


    Nun zum Testen des webif.

    Code
    ./amuleweb


    starten.


    Wenn auch hier keine Fehlermeldung bzw. die Abfrage nach dem Password kommt ist alles ok die Einstellungen für den Esel vorgenommen und der esel kann ab nun wie folgt gestartet werden.

    Code
    export HOME=/hdd/aMule
    cd /hdd/aMule
    ./amule -f
    ./amuleweb -q &


    Jetzt sollte der esel laufen.


    Das export HOME ist in jedem Fall vor dem Starten des Esels wichtig, da sonst das Verzeichnis .aMule im Standard HOME Verzeichnis, also in "/" wenn das Image sich nicht im Flash befindet, bzw. garnicht erzeugt wird.
    Durch das export HOME=/hdd/aMule wird sichergestellt, das das Verzeichnis in /hdd/aMule erstellt wird und amuled bzw. amuleweb auch von dort die vorher erstellten *.config einlesen. Man kann das Verzeichnis auch woanders hin exportieren ( z.B /var ), muss aber auch dann bei jedem Start das HOME Verzeichnis wieder dorthin exportieren. Das nur nebenbei.


    Coronas


    Das ist gut möglich, daß das Einbinden beim maken nicht funzt. Irgendwie habe ich beim compilen vom amule auf der Dream bzw. mit dem Crosscompiler Probleme damit die Packete statisch zu linken bzw. wird amule zwar statisch gebaut, aber bricht sofort mit Coredump beim Starten ab. Ich vermute, das hat was mit den wxGTK+ libs zu tun, die wiederum mit der glibc dynamisch verlinkt sind. Ich habe den ganzen GTK, wxGTK X-libs Kram statisch gebaut. So dass man hier nicht die ganzen libs auch noch mitschleppen muss. Waren nicht wenige, um das mal zu erwähnen, aber was macht man nicht alles für die Dream.
    Jedenfalls müsste ich mir wahrscheinlich erst für die Dream eine statische glibc bzw. gcc bauen und dann die ganzen Packete nochmal damit versuchen zu maken. Da dies aber sehr zeitaufwenig ist, bleibt es erstmal bei der dynamisch gelinkten amule Version.


    Lange Rede kurze Beine :winking_face:
    Das Problem werden bei dir sicher die statisch gelinkte libgcc_s_nof und libstdc++ sein. Das habe ich bewusst so gemacht, damit amule auch mit den 108er Images läuft. Sonst fehlen einige Symbole in der libstdc+.so.6 der 108er Image, weil diese ebend noch mit dem gcc-3.4.3 gebaut wurden.
    Ich kann dir aber nochmal die komplett dynamisch gelinkte Version hochladen. Damit könntest du es nochmal probieren. Zumindest sollte es mit aktuellem CVS klappen.


    Zitat

    Hey, klasse! Ich hatte zwar ein paar Probleme bei der Installation, aber aMule scheint wirklich ein stabiler zu sein. Ich lass es mal über Nacht laufen.
    cu


    Jepp das habe ich sofort bei einem Vergleich mit mldonkey bemerkt.
    amule benötigt gerade mal 15% der Speicherressourcen und fast keine CPU. Im Gegensatz dazu ist mldonkey ja ein Resourcenfresser. Liegt wahrscheinlich aber auch daran, das dort ein 2er Compiler mit zusätzlichen libs benötigt wird.


    @metallhead


    ls -la ergibt bei mir folgende Ausgabe.

    Code
    drwx------    4 root     root         4096 Jan 22 12:48 .aMule
    -rwxr-xr-x    1 root     root         2139 Jan 20 21:42 amule
    -rwxr-xr-x    1 root     root      3395388 Jan 20 16:31 amuled
    -rwxr-xr-x    1 root     root      2066292 Jan 20 16:31 amuleweb
    -rwxr-xr-x    1 root     root       544432 Jan 20 16:31 ed2k
    drwxr-xr-x    3 root     root         4096 Jan 20 16:52 lib
    drwxr-xr-x    4 root     root         4096 Jan 20 16:52 share


    Bei der ls -hl Option werden keine versteckten Verzeichnisse ( .aMule ) angezeigt :winking_face:


    Nachtrag:
    Im Anhang ist nochmal die dynamisch gelinkte amule Version für's aktuelle CVS.
    Ich hatte bei dem anderen amule Package die Binarys nochmal mit dem Tool sstrip gestrippt. Damit werden noch unnütze Symboltabellen entfernt. Vielleicht auch der Grund, warum das mit dem CVS nicht geklappt hat.
    Coronas
    Probier das mal bitte mit dem CVS nochmal aus und berichte ! Thx.
    cheers :winking_face:

    So nun habe ich mir nochmal die Mühe gemacht den Esel, besser gesagt amule für die Dreambox 7000 zu compilieren. Eigentlich sollte der schon geupte mldonkey reichen, aber die hier zur Verfügung gestellte amule Version benötigt nicht so viele Speicherressourcen und sollte somit auch problemlos laufen, ohne die Dream vorher in den Standby zu schicken bzw. enigma zu killen. Solange man es natürlich mit den files in der share nicht übertreibt. Bei mir lief amule ca. mit 20-30 kB/s im Test, natürlich abhängig vom File und den geforwardeten Ports. Überzeugt Euch selbst, die Performance ist wesentlich besser als beim mldonkey. Ein swap ist aber dennoch vorteilhaft bzw. nötig.


    Ich habe die Binarys so gelinkt, das sie sowohl auf dem 108er wie auch 109er Image laufen sollten. Der ganze GTK stuff, sowie die X-libs sind dabei statisch gelinkt, wie auch libstdc++ und libgcc_s_nof. Evtl. machen aber die getrippten libs der glibc bzw. libz Probleme. Zur Not dann die Tools "amuled, amuleweb, ed2k" ins CDK nach ..root/ckflash/root/bin und mit make flash-compress die libs aufs nötige strippen.
    Die statisch gelinkte Version funkioniert noch nicht ganz. Wenn Zeit ist, werde ich die nochmal fertig machen.


    Kurze Erklärung:


    Der Esel verfügt über einen Daemon (amuled), der über die Telnet-Konsole gestartet wird. Zusätzlich ermöglicht das Starten vom Webinterface (amuleweb) die Kommunikation über den Browser mit amule auf der Dreambox. amulweb kann bei Bedarf auch beendet werden, der esel läuft dann trotzdem weiter. :winking_face:
    Ich habe noch auf die "Schnelle" ein Script mit reingepackt, welches den ganzen Startvorgang erleichtern sollte. Take a look at "amule --help"


    Nun zum Package. Das Rar-Archiv bzw. die einzelnen Teile erstmal auf dem PC entpacken und danach das amule-2.0.3.tar.gz auf die Dreambox nach /hdd schieben und entpacken.

    Code
    cd /
    gzip -dc /hdd/amule-2.0.3.tar.gz|tar -x


    Nun sollte ein Folder namens /hdd/aMule vorhanden sein, worin sich das Startscript amule befindet. Den esel aus diesem Verzeichnis mit

    Code
    amule

    starten.


    Ihr werdet aufgefordert ein password einzugeben. Dieses wird benötigt für den Zugang des Webinterfaces zum amule client. Nach der Passwort Eingabe sollte amule gestartet sein.
    Vergewissern könnt ihr Euch, wenn ihr in Eurem Internetbrowser folgendes eingebt: http://ipderdream:4771
    Nun sollte zumindest die Zugangsseite von amule zu sehen sein.
    Den "Login Now" Button drücken und los gehts, na noch nicht ganz. :winking_face:


    Das Webif ist noch etwas in der Entwicklung, also recht dürftig vom Funktionsumfang her. Ihr benötigt noch eine aktuelle server.met, die man sich ja im Netz irgendwo besorgen kann. Diese gehört nach /hdd/aMule/.aMule
    /hdd/aMule ist in diesem Fall das HOME Verzeichnis, was im Startscript von mir exportiert wurde. Wer die Configs woanders hin haben will muss das im Script "amule" selbst vornehmen.


    Zum einmaligem aktualisieren der server.met nochmal amule mit "amule -stop" auf der Konsole beenden.
    Wichtig! Ämnderungen der Configurations Dateien nur bei beendetem amuled/amuleweb Prozess vornehmen.


    Die server.met nun nach /hdd/aMule/.aMule schieben und den esel wieder mit "amule" starten. Über's Webinterface könnt ihr jetzt die Saugerei starten.


    Viel Spass !


    PS: Die Änderungen der Ports, abweichend vom Default können in der /hdd/aMule/.aMule/amule.conf vorgenommen werden. Ports forwarden nicht vergessen, sonst gibts nur ne LOW-ID.


    Nachtrag: Ich habe bemerkt, daß das Startscript mangels einiger nicht vorhandener Tools nicht auf allen Images läuft, so wie es soll.
    Mit den einfachen Befehlen

    Code
    export HOME=/hdd/aMule
    ./amule -f 
    ./amuled &


    können beide Prozesse aus dem Verzeichnis /hdd/aMule gestartet, bzw.
    mit

    Code
    killall amuled amuleweb

    wieder beendet werden.


    cheers :winking_face: