openrouter.info https://eko.one.pl/openrouter.info/forum/ |
|
Mercusys MR1800X i MR70X wgranie breed + OpenWrt/Padavan https://eko.one.pl/openrouter.info/forum/viewtopic.php?f=19&t=4952 |
Strona 1 z 1 |
Autor: | nicefile [ 19 gru 2021, 13:18 ] |
Tytuł: | Mercusys MR1800X i MR70X wgranie breed + OpenWrt/Padavan |
Mercusys MR1800X i MR70X wgranie breed + OpenWrt Witam Oba modele mercusys to najtansze urzadzenia z wifi6 na ktore mozna wrzucic OpenWrt lub Padavan. MT7621DA (zintegrowane 128MB DDR3) 3xLAN 1xWan , wszystko 1Gb SPI 16MB (Winbond W25Q128) MT7915 radio AX DBDC (rownolegla praca 2x2 2.4Ghz i 5ghz) 2 diody led przycisk reset GPIO#8 dioda LED pomaranczowa GPIO#3 dioda LED zielona GPIO#4 diody sa polaczone tak ze nie mogą świecić jednoczesnie: _-|>|-_ | | GPIO4--|_-|<|-_|-- GPIO3 konsola szeregowa pod J1 (115.2k) 1.TX 2.RX 3.GND 4. 3.3V (nie)standardowa partycja flash oraz TPlink safe loader nie pozwala na instalacje Padavan firmware czy OpenWrt dev: size erasesize name offset mtd0: 00040000 00010000 "uboot" 00000000 mtd1: 00400000 00010000 "uImage" 00040000 mtd2: 00bb0000 00010000 "rootfs" 00440000 mtd3: 00010000 00010000 "ART" 00ff0000 Praktycznie jest jeszcze jedna partycja ktora nie jest zdefiniowana a zawiera adres mac i ustawienia softu OEM 00fa0000-00ff0000 czyli końcówka "rootfs" Pierwszym pomysłem jest oczywiście wykonanie kopii partycji i wysłanie ich w bezpieczne miejsce przez scp ktory jest dostepny pod konsola szeregową szczególnie ważna jest partycja mtd3 ktora bedzie potrzebna pozniej drugim krokiem jest wgranie breed .Co zmieni rozkład partycji SPI na klasyczny dla ralinka . Okazuje ze pasuje breed_SPI_ZM.03.bin https://drive.google.com/file/d/1QC6zG- ... naDpb/view znaleziony na zagranicznym forum. Po wgraniu breed mtd -r write breed_SPI_ZM.03.bin uboot Do breed wchodzimy przytrzymując przycisk reset podczas włączania routera. Możemy wgrać factory fw który będzie kopią partycji mtd3 oraz ustawienia adresów MAC w sekcji breed .Bo oczywiście adresy nie były trzymane w mtd3 . ustawiamy RF1 Wlan MAC (adres +2) LAN MAC (adres z etykiety) oraz WAN MAC (adres +1) budowa Openwrt zaczyna sie od przygotowania dts // SPDX-License-Identifier: GPL-2.0-or-later OR MIT #include "mt7621.dtsi" #include <dt-bindings/gpio/gpio.h> #include <dt-bindings/input/input.h> / { compatible = "mercusys,mr1800x", "mediatek,mt7621-soc"; model = "Mercusys MR1800X"; aliases { led-boot = &led_sys_orange; led-failsafe = &led_sys_orange; led-running = &led_sys_green; led-upgrade = &led_sys_orange; label-mac-device = &gmac0; }; chosen { stdout-path = "serial0:115200n8"; bootargs = "console=ttyS0,115200n8"; }; leds { compatible = "gpio-leds"; led_sys_orange: sys_orange { label = "orange:sys"; gpios = <&gpio 3 GPIO_ACTIVE_LOW>; default-state = "off"; }; led_sys_green: sys_green { label = "green:sys"; gpios = <&gpio 4 GPIO_ACTIVE_LOW>; default-state = "off"; }; }; keys { compatible = "gpio-keys"; reset { label = "reset"; gpios = <&gpio 8 GPIO_ACTIVE_LOW>; debounce-interval = <60>; linux,code = <KEY_RESTART>; }; }; }; &spi0 { status = "okay"; flash@0 { compatible = "jedec,spi-nor"; reg = <0>; spi-max-frequency = <50000000>; m25p,fast-read; partitions { compatible = "fixed-partitions"; #address-cells = <1>; #size-cells = <1>; partition@0 { label = "u-boot"; reg = <0x0 0x30000>; read-only; }; partition@30000 { label = "u-boot-env"; reg = <0x30000 0x10000>; read-only; }; factory: partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; }; partition@50000 { compatible = "denx,uimage"; label = "firmware"; reg = <0x50000 0xfb0000>; }; }; }; }; &pcie { status = "okay"; }; &pcie1 { wifi@0,0 { compatible = "mediatek,mt76"; reg = <0x0000 0 0 0 0>; mediatek,mtd-eeprom = <&factory 0x0000>; mediatek,disable-radar-background; }; }; &gmac0 { nvmem-cells = <&macaddr_factory_e000>; nvmem-cell-names = "mac-address"; }; &switch0 { ports { port@1 { status = "okay"; label = "lan1"; }; port@2 { status = "okay"; label = "lan2"; }; port@3 { status = "okay"; label = "lan3"; }; }; }; &gmac1 { status = "okay"; label = "wan"; phy-handle = <ðphy0>; nvmem-cells = <&macaddr_factory_e006>; nvmem-cell-names = "mac-address"; }; &mdio { ethphy0: ethernet-phy@0 { reg = <0>; }; }; &state_default { gpio { groups = "i2c", "wdt"; function = "gpio"; }; }; &factory { compatible = "nvmem-cells"; #address-cells = <1>; #size-cells = <1>; macaddr_factory_e000: macaddr@e000 { reg = <0xe000 0x6>; }; macaddr_factory_e006: macaddr@e006 { reg = <0xe006 0x6>; }; }; oraz dodatnie wpisu w image/mt7621.mk define Device/mercusys_mr1800x $(Device/dsa-migration) IMAGE_SIZE := 16064k UIMAGE_NAME := MR1800X DEVICE_VENDOR := Mercusys DEVICE_MODEL := MR1800X DEVICE_PACKAGES := kmod-mt7915e endef TARGET_DEVICES += mercusys_mr1800x Zbudowany obraz sysupgrade flashujemy z poziomu breed i cieszymy się jak dobre są sterowniki AX mt76 w porównaniu z MT7612 czy MT7603 ![]() ps. Oczywiscie mozna by zbudowac obraz kompatybilny z safeloaderem ale to zostawie dla innych edit : dodanie info o partycji z ustawieniami OEM edit2 : Zbudowałem i przetestowałem padavan (github.com/hanwckf/rt-n56u) .Ale ta opcja przyda się dla kogoś kto potrzebuje maksymalnej wydajnosci np z internetem 300Mbit i szybszym . W tym firmware jest wsparcie dla sprzętowego NAT i Wireless offload . link do konfiguracji umożliwiającej zbudowanie padavan z pełną obsługą routera https://drive.google.com/file/d/11VfK0J8jfyb_FkJC_xLGaGmODohGRdtU/view?usp=sharing edit3: dodane "mux phy0/4 to gmac1" oraz "disable unsupported background radar detection" edit4: zmieniona wersja breed z xunlei-timeplug na breed_SPI_ZM.03.bin gdzie Reset jest pod GPIO8 zgodnie z mr1800x. |
Autor: | obsy [ 19 gru 2021, 14:30 ] |
Tytuł: | Re: Mercusys MR1800X i MR70X wgranie breed + OpenWrt/Padavan |
Wrzuć to na gita openwrt. Przynajmiej zostanie dla potomnych. |
Autor: | nicefile [ 19 gru 2021, 20:38 ] |
Tytuł: | Re: Mercusys MR1800X i MR70X wgranie breed + OpenWrt/Padavan |
taki mocny nie jestem by to obronić w repo . Szczegolnie jak safeloader jest wspierany w OpenWrt i jak pokazali rosjanie tutaj: https://4pda.to/forum/index.php?showtop ... =109276821 da się to zmontować wyciagajac dane ze zrodelek GPL dla MR1800x i MR70x |
Autor: | obsy [ 19 gru 2021, 20:47 ] |
Tytuł: | Re: Mercusys MR1800X i MR70X wgranie breed + OpenWrt/Padavan |
On kosztuje 170zł. Tańszy niż totolink. |
Autor: | nicefile [ 19 lut 2022, 12:07 ] |
Tytuł: | Re: Mercusys MR1800X i MR70X wgranie breed + OpenWrt/Padavan |
jeśli ktoś nie może czekać na własny obraz to po wgraniu breed i factory (z mac adresami) może wrzucić sysupgrade od dir-853-r1 Radio zadziała po zrzuceniu eepromu do pliku: cat /dev/mtd2 > /lib/firmware/mediatek/mt7915_eeprom_dbdc.bin i instalacji pakietu radia opkg update; opkg install kmod-mt7915e porty są numerowane inaczej i "lan4" robi za WAN Działają również obie diody (oczywiscie nie jednoczesnie) blue:wlan5g to dioda led zielona blue:wlan2g to dioda led pomarańczowa Przycisk reset dziala bo jest pod tym samym gpio co w dir-853-r1 wiec mamy failsafe ![]() w sekcji /etc/hotplug.d/ieee80211/10_fix_wifi_mac zamienić 0 na 1 dlink,dir-853-r1) if [ "$PHYNBR" = "[b]1[/b]" ]; then W ten sposób można używać oficjalnych stabilnych obrazów sysupgrade dir-853-r1 no i nie trzeba nic samodzielnie kompilować. Jeśli ktoś bardzo chce zmontować swój zestaw oprogramowania to może użyć openwrt-imagebuilder gdzie budowa firmware trwa mniej niż 3 minuty ![]() |
Autor: | Nowalu [ 8 cze 2022, 22:03 ] |
Tytuł: | Re: Mercusys MR1800X i MR70X wgranie breed + OpenWrt/Padavan |
Cześć, z racji tego, że chciałem wykorzystać potencjał łącza internetowego, postanowiłem skorzystać z możliwości wgrania Padavana do rutera. Niestety natrafiłem na problemy i chciałem prosić o wyjaśnienie pewnych zagadnień. Myślę, że mogą się one przydać też innym użytkownikom. Na początku co udało się zrobić: 1. Skompilować Padavana, ważne aby zwrócić uwagę na wszystkie elementy (np. wersja systemu Ubuntu pod którą będziemy kompilować system). 2. Wlutowanie goldpinów i podłączenie do terminala routera. 3. Zrzucenie wszystkich partycji za pomocą dd i skopiowanie na inne urządzenie za pomocą scp. 4. Wgranie breed-mt7621-xunlei-timeplug.bin na mtd0. Na tym kroku się zatrzymałem. Po reboocie na port szeregowy przestały przychodzić dane. Próbowałem resetować router poprzez: odłączenie zasilania, zwarcie 3,3V z jedną z nóg diody, włączenie zasilania. Nie wiem czy powinno zadziałać DHCP, ale ustawiłem adres: 192.168.1.11/24, ale nie było pinga do adresu 192.168.0.1. Próbowałem resetu przy użyciu drugiej nogi diody, ale bez efektu. Co powinienem zrobić? |
Autor: | obsy [ 8 cze 2022, 22:09 ] |
Tytuł: | Re: Mercusys MR1800X i MR70X wgranie breed + OpenWrt/Padavan |
Wylutować flash i na programatorze wgrać poprawny. Wgrywając breeda nadpisałeś bootloader, jeżeli już nic się nie odzywa na konsoli to znaczy tylko tyle że go ubiłeś programowo. I teraz żeby go ożywić potrzebujesz mieć we flash działający bootloader. |
Autor: | Nowalu [ 9 cze 2022, 19:40 ] |
Tytuł: | Re: Mercusys MR1800X i MR70X wgranie breed + OpenWrt/Padavan |
obsy, dzięki za informacje. Zatem: 1. Czy ktoś dysponuje flashem i mógłby udostępnić? Ewentualnie, czy mając zrobione kopie partycji jestem w stanie odtworzyć firmware nadpisując ten zgrany? W nim pod adresem 0x00, mam wartość FF, potem same zera, aż do adresu 0x200, gdzie są wpisane 4 bajty: 1C 04 00 10, potem znowu zera. Więcej danych jest dopiero pod adresem 0x04E0. Nadpisać to danymi z backupu /dev/mtd0? MAC-a znalazłem pod adresem: 0x00FA0008. 2. Co zrobiłem nie tak, że po wgraniu breeda pod adres uBoot'a według instrukcji(?) ucegliłem router? I jak to powinienem zrobić prawidłowo? |
Autor: | obsy [ 9 cze 2022, 21:05 ] |
Tytuł: | Re: Mercusys MR1800X i MR70X wgranie breed + OpenWrt/Padavan |
1. Tak, jeżeli zrobiłeś kopię partycji to masz kopię całej pamięci flash. Wgrywasz je pod określone adresy do pamięci. 2. Albo po prostu bootloader był nie ten, masz inną wersję routera. Trudno powiedzieć co się stało, ubiłeś to ubiłeś, jak chcesz się bawić w detektywa to możesz sprawdzać po kolei czy np. wgranie tego bootloader nie uwali innego egzemplarza tego modelu. |
Autor: | Nowalu [ 9 cze 2022, 21:49 ] |
Tytuł: | Re: Mercusys MR1800X i MR70X wgranie breed + OpenWrt/Padavan |
Nadpisanie fragmentu uszkodzonego flasha backupem mtd0 przywróciło router do życia ![]() Po skompilowaniu Padavana otrzymałem pliki: MR1800(...).trx, ramdisk i zImage. Czy jeżeli uda mi się wgrać odpowiedniego breeda (zakładam, że ten którego użyłem nie był dobry), to będę w stanie wgrać Padavana? Jak przepisać właściwy MAC adres? Chyba że w ogóle mogę wgrać programatorem odpowiednio przygotowany firmware? |
Autor: | obsy [ 10 cze 2022, 05:13 ] |
Tytuł: | Re: Mercusys MR1800X i MR70X wgranie breed + OpenWrt/Padavan |
Mając programator możesz wgrać wszystko już na swoje miejsce. Jak tylko masz co wgrać i wiesz co i gdzie powinno być. |
Autor: | nicefile [ 11 cze 2022, 18:15 ] |
Tytuł: | Re: Mercusys MR1800X i MR70X wgranie breed + OpenWrt/Padavan |
Nowalu pisze: Nadpisanie fragmentu uszkodzonego flasha backupem mtd0 przywróciło router do życia ![]() Po skompilowaniu Padavana otrzymałem pliki: MR1800(...).trx, ramdisk i zImage. Czy jeżeli uda mi się wgrać odpowiedniego breeda (zakładam, że ten którego użyłem nie był dobry), to będę w stanie wgrać Padavana? Jak przepisać właściwy MAC adres? Chyba że w ogóle mogę wgrać programatorem odpowiednio przygotowany firmware? Patrze i wersja breed-mt7621-xunlei-timeplug.bin jest ostatnia z 2021-12-15 22:51 wiec mamy tą samą wersje . Instalacja z uzyciem 'dd' sprawia czasami problemy inną opcją jest uzycie komendy (nietestowane) mtd -r write breed.bin uboot Lub jesli juz masz to pod programatorem to normalnie wrzucasz breed.bin od początkowego adresu i wlutowujesz . |
Autor: | Nowalu [ 14 cze 2022, 21:47 ] |
Tytuł: | Re: Mercusys MR1800X i MR70X wgranie breed + OpenWrt/Padavan |
Dzięki nicefile, ta komenda zadziałała, breed ruszył i udało się wgrać Padavana ![]() |
Autor: | nicefile [ 24 lis 2023, 20:17 ] |
Tytuł: | Re: Mercusys MR1800X i MR70X wgranie breed + OpenWrt/Padavan |
Koniec rumakowania i MR70X jest oficjalnie wspierany w OpenWrt 23.05.xx Dla kazdego kto ma wgrany breed_SPI_ZM.03.bin jest możliwość dość łatwego powrotu do oficjalnej wersji OpenWrt MR70X ( dotyczy także MR1800X jak mój) reset przy starcie i wchodzimy do breed przez strone http://192.168.1.1 flashujemy router za pomoca firmware mercusys_mr70x-v1-squashfs-sysupgrade.bin . Musimy wybrac adres poczatkowy 0x40000 (zamiast standardowego 0x50000) po reboot powinnismy byc w OpenWrt. Teraz tylko instalacja kmod-mtd-rw i przywrócenie kopi partycji insmod mtd-rw.ko i_want_a_brick=1 mtd write mtd3.bin radio dd if=fullflash-mr1800x.bin skip=250 count=1 bs=65536 of=config.bin #( tylko aby miec poprawny MAC) mtd write config.bin config reboot No i mamy oficjalny OpenWrt startujący z breed. |
Strona 1 z 1 | Strefa czasowa UTC+1godz. |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |