Program do ustawiania pasm LTE dla wybranych modemów 4G
Ostatnia zmiana: 2022-08-13 17:07

Program modemband.sh służy do wyświetlenia oraz ustawienia obsługiwanych pasm LTE. Aktualnie wspieranie są modemy:

- BroadMobi BM806U
- Dell DW5821e Snapdragon X20 LTE (Foxconn T77W968)
- Fibocom L850-GL
- Fibocom L850-GL in mbim mode
- Fibocom L860-GL
- HP lt4112 (Huawei ME906E)
- HP lt4132 LTE/HSPA+ 4G Module (Huawei ME906s-158)
- HP lt4220 (Foxconn T77W676)
- HP lt4220 (Foxconn T77W676) in mbim mode
- Huawei (różne modele)
- Quectel EC20
- Quectel EC25
- Quectel EG06-E
- Quectel EM12-G
- Quectel EM160R-GL
- Quectel EP06-E
- Quectel RG502Q-EA
- Telit LN940 (Foxconn T77W676)
- Telit LN940 (Foxconn T77W676) in mbim mode
- Telit LN960 (Foxconn T77W968)
- Telit LN960
- ZTE MF286 (router)
- ZTE MF286A (router)
- ZTE MF286D (router)
- ZTE MF286R (router)
- ZTE MF289F (router)

Historia zmian

  • Wersja rozwojowa
- dodanie HP lt4132 LTE/HSPA+ 4G Module

  • Wersja 20220808
- dodanie ZTE MF289F

  • Wersja 20220703
- dodanie HP lt4112/Huawei ME906E

  • Wersja 20220630
- dodanie pasma B32 dla MF286D

  • Wersja 20220404
- poprawki projektu

  • Wersja 20220403
- poprawki dla HP lt4220 oraz Telit LN940

  • Wersja 20220401
- Dodanie HP lt4220 oraz Telit LN940

  • Wersja 20220313
- aktualizacja obsługi różnych modeli Huawei

  • Wersja 20220311
- aktualizacja obsługi różnych modeli Huawei
- dodanie Dell DW5821e oraz Telit LN960

  • Wersja 20220309
- dodanie Fibocom L850-GL/L860-GL

  • Wersja 20220220
- dodanie ZTE MF286R
- dodanie Quectel EM12-G

  • Wersja 20220212
- dodanie ZTE MF286A

  • Wersja 20220121
- dodanie wyniku w formacie JSON
- dodanie obsługi Quectel EM160R-GL

  • Wersja 20220130
- dodanie rozszerzonego wyniku dla niektórych poleceń

  • Wersja 20220129
- naprawa odczytu pasma dla MF286D

  • Wersja 20220118
- optymalizacja projektu - wspólne funkcje kodujących pasma

  • Wersja 20220117
- dodanie obsługi ZTE MF286/MF286D
- dodanie obsługi Quectel EG06-E
- zmiana EP06 na EP06-E

  • Wersja 20220115
- dodanie obsługi BroadMobi BM806U
- zmiany w obsłudze Huawei E3272/E3276/E3372

  • Wersja 20220114
- pierwsza wersja programu

Opis programu

Wywołanie programu bez podania parametrów powoduje wyświetlenie wszystkich możliwych informacji. Podanie odpowiedniego polecenia umożliwia wyświetlenie tylko określonej informacji.

- pomoc


    # modemband.sh help
    Available commands:
        /usr/bin/modemband.sh getinfo
        /usr/bin/modemband.sh getsupportedbands
        /usr/bin/modemband.sh getsupportedbandsext
        /usr/bin/modemband.sh getbands
        /usr/bin/modemband.sh getbandsext
        /usr/bin/modemband.sh setbands "<band list>"
        /usr/bin/modemband.sh json
        /usr/bin/modemband.sh help

- wyświetlenie wszystkich dostępnych informacji o modemie


    # modemband.sh
    Modem: Quectel EC25
    Supported LTE bands: 1 3 5 7 8 20 38 40 41
    LTE bands: 1 3 7 8 20
    
    1: FDD 2100 MHz
    3: FDD 1800 MHz
    5: FDD 850 MHz
    7: FDD 2600 MHz
    8: FDD 900 MHz
    20: FDD 800 MHz
    38: TDD 2600 MHz
    40: TDD 2300 MHz
    41: TDD 2500 MHz

