Angepinnt Telnet / Bootstrap ab FW-Version 3 - Hardware-Serial-COM

      Telnet / Bootstrap ab FW-Version 3 - Hardware-Serial-COM

      -- Einleitung --
      Ab den 3er-Versionen der SPH Firmware gibt es keine reine Software-Lösung mehr, um das System des SPHs anzupassen...
      Der SPH hat allerdings (schon länger bekannt) gleich mehrere serielle COM-Schnittstellen auf der Platine - eine davon gehört zum Linux-System des Routers. Bis jetzt war das Problem allerdings, daß diese Schnittstelle nicht sinnvoll auf Eingaben reagierte - sie ist wohl eigentlich nur als Debug-Schnittstelle (Ausgabe) gedacht.
      Bis kürzlich fehlten mir die Ressourcen / Werkzeuge / Zeit, um mich mit der COM zu befassen...

      Der Hardware-Zugriff (und zwischenzeitliche 'Erfahrung') haben aber auch Vorteile - diese Anleitung benötigt kein FTP oder Manipulationen an der Config des SPHs :D
      (Die Firewall-Regeln für Telnet und LTE-Modul setzen wir direkt -- Anpassungen am Startscript machen wir per 'sed' in der Konsole)

      >>>>> bitte bedenkt, daß ihr alles auf eigene Gefahr macht - wenn Ihr Euch traut :D <<<<<

      ----> das Ganze ist zwar schon mehrfach getestet, aber es gibt keine Garantie (und die 'echte' Garantie geht auch flöten ;) )

      Credits:
      @danXde --> für das Foto der Platine (hatte vergessen ein 'Vorher-Bild' von meinem SPH zu machen)
      @Stricted --> weil er mich nochmal auf die 'richtige' COM gestuppst hat (deren Kontakte waren bei meinem SPH stark oxidiert und haben erst keinen Kontakt gegeben - Reinigung half...)

      -- Was man braucht --
      - Auf jeden Fall schonmal einen USB-Seriell-Adapter mit 3,3V-TTL-Pegel...
      Ich persönlich empfehle da die mit FTDI-Chipsatz - Andere können aber auch funktionieren. Es gibt zB. welche für Arduino mit 3,3V...
      (notfalls überprüft die Spannung der Datenleitungen - es gibt Adapter, welche trotz 3,3V Versorgung die Datenleitungen mit 5V treiben - auch wenn das nicht sein sollte)
      --> die gibt's ab €4.- aber auch über €20.-

      - Dupont-Kabel (männlich/weiblich) sind auch immer hilfreich - eine Seite passt meist an den Adapter, die Andere kann man notfalls entfernen.
      - Lötwerkzeug, Nadeln - je nachdem, wie man die Verbindung herstellen möchte.
      - Fluxx / Reinigungsmittel oder wenigstens die blaue / rauhe Seite eines Radiergummies, um die Kontakte zu reinigen.
      - USB-Stick mit busybox-mips und/oder bootstrap-script (im Anhang - entpacken und auf den USB-Stick - busybox-mips ist neueste Version!)
      - Ein passendes Terminal-Programm: unter Linux zB. 'Screen' oder 'GtkTerm' (das nutze ich) - unter Windows ist glaub' ich 'putty' ok.
      - Eine ruhige Hand und/oder Mut ;)

      -- Öffnen des SPHs --
      Unter dem Fuß des SPHs sind zwei Gummistreifen - unter jedem Streifen ist eine Schraube.
      Der Rest des Gehäuses ist geklippt - dafür gibt's spezielles Werkzeug...
      ...ich nehm' da einfach eine alte Plastikkarte :D

      Wir müssen an die Rückseite der Platine - also abschrauben...

      -- Verbindung des USB-Serial-Adapters -- da hab' ich ein Bild für euch...

      Verbindungen:
      Adapter-GND an SPH-GND
      Adapter-RX an SPH-TX
      Adapter-TX an SPH-RX (ja - das ist links von dem kleinen SMD-Widerstand)

      Löten dürfte am sichersten sein - eventuell könnte man auch feine Nadeln in die Kontakt-Stellen 'bohren'...

      Verbindungsparameter der COM:
      - 115200 Baud
      - 8 Datenbits
      - keine Parität
      - 1 Stoppbit
      ---> also 115200-8-N-1

      So verbunden, sollte beim Boot einiges an Meldungen durchlaufen...

      -- Anpassen des Bootscripts --
      Jetzt kommt der 'fiese' Part...

      Wie oben erwähnt reagiert die Konsole über die COM nicht wirklich sinnvoll - was daran liegt, das der letzte Befehl im Startscript des Routers nicht zurückkehrt. Zusätzlich ist die 'erweiterte Jobkontrolle' deaktiviert, weshalb es auch keine Reaktion auf typische Tastenkombinationen gibt, um einen Abbruch anzustreben.
      Deshalb ging es hier auch nicht weiter - bis ich selbst testen konnte...

      Der Trick ist, im richtigen Moment einen Lesefehler am Flash-Chip zu erzwingen ;)
      Dafür muß man eigentlich nur mindestens zwei der Datenleitungen des Chips miteinander kurzschließen...
      --> CRC-Prüfsummenfehler --> Abbruch des Startscripts --> Drop auf die Root-Shell :D

      Im Bild oben habe ich am Flash-Chip (unten - fast mittig) einen Bereich markiert (Pin 5,6,7,8 von unten - rechts) - das sind 'sichere' Daten-Pins zum Kurzschließen.
      --> in beiden Ausführungen des Flash-Chips sind das Datenleitungen und die direkten Nachbarn darüber und darunter sind ungefährlich, selbst wenn man etwas verrutschen sollte.

      Man schaut also dem Boot zu - und sobald man die Meldungen bzgl. der 'mounts' sieht, also

      Quellcode

      1. mount config jffs2 success
      2. mount configback jffs2 success
      3. mount lte jffs2 success
      schließt man dort kurz -- mindestens zwei der vier Pins, zB. mit einem Schraubenzieher, Büroklammer, Prüfspitze...
      --> man landet in der Root-Shell...

      Jetzt passen wir das Startscript (/etc/profile) an, damit es beim nächsten Mal auch ohne Kurzschluß geht.
      (wir machen dafür einen Zwischenschritt, weil man für den Rest den USB-Stick benötigt - der nur nach einem 'sauberen' Boot richtig funktioniert)

      Folgende Befehle kopieren das Startscript, passen es an und schreiben es in das RootFS zurück:
      -- normalerweise kann man die Befehle zeilenweise kopieren --

      Quellcode

      1. cd /tmp
      2. cp /etc/profile .
      3. sed -ie 's/mic/mic \&/' profile
      4. mkdir rmnt
      5. mount -t jffs2 /dev/mtdblock0 /tmp/rmnt
      6. mount -o remount,rw /dev/mtdblock0 /tmp/rmnt
      7. rm rmnt/etc/profile && cp profile rmnt/etc/
      8. chmod 770 rmnt/etc/profile
      9. umount /tmp/rmnt

      Jetzt warten wir ein paar Sekunden zur Sicherheit - dann Reboot...
      --> wenn der SPH komplett 'oben' ist - funktioniert nun auch die COM.

      -----> sie ist allerdings auch weiterhin für Debug-Meldungen zuständig, die manchmal einfach so 'dazwischen' kommen - davon nicht irritieren lassen :D
      ...und man sieht nicht unbedingt sofort einen Prompt - wenn der Boot durch ist, nichts mehr an Meldungen durchläuft, einfach mal 'Strg-C' hilft da.

      -- Das eigentliche Ziel --
      Je nachdem, was man erreichen will, gibt's jetzt zwei Möglichkeiten - Telnet oder Bootstrap...
      Die schließen sich zwar nicht aus, aber wenn man den Bootstrap machen will, kann man Telnet auch dort einbinden - und braucht das nicht direkt im Startscript des SPHs zu erledigen.
      --> Deshalb zwei Versionen - einmal Telnet (inkl. Firewall-Regeln für Telnet und LTE-Modul) und einmal für Bootstrap.
      --> alle Anpassungen am Startscript machen wir per 'sed' - dadurch brauchen wir die Datei nicht erst auf den PC zu ziehen und alles geht direkt in der Konsole.

      -- Version 1 - Telnet --
      Die folgenden Befehle kopieren erstmal die busybox-mips vom USB-Stick nach /tmp (Sony_Storage_Media-054C8388_usb1 ist dabei die Kennung meines Sticks)
      --> Am einfachsten ist, nach 'cp /mnt' ein paar mal die TAB-Taste drücken --> der Pfad sollte dann ergänzt werden ;)

      Danach wird das Startscript nach /tmp kopiert, per 'sed' angepasst und in das RootFS zurückgeschrieben... (zeilenweise kopieren - 'sed'-Befehl ist laaang)

      Quellcode

      1. cd /tmp
      2. cp /mnt/Sony_Storage_Media-054C8388_usb1/busybox-mips .
      3. cp /etc/profile .
      4. sed -i -e '/Done/imkdir -p /dev/pts' -e '/Done/imount -t devpts devpts /dev/pts' -e '/Done/i/bin/busybox-mips telnetd -l /bin/sh' -e '/Done/iiptables -I INPUT_FIREWALL -s 192.168.2.0/24 -j ACCEPT' -e '/Done/isleep 60' -e '/Done/iiptables -t nat -I POSTROUTING -s 192.168.2.0/24 -j MASQUERADE --mode fullcone' -e '/Done/iiptables -I FORWARD -s 192.168.2.0/24 -d 172.10.10.1 -j ACCEPT' -e '/Done/i' profile
      5. mkdir rmnt
      6. mount -t jffs2 /dev/mtdblock0 /tmp/rmnt
      7. mount -o remount,rw /dev/mtdblock0 /tmp/rmnt
      8. cp busybox-mips rmnt/bin
      9. chmod 777 rmnt/bin/busybox-mips
      10. rm rmnt/etc/profile && cp profile rmnt/etc/
      11. chmod 770 rmnt/etc/profile
      12. umount /tmp/rmnt

      Jetzt warten wir ein paar Sekunden zur Sicherheit - dann Reboot...
      --> sobald der SPH komplett 'oben' ist, sollte er per Telnet erreichbar sein :D
      --> der zugegeben recht lange 'sed'-Befehl setzt auch die Firewall-Regeln für Telnet und die Erreichbarkeit des LTE-Moduls -- kein Entschlüsselns/Anpassen/Verschlüsselns der Config etc. notwendig!

      -- Version 2 - Bootstrap --
      Die Befehle für den Bootstrap sind übersichtlicher...
      Die folgenden Befehle kopieren erstmal die bootstrap vom USB-Stick nach /tmp (Sony_Storage_Media-054C8388_usb1 ist dabei die Kennung meines Sticks)
      --> Am einfachsten ist, nach 'cp /mnt' ein paar mal die TAB-Taste drücken --> der Pfad sollte dann ergänzt werden ;)
      Dann passen wir das Startscript an, schreiben es zurück in's RootFS, erstellen /opt/bin und kopieren das bootstrap-Script hinein - und passen die Rechte an.

      Quellcode

      1. cd /tmp
      2. cp /mnt/Sony_Storage_Media-054C8388_usb1/bootstrap .
      3. cp /etc/profile .
      4. sed -ir -e 's/PATH=(\/.*)$/PATH=\1:\/opt\/bin/' -e '/mic/ish /opt/bin/bootstrap &' -e '/mic/i' profile
      5. mkdir rmnt
      6. mount -t jffs2 /dev/mtdblock0 /tmp/rmnt
      7. mount -o remount,rw /dev/mtdblock0 /tmp/rmnt
      8. rm rmnt/etc/profile && cp profile rmnt/etc/
      9. chmod 770 rmnt/etc/profile
      10. mkdir -p rmnt/opt/bin
      11. cp bootstrap rmnt/opt/bin
      12. chmod 777 -R rmnt/opt
      13. umount /tmp/rmnt

      Jetzt warten wir ein paar Sekunden zur Sicherheit - dann Reboot...
      --> ab jetzt wird der SPH beim Start schauen, ob ein USB-Stick verbunden, darauf ein Ordner '_bootstrap_' vorhanden ist -- wenn ja, wird dieser als '/opt' in das Dateisystem des SPHs eingebunden.
      Dann wird geprüft, ob in '/opt' (USB-Stick/_bootstrap_) ein Script mit dem Namen 'bootstrap_init.sh' zu finden ist -- wenn ja, wird es gestartet.
      Dafür muß der USB-Stick allerdings ext2 oder ext3 formatiert sein, sonst klappt das mit den Dateirechten nicht.
      Details gibt's nochmal hier --> Bootstrap - Erweiterungen / Änderungen auf USB auslagern

      -- Abschluß --
      Abschließed möchte ich sagen, daß man mit einem USB-TTL-Adapter im Grunde fast jedes 'moderne' Gerät anpassen kann.
      Ärgerlich ist es allerdings trotzdem, daß soviel 'Notwehr' notwendig ist, nur um die Obrigkeit über das eigene LAN zu behalten.
      --> richtig wäre ein 'sauberer' Telnet oder SSH-Zugriff direkt in der Firmware -- oder eine ordentliche Firmware...

      Naja - ich wünsche Euch zumindest viel Spaß :D

      mfg, emkay
      Dateien
      • busybox-mips.zip

        (771,88 kB, 1.977 mal heruntergeladen, zuletzt: )
      • bootstrap.zip

        (581 Byte, 2.007 mal heruntergeladen, zuletzt: )
      Hervorragend, danke euch.

      @eMKay77 interpretiere ich das grade richtig das ich mit meinem zum Basteln freigegeben SPH den entscheidenden Anstoß gegeben habe? Hatte einen zu @Stricted gesendet und dann lange nichts mehr gehört.

      Für die Interessierten, so sieht das aus wenn der Elektrotechniker neugierig wird, hat nur wenige Minuten gedauert bis der neue SPH völlig verdrahtet wurde :D
      Bilder
      • IMG_20170305_173322.jpg

        1,48 MB, 3.264×2.448, 2.187 mal angesehen
      • IMG_20170305_140450.jpg

        1,36 MB, 3.264×2.448, 2.220 mal angesehen
      Moin!

      Falco schrieb:

      @eMKay77 interpretiere ich das grade richtig das ich mit meinem zum Basteln freigegeben SPH den entscheidenden Anstoß gegeben habe? Hatte einen zu @Stricted gesendet und dann lange nichts mehr gehört.
      zumindest hat @Stricted mir ein Foto gezeigt, auf dem die COM zu sehen war - möglich, daß das Deine Bastelkiste war...
      ...der eigentliche Anstoß jetzt doch in Hardware zu gehen war allerdings, daß ich mir zu Weihnachten (naja - und kurz danach) endlich mal Bastelkram geleistet habe :D

      Ich sehe, Du hast den USB verbunden? Schon (echten) Erfolg damit gehabt?
      (ich weiß, daß der SPH sich wohl in etwa wie ein Huawei-LTE-Stick am PC anmeldet - Kennung gleich zum E3276 -- aber wirklich genutzt hat den USB wohl noch niemand... ich selbst hab' erstmal nur den Linux-COM verbunden, vorher ein wenig mit der VxWorks des LTEs gespielt...)

      mfg, emkay
      Die Bilder habe ich nicht gemacht, die sind bei @Stricted entstanden. Ich kann mir bildlich vorstellen wie er das Paket mit strahlenden Augen wie ein kleiner Junge zu Weihnachten unverzüglich geöffnet hat und direkt zum Lötkolben griff. War doch so, geb es schon zu. ;)

      Bastelkiste ist vielleicht das falsche Wort, der ist voll Funktionsfähig, den hab ich günstig bekommen weil das Netzteil kaputt war.

      Ist nun schon fast genau ein Jahr her wie man am Aufnahmedatum erkennen kann.
      Vermutlich wartet der SPH mittlerweile, wie ein verwaistes Spielzeug, aus seinem Gehäuse herausgelöst ganz traurig in einer dunklen Ecke und sehnt sich nach etwas Aufmerksamkeit. ;(
      @Falco jap das bild das ich @eMKay77 gegeben hatte war von deiner bastel kiste
      habe vor 2 tagen einen neuen sph bekommen (um die vergünstigung zu bekommen) den werde ich die tage dann mal rooten

      eMKay77 schrieb:


      Ich sehe, Du hast den USB verbunden? Schon (echten) Erfolg damit gehabt?
      (ich weiß, daß der SPH sich wohl in etwa wie ein Huawei-LTE-Stick am PC anmeldet - Kennung gleich zum E3276 -- aber wirklich genutzt hat den USB wohl noch niemand... ich selbst hab' erstmal nur den Linux-COM verbunden, vorher ein wenig mit der VxWorks des LTEs gespielt...)

      mfg, emkay

      da hatte ich ehrlich gesagt nicht weiter mit gespielt gehabt da ich kein linux aufm pc habe

      ich hatte lediglich die com's gesucht gehabt (zu dem zeitpunkt mit @hefr54 zusammen) aber da sind wie ja stehen geblieben weil der mic prozess die shell blockierte
      @eMKay77: ich habe mich entschlossen meinen Speedport Hybrid anhand deiner Anleitung "umzubasteln", hab da aber ein paar Fragen für Linux/Unix- und Digitaltechnik-Dummies ?(

      - Anschluss des USB-Seriell-Adapters: ich hab mir beim großen Fluss ein USB-TTL-Konverter Modul mit FTDI Chip ausgesucht (das Ding heisst FT232RL), der 3.3V und 5V unterstützt, den jumpere ich auf 3.3V denke ich mal (?) und löte GND, RX und TX an die Punkte die auf deinem Foto im ersten Beitrag hier in rotem Text angegeben sind, und schliesse den via USB an meinen Rechner an (MacBook) - soweit korrekt?

      - Terminal Client: wie bekomme ich raus welcher COM-Port auf meinem MacBook durch den Adapter bedient wird, und wie öffne ich im Client (zB Termius oder das normale OS-X Terminal Programm) diesen Port, damit ich die Boot-Meldungen des SP-H sehe um an der richtigen Stelle im Boot-Vorgang durch den Kurzschluss am Flash-Chip in die Root-Shell zu kommen?

      - Wenn ich das richtig verstehe erreiche ich sowohl mit TelNet als auch mit Bootstrap jeweils das Ziel, wo liegen denn Vor- bzw. Nachteile der jeweiligen Variante?

      - Ich packe, wenn ich die ganze Konfig zu Telnet oder Bootstrap wie oben beschrieben durchgeführt habe, dann das File von danXde (Komplettlösung) auf den USB-Stick, der dann im Speedport Hybrid eingesteckt bleibt, und damit sollte nach Reboot des Speedport alles funktionieren wie in der Komplettlösung von danXde beschrieben?

      - Was hat es denn mit den Fotos von Falco weiter oben und den dort gezeigten diversen Anschlüssen auf sich - was für Anschlüsse hat er da gelegt und wofür werden die benötigt? Für den von dir beschriebenen Mod sind die doch nicht notwendig, da reicht der Seriell-Adapter aus, korrekt?

      Sorry wenn das dumme Fragen sein sollte, und umso mehr Danke für Antworten dazu ;)

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Schorschi64“ ()

      Moin!

      Schorschi64 schrieb:

      - Anschluss des USB-Seriell-Adapters: ich hab mir beim großen Fluss ein USB-TTL-Konverter Modul mit FTDI Chip ausgesucht (das Ding heisst FT232RL), der 3.3V und 5V unterstützt, den jumpere ich auf 3.3V denke ich mal (?) und löte GND, RX und TX an die Punkte die auf deinem Foto im ersten Beitrag hier in rotem Text angegeben sind, und schliesse den via USB an meinen Rechner an (MacBook) - soweit korrekt?
      FT-232RL ist die Bezeichnung des verbauten Chips und der 232RL ist momentan der ideale für die meisten Anwendungen. Solch ein Adapter kann übrigens noch weit mehr, als einfach USB-Seriell -- man kann den zB. auch für Steuerungen verwenden (der hat 8-12 GPIOs und kann sogar seinen Oszillator-Takt nach außen geben - zB. um einen Mikroprozessor zu takten...)

      Aber richtig -- den Jumper auf 3,3V
      -- SPH-GND an Adapter-GND
      -- SPH-TX an Adapter-RX
      -- SPH-RX an Adapter TX
      (also TX und RX über Kreuz...)

      Schorschi64 schrieb:

      - Terminal Client: wie bekomme ich raus welcher COM-Port auf meinem MacBook durch den Adapter bedient wird, und wie öffne ich im Client (zB Termius oder das normale OS-X Terminal Programm) diesen Port, damit ich die Boot-Meldungen des SP-H sehe um an der richtigen Stelle im Boot-Vorgang durch den Kurzschluss am Flash-Chip in die Root-Shell zu kommen?
      Unter Linux kann man einfach 'dmesg' nutzen - beim Anschluß des Adapters erscheinen dort passende Meldungen, beim Laden des Treibers zeigen die Meldungen auch, welcher Port verbunden wurde... unter MacOS habe ich da keine Erfahrung...
      (könnte aber ähnlich sein, weil MacOS basiert ja auf 'nem Unix-Kernel und ist 'etwas' verwandt zu Linux)

      Schorschi64 schrieb:

      - Wenn ich das richtig verstehe erreiche ich sowohl mit TelNet als auch mit Bootstrap jeweils das Ziel, wo liegen denn Vor- bzw. Nachteile der jeweiligen Variante?
      Zum Einen funktioniert die Serial-COM ohne Software (ist fast wie Tastatur und Monitor am SPH) und damit viel früher -- man sieht zB. schon die Bootmeldungen und hat auch Zugrff, wenn der Boot misslingt. Zum Anderen funktioniert Telnet eben nur per Software, welche die Telekom/Huawei bei den Firmware-Versionen 3+ entfernt hat.
      Allerdings hat die Serial-COM nicht den gleichen Speed, wie Telnet und Dateien direkt über Serial-COM ist nicht so einfach. (dank USB-Stick am SPH nicht so schlimm...)

      Schorschi64 schrieb:

      - Ich packe, wenn ich die ganze Konfig zu Telnet oder Bootstrap wie oben beschrieben durchgeführt habe, dann das File von danXde (Komplettlösung) auf den USB-Stick, der dann im Speedport Hybrid eingesteckt bleibt, und damit sollte nach Reboot des Speedport alles funktionieren wie in der Komplettlösung von danXde beschrieben?
      Änderungen an der Konfig sind nur bei der Software-Lösung unter Firmware-V2 notwendig -- bei der Hardware-Serial umgeht man die Firmware-Beschränkungen ja einfach.
      Zur Komplett-Lösung ruf ich mal @danXde, weil die kenn' ich kaum... :D

      Schorschi64 schrieb:

      - Was hat es denn mit den Fotos von Falco weiter oben und den dort gezeigten diversen Anschlüssen auf sich - was für Anschlüsse hat er da gelegt und wofür werden die benötigt? Für den von dir beschriebenen Mod sind die doch nicht notwendig, da reicht der Seriell-Adapter aus, korrekt?
      In 'meinen' Fotos hab' ich nur die Punkte markiert, welche für den Zugriff auf den Linux-Teil des SPHs interessant sind.
      Es gibt aber noch mehr 'Zugänge': zusätzlich zur Linux-Konsole der Firmware gibt es noch eine Linux-/Android-Konsole zum 'LTE-Router', eine VxWorks-Konsole zum LTE-Modul und da ist auch ein USB-Slave-Port zum LTE-Router...

      Schorschi64 schrieb:

      Sorry wenn das dumme Fragen sein sollte, und umso mehr Danke für Antworten dazu
      dumme Fragen gibt's nich'... :D

      mfg, emkay

      eMKay77 schrieb:

      Schorschi64 schrieb:
      - Terminal Client: wie bekomme ich raus welcher COM-Port auf meinem MacBook durch den Adapter bedient wird, und wie öffne ich im Client (zB Termius oder das normale OS-X Terminal Programm) diesen Port, damit ich die Boot-Meldungen des SP-H sehe um an der richtigen Stelle im Boot-Vorgang durch den Kurzschluss am Flash-Chip in die Root-Shell zu kommen?

      Unter Linux kann man einfach 'dmesg' nutzen - beim Anschluß des Adapters erscheinen dort passende Meldungen, beim Laden des Treibers zeigen die Meldungen auch, welcher Port verbunden wurde... unter MacOS habe ich da keine Erfahrung...
      (könnte aber ähnlich sein, weil MacOS basiert ja auf 'nem Unix-Kernel und ist 'etwas' verwandt zu Linux)

      @Schorschi64 probiere mal screen /dev/tty.<tab><tab> (2x Tabulator-Taste), dann solltest Du sowas wie tty.usbserial-00000000 finden.

      Der komplette Befehl ist dann screen /dev/tty.usbserial-00000000 115200 8N1.

      Wenn der Bootstrap von @eMKay77 erledigt ist, musste nur einen USB-Stick, welcher mit ext3 formatiert ist und das als root ausgepackte Archiv (_bootstrap.tgz) enthält, einstecken. Fertig.

      Du kannst dich dann nach dem booten per ssh auf dem SPH einloggen und weitere Anpassungen, falls erforderlich ist, vornehmen.

      Grüße

      danXde
      Osterzeit ist Bastelzeit!

      Und darum habe ich gerade mal nach Anleitung den Bootstrap umgesetzt. Ging eigentlich recht fix - nur sollte man für den Hardwareteil wirklich eine ruhige Hand haben.

      Darum Riesen-Dank an @eMKay77, @danXde und alle anderen Beteiligten.

      P.S.: kleine Anmerkung =>
      in bootstrap_init.sh gibt es ein remount auf /usr/local . Aber dieses Verzeichnis gibt es nicht und darum läuft das auf einen Fehler. Soweit ich sehen konnte, wird das Verzeichnis nicht anderweitig genutzt - aber Frage: gab es mal einen Grund für dieses Remount?
      Moin!

      Immer schön, auch Erfolgsmeldungen zu lesen!

      bri50 schrieb:

      in bootstrap_init.sh gibt es ein remount auf /usr/local . Aber dieses Verzeichnis gibt es nicht und darum läuft das auf einen Fehler.
      Ich gehe mal davon aus, Du meinst das Initscript, wie es in @danXdes Komplettlösung vorhanden ist?
      Bin mir gerade nicht sicher, ob der SPH normalerweise überhaupt ein /usr/local hat -- könnte aber ein Rest sein aus einer andere Anpassung.
      (manche der portierten Programme nutzen 'linux-typische' Ordner wie '/usr/local' oder auch '/sbin' -- teils auch hardcoded)

      Müsste man mal prüfen :D

      mfg, emkay
      @eMKay77 und @danXde : ich habe mal zuerst den Bootstrap und danach noch Telnet umgesetzt sowie die Komplettlösung von danXde auf den USB-Stick reingenommen, zumindest hat das mit dem USB-Serial Adapter ganz gut geklappt nachdem ich die Strippen mal einigermaßen angelötet hatte ... was ich aber nicht weiss ist ob denn die Komplettlösung wirklich jetzt läuft. Telnet geht jedenfalls ..

      Im Verzeichnis /opt ist das hier vorhanden:
      # cd opt
      # ls
      include http libexec varsbin bootstrap_init.sh bin install logdata orig etc root share lib


      Beim Start sehe ich diese Meldungen, die aber ein paar Fehlermeldungen enthalten, nachdem der USB-Stick gemounted wurde:

      [USBMount]: mount success acDevPath:/dev/sda1 acMntPath:/mnt/USB_DISK-12341823_usb1_1
      Setting SSID: "WLAN-XXXXXX"
      wlctl: Unsupported
      wlctl: Not up
      pcm auto test success

      PCM OK

      setpriority begin
      [voiper] 1018: old priority -1, new priority -15
      [voiper] 1027: old priority -1, new priority -15
      [voiper] 1028: old priority -1, new priority -15
      [voiper] 1029: old priority -1, new priority -15
      [voice-eptEvent] 1030: old priority -1, new priority -15
      [voice-eptPacket] 1031: old priority -1, new priority -15
      [voiper] 1033: old priority -1, new priority -15
      [voice-RTP0] 1045: old priority -1, new priority -15
      [voice-RTP1] 1046: old priority -1, new priority -15
      [voice-RTP2] 1047: old priority -1, new priority -15
      [voice-RTP3] 1048: old priority -1, new priority -15
      [voice-RTP4] 1049: old priority -1, new priority -15
      [voice-RTCP] 1050: old priority -1, new priority -15
      [voiper] 1051: old priority -1, new priority -15
      [voiper] 1054: old priority -1, new priority -15
      [voiper] 1057: old priority -1, new priority -15
      [voice-DECT_UART] 1058: old priority -1, new priority -18
      [voice-DECT_CB] 1059: old priority -1, new priority -15
      [voice-DECT_Send] 1060: old priority -1, new priority -15
      setpriority comp

      Dect Init Completely...

      Open file failed, don't need reset dect!

      [(ERR)00:00:19.311-dect_api.c:L505]unlink failacsd: scan in progress ...
      acsd: scan in progress ...
      acsd: scan in progress ...
      acsd: scan in progress ...
      acsd: scan in progress ...
      acsd: scan in progress ...
      acsd: scan in progress ...
      acsd: scan in progress ...
      acsd: scan in progress ...
      acsd: scan in progress ...
      acsd: scan in progress ...
      acsd: scan in progress ...
      acsd: scan in progress ...
      acsd: scan in progress ...
      acsd: selected channel spec: 0x100b
      acsd: scan in progress ...
      acsd: scan in progress ...
      mount: mounting /opt on /usr/local failed: No such file or directory
      mount: mounting devpts on /dev/pts failed: Device or resource busy
      acsd: scan in progress ...
      rm: cannot remove '/opt/var/lib/dibbler/server.pid': No such file or directory
      rm: cannot remove '/opt/var/lib/dibbler/undo_ipv6_fwl.sh': No such file or directory
      rm: cannot remove '/opt/var/lib/dibbler/undo_ipv6_route.sh': No such file or directory
      rm: cannot remove '/opt/var/log/dibbler/dhcp6update.log': No such file or directory
      rm: cannot remove '/opt/var/log/dibbler/dibbler-server-notify.log': No such file or directory
      rm: cannot remove '/opt/var/log/dibbler/dibbler-server.log': No such file or directory
      acsd: scan in progress ...
      killall: siproxd: no process killed
      acsd: scan in progress ...
      acsd: scan in progress ...
      acsd: scan in progress ...
      acsd: scan in progress ...
      acsd: scan in progress ...
      acsd: scan in progress ...
      acsd: scan in progress ...
      acsd: scan in progress ...
      acsd: scan in progress ...
      acsd: scan in progress ...
      acsd: scan in progress ...
      acsd: selected channel spec: 0xe06a
      Sorry, rule does not exist.


      Gibt es eine Möglichkeit festzustellen ob die Komplettlösung so wie gewünscht läuft, und wie kann ich dass checken? Wäre super wenn ihr mir dazu noch ein Feedback geben würdet.

      Viele Grüße !!

      Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Schorschi64“ ()

      @Schorschi64 , kommentiere mal in der bootstrap_init.sh das remount von /usr/local aus.

      Also der bootstrap ist erfolgt, das er die einzelnen Files nicht löschen kann, kann daran liegen, das sie noch nicht da sind, weil das erstem mal mit der Lösung gestartet wurde. bei nächsten Reboot, sollte er die Files finden und entsprechend löschen.

      Wenn die Komplettlösung richtig läuft, sollte bei dem comando ps -ef kein voiper, kein siproxd und dhcp6s mehr zu sehen sein. Dafür dann ein crond, dippler-server,led-daemon.

      ausserdem solltest Du auf Port 8080 einen zweiten Webserver finden und dich per ssh einloggen können. Client's die sich hinter eine nachgelagerten Fritz.Box befinden bekommen eine IPv6-Adresse zugewiesen, wenn in der Fritz.Box IPv6 Support aktiviert ist. Die Telefonie sollte dann ebenfalls sauber in der Fritz.Box laufen, wobei es da immer noch kleine Fallstricke gibt.

      Grüße

      danXde
      @danXde: vielen Dank für die schnelle Antwort!

      Ich bin mal per Telnet auf den SP-H gegangen (die COM hab ich schon wieder "abgebaut" weil die angelöteten Kabel schon fast wieder abgingen), das Kommande ps -ef bringt mir die folgenden Ausgabe - kein voiper, siprocd und dhcp6s, aber auch kien crond, dippler-server und led-daemon :(


      # ps -ef
      PID Uid Gid VSZ Stat Command
      1 root root 856 S init
      2 root root SW [kthreadd]
      3 root root SW [ksoftirqd/0]
      5 root root SW [kworker/u:0]
      6 root root SW [migration/0]
      7 root root SW [migration/1]
      8 root root SW [kworker/1:0]
      9 root root SW [ksoftirqd/1]
      11 root root SW< [khelper]
      12 root root SW< [board]
      13 root root SW [kworker/1:1]
      14 root root SW [kworker/u:1]
      99 root root SW [sync_supers]
      101 root root SW [bdi-default]
      103 root root SW< [kblockd]
      111 root root SW [khubd]
      131 root root SW [skbFreeTask]
      132 root root SW< [bpm]
      150 root root SWN [kswapd0]
      151 root root SW [fsnotify_mark]
      153 root root SW< [crypto]
      213 root root SW [mtdblock0]
      218 root root SW [mtdblock1]
      223 root root SW [mtdblock2]
      228 root root SW [mtdblock3]
      233 root root SW [mtdblock4]
      238 root root SW [mtdblock5]
      243 root root SW [mtdblock6]
      248 root root SW [mtdblock7]
      253 root root SW [mtdblock8]
      258 root root SW [mtdblock9]
      263 root root SW [mtdblock10]
      268 root root SW [mtdblock11]
      273 root root SW [mtdblock12]
      278 root root SW [mtdblock13]
      306 root root SW< [linkwatch]
      325 root root SW< [deferwq]
      331 root root 924 S -/bin/sh
      343 root root SWN [jffs2_gcd_mtd2]
      346 root root SWN [jffs2_gcd_mtd12]
      350 root root SWN [jffs2_gcd_mtd13]
      365 root root 800 S tftpd -s /etc/tftpd
      366 root root 912 S sh /opt/bin/bootstrap
      367 root root 2608 S mic
      374 root root 192 S /bin/busybox-mips telnetd -l /bin/sh
      376 root root 956 S /bin/log
      379 root root 4372 S cms
      389 root root SW [bcmFlwStatsTask]
      394 root root SW [fapGsoLoopBk]
      395 root root SW [kpAliveWatchdog]
      411 root root SW [bcmsw_rx]
      430 root root SW [bcmsw_timer]
      431 root root SW [bcmsw]
      436 root root SW [scsi_eh_0]
      437 root root SW [usb-storage]
      452 root root SW [dsl0]
      543 dhcps dhcps 1608 S /bin/ipcheck
      545 dhcps dhcps 1348 S /bin/dhcps
      547 root root 1220 S /bin/dns
      619 root root SW [kworker/0:2]
      929 root root 964 S hybrid
      1010 root root 460 S igmp -I /var/igmp/wan.conf
      1062 root root SW [wl0-kthrd]
      1068 root root SW [wl1-kthrd]
      1125 root root 540 S /bin/radvd
      1129 root root 416 S sntp
      1339 root root 588 S ltemsg
      1576 root root SW [kjournald]
      1792 root root 248 S /bin/eapd
      1795 root root 472 S /bin/nas
      1800 root root SW [flush-8:0]
      1879 root root 856 S /bin/acsd
      1920 root root 732 S /bin/wps_monitor
      2375 root root SW [kworker/0:0]
      20526 root root SW [flush-mtd-unmap]
      24563 root root 916 S /bin/sh
      25316 root root 760 S sleep 1
      25429 root root 880 R ps -ef
      25439 root root []
      28788 web web 4252 S /bin/web -s 15 -t 0 -s 16 -t 2 -s 17 -t 4 -s
      #

      Was ich leider bisher vergessen habe zu erwähnen (sorry für die Schusseligkeit): der SP-H läuft noch "stand-alone", also ohne DSL Anschluss und ohne SIM -Karte für LTE, weil mein Anschluss erst in 4 Wochen zur Telekom umgeschaltet wird - kann das vielleicht ein Grund sein warum ich die von die angegebene Prozesse nicht sehe?

      Was ich gestern abend gemacht habe: nach Anschluss der COM Schnittstelle zuerst, wie von @eMKay77 oben beschrieben, das Startscript angepasst und den SP-H neu gestartet. Danach habe ich die Bootstrap-Variante installiert und deine Komplettlösung auf den USB-Stick gepackt: ext3 formatiert, das ZIP-Archiv entpackt, das tgz-file auf den USB-Stick kopiert und dann unter Ubuntu mit "sudo tar xvzf _bootstrap_.tgz" dort das tgz-file entpackt. Ubuntu zeigt mir als Eigentümer für den Ordner _bootstrap_ den Benutzer root an - sollte also eigentlich alles Ok sein oder?

      Nach Reboot des SP-H habe ich dann noch die ebenfalls oben beschriebene Telnet-Variante installiert, und Telnet funktioniert jetzt auch so dass ich auch ohne die COM auf den SP-H komme.

      Frage: kann man das überhaupt so machen, dass man zuerst die Bootstrap-Variante wählt und danach noch die Telnet-Variante "draufpackt", oder überschreibt die Telnet-Variante etwas was für Bootstrap wichtig ist? Wenn ja, wie kann ich Bootstrap und deine Komplettlösung nutzen und gleichtzeitig Telnet etc. haben?

      Viele Grüße, Schorschi64