CellID festlegen oder auswählen
-
-
@Heiko: viel schlimmer ==> das scheint nichmal zu funktionieren :(
Also in drei Schritten geht's - aber nicht per && zusammen gefasst...
Es muß natürlich heißen:
weil sphfreq den at-result zurückgibt was && als Fehler interpretiert.
mfg, emkay -
-
Heiko schrieb:
dann sind es ja immerhin 5 Zeilen
nö - du kannst das direkt in eine Zeile schreiben, nur eben mit ';' als Trenner statt '&&'
@hefr54: so richtig hilfreich sind solche ungefilterten mega-postings nich...
Und um den kleinen Fehler oben wieder gut zu machen:
wenn man das als /opt/bin/forcecell speichert - kann man damit (wenn auch etwas umständlich) die Zelle setzen.
Will man zB. die Zelle 142 mit Begrenzung auf 1800MHz haben ==> forcecell 142 1800
Selbe Zelle aber alle Frequenzen erlauben ==> forcecell 142 all
Andere Zelle nur 800MHz ==> forcecell 354 800
usw.
Aber Achtung: gibt man als Zelle eine 1800er an, aber beschränkt auf 800MHz ist das eine Endlosschleife
(Selbiges gilt, wenn die Zelle nicht erreichbar ist)
Es ist ein hässlicher Hack, welcher darauf beruht, das die meisten keine 2600er-Zellen haben - ein Erzwingen deshalb zum Verlust der Verbindung führt. Dadurch führt die Schleife zum Trennen/Einbuchen --> bis die Wunschzelle erreicht ist.
mfg, emkay
PS: ja ich weiß - sind 13 Zeilen -
-
-
-
Heiko schrieb:
na nu komm schon : kommt einer neuen Zeile gleich!
Joa, aber spart dabei eine Zeile...
und lässt sich so eben als ein Befehl am Stück eingeben.
Aber hätte ich das 'do' auf die while-Zeile gesetzt, die 'echos' und das 'let' weggelassen - also unschöner:
mfg, emkay -
hefr54 schrieb:
Bleibt bei Deiner Zellenwahl den die Zelle auch erhalten oder verliert der SPH sie wieder wenn eine andere starke Zelle
in der Nähe ist?
Das hier ist nur ein auf sphfreq basierender Hack - Reconnect-Bis-Wunschzelle
Sie ist damit nicht gepinnt. (man könnt' jetzt alle 10sek. die CellID checken - und notfalls das Script starten - aber unschön)
mfg, emkay -
-
hab mal etwas umgestellt...
müsste jetzt als Dauerschleife laufen und die Cell-ID überwachen... wenn die sich ändert, dann löst die den Frequenzwechsel aus und connected solange bis die Cell-ID wieder die gewünschte ist...
@eMKay77: Ich versuche das mal in die sphfrequi zu bekommen, kann aber dauern.... erstmal durchsteigen -
-
@Heiko...
meinste sowas?
Quellcode
- AT_AMSS_RES_EN setCurrentCell()
- {
- LcellinfoSetType sdata={0};
- LcellinfoResType rdata={0};
- strncpy(sdata.Acqorder,"03",sizeof(sdata.Acqorder));
- strncpy(sdata.Freq,"8160",sizeof(sdata.Freq));
- strncpy(sdata.Band,"20",sizeof(sdata.Band));
- strncpy(sdata.CellId,"354",sizeof(sdata.CellId));
- strncpy(sdata.Rsrp,"-200",sizeof(sdata.Rsrp));
- strncpy(sdata.Rsrq,"-200",sizeof(sdata.Rsrq));
- strncpy(sdata.Rssi,"-200",sizeof(sdata.Rssi));
- AT_Lcellinfo(AT_CMD_TYPE_EXECUTE,&sdata,&rdata);
- printf("Setting CellId...");
- if(rdata.AtExeResult==AT_CMD_RES_SUCCESS) printf("OK\n");
- else printf("Error: %d\n",rdata.AtExeResult);
- }
...funktioniert leider nich - egal wie ich die Struktur fülle ==> Error #0
es gibt aber gar keine Fehlernummer '0'
Also ABBRUCH... und als nächstes das Generische-AT ==> das bringt insgesamt mehr
mfg, emkay -
@eMKay77
Kannst Du mir bei der Fehlersuche helfen?
hab die beiden Scripte mal verheiratet....
aber nicht so der shell-Profi
HTML-Quellcode
- #!/bin/sh
- ### extract Arguments to Vars
- eval $(echo "$QUERY_STRING"|awk -F'&' '{for(i=1;i<=NF;i++){print $i}}')
- ###
- echo "Content-type: text/html"
- ###
- tmp=""
- meta=""
- cellid=$2
- if [ -n "$cmd" ]
- then
- tmp=$(busybox-mips httpd -d $cmd)
- fi
- case $tmp in
- all|800|1800|2600|low|high|show) rcmd=$tmp;;
- watch) rcmd="show"
- meta="<meta http-equiv=\"refresh\" content=\"1\">";;
- force) v=0;
- ### Kontrolle:
- echo $1 $2
- echo "tmp:"
- echo $tmp
- echo "rcmd:"
- echo $rcmd
- ### Kontrolle Ende
- while :
- do
- if [ "$( sphfreq show | grep 'CellId' | cut -f 2)" !=$cellid ]
- then
- let v=v+1
- echo "Versuch #$v"
- rcmd="2600 ; sleep 2 ; sphfreq all"
- fi
- sleep 5
- done;;
- *) rcmd='';;
- esac
- echo "
- <!DOCTYPE html>
- <html>
- <head>
- $meta
- <title>sphfreq</title>
- </head>
- <body>
- <h1>Command -- $rcmd</h1>
- <h2>
- <a href=\"/cgi-bin/sphfrequi?cmd=watch\">watch</a> <a href=\"/cgi-bin/sphfrequi?cmd=show\">show</a> <a href=\"/cgi-bin/sphfrequi?cmd=all\">all</a>
- <a href=\"/cgi-bin/sphfrequi?cmd=800\">800</a> <a href=\"/cgi-bin/sphfrequi?cmd=1800\">1800</a> <a href=\"/cgi-bin/sphfrequi?cmd=2600\">2600</a>
- <a href=\"/cgi-bin/sphfrequi?cmd=low\">low</a> <a href=\"/cgi-bin/sphfrequi?cmd=high\">high</a>
- </h2>
- <hr>
- <H2>CellId festsetzen</H2>
- <FORM ACTION=\"/cgi-bin/sphfrequi\"
- METHOD=\"GET\">
- <input type=\"hidden\" name=\"cmd\" value=\"force\">
- <INPUT TYPE=TEXT SIZE=25 NAME=CellId>
- <P><INPUT TYPE=SUBMIT VALUE=Setzen></P>
- </FORM>
- <textarea rows=\"25\" cols=\"80\">$(sphfreq $rcmd)</textarea>
- </body>
- </html>
- "
-
@xdjbx: was willst Du denn eigentlich erreichen?
Wenn Du's automatisch willst: einfach per cron folgendes aufrufen:
aber dann natürlich nicht in der WebUI...
Oder in der WebUI, aber dann am besten nich verheiraten, sondern das bestehende forcell-Script aufrufen.
mfg, emkay -
letzlich will ich in einer schleife das script laufen lassen und eine dauerhafte Ausgabe/Status haben... ähnlich wie dein "watch" befehl.
d.h. checke Cell-ID , wenn nicht gleich Wunschzelle, dann script, sonst nix...
und das dann als überwachung laufen lassen...
die Wunschzelle will ich per Formular in der GUI übergeben... -
@eMKay77 ich habe auch so ein Problem, wie kann ich es implementieren im Router für die Cell - ID: "xy" ?
Gruß -
Moin!
trazz schrieb:
@eMKay77 ich habe auch so ein Problem, wie kann ich es implementieren im Router für die Cell - ID: "xy" ?
Etwas weier vorne schon gezeigt: CellID festlegen oder auswählen
Ne sauberere Lösung gibt's da noch nich - außer eben, wenn die Zellen verschiedene Frequenzen nutzen ==> dann einfach per sphfreq auf die Wunschfrequenz festlegen...
mfg, emkay -
eMKay77 schrieb:
Moin!
trazz schrieb:
@eMKay77 ich habe auch so ein Problem, wie kann ich es implementieren im Router für die Cell - ID: "xy" ?
Etwas weier vorne schon gezeigt: CellID festlegen oder auswählen
Ne sauberere Lösung gibt's da noch nich - außer eben, wenn die Zellen verschiedene Frequenzen nutzen ==> dann einfach per sphfreq auf die Wunschfrequenz festlegen...
mfg, emkay
Ja, danke, aber wie bekomm ich das "auf den Router gespielt" ?
Gruß -
trazz schrieb:
Ja, danke, aber wie bekomm ich das "auf den Router gespielt" ?
Am besten liest Du Dir mal den Speedport-Hybrid-Teil des Forums durch
tools zum ent-/verschlüsseln der config
Telnet aktivieren
Schreibzugriff auf rootfs
per ftp auf rootfs kommen
Bootstrap - Erweiterungen / Änderungen auf USB auslagern
Spielplatz-Extrem -- oder BusyBox-MIPS in der Vollversion und offiziell ;)
sphfreq - Tool zum Einstellen der LTE-Frequenz(en)
...wäre wohl grob die Reihenfolge
mfg, emkay
-
Teilen
- Facebook 0
- Twitter 0
- Google Plus 0
- Reddit 0
-
Benutzer online 1
1 Besucher