- wyświetlenie wszystkich dostępnych informacji w formacji json


    # modemband.sh json
    { "modem": "Quectel EC25", "supported": [ { "band": 1, "txt": "FDD 2100 MHz" }, { "band": 3, "txt": "FDD 1800 MHz" }, { "band": 5, "txt": "FDD 850 MHz" }, { "band": 7, "txt": "FDD 2600 MHz" }, { "band": 8, "txt": "FDD 900 MHz" }, { "band": 20, "txt": "FDD 800 MHz" }, { "band": 38, "txt": "TDD 2600 MHz" }, { "band": 40, "txt": "TDD 2300 MHz" }, { "band": 41, "txt": "TDD 2500 MHz" } ], "enabled": [ 1, 3, 7, 8, 20 ] }

- pobranie informacji o modemie


    # modemband.sh getinfo
    Quectel EC25

- pobranie informacji o pasmach LTE możliwych do ustawienia


    # modemband.sh getsupportedbands
    1 3 5 7 8 20 38 40 41

- pobranie informacji o pasmach LTE możliwych do ustawienia wraz informacją o częstotliwości pasma


    # modemband.sh getsupportedbandsext
    1: FDD 2100 MHz
    3: FDD 1800 MHz
    5: FDD 850 MHz
    7: FDD 2600 MHz
    8: FDD 900 MHz
    20: FDD 800 MHz
    38: TDD 2600 MHz
    40: TDD 2300 MHz
    41: TDD 2500 MHz

- pobranie informacji o aktualnie ustawionych pasmach LTE


    # modemband.sh getbands
    1 3 7 8 20

- pobranie informacji o aktualnie ustawionych pasmach LTE wraz informacją o częstotliwości pasma


    # modemband.sh getbandsext
    1: FDD 2100 MHz
    3: FDD 1800 MHz
    7: FDD 2600 MHz
    8: FDD 900 MHz
    20: FDD 800 MHz

- ustawienie pasm LTE
Pasma należy podać w cudzysłowie oddzielone spacją:


    # modemband.sh setbands "1 3 5 40"

lub podać słowo "default", co powoduje ustawienie wszystkich możliwych pasm dla danego typu modemu:


    # modemband.sh setbands default

Pakiet nie sprawdza poprawności pasm oraz czy zostało użyte pasmo z listy wpieranych.

W zależności od modemu zmiana pasma następuje natychmiast po wykonaniu polecenia lub wymagane jest ponowne uruchomienie modemu.

Instalacja



    # opkg update
    # opkg install modemband

(jeżeli używane są moje obrazy OpenWrt - uwaga, w repozytorium może być starsza wersja pakietu). W pozostałych przypadkach należy ręcznie pobrać i zainstalować pakiet z mojego repozytorium. Do działania niezbędny jest pakiet sms-tool, który dostępny jest tylko moim repozytorium OpenWrt 21.02 lub OpenWrt 22.03.

Konfiguracja

Program nie wymaga dodatkowej konfiguracji. Jeżeli po uruchomieniu program zgłasza komunikat typu "Port not found" należy samodzielnie ustalić właściwy port diagnostyczny na którym modem odpowiada a następnie wpisać go do odpowiedniego pliku poleceniami:


    # touch /etc/config/3ginfo
    # uci set 3ginfo.@3ginfo[0].device="/dev/ttyUSB0"
    # uci commit 3ginfo

Gdzie za /dev/ttyUSB0 należy podać właściwy port diagnostyczny.

Kody źródłowe

Kody źródłowe dostępne są na moim githubie.

Zakończenie

Nie wszystkie polecenia są wspierane przez dany modem. W niektórych przypadkach może zostać wyświetlony komunikat "Unsupported" w przypadku braku obsługi danej opcji.

Obsługa nowych modemów

Masz modem innego typu? Chcesz dodać jego obsługę? Wyślij mejla z opisem:
- dokładna nazwa modemu i ew numer wersji
- identyfikator VID i PID na magistrali USB
- port szeregowy używany do komunikacji z modemem ("diagnostyczny")
- polecenie AT do odczytu ustawionych pasm wraz z przykładowym wynikiem
- polecenie AT do ustawienia określonych pasm
- listę wszystkich pasm możliwych do ustawienia w danym modemie