1 (edytowany przez Xelos 2017-10-21 21:44:31)

Temat: Konfiguracja w pliku 3g.sh

Witam,

Ostatnio zmuszony byłem robić na nowo Gargoyla i spotkałem się (po raz drugi) z następującą kwestią. W swojej lokalizacji korzystam z UMTS 900 Playa i chcę tą właśnie technologię wymusić. Jeśli tego nie zrobię, modem będzie próbował łączyć się z zanikającym sygnałem UMTS 2100 w efekcie czego co chwile nie ma zasięgu. Sygnał 900 jest bardzo mocny więc kwestia ustawienia priorytetu lub wymuszenia technologii (w zależności od tego co jest możliwe)

Kilka lat temu udało mi się to zrobić ale niestety nie pamiętam już w jaki sposób dokładnie, no i wersja Gargoyla byłą trochę inna (choć nie wiem czy akurat tutaj są różnice. Posiadam modem Huawei e3131.

Krótko mówiąc, odpowiedzialny za te sprawy jest plik 3g.sh a w nim sekcja dotycząca Huawei:

elif echo "$cardinfo" | grep -qi huawei; then
                case "$service" in
                    umts_only) CODE="14,2";;
                    gprs_only) CODE="13,1";;
                    umts_pref) CODE="2,2";;
                    gprs_pref) CODE="2,1";;
                    *) CODE="2,2";;
                esac
                export MODE="AT^SYSCFG=${CODE},400000,2,4"

Pamiętam, ze dla mojego modemu komendą sugerującą mu pracę w UMTS 900 było: AT^SYSCFG=14,2,2000000000000,1,1

I teraz pytania:

1. Czy ta komenda WYMUSZA czy też SUGERUJE (ustawia priorytet) modemowi, żeby łączył się po UMTS 900?

2. W jaki sposób mogę ją wpisać do pliku 3g.sh, tak żeby wykonywała się zawsze przy starcie systemu? Chodzi mi o składnię, ponieważ w pliku występuję w tym miejscu ${CODE} - trzeba to zostawić czy też w całości wymienić na wpis AT^SYSCFG=14,2,2000000000000,1,1 ?

3. Pytam, czy ta komenda wymusza czy sugeruje modemowi jak ma się łączyć, ponieważ obecnie w okolicy gdzie konfiguruję sprzęt, nie ma UMTS 900  w ogóle a mimo to modem się łączy. A więc albo AT^SYSCFG=14,2,2000000000000,1,1 nie wyklucza połączeń UMTS 2100 albo po prostu źle wpisuję ją do pliku 3g.sh.

I jeszcze dodatkowe pytanie - co dokładnie oznaczają cyfry ,1,1 lub ,2,4 na końcu tej linii?

Pozdrawiam, będę wdzięczny za pomoc;-)

2

Odp: Konfiguracja w pliku 3g.sh

1. Ustawia tylko to pasmo i żadne inne. Czyli wymusza.
2. Jak chcesz na stałe to możesz wpisać ja na stałe w export MODE="...
3. że inne parametry ma zostawić bez zmian:

$roam
0=Not Supported
1=Supported
2=no Change

$srvDomain
0=Circuit-Switched only
1=Packet-Switched only
2=Circuit- & Packet-Switched
3=Any
4=no Change

Poszukaj sobie poleceń at w wykonaniu huawei i wszystko będziesz miał opisane.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

3

Odp: Konfiguracja w pliku 3g.sh

Bardzo dziękuję!:-) Czyli w mojej wersji prawidłowa składnia będzie wyglądać w ten sposób:

elif echo "$cardinfo" | grep -qi huawei; then
                case "$service" in
                    umts_only) CODE="14,2";;
                    gprs_only) CODE="13,1";;
                    umts_pref) CODE="2,2";;
                    gprs_pref) CODE="2,1";;
                    *) CODE="2,2";;
                esac
                export MODE="AT^SYSCFG=14,2,2000000000000,1,1"

Rozumiem, że ${CODE}, mogę pominąć?

4

Odp: Konfiguracja w pliku 3g.sh

Cały case możesz wywalić nawet. Po co umieściłeś te 1,1 na końcu?

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

5

Odp: Konfiguracja w pliku 3g.sh

Dlatego, że szczerze mówiąc nie wiem czy można te dwie ostatnie cyfry w ogóle pominąć;-) Dlatego zdecydowałem się na roaming: 1=Supported i 1=Packet-Switched only

