sphfreq-1.0.2

  • Moin Leutz!

    Hab' also mal wieder ein kleines Update...
    Im Grunde ist noch vieles so, wie unter sphfreq - Tool zum Einstellen der LTE-Frequenz(en) beschrieben.
    Mit kleinen Abweichungen - es kann jetzt auch genutzt werden, um die LEDs zu steuern :D

    Shell-Script

    1. #!/bin/sh
    2. let led_old=0
    3. show_rsrq()
    4. {
    5. rsrq=$(sphfreq show | grep RSRQ | cut -f 3)
    6. if [ $rsrq == "-" ];then rsrq=0;fi
    7. let led=rsrq+12
    8. let led=6-led # range -7 to -11
    9. if [ $led -ge 5 ];then led=5;fi
    10. if [ $led -le 1 ];then led=1;fi
    11. if [ $led != $led_old ]
    12. then
    13. led_old=$led
    14. sphfreq leds lteall on
    15. sphfreq leds lte$led off
    16. fi
    17. }
    18. tunnels_up()
    19. {
    20. sphfreq leds power on
    21. }
    22. tunnels_down()
    23. {
    24. sphfreq leds power off
    25. sphfreq leds red blink
    26. }
    27. while(true)
    28. do
    29. show_rsrq
    30. if [ "$(ip link show | grep gre1\@ppp256)" ] && [ "$(ip link show | grep gre2\@rmnet0)" ]
    31. then
    32. tunnels_up
    33. else
    34. tunnels_down
    35. fi
    36. sleep 1
    37. done


    und das wird bei mir in der bootstrap_init.sh per

    Quellcode

    1. /opt/bin/leddaemon &
    gestartet. Läuft prima - und mit einem Blick auf den Router weiß ich nun, ob die Tunnel oben sind und ob der RSRQ im Rahmen ist :D

    Aus Tradition jetzt noch das angepasste Mini-Script, um die Ausgabe von sphfreq in eine Zeile für's Log zu formatieren:

    Shell-Script

    1. #!/bin/sh
    2. # Timestamp - Freq - LTEBand - CellID - RSRP - RSRQ - RSSI - PLMN - LAC - RAC - CELL_ID
    3. echo $(date +%Y%m%d%H%M) $(sphfreq show | busybox-mips tail -n 12 | cut -d ':' -f 2 | grep '[0-9\-]' | grep -v '>')

    und um aus dem Log die bekannten Zellen zu extrahieren:

    Shell-Script

    1. #!/bin/sh
    2. cut -d ' ' -f 4,3,2,11 /opt/logdata/lte.log | busybox-mips sort | busybox-mips uniq | grep ' [1-9][0-9]* '


    So - sollten noch Fragen offen sein - einfach im oben genannten Thread stellen ;)

    mfg, emkay

    EDIT: kleinen Flüchtigkeitsfehler im Script behoben, welcher zu einem unnötigem Flackern führte. (led_old muß natürlich außerhalb der Funktion initialisiert werden, damit die LEDs nur bei Änderung neu gesetzt werden... senkt auch die CPU-Last noch einmal mehr.)
    Dateien

    103.851 mal gelesen