Nie jestem w stanie w konsoli / szeregowo zatrzymać botowania, bo nie widać żadnego komunikatu, że mogę go przerwać. Na początku są nieczytelne krzaki, a potem system się bootuje i pokazuje normalne komendy, ale tego nie można już przerwać w żaden sposób. Próbowałem zmieniać prędkość od 4800 do 115200 i to nic nie zmienia - krzaki na początku.
Poniżej jest przetłumaczona instrukcja którą mi poleciłeś:
1. nie wiem do czego potrzebny jest krok 1
2. Krok 2 nie mogę nic wskurać na kablu szergowym i w konsoli i tu stoję !
KROK 1:
Uzyskanie uprawnień roota: Metoda 1: Działa, jeśli Busybox ma skompilowany telnetd w pliku binarnym. Jeśli to nie zadziała, wypróbuj metodę 2. Użycie znanego exploita do uruchomienia telnetd na routerze - działa tylko, jeśli Busybox na oryginalnym oprogramowaniu układowym ma dołączony telnetd: - Otwórz interfejs sieciowy oryginalnego oprogramowania układowego - Przejdź do sekcji „Filtrowanie adresów URL”, przechodząc do „Ustawień zaawansowanych”, następnie „Zapory” i na końcu „Filtr adresów URL”. - Dodaj wpis kończący się na "&&telnetd&&", na przykład "http://hostname/&&telnetd&&". - telnetd natychmiast zacznie nasłuchiwać na porcie 4719. - Po połączeniu z telnetd użyj "admin/admin" jako poświadczeń. Metoda 2: Działa, jeśli busybox nie ma skompilowanego telnetd. Należy zauważyć, że tak jest w przypadku oprogramowania układowego DNA.fi. Jeśli to nie zadziała, wypróbuj metodę 3. - Ustaw adres IP swojego komputera na 192.168.1.22.- Uruchom serwer TFTP pod tym adresem - Pobierz kompilację MIPS Busybox zawierającą telnetd, na przykład z: https://busybox.net/downloads/binaries/ … sybox-mips i umieść go w katalogu głównym. Zmień nazwę na „telnetd”. - Jak poprzednio, zaloguj się do interfejsu użytkownika routera i przejdź do „Filtrowanie adresów URL” - Używając funkcji „Inspect”, rozszerz właściwość „maxlength” pola wejściowego o nazwie „addURLFilter”, tak aby wyglądało to tak: <input type="text" name="addURLFilter" id="addURLFilter" maxlength="332" class="required form-control"> - Pozostań na stronie - nie nawiguj nigdzie - Wpisz „http://aa&zte_debug.sh 192.168.1.22 telnetd” jako filtr. - Zapisz ustawienia. Spowoduje to pobranie pliku binarnego telnetd przez tftp i jego wykonanie. Powinieneś móc zalogować się na porcie 23, używając „admin/admin” jako poświadczeń. Metoda 3: Jeśli powyższe nie zadziała, użyj konsoli szeregowej - udostępnia ona bezpośrednio powłokę roota bez konieczności logowania. Niektóre firmware'y, zwłaszcza te od fińskiego operatora DNA, nie zawierają telnetd w swoich kompilacjach.
KROK 2:
Tworzenie kopii zapasowej oryginalnego oprogramowania: Ponieważ firmware może być dostosowywany przez operatora i nie jest oficjalnie dostępny w Internecie, KONIECZNE jest wykonanie kopii zapasowej firmware'u, jeśli kiedykolwiek planujesz powrócić do firmware'u. Metoda 1: po uruchomieniu obrazu initramfs OpenWrt przez TFTP: UWAGA: NIE MOŻESZ TEGO ZROBIĆ, JEŚLI DO INSTALACJI UŻYWASZ FIRMWARE'U POŚREDNIEGO. - Zrzuć firmware'u znajdującego się na partycjach kernela i ubi: ssh root@192.168.1.1: cat /dev/mtd4 > mtd4_kernel.bin ssh root@192.168.1.1: cat /dev/mtd8 > mtd8_ubi.bin I przechowuj je w bezpiecznym miejscu, gdyby w przyszłości zaszła potrzeba przywrócenia.
Metoda 2: z użyciem oryginalnego oprogramowania układowego: - Podłącz zewnętrzny dysk USB sformatowany w systemie plików FAT lub ext4 do portu USB. - Dysk zostanie automatycznie zamontowany w /var/usb_disk - Sprawdź układ pamięci flash urządzenia: cat /proc/mtd Powinno zostać wyświetlone następujące polecenie: mtd0: 00080000 00010000 "uboot" mtd1: 00020000 00010000 "uboot-env" mtd2: 00140000 00020000 "fota-flag" mtd3: 00140000 00020000 "caldata" mtd4: 00140000 00020000 "mac" mtd5: 00600000 00020000 "cfg-param" mtd6: 00140000 00020000 "oops" mtd7: 00800000 00020000 "web" mtd8: 00300000 00020000 "kernel" mtd9: 01f00000 00020000 "rootfs" mtd10: 01900000 00020000 "data" mtd11: 03200000 00020000 "fota" Różnice mogą wskazywać, że NIE jest to zwykłe urządzenie MF286, lecz jedna z jego późniejszych pochodnych. - Skopiuj wszystkie partycje MTD, na przykład wykonując następujące polecenie: for i in 0 1 2 3 4 5 6 7 8 9 10 11; do cat /dev/mtd$i > \ /var/usb_disk/mtd$i; gotowe - Jeśli liczba partycji MTD jest inna, może to oznaczać, że nie jest to standardowe urządzenie MF286, lecz jedna z jego późniejszych pochodnych. - (opcjonalnie) zmień nazwy plików zgodnie z nazwami partycji MTD z /proc/mtd - Odmontuj system plików:umount /var/usb_disk; sync, a następnie usuń dysk. - Przechowuj pliki w bezpiecznym miejscu, jeśli kiedykolwiek planujesz powrócić do oryginalnego oprogramowania układowego. Jest to szczególnie ważne, ponieważ oryginalne oprogramowanie układowe dla tego urządzenia nie jest oficjalnie dostępne i jest zazwyczaj dostosowywane przez dostawców usług mobilnych.
KROK 3:
Uruchamianie obrazu initramfs: Metoda 1: za pomocą konsoli szeregowej (ZALECANA): - Uruchom serwer TFTP, udostępniając obraz initramfs OpenWrt i ustaw adres IP komputera na 192.168.1.22. Jest to domyślny adres oczekiwany przez U-boot. Możesz chcieć to zmienić i odpowiednio zmodyfikować późniejsze polecenia. - Podłącz konsolę szeregową, jeśli jeszcze tego nie zrobiłeś, - Przerwij sekwencję rozruchową naciskając dowolny klawisz w U-boot, gdy zostaniesz o to poproszony, - Użyj następujących poleceń, aby uruchomić OpenWrt initramfs przez TFTP:
setenv serverip 192.168.1.22 setenv ipaddr 192.168.1.1 tftpboot 0x81000000 openwrt-ath79-nand-zte_mf286-initramfs-kernel.bin bootm 0x81000000 (W razie potrzeby zamień adres IP serwera i adres IP routera).
Nie ma awaryjnej sekwencji rozruchowej TFTP wyzwalanej przyciskami, w przeciwieństwie do MF283+. - Gdy OpenWrt initramfs zakończy rozruch, przejdź do faktycznej instalacji. Metoda 2: użycie obrazu initramfs jako tymczasowego jądra rozruchowego. Wykorzystuje ona fakt, że urządzenia MTD jądra i rootfs występują kolejno w pamięci flash NAND, więc z obrazu stockowego można zapisać initramfs w tym obszarze i uruchomić go za pomocą U-boot przy następnym ponownym uruchomieniu, ponieważ używa on polecenia „nboot”, które nie jest ograniczone rozmiarem partycji jądra. - Pobierz obraz initramfs-kernel.bin. - Podziel obraz na dwie części na granicy rozmiaru partycji 3 MB, co jest rozmiarem partycji jądra. Uzupełnij wynik drugiego pliku do rozmiaru eraseblock: dd if=openwrt-ath79-nand-zte_mf286-initramfs-kernel.bin \ bs=128k count=24 \ of=openwrt-ath79-zte_mf286-intermediate-kernel.bin dd if=openwrt-ath79-nand-zte_mf286-initramfs-kernel.bin \ bs=128k skip=24 conv=sync \ of=openwrt-ath79-zte_mf286-intermediate-rootfs.bin - Skopiuj narzędzia /usr/bin/flash_eraseall i /usr/bin/nandwrite do /tmp. JEST TO KRYTYCZNE dla instalacji, ponieważ wymazanie rootfs odetnie Cię od tych narzędzi na pamięci flash! - Po utworzeniu kopii zapasowej poprzedniej zawartości MTD, zapisz obrazy na odpowiednich urządzeniach MTD: /tmp/flash_eraseall /dev/<kernel-mtd> /tmp/nandwrite /dev/<kernel-mtd> \ /var/usb_disk/openwrt-ath79-zte_mf286-intermediate-kernel.bin /tmp/flash_eraseall /dev/<kernel-mtd> /tmp/nandwrite /dev/<rootfs-mtd> \ /var/usb_disk/openwrt-ath79-zte_mf286-intermediate-rootfs.bin - Upewnij się, że podczas zapisu na urządzeniach nie było żadnych uszkodzonych bloków. Jeśli były, może być konieczna zmiana podziału między częściami jądra i rootfs, aby U-boot odczytał prawidłowy uImage po pominięciu uszkodzonych bloków. Jeśli się nie powiedzie, pozostanie Ci metoda 3 (poniżej). - Jeśli zapis jest prawidłowy, uruchom ponownie urządzenie, a zostanie ono ponownie uruchomione do initramfs OpenWrt: reboot -f - Po ponownym uruchomieniu,Połącz się z urządzeniem przez SSH i użyj sysupgrade, aby wykonać prawidłową instalację. Metoda 3: użycie wbudowanego odzyskiwania TFTP (OSTATNIE SZANSE): - W przypadku tej metody upewnij się, że masz pełną kopię zapasową pamięci flash NAND systemu. Polega ona na celowym usunięciu jądra. - Pobierz obraz „-initramfs-kernel.bin” dla urządzenia. - Przygotuj obraz odzyskiwania, dodając 8 MB zer do obrazu i nazwij go root_uImage: dd if=/dev/zero of=padding.bin bs=8M count=1 cat padding.bin openwrt-ath79-nand-zte_mf286-initramfs-kernel.bin > root_uImage - Skonfiguruj serwer TFTP pod adresem 192.0.0.1/8. Router użyje losowego adresu z tego zakresu. - Umieść wcześniej wygenerowany „root_uImage” w katalogu głównym serwera TFTP. - Celowo usuń partycję „jądra” przy użyciu oprogramowania układowego po wykonaniu kopii zapasowej. TO JEST PUNKT BEZ POWROTU. - Uruchom ponownie urządzenie. U-boot spróbuje wgrać obraz recovery initramfs, co umożliwi przeprowadzenie faktycznej instalacji przy użyciu sysupgrade. Może to potrwać sporo czasu, czasami router nie nawiązuje prawidłowo połączenia Ethernet zaraz po uruchomieniu. Bądź cierpliwy. - Po zakończeniu migania przez U-boot wszystkie diody LED portów przełącznika zaświecą się. W tym momencie wykonaj reset przez włączenie zasilania i poczekaj, aż OpenWrt initramfs zakończy uruchamianie. Następnie przejdź do faktycznej instalacji.
KROK 4:
Faktyczna instalacja: - scp obraz sysupgrade do urządzenia: scp openwrt-ath79-nand-zte_mf286-squashfs-sysupgrade.bin \ root@192.168.1.1:/tmp/ - ssh do urządzenia i wykonaj sysupgrade: sysupgrade -n /tmp/openwrt-ath79-nand-zte_mf286-squashfs-sysupgrade.bin - Poczekaj, aż router zrestartuje się do pełnej wersji OpenWrt.
KROK 5:
Nawiązanie połączenia WAN Ponieważ router jest wyposażony w modem LTE jako główny interfejs WAN, przydatne może być połączenie się z Internetem od razu po instalacji. Aby to zrobić, umieść następujące wpisy w pliku /etc/config/network, zastępując konkretne wpisy konfiguracyjne wpisami wymaganymi przez Twojego dostawcę usług internetowych: config interface 'wan' option proto 'qmi' option device '/dev/cdc-wdm0' option auth '<auth>' # Zgodnie z wymaganiami, zwykle 'none' option pincode '<pin>' # Jeśli wymagane przez kartę SIM option apn '<apn>' # Zgodnie z wymaganiami dostawcy usług internetowych option pdptype '<pdp>' # Zwykle 'ipv4', 'ipv4v6' lub 'ipv6' Na przykład poniższe działa dla większości polskich dostawców usług internetowych config interface 'wan' option proto 'qmi' option device '/dev/cdc-wdm0' option auth 'none' option apn 'internet' option pdptype 'ipv4' Jeśli skompilowałeś system z LuCI, instalacja luci-proto-qmi pomaga w tym zadaniu. Przywracanie oprogramowania układowego: Przygotowanie: Jeśli wykonałeś kopię zapasową przy użyciu oprogramowania układowego, będziesz musiał ponownie złożyć partycje w obrazy, aby przywrócić je do pamięci flash.Układ może się różnić w zależności od dostawcy usług internetowych, ten przykład jest oparty na ogólnym oprogramowaniu układowym. Jedyne partycje, które naprawdę Cię interesują, to „web”, „kernel” i „rootfs”. Aby łatwo uzupełnić i ewentualnie przywrócić konfigurację, możesz połączyć większość z nich w obrazy zapisane w metapartycji „ubi” w OpenWrt. Aby to zrobić, wykonaj coś takiego: cat mtd5_cfg-param.bin mtd6-oops.bin mtd7-web.bin mtd9-rootfs.bin > \ mtd8-ubi_restore.bin Możesz całkowicie pominąć partycję „fota”, jest ona używana tylko do celów aktualizacji oprogramowania układowego i można ją bezpiecznie nadpisać. To samo dotyczy partycji „data”, która na moim urządzeniu okazała się w ogóle nieużywana. Przywrócenie mtd5_cfg-param.bin przywróci konfigurację oprogramowania układowego, którą miałeś wcześniej. Metoda 1: Przy użyciu initramfs: - Uruchom initramfs jak w kroku 3: - Całkowicie odłącz partycję ubi0 przy użyciu ubidetach /dev/ubi0_0 - Wyszukaj jądro i partycje ubi w /proc/mtd - Skopiuj obraz jądra fabrycznego przy użyciu scp do /tmp - Wymaż jądro i przywróć jądro fabryczne: (scp mtd4_kernel.bin root@192.168.1.1:/tmp/) mtd write <kernel_mtd> mtd4_kernel.bin rm mtd4_kernel.bin - Skopiuj kopie zapasowe partycji fabrycznej pojedynczo przy użyciu scp do /tmp i przywróć je indywidualnie. W przeciwnym razie może zabraknąć miejsca w systemie plików tmpfs: (scp mtd3_ubiconcat0.bin root@192.168.1.1:/tmp/) mtd write <ubiconcat0_mtd> mtd3_ubiconcat0.bin rm mtd3_ubiconcat0.bin (scp mtd5_ubiconcat1.bin root@192.168.1.1:/tmp/) mtd write <ubiconcat1_mtd> mtd5_ubiconcat1.bin rm mtd5_ubiconcat1.bin - Jeżeli zapis był poprawny, wymuś ponowne uruchomienie urządzenia za pomocą reboot -f Metoda 2: Użycie systemu OpenWrt na żywo (NIEZALECANE): - Przygotuj dysk flash USB zawierający pliki kopii zapasowej MTD - Upewnij się, że dla dysku zainstalowano kmod-usb-storage i sterownik systemu plików - Zamontuj dysk flash mkdir /tmp/usb mount /dev/sda1 /tmp/usb - Ponownie zamontuj wolumin UBI w /overlay do R/O mount -o remount,ro /overlay - Zapisz z powrotem partycje kernel i ubi z dysku USB cd /tmp/usb mtd write mtd4_kernel.bin /dev/<kernel_mtd> mtd write mtd8_ubi.bin /dev/<kernel_ubi> - Jeśli wszystko poszło dobrze, wymuś ponowne uruchomienie urządzenia za pomocą reboot -f Ostatni obraz może być nieco obcięty z powodu braku miejsca w pamięci RAM, ale nastąpi to w partycji MTD „fota”, która w każdym razie może zostać bezpiecznie usunięta po ponownym uruchomieniu. Metoda 3: użycie wbudowanego odzyskiwania TFTP (OSTATNIE ROZWIĄZANIE): - Zmontuj obraz odzyskiwania rootfs z kopii zapasowej partycji stockowych, łącząc obrazy „web”, „kernel”, „rootfs” zrzucone z urządzenia jako „root_uImage” - Użyj go zamiast obrazu odzyskiwania initramfs „root_uImage”, jak w metodzie wstępnej instalacji TFTP. Osobliwości i znane problemy - Rozmiar partycji kernela został zwiększony do 4 MB w porównaniu do 3 MB, aby pomieścić przyszłe aktualizacje kernela - w tej chwili OpenWrt 5.Obraz jądra 10 ma 2,5 MB, co jest niebezpiecznie blisko limitu. Nie ma to wpływu na uruchomienie systemu - ale miej to na uwadze podczas ponownego składania obrazu w celu przywrócenia oryginalnego oprogramowania układowego. - uqmi najwyraźniej nie jest w stanie ręcznie zmienić APN, więc najpierw użyj tego, którego używałeś wcześniej w oryginalnym oprogramowaniu układowym. Jeśli musisz to zmienić, użyj protokołu '3g', aby raz nawiązać połączenie lub użyj następującego polecenia, aby ręcznie zmienić APN (i opcjonalnie typ IP): echo -ne 'AT+CGDCONT=1,"IP","<apn>' > /dev/ttyUSB0 - Jedyną użyteczną diodą LED jako "diodą systemową" jest zielona dioda debugowania ukryta wewnątrz obudowy. Wszystkie inne diody LED są sterowane przez modem, na który część routera ma pewien wpływ tylko na diodę Wi-Fi. - Dioda Wi-Fi obecnie nie działa w OpenWrt, pomimo prawidłowego mapowania GPIO. Wszystkie inne diody LED są sterowane przez modem, w tym ta w standardowym oprogramowaniu układowym. GPIO19, mapowane tam, działa tylko jako bramka, podczas gdy rzeczywistym źródłem sygnału wydaje się być radio Wi-Fi 5 GHz, jednak wydaje się, że nie jest to dioda LED wystawiona przez ath10k jako ath10k-phy0. - GPIO5 używane do resetowania modemu to przełącznik samobójczy, powodujący reset sprzętowy całej płytki, a nie tylko modemu. Jest on podłączony do sterownik gpio-restart, aby ponownie uruchomić modem również po ponownym uruchomieniu, aby zapewnić łączność QMI po ponownym uruchomieniu, która w przeciwnym razie ma tendencję do zawodzenia. - Modem, jak w MF283+, udostępnia powłokę roota przez ADB - podczas gdy nie jest to wcale potrzebne do działania OpenWrt - baw się dobrze czając się w pobliżu. - Przesunięcie adresu MAC dla 5GHz Wi-Fi używanego w standardowym oprogramowaniu układowym wynosi 0x320000000000, co jest niemożliwe do zakodowania w drzewie urządzeń, więc pozwoliłem sobie na użycie dla niego przyrostu adresu MAC o 1, aby zapewnić różne BSSID dla obu interfejsów Wi-Fi. Podpisano przez: Lech Perczak <lech.perczak@gmail.com>powodując reset sprzętowy całej płyty, nie tylko modemu. Jest on dołączony do sterownika gpio-restart, aby ponownie uruchomić modem również po ponownym uruchomieniu, aby zapewnić łączność QMI po ponownym uruchomieniu, która w przeciwnym razie ma tendencję do zawodzenia. - Modem, jak w MF283+, udostępnia powłokę roota przez ADB - podczas gdy nie jest to wcale potrzebne do działania OpenWrt - baw się dobrze czając się w pobliżu. - Przesunięcie adresu MAC dla 5GHz Wi-Fi używanego w standardowym oprogramowaniu układowym wynosi 0x320000000000, co jest niemożliwe do zakodowania w drzewie urządzeń, więc pozwoliłem sobie na użycie dla niego przyrostu adresu MAC o 1, aby zapewnić różne BSSID dla obu interfejsów Wi-Fi. Podpisano przez: Lech Perczak <lech.perczak@gmail.com>powodując reset sprzętowy całej płyty, nie tylko modemu. Jest on dołączony do sterownika gpio-restart, aby ponownie uruchomić modem również po ponownym uruchomieniu, aby zapewnić łączność QMI po ponownym uruchomieniu, która w przeciwnym razie ma tendencję do zawodzenia. - Modem, jak w MF283+, udostępnia powłokę roota przez ADB - podczas gdy nie jest to wcale potrzebne do działania OpenWrt - baw się dobrze czając się w pobliżu. - Przesunięcie adresu MAC dla 5GHz Wi-Fi używanego w standardowym oprogramowaniu układowym wynosi 0x320000000000, co jest niemożliwe do zakodowania w drzewie urządzeń, więc pozwoliłem sobie na użycie dla niego przyrostu adresu MAC o 1, aby zapewnić różne BSSID dla obu interfejsów Wi-Fi. Podpisano przez: Lech Perczak <lech.perczak@gmail.com>