Jak wymusić pasmo/częstotliwość LTE pod OpenWRT
Spis treści
Zainspirowany wątkiem na forum JDtech na temat testów transferów w konkretnych
pasmach/częstotliwościach LTE, postanowiłem sprawdzić jak ta sprawa wygląda w mojej okolicy.
Generalnie ja obecnie u siebie mam modem Huawei E3372s-153 w wersji NON-HiLink podpięty do routera
TP-LINK Archer C2600. Oczywiście na tym routerze jest wgrany alternatywny firmware LEDE/OpenWRT,
bo inaczej nie miałbym możliwości skorzystać z tego modemu. Standardowa konfiguracja LTE w
LEDE/OpenWRT daje nam jedynie możliwość wyboru między ustawieniami auto
, gsm
, umts
, lte
,
preferumts
oraz preferlte
. W przypadku internetu LTE, zwykle wybieramy tutaj tryb auto
,
ewentualnie też lte
, by wymusić konkretny tryb pracy modemu, co może mieć kolosalne znaczenie
przy darmowym internecie od RBM/Play. Niemniej jednak, nawet w przypadku wyboru lte
,
częstotliwość na jakiej będzie pracował modem w dalszym ciągu jest dobierana automatycznie w
oparciu o parametry sygnału docierającego z dostępnych w okolicy BTS'ów. W przypadku modemu E3372
można jednak wymusić, by połączenie LTE było realizowane na konkretnej częstotliwości, np.
2100/1800/2600/900/800 MHz i by taki stan rzeczy osiągnąć, trzeba nieco przerobić konfigurację tego
alternatywnego oprogramowania znajdującego się w naszym routerze WiFi.
Dostosowanie konfiguracji LEDE/OpenWRT na potrzeby LTE
Przede wszystkim, by móc operować na modemie LTE z poziomu routera WiFi z wgranym firmware LEDE/OpenWRT, musimy pierw zainstalować stosowne oprogramowanie. Nie będę tutaj opisywał tego zagadnienia, bo to zostało zrobione już w osobnym wątku. Zakładam też, że nasz modem LTE działa bez większego problemu na routerze i nie mamy problemów ze zmuszeniem go do pracy.
Nas tutaj bardziej interesować będzie konfiguracja modemu, a konkretnie plik /etc/gcom/ncm.json
.
To w tym pliku jest zawarta instrukcja, tj. poszczególne polecenia, które są przesyłane do modemu w
celu jego konfiguracji. Jako, że my tutaj dysponujemy modemem LTE od Huawei, to interesuje nas
sekcja "huawei": { }
. Tam z kolei mamy podsekcję "modes": { }
i tutaj właśnie są zlokalizowane
konfiguracje trybów pracy modemu. Standardowo mamy tutaj te poniższe wpisy:
"modes": {
"preferlte": "AT^SYSCFGEX=\\\"030201\\\",3fffffff,2,4,7fffffffffffffff,,",
"preferumts": "AT^SYSCFGEX=\\\"0201\\\",3fffffff,2,4,7fffffffffffffff,,",
"lte": "AT^SYSCFGEX=\\\"03\\\",3fffffff,2,4,7fffffffffffffff,,",
"umts": "AT^SYSCFGEX=\\\"02\\\",3fffffff,2,4,7fffffffffffffff,,",
"gsm": "AT^SYSCFGEX=\\\"01\\\",3fffffff,2,4,7fffffffffffffff,,",
"auto": "AT^SYSCFGEX=\\\"00\\\",3fffffff,2,4,7fffffffffffffff,,"
},
Mając dostępne tylko te powyższe tryby, nie da rady wymusić konkretnego pasma LTE, bo każdy z tych
trybów ma 7fffffffffffffff
, co odpowiada za obsługę wszystkich pasm. Możemy jednak zmienić tę
wartość na taką, którą odpowiada za konkretną częstotliwość. Najprościej jest po prostu dodać kilka
dodatkowych wpisów i odpowiednio przerobić 7fffffffffffffff
, poniżej przykład:
"lte-fdd-2100": "AT^SYSCFGEX=\\\"03\\\",3fffffff,2,1,1,,",
"lte-fdd-1800": "AT^SYSCFGEX=\\\"03\\\",3fffffff,2,4,4,,",
"lte-fdd-2600": "AT^SYSCFGEX=\\\"03\\\",3fffffff,2,4,40,,",
"lte-fdd-900": "AT^SYSCFGEX=\\\"03\\\",3fffffff,2,4,80,,",
"lte-fdd-800": "AT^SYSCFGEX=\\\"03\\\",3fffffff,2,4,80000,,"
Pierwsza wartość liczbowa w komendzie AT, czyli 03
, wymusza LTE, zatem modem ma pracować tylko w
tym trybie. Ostatnia wartość liczbowa, tj. 1
, 4
, 40
, 80
oraz 80000
, odpowiada kolejno
pasmom B1 (2100 MHz), B3 (1800 MHz), B7 (2600 MHz), B8 (900 MHz) i B20 (800 MHz) w technologi FDD.
Każdy taki wpis, za wyjątkiem ostatniego, ma być zakończony przecinkiem ( ,
).
Jakie pasma/częstotliwości LTE są dostępne w mojej okolicy
Dostosowanie konfiguracji dla modemu LTE to jedna rzecz ale trzeba także zrobić lekkie rozeznanie na
temat tego jakie częstotliwości LTE są dostępne w okolicy naszego miejsca zamieszkania/przebywania.
Tutaj nie ma prostej metody, by takie informacje zdobyć. Niby można posłużyć się serwisami w stylu
[BTSEARCH][4] ale zawarte w nich dane dotyczące konkretnych stacji bazowych czasami są błędne lub
też w ogóle ich tam nie znajdziemy. Możemy jednak przełączyć modem w każdy ze zdefiniowanych wyżej
trybów i sprawdzić czy uda się uzyskać połączenie w pasmach obsługiwanych przez modem. Edytujemy
zatem plik /etc/config/network
na routerze. Interesuje nas sekcja konfigurująca interfejs
sieciowy przypisany modemowi LTE:
config interface 'lte'
...
option mode 'lte-fdd-2600'
...
Teraz już wystarczy tylko dostosować opcję mode
wpisując nazwy zdefiniowane w pliku
/etc/gcom/ncm.json
oraz przeprowadzić szereg pomiarów prędkości łącza internetowego, np. w
serwisie speedtest. Ja dla wygody testy robiłem z poziomu aplikacji na smartfona. Uzyskałem wyniki
dla 2100 MHz, 1800 MHz, 2600 MHz i 800 MHz. Niestety na 900 MHz modem nie był w stanie zrealizować
połączenia.
Widać zatem, że największą prędkość udało się uzyskać w paśmie 2600 MHz i w zasadzie można tę częstotliwość wymusić. Niemniej jednak, jeśli zmieniamy dość często miejsce pobytu, to lepiej jest pozostać przy automatycznym doborze częstotliwości, bo nie zawsze będziemy w zasięgu, np. tego pasma 2600 MHz.