pawol napisał/a:Hej, dawno tu nie zaglądałem. Obecnie moje 286D stoi na openwrt ale na modemie mam firmware Play. Czy da sie podnieść w tej sytuacji modem na Nordiv B12 bez powrotu na oryginał?
PiotrekK napisał/a:
Instrukcja aktualizacji firmware'u modemu MDM9250 wbudowanego w ruter MF286D z zainstalowanym OpenWRT, od wersji np.: B02 do B12.
(sprawdzone na OpenWrt 22.03-SNAPSHOT r20165-ce32068bf2)
=======================================================================
Potrzebne i przydatne pakiety oraz programy:
PuTTY - program na PC, optymalnie połączony po LAN, potrzebny do otwarcia sesji terminalowej SSH z ruterem (root@openwrt:~#)
WinSCP - program na PC, optymalnie połączony po LAN, do przesyłania pobranych plików do rutera
picocom - pakiet zainstalowany na OpenWRT, uruchamiany w sesji terminalowej SSH w linii komend terminala (root@openwrt:~#)
adb-enablemodem - pakiet zainstalowany na OpenWRT
iperf3 - pakiet zainstalowany na OpenWRT
=======================================================================
UWAGA:
Wymagana zimna krew i umiejętność czytania ze zrozumieniem. Instrukcja pisana jest krok po kroku. Ale robisz to na własną odpowiedzialność. Jeżeli sam zainstalowałeś i skonfigurowałeś OpenWRT w oparciu o to forum, to będzie to dla Ciebie proste. Jeżeli nie czujesz się na siłach, może nie warto zaczynać.
Na tym forum są dwie nierozłączne i szanujące się grupy: czytelnicy i praktykujący ryzykanci.
Nic na siłę.
=======================================================================
Ruter może być cały czas włączony aż do ostatniego etapu i nie trzeba go ciągle uruchamiać ponownie po każdej aktualizacji. Karta SIM też może być cały czas włożona.
Jeżeli jesteś ciekaw jaka będzie różnica w szybkości łącza (o ile będzie, może warto sprawdzić), to sprawdź przed aktualizacją:
root@openwrt:~# iperf3 -c speedtest.serverius.net -p 5002 -R --get-server-output
Aby się dowiedzieć jaka jest wersja aktualnie na modemie należy użyć instrukcji
root@openwrt:~# picocom -b 115200 /dev/ttyUSB2
ttyUSBx w zależności od tego, na którym porcie USB jest podłączony modem
a następnie wpisać w tym samym terminalu komendę:
ATI
W efekcie otrzymamy:
Manufacturer: ZTE CORPORATION
Model: MF286DMODULE
Revision: BD_TELIAMF286DV1.0.0B02
SVN: 01
IMEI: ............................................
+GCAP: +CGSM
BD_TELIAMF286DV1.0.0B02 w tym przypadku oznacza, że modem ma wersję B02.
Potrzebne pliki różnicowe dla Nordic są w katalogu Nordic Modem Update (up to B12)
link:
https://mega.nz/folder/exQHlRKA#Dv9sxWFdUgd_Omy9UjOPkA
Instrukcja w j.angielskim jest w pliku update_modem_with_openwrt.txt
Poniżej dla celów m.in. archiwalnych po polsku.
=======================================================================
PROCEDURA:
Aktualizacja powinna być wykonywana jedna po drugiej, więc jeśli twój modem ma B03, musisz zaktualizować do B04, następnie B05 i tak dalej.
Wyodrębnij na PC każdy plik o nazwie imageB0XnaB0Y (gdzie X to bieżąca kompilacja, a Y to wersja docelowa). Jeśli twój modem jest w wersji 1.0.0B03, powinieneś użyć plików wewnątrz imageB03naB06 i tak dalej. Skopiuj (WinSCP) dwa pliki o nazwach „delta.package” i „delta.signature” do folderu /tmp routera OpenWRT (powinieneś mieć również zainstalowany pakiet "adb-enablemodem")
SSH (PuTTY) do routera, a następnie skopiuj te dwa pliki do folderu /cache modemu za pomocą:
root@openwrt:~# adb push /tmp/delta.package /cache/
root@openwrt:~# adb push /tmp/delta.signature /cache/
Następnie otwórz ponownie sesję z modemem "picocom":
oot@openwrt:~# picocom -b 115200 /dev/ttyUSB2
i użyj poniższych poleceń:
at+fotactr=0
+FOTACTR: 0,0 <-- jeśli 0, to modem widzi pakiet aktualizacji
at+fotactr=1
+FOTACTR: 1,0 <-- jeśli 0, walidacja poprawna, 1 walidacja niepoprawna, 2 oczekiwanie
at+fotactr=5
+FOTACTR: 5,486202 <-- ta ostatnia liczba wskazuje rozmiar pakietu aktualizacyjnego w bajtach (tutaj jest to 486kB dla B11)
!!!! PONIŻSZA KOMENDA at+fotactr=8 POWINNA BYĆ UŻYTA PRZY KAŻDEJ AKTUALIZACJI !!!!
at+fotactr=8
+FOTACTR: 8,0 <-- jeśli 0, to OK, usunie stary plik *.flg z katalogu /cache (może się wyświetlić także +FOTACTR: 8,-1)
Jeśli wszystko jest w porządku (brak komunikatów o błędach), wydanie poniższego polecenia rozpocznie aktualizację
at+fotactr=2
Pojawi się po chwili komunikat sugerujący trwającą procedurę restartu modemu
FATAL: read zero bytes from port
term_exitfunc: reset failed for dev UNKNOWN: Not a tty
Po chwili modem zrestartuje się i ponownie uruchomi.
(trzeba równolegle obserwować np. web panel LuCI gdzie widać czas pracy modemu "uptime", jak pokaże się wyzerowany licznik, oznacza, że modem wznowił działanie. Jak nie, to odczekać ok. 5 minut pomiędzy aktualizacjami)
(powtarzamy PROCEDURA dla kolejnych wersji)
=======================================================================
Na koniec, po wykonaniu docelowej, ostatniej aktualizacji, czyli po B12, konieczne jest wykonanie „reboot” rutera
(komenda terminalowa: root@openwrt:~# reboot), który zaktualizuje dane wyjściowe „ATI” i wyczyści pliki tymczasowe.
Po restarcie rutera i wykonaniu komendy ATI (patrz: picocom) otrzymamy:
Manufacturer: ZTE CORPORATION
Model: MF286DMODULE
Revision: BD_TELIAMF286DV1.0.0B12
SVN: 12
IMEI: ............................................
+GCAP: +CGSM
BD_TELIAMF286DV1.0.0B12 w tym przypadku oznacza, że modem ma już wersję B12.
=======================================================================
Po zakończonej aktualizacji, warto także sprawdzić aktualizacje pakietów OpenWRT z poziomu panelu web LuCI lub terminala (root@OpenWrt:~# opkg list-upgradable
). W moim wypadku się pojawiły.
Po aktualizacji uaktywniła się Agregacja uplinku. AT+ZULCA? wskazuje, że AT+ZULCA=1
Jeżeli ktoś zauważył więcej zmian lub ma uwagi do opisu procedury, to proszę o info.
Działa leciałem na openwrt z 3-4 razy i jest B12 na modemie. Start był z B02. Próbuj. Jak Ci się nie uda to wówczas mój opis z ratowaniem uwalonego modemu - też działa. Przedwczoraj maglowałem jeden modem z 5-6 razy dla sportu i testów.