Speedport Chatscript (DHCP6 aus, Route fixen, Frequenz einstellen)

      Speedport Chatscript (DHCP6 aus, Route fixen, Frequenz einstellen)

      Hallo zusammen,

      da ich einen gemieteten Speedport habe, scheue ich mich etwas, im Rom rumzuschreiben. Ich habe aber für mich eine brauchbare Lösung gefunden, ein paar grundlegende Dinge einzustellen.

      Ich habe ein kleines Chatscript gebaut, welches auf meinem Raspberry per Cron alle 5 Minuten läuft:
      * DHCP6-Server killen
      * "Whatsapp-Bug-Route" entfernen
      * 1800 MHz fest einstellen

      Voraussetzung ist aktiviertes Telnet auf dem SPH sowie das Paket "expect" auf dem Raspberry. Hier das Script (IP vom Speedport anpassen):

      Quellcode

      1. #!/usr/bin/expect
      2. set timeout 20
      3. spawn telnet 192.168.1.249 9923
      4. expect "Login:"
      5. send "!!Huawei\n"
      6. expect "Password:"
      7. send "@HuaweiHgw\n"
      8. expect "ATP>"
      9. send "sh\n"
      10. expect "$ "
      11. send "su\n"
      12. expect "# "
      13. send "route del -net 169.0.0.0/8\n"
      14. expect "# "
      15. send "killall -9 dhcp6s\n"
      16. expect "# "
      17. # 800 MHz
      18. #send "atcmd syscfgex set \\\"03\\\",3FFFFFFF,3,1,80000,0,0\n"
      19. # 1800 MHz
      20. send "atcmd syscfgex set \\\"03\\\",3FFFFFFF,3,1,4,0,0\n"
      21. expect "OK"
      22. expect "# "
      23. send "exit\n"
      24. expect "$ "
      25. send "exit\n"
      26. expect "ATP>"
      27. send "exit\n"


      Vielen Dank an alle hier im Forum für die Tipps, ohne die das nicht möglich gewesen wäre ;)
      Moin!

      Also zumindest die Frequenzeinstellung musst Du nicht andauernd wiederholen -- die bleibt fixiert bis zum nächsten Firmware-Flash :D
      (die Router-Firmware selbst schreibt die Frequenz nie - die ist von der LTE-Modul-Firmware vorgegeben)

      Übrigens könntest Du auf ähnlichem Weg auch ein Script im /tmp des Routers anlegen (zB. per echo -ne 'Inhalt des Scripts' > /tmp/watchdog.sh) und es dort starten -- der RasPi müsste das dann nur einmal, nach dem Neustart des SPHs, anstoßen.

      --> streng genommen könntest Du sogar den kompletten Bootstrap von außen temporär anstossen - dieser besteht ja nur aus einem Mount über /tmp und einem USB-Stick -- der Eingriff in's Flash ist nur für die Automatisierung beim Boot des SPHs nötig.

      mfg, emkay

      EDIT: ich selbst hatte übrigens, statt den DHCPv6-Server zu killen, einfach die lanseitige Firewall des SPHs dazu gebracht, die RAs zu blocken...
      --> da reicht es dann auch, das einmal zu machen - der SPH lässt das dann so bis Neustart.
      @danXde: doch natürlich. Du könntest auch den _bootstrap_ direkt wie gehabt executable nach /tmp mounten.
      Der Eingriff in's Flash sorgt ja nur dafür, daß der Suchpfad angepasst, /opt erstellt und das Startscript gestartet wird.
      --> wenn man mit expliziten Pfaden auskommt und nach jedem Reboot des SPHs ein expect-Script startet um den Rest anzustoßen, braucht man keinen Eingriff in's RootFS - nur Telnet. Das gilt aber leider trotzdem nur für die v02... ;)
      (außer natürlich, der SPH hätte so'ne nette Sicherheitslücke, wie die, die man jetzt in manchen Netgear-Routern gefunden hat - da kann man per URL im Browser ganz trivial, Code im Router-System ausführen...)

      mfg, emkay