Wpisałem  export MODE="AT^SYSCFG=14,2,2000000000000,1,1" ale co ciekawe modem łączy się, chociaż w promieniu kilkunastu km nie ma nadajnika UMTS 900! No chyba, że jest tylko nie widać go na btsearch;-)

6

Odp: Konfiguracja w pliku 3g.sh

Pominąć nie możesz. Modem raz ustawione wartości pamięta, dlatego daje się 2,4 żeby ich nie zmieniać.

Odczytaj sobie lac/cid i dowiesz się  z czym sie połączyłeś. Oczytaj sobie także wynik syscfg i zobacz co faktycznie modem ma ustawione.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

7

Odp: Konfiguracja w pliku 3g.sh

Czyli jak rozumiem 2,4 będzie tu najlepszym wyborem.

Odczytałem i... nie ma w bazie btsearch. A więc coś jest na rzeczy, może to być UMTS 900, którego nie ma na mapce.

Przepraszam za "lamerskie" pytanie ale gdzie mam wklepać syscfg? Po zalogowaniu na Putty (ssh) w konsoli melduje "not found".

8

Odp: Konfiguracja w pliku 3g.sh

Zainstaluj sobie picocom, potem zrób picocom -b 115200 /dev/ttyUSB2 i masz konsolę modemu. Możesz z nim sobie pogadać poleceniami AT.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

9

Odp: Konfiguracja w pliku 3g.sh

Zakomentować w 3g.sh export MODE i wtedy ustawienia modemu nie będą ruszane przez system.
A potem regulować sobie skrypcikiem wedle potrzeb:

!/bin/sh
case $2 in

"-d")
PORT=`echo $3`
;;
*)

PORT=/dev/ttyUSB1
;;
esac

echo "
"
echo "Selected modem port:" $PORT

case $1 in

"auto")
echo "Setting AUTO band selection..."
MODE='AT^SYSCFGEX="030201",3FFFFFFF,2,4,7FFFFFFFFFFFFFFF,,' gcom -d $PORT -s /etc/gcom/setmode.gcom
exit 0 ;;

"umts")
echo "Setting UMTS only - all bands..."
MODE='AT^SYSCFGEX="02",3FFFFFFF,2,4,7FFFFFFFFFFFFFFF,,' gcom -d $PORT -s /etc/gcom/setmode.gcom
exit 0 ;;

"lte")
echo "Setting LTE only - all bands..."
MODE='AT^SYSCFGEX="03",3FFFFFFF,2,4,7FFFFFFFFFFFFFFF,,' gcom -d $PORT -s /etc/gcom/setmode.gcom
exit 0 ;;

"u2100")
echo "Setting UMTS 2100 only..."
MODE='AT^SYSCFGEX="02",00400000,2,4,7FFFFFFFFFFFFFFF,,' gcom -d $PORT -s /etc/gcom/setmode.gcom
exit 0 ;;

"u900")
echo "Setting UMTS 900 only..."
MODE='AT^SYSCFGEX="02",2000000000000,2,4,7FFFFFFFFFFFFFFF,,' gcom -d $PORT -s /etc/gcom/setmode.gcom
exit 0 ;;

"l2600")
echo "Setting LTE 2600 only..."
MODE='AT^SYSCFGEX="03",3FFFFFFF,2,4,40,,' gcom -d $PORT -s /etc/gcom/setmode.gcom
exit 0 ;;

"l2100")
echo "Setting LTE 2100 only..."
MODE='AT^SYSCFGEX="03",3FFFFFFF,2,4,1,,' gcom -d $PORT -s /etc/gcom/setmode.gcom
exit 0 ;;

"l1800")
echo "Setting LTE 1800 only..."
MODE='AT^SYSCFGEX="03",3FFFFFFF,2,4,4,,' gcom -d $PORT -s /etc/gcom/setmode.gcom
exit 0 ;;

"l800")
echo "Setting LTE 800 only..."
MODE='AT^SYSCFGEX="03",3FFFFFFF,2,4,80000,,' gcom -d $PORT -s /etc/gcom/setmode.gcom
exit 0 ;;

*)
echo "Wrong RAT mode !"

esac
ZTE F601 GPON - Xiaomi Mi Router 3G - Orange Pi PC2