Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revisionBoth sides next revision
toh:mercusys:mr90x_v1 [2023/07/29 14:58] – [OEM bootlog] csharper2005toh:mercusys:mr90x_v1 [2024/11/30 21:25] – [UART method] csharper2005
Line 4: Line 4:
 /* DO NOT CREATE NEW DEVICEPAGES VIA COPY & PASTE! */ /* DO NOT CREATE NEW DEVICEPAGES VIA COPY & PASTE! */
 /* USE https://openwrt.org/meta/create_new_device_page */ /* USE https://openwrt.org/meta/create_new_device_page */
- 
-{{page>meta:infobox:construction&noheader&nofooter&noeditbtn}} 
  
 The MERCUSYS MR90X(EU) v1 router supports 4 802.11ax streams on both 2.4GHz @40MHz and 5GHz @160MHz for a combined 6000Mbps wireless speed. It is based on the MediaTek MT7986B SoC. The MERCUSYS MR90X(EU) v1 router supports 4 802.11ax streams on both 2.4GHz @40MHz and 5GHz @160MHz for a combined 6000Mbps wireless speed. It is based on the MediaTek MT7986B SoC.
 +
 +The Chinese model X60G(AX6000) is **NOT** the same, which doesn't have a 2.5 Gpbs PHY either.
  
 /*****/ /*****/
Line 17: Line 17:
 ===== Supported Versions ===== ===== Supported Versions =====
  
----- datatable ---- +<!-- ToH: { 
-cols    BrandModelVersionsSupported Current Rel, OEM device homepage URL_url, Forum Search_search-forums, Device Techdata_pageid +  "source""json", 
-headers BrandModel, Version, Current Release, OEM Info, Forum Search, Technical Data +  "dom": "t", 
-align   c,c,c,c,c,c,c +  "paging": false
-filter  : Brand=MERCUSYS +  "rotate"true
-filter  Model=MR90X +  "shownColumns"["brand""model""version""supportedcurrentrel""oemdevicehomepageurl""forumsearch", "deviceid"]
-filter  Versions~v1 +  "filterColumns"{"brand": "^MERCUSYS$", "model""^MR90X$", "version""^v1$"} 
-----+-->
  
 /* If no unsupported functions known, comment out the following datatable or delete it. */ /* If no unsupported functions known, comment out the following datatable or delete it. */
 /* /*
----- datatable ---- +<!-- ToH: { 
-cols    Unsupported Functions_unsupporteds +  "source""json", 
-filter  : Brand=MERCUSYS +  "dom""t", 
-filter  : Model=MR90X +  "paging"false, 
-filter  : Versions~v1 +  "shownColumns"["unsupported_functions", "model", "version", "cpu", "cpumhz", "cpucores", "flashmb", "rammb", "wlanhardware", "wlan24ghz", "wlan50ghz", "ethernet100mports", "ethernet1gports", "modem", "usbports"], 
-----  +  "filterColumns": {"brand": "^MERCUSYS$", "model": "^MR90X$", "version": "^v1$"} 
-*/+-->
  
-===== Experimental Versions ===== 
  
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *  +===== Installation ===== 
-   The official Table of Hardware only lists current, stable versions of OpenWrt. +/* stable release */
-   Use this space to describe any on-going efforts to create a newer version       * +
-   of the firmware for this device. Provide links to firmware images,              * +
-   active threads on the forum, or other sources of information.                   * +
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */+
  
-//None at this time.//+<!-- ToH: { 
 +  "source": "json", 
 +  "dom": "t", 
 +  "paging": false, 
 +  "rotate": true, 
 +  "shownColumns": ["model", "version", "supportedcurrentrel", "firmwareopenwrtinstallurl", "firmwareopenwrtupgradeurl", "firmwareoemstockurl"], 
 +  "filterColumns": {"brand": "^MERCUSYS$", "model": "^MR90X$", "version": "^v1$"
 +} -->
  
-===== Hardware Highlights ===== +==== Installation ====
----- datatable ---- +
-cols    : Model, Versions, CPU, CPU MHz, CPU Cores_numcores, Flash MB_mbflashs, RAM MB_mbram, WLAN Hardware, WLAN 2.4GHz, WLAN 5.0GHz, Ethernet 100M ports_, Ethernet Gbit ports_, Modem, USB ports_ +
-header  : Model, Version,SoC,CPU MHz,CPU Cores,Flash MB,RAM MB,WLAN Hardware,WLAN2.4,WLAN5.0,100M ports,Gbit ports,Modem,USB +
-align   : c,c,c,c,c,c,c,c,c,c,c,c,+
-filter  : Brand=MERCUSYS +
-filter  : Model=MR90X +
-filter  : Versions~v1 +
-----+
  
 +1. Connect network cable to the LAN1 port of the router 
  
-===== Installation ===== +2. Login as root via SSH (router IPport ''20001''password your web interface password)
-/* stable release */ +
-/* uncomment once stable release is available +
----- datatable ---- +
-cols    : ModelVersionsSupported Current Rel, Firmware OpenWrt Install URL_url, Firmware OpenWrt Upgrade URL_url, Firmware OEM Stock URL_url +
-headers : Model, Version, Current Release, Firmware OpenWrt Install, Firmware OpenWrt Upgrade, Firmware OEM Stock +
-align   : c,c,c +
-filter  : Brand=MERCUSYS +
-filter  : Model=MR90X +
-filter  : Versions~v1 +
----- +
-*/+
  
 +<code bash>
 +BusyBox v1.19.4 (2022-09-15 21:10:21 CST) built-in shell (ash)
 +Enter 'help' for a list of built-in commands.
  
-/* snapshot */ +     MM           NM                    MMMMMMM          M       M 
-/* delete once stable release is available */ +   $MMMMM        MMMMM                MMMMMMMMMMM      MMM     MMM 
----- datatable ---- +  MMMMMMMM     MM MMMMM.              MMMMM:MMMMMM:   MMMM   MMMMM 
-cols    : Model, Versions, Supported Current Rel, Firmware OpenWrt snapshot Install URL_url, Firmware OpenWrt snapshot Upgrade URL_url, Firmware OEM Stock URL_url +MMMM= MMMMMM  MMM   MMMM       MMMMM   MMMM  MMMMMM   MMMM  MMMMM' 
-headers : Model, Version, Current Release, Firmware OpenWrt snapshot Install, Firmware OpenWrt snapshot Upgrade, Firmware OEM Stock +MMMM=  MMMMM MMMM    MM       MMMMM    MMMM    MMMM   MMMMNMMMMM 
-align   : c,c,c +MMMM=   MMMM  MMMMM          MMMMM     MMMM    MMMM   MMMMMMMM 
-filter  : Brand=MERCUSYS +MMMM=   MMMM   MMMMMM       MMMMM      MMMM    MMMM   MMMMMMMMM 
-filter  : Model=MR90X +MMMM=   MMMM     MMMMM   NMMMMMMMM   MMMM    MMMM   MMMMMMMMMMM 
-filter  : Versions~v1 +MMMM=   MMMM      MMMMMM   MMMMMMMM    MMMM    MMMM   MMMM  MMMMMM 
-----+MMMM  MMMM   MM    MMMM    MMMM      MMMM    MMMM   MMMM    MMMM 
 +MMMM$ ,MMMMM  MMMMM  MMMM    MMM       MMMM   MMMMM   MMMM    MMMM 
 +  MMMMMMM     MMMMMMM             MMMMMMMMMMMM  MMMMMMM MMMMMMM 
 +    MMMMMM       MMMMN               MMMMMMMMM      MMMM    MMMM 
 +     MMMM          M                    MMMMMMM        M       M 
 +       M 
 + --------------------------------------------------------------- 
 +   For those about to rock... (Attitude Adjustment, unknown) 
 + --------------------------------------------------------------- 
 +admin@Akronite:/root$ 
 +</code>
  
 +3. Run the following command: 
  
--[[docs:guide-user:installation:generic.flashing|Install OpenWrt (generic explanation)]]+<code bash> 
 +fw_printenv grep tp_boot_idx 
 +</code>
  
-FIXME Please add the installation procedure here.+If the result is ''tp_boot_idx=1'' then install MERCUSYS stock firmware using web interface and start from the p.2. Otherwise, go to the next step.
  
 +4. Open for editing ''/etc/hotplug.d/iface/65-iptv'' (e.g., using WinSCP and SSH settings from the p.2)
 +
 +5.  Add a newline after ''#!/bin/sh'':
 +<code bash>
 +telnetd -l /bin/login.sh
 +</code>
 +
 +6.  Save ''65-iptv'' file
 +
 +7.  Toggle ''IPTV/VLAN Enable'' checkbox in the router web interface and save
 +
 +8.  Make sure that telnetd is running:
 +<code bash>
 +netstat -ltunp | grep 23
 +</code>
 +
 +9.  Login via telnet to router IP, port ''23'' (no username and password are required)
 +
 +<code>
 +BusyBox v1.19.4 (2022-09-15 21:10:21 CST) built-in shell (ash)
 +Enter 'help' for a list of built-in commands.
 +
 +     MM           NM                    MMMMMMM          M       M
 +   $MMMMM        MMMMM                MMMMMMMMMMM      MMM     MMM
 +  MMMMMMMM     MM MMMMM.              MMMMM:MMMMMM:   MMMM   MMMMM
 +MMMM= MMMMMM  MMM   MMMM       MMMMM   MMMM  MMMMMM   MMMM  MMMMM'
 +MMMM=  MMMMM MMMM    MM       MMMMM    MMMM    MMMM   MMMMNMMMMM
 +MMMM=   MMMM  MMMMM          MMMMM     MMMM    MMMM   MMMMMMMM
 +MMMM=   MMMM   MMMMMM       MMMMM      MMMM    MMMM   MMMMMMMMM
 +MMMM=   MMMM     MMMMM,    NMMMMMMMM   MMMM    MMMM   MMMMMMMMMMM
 +MMMM=   MMMM      MMMMMM   MMMMMMMM    MMMM    MMMM   MMMM  MMMMMM
 +MMMM=   MMMM   MM    MMMM    MMMM      MMMM    MMMM   MMMM    MMMM
 +MMMM$ ,MMMMM  MMMMM  MMMM    MMM       MMMM   MMMMM   MMMM    MMMM
 +  MMMMMMM:      MMMMMMM             MMMMMMMMMMMM  MMMMMMM MMMMMMM
 +    MMMMMM       MMMMN               MMMMMMMMM      MMMM    MMMM
 +     MMMM          M                    MMMMMMM        M       M
 +       M
 + ---------------------------------------------------------------
 +   For those about to rock... (Attitude Adjustment, unknown)
 + ---------------------------------------------------------------
 +root@Akronite:/#
 +</code>
 +
 +10.  Upload OpenWrt ''initramfs-kernel.bin'' to the ''/tmp'' folder of the router (e.g., using WinSCP and SSH settings from the p.2, or with ''cat initramfs-kernel.bin | ssh -p 20001 root@YOUR_ROUTER_IP "cat > /tmp/initramfs-kernel.bin"'' -- can't simply ''scp'' the file because there's no SFTP on the router)
 +    
 +11.  Stock busybox doesn't contain ''ubiupdatevol'' command. Hence, we need to download and upload the full version of busybox to the router. For example, from ArchLinux - https://archlinuxarm.org/packages/aarch64/busybox. Dowload the pkg.tar.xz file, unpack it with ''tar xvf busybox-1.36.1-1-aarch64.pkg.tar.xz'', then upload ''usr/bin/busybox'' to the ''/tmp'' dir of the router and run in the telnet shell:
 +<code bash>
 +cd /tmp
 +chmod a+x busybox
 +</code>
 +
 +12. Check ''initramfs-kernel.bin'' size:
 +<code bash>
 +du -h initramfs-kernel.bin
 +</code>
 +
 +13. Delete old and create a new one ''kernel'' volume with appropriate size (greater than ''initramfs-kernel.bin'' size):
 +<code bash>
 +ubirmvol /dev/ubi0 -N kernel
 +ubimkvol /dev/ubi0 -n 1 -N kernel -s 9MiB
 +</code>
 +
 +14. Write OpenWrt ''initramfs-kernel.bin'' to the flash:
 +<code bash>
 +./busybox ubiupdatevol /dev/ubi0_1 /tmp/initramfs-kernel.bin
 +</code>
 +
 +15. Reboot to OpenWrt initramfs:
 +<code bash>
 +reboot
 +</code>
 +
 +16. Login as root via SSH (IP ''192.168.1.1'', port ''22'')
 +
 +17. Once inside OpenWrt, set (or update) env variables:
 +<code bash>
 +fw_setenv baudrate 115200
 +fw_setenv bootargs "ubi.mtd=ubi0 console=ttyS0,115200n1 loglevel=8 earlycon=uart8250,mmio32,0x11002000 init=/etc/preinit"
 +fw_setenv fdtcontroladdr 5ffc0e70
 +fw_setenv ipaddr 192.168.1.1
 +fw_setenv loadaddr 0x46000000
 +fw_setenv mtdids "spi-nand0=spi-nand0"
 +fw_setenv mtdparts "spi-nand0:2M(boot),1M(u-boot-env),50M(ubi0),50M(ubi1),8M(userconfig),4M(tp_data)"
 +fw_setenv netmask 255.255.255.0
 +fw_setenv serverip 192.168.1.2
 +fw_setenv stderr serial@11002000
 +fw_setenv stdin serial@11002000
 +fw_setenv stdout serial@11002000
 +fw_setenv tp_boot_idx 0
 +</code>
 +
 +18. Upload OpenWrt ''sysupgrade.bin'' image to the ''/tmp'' dir of the router
 +
 +19. Run sysupgrade:
 +<code bash>
 +sysupgrade -n /tmp/sysupgrade.bin
 +</code>
 +
 +==== Installation (using serial console) ====
 +
 +1. Place OpenWrt initramfs image on tftp server with IP ''192.168.1.2''
 +
 +2. Attach [[https://openwrt.org/toh/mercusys/mr90x_v1#serial|UART]], switch on the router and interrupt the boot process by pressing ''Ctrl-C''
 +
 +3. Load and run OpenWrt initramfs image:
 +<code bash>
 +tftpboot initramfs-kernel.bin
 +bootm
 +</code>
 +
 +4. Once inside OpenWrt, set (or update) env variables:
 +<code bash>
 +fw_setenv baudrate 115200
 +fw_setenv bootargs "ubi.mtd=ubi0 console=ttyS0,115200n1 loglevel=8 earlycon=uart8250,mmio32,0x11002000 init=/etc/preinit"
 +fw_setenv fdtcontroladdr 5ffc0e70
 +fw_setenv ipaddr 192.168.1.1
 +fw_setenv loadaddr 0x46000000
 +fw_setenv mtdids "spi-nand0=spi-nand0"
 +fw_setenv mtdparts "spi-nand0:2M(boot),1M(u-boot-env),50M(ubi0),50M(ubi1),8M(userconfig),4M(tp_data)"
 +fw_setenv netmask 255.255.255.0
 +fw_setenv serverip 192.168.1.2
 +fw_setenv stderr serial@11002000
 +fw_setenv stdin serial@11002000
 +fw_setenv stdout serial@11002000
 +fw_setenv tp_boot_idx 0
 +</code>
 +      
 +5. Run ''sysupgrade -n'' with the sysupgrade OpenWrt image
 +
 +==== Installation (OpenWrt U-Boot layout) ====
 +
 +1. Download files from //https://downloads.openwrt.org/ -> **Choose release you need** -> targets -> mediatek -> filogic://
 +  openwrt-mediatek-filogic-mercusys_mr90x-v1-ubi-bl31-uboot.fip
 +  openwrt-mediatek-filogic-mercusys_mr90x-v1-ubi-initramfs-recovery.itb
 +  openwrt-mediatek-filogic-mercusys_mr90x-v1-ubi-preloader.bin
 +  openwrt-mediatek-filogic-mercusys_mr90x-v1-ubi-squashfs-sysupgrade.itb
 +
 +2. Connect network cable to the LAN1 port of the router 
 +
 +3. Login as root via SSH (router IP, port ''20001'', password - your web interface password)
 +
 +<code bash>
 +BusyBox v1.19.4 (2022-09-15 21:10:21 CST) built-in shell (ash)
 +Enter 'help' for a list of built-in commands.
 +
 +     MM           NM                    MMMMMMM          M       M
 +   $MMMMM        MMMMM                MMMMMMMMMMM      MMM     MMM
 +  MMMMMMMM     MM MMMMM.              MMMMM:MMMMMM:   MMMM   MMMMM
 +MMMM= MMMMMM  MMM   MMMM       MMMMM   MMMM  MMMMMM   MMMM  MMMMM'
 +MMMM=  MMMMM MMMM    MM       MMMMM    MMMM    MMMM   MMMMNMMMMM
 +MMMM=   MMMM  MMMMM          MMMMM     MMMM    MMMM   MMMMMMMM
 +MMMM=   MMMM   MMMMMM       MMMMM      MMMM    MMMM   MMMMMMMMM
 +MMMM=   MMMM     MMMMM,    NMMMMMMMM   MMMM    MMMM   MMMMMMMMMMM
 +MMMM=   MMMM      MMMMMM   MMMMMMMM    MMMM    MMMM   MMMM  MMMMMM
 +MMMM=   MMMM   MM    MMMM    MMMM      MMMM    MMMM   MMMM    MMMM
 +MMMM$ ,MMMMM  MMMMM  MMMM    MMM       MMMM   MMMMM   MMMM    MMMM
 +  MMMMMMM:      MMMMMMM             MMMMMMMMMMMM  MMMMMMM MMMMMMM
 +    MMMMMM       MMMMN               MMMMMMMMM      MMMM    MMMM
 +     MMMM          M                    MMMMMMM        M       M
 +       M
 + ---------------------------------------------------------------
 +   For those about to rock... (Attitude Adjustment, unknown)
 + ---------------------------------------------------------------
 +admin@Akronite:/root$
 +</code>
 +
 +4. Run the following command: 
 +
 +<code bash>
 +fw_printenv | grep tp_boot_idx
 +</code>
 +
 +If the result is ''tp_boot_idx=1'' then install MERCUSYS stock firmware using web interface and start from the p.2. Otherwise, go to the next step.
 +
 +5. Open for editing ''/etc/hotplug.d/iface/65-iptv'' (e.g., using WinSCP and SSH settings from the p.2)
 +
 +6.  Add a newline after ''#!/bin/sh'':
 +<code bash>
 +telnetd -l /bin/login.sh
 +</code>
 +
 +7.  Save ''65-iptv'' file
 +
 +8.  Toggle ''IPTV/VLAN Enable'' checkbox in the router web interface and save
 +
 +9.  Make sure that telnetd is running:
 +<code bash>
 +netstat -ltunp | grep 23
 +</code>
 +
 +10.  Login via telnet to router IP, port ''23'' (no username and password are required)
 +
 +<code>
 +BusyBox v1.19.4 (2022-09-15 21:10:21 CST) built-in shell (ash)
 +Enter 'help' for a list of built-in commands.
 +
 +     MM           NM                    MMMMMMM          M       M
 +   $MMMMM        MMMMM                MMMMMMMMMMM      MMM     MMM
 +  MMMMMMMM     MM MMMMM.              MMMMM:MMMMMM:   MMMM   MMMMM
 +MMMM= MMMMMM  MMM   MMMM       MMMMM   MMMM  MMMMMM   MMMM  MMMMM'
 +MMMM=  MMMMM MMMM    MM       MMMMM    MMMM    MMMM   MMMMNMMMMM
 +MMMM=   MMMM  MMMMM          MMMMM     MMMM    MMMM   MMMMMMMM
 +MMMM=   MMMM   MMMMMM       MMMMM      MMMM    MMMM   MMMMMMMMM
 +MMMM=   MMMM     MMMMM,    NMMMMMMMM   MMMM    MMMM   MMMMMMMMMMM
 +MMMM=   MMMM      MMMMMM   MMMMMMMM    MMMM    MMMM   MMMM  MMMMMM
 +MMMM=   MMMM   MM    MMMM    MMMM      MMMM    MMMM   MMMM    MMMM
 +MMMM$ ,MMMMM  MMMMM  MMMM    MMM       MMMM   MMMMM   MMMM    MMMM
 +  MMMMMMM:      MMMMMMM             MMMMMMMMMMMM  MMMMMMM MMMMMMM
 +    MMMMMM       MMMMN               MMMMMMMMM      MMMM    MMMM
 +     MMMM          M                    MMMMMMM        M       M
 +       M
 + ---------------------------------------------------------------
 +   For those about to rock... (Attitude Adjustment, unknown)
 + ---------------------------------------------------------------
 +root@Akronite:/#
 +</code>
 +
 +11.  Upload OpenWrt ''openwrt-mediatek-filogic-mercusys_mr90x-v1-ubi-initramfs-recovery.itb'' to the ''/tmp'' folder of the router (e.g., using WinSCP and SSH settings from the p.3, or with ''cat openwrt-mediatek-filogic-mercusys_mr90x-v1-ubi-initramfs-recovery.itb | ssh -p 20001 root@YOUR_ROUTER_IP "cat > /tmp/openwrt-mediatek-filogic-mercusys_mr90x-v1-ubi-initramfs-recovery.itb"'' -- can't simply ''scp'' the file because there's no SFTP on the router)
 +    
 +12.  Stock busybox doesn't contain ''ubiupdatevol'' command. Hence, we need to download and upload the full version of busybox to the router. For example, from ArchLinux - https://archlinuxarm.org/packages/aarch64/busybox. 
 +
 +Download the ''pkg.tar.xz'' file, unpack it with ''tar xvf busybox-1.36.1-1-aarch64.pkg.tar.xz'', then upload ''usr/bin/busybox'' to the ''/tmp'' dir of the router and run in the telnet shell:
 +<code bash>
 +cd /tmp
 +chmod a+x busybox
 +</code>
 +
 +13. Check ''initramfs-kernel.bin'' size:
 +<code bash>
 +du -h openwrt-mediatek-filogic-mercusys_mr90x-v1-ubi-initramfs-recovery.itb
 +</code>
 +
 +14. Delete old and create a new one ''kernel'' volume with appropriate size (greater than ''initramfs-kernel.bin'' size):
 +<code bash>
 +ubirmvol /dev/ubi0 -N kernel
 +ubimkvol /dev/ubi0 -n 1 -N kernel -s 9MiB
 +</code>
 +
 +15. Write OpenWrt ''initramfs-kernel.bin'' to the flash:
 +<code bash>
 +./busybox ubiupdatevol /dev/ubi0_1 /tmp/openwrt-mediatek-filogic-mercusys_mr90x-v1-ubi-initramfs-recovery.itb
 +</code>
 +
 +16. Make backups:
 +<code bash>
 +cat /dev/mtd0 > /tmp/boot.bin
 +cat /dev/mtd5 > /tmp/tp_data.bin
 +</code>
 +Copy ''/tp_data dir'' content, ''/tmp/boot.bin'' and ''/tmp/tp_data.bin'' and to your PC using scp. You can also backup the remaining partititons. Copy backups to a safe place, they are required for the next steps and stock firmware recovery.
 +
 +17. Reboot to OpenWrt initramfs:
 +<code bash>
 +reboot
 +</code>
 +
 +18. Copy OpenWrt ''openwrt-mediatek-filogic-mercusys_mr90x-v1-ubi-bl31-uboot.fip'', ''openwrt-mediatek-filogic-mercusys_mr90x-v1-ubi-preloader.bin'', ''openwrt-mediatek-filogic-mercusys_mr90x-v1-ubi-squashfs-sysupgrade.itb'' and ''MT7986_EEPROM.bin'', ''default-mac'' (from ''/tp_data'' backup) to the ''/tmp'' folder of the router using scp.
 +
 +19. Prepare UBI:
 +<code bash>
 +ubidetach -p /dev/mtd3; ubiformat /dev/mtd3 -y; ubiattach -p /dev/mtd3
 +ubimkvol /dev/ubi0 -N fip -t static -s 1MiB
 +ubiupdatevol /dev/ubi0_0 /tmp/openwrt-mediatek-filogic-mercusys_mr90x-v1-ubi-bl31-uboot.fip
 +ubimkvol /dev/ubi0 -N ubootenv -s 0x1f000
 +ubimkvol /dev/ubi0 -N ubootenv2 -s 0x1f000
 +</code>
 +
 +20.  Install ''kmod-mtd-rw'' and unlock partitions:
 +<code bash>
 +opkg update && opkg install kmod-mtd-rw
 +insmod mtd-rw i_want_a_brick=1
 +mtd unlock boot
 +mtd unlock bl2
 +mtd unlock factory
 +</code>
 +
 +21. Prepare "factory" partition:
 +<code bash>
 +dd if=/dev/zero bs=$((0x8000)) count=1 | tr '\000' '\377' > /tmp/factory.bin
 +dd if=/tmp/MT7986_EEPROM.bin of=/tmp/factory.bin conv=notrunc
 +dd if=/tmp/default-mac >> /tmp/factory.bin
 +</code>
 +
 +22. Write "factory" partition:
 +<code bash>
 +mtd erase factory
 +mtd write /tmp/factory.bin factory
 +</code>
 +
 +23. Write preloader partition:
 +<code bash>
 +mtd erase bl2
 +mtd write /tmp/openwrt-mediatek-filogic-mercusys_mr90x-v1-ubi-preloader.bin bl2
 +</code>
 +
 +24. Write OpenWrt sysupgrade image:
 +<code bash>
 +sysupgrade -n /tmp/openwrt-mediatek-filogic-mercusys_mr90x-v1-ubi-squashfs-sysupgrade.itb
 +</code>
 ==== Flash Layout ==== ==== Flash Layout ====
 <code bash> <code bash>
Line 113: Line 411:
 U-Boot 2022.01-rc4 (Sep 15 2022 - 20:55:22 +0800) U-Boot 2022.01-rc4 (Sep 15 2022 - 20:55:22 +0800)
 </code> </code>
 +
 +MAC address is stored in UBI partition ''tp_data'', file ''default-mac''. OEM wireless eeprom is also there (file ''MT7986_EEPROM.bin'').
 +
 ==== OEM easy installation ==== ==== OEM easy installation ====
  
Line 121: Line 422:
 ===== Upgrading OpenWrt ===== ===== Upgrading OpenWrt =====
 ->  [[docs:guide-user:installation:generic.sysupgrade]] ->  [[docs:guide-user:installation:generic.sysupgrade]]
- 
-<WRAP BOX> 
- 
-FIXME These are generic instructions. Update with your router's specifics. 
  
 ==== LuCI Web Upgrade Process ==== ==== LuCI Web Upgrade Process ====
  
-  * Browse to ''<nowiki>http://192.168.1.1/cgi-bin/luci/mini/system/upgrade/</nowiki>'' LuCI Upgrade URL+  * Browse to ''<nowiki>http://192.168.1.1/cgi-bin/luci/admin/system/flash</nowiki>'' LuCI Upgrade URL
   * Upload image file for sysupgrade to LuCI   * Upload image file for sysupgrade to LuCI
   * Wait for reboot   * Wait for reboot
Line 135: Line 432:
  
 If you don't have a GUI (LuCI) available, you can alternatively upgrade via the command line. If you don't have a GUI (LuCI) available, you can alternatively upgrade via the command line.
-There are two command line methods for upgrading: +//Note: It is important that you put the firmware image into the ramdisk (''/tmp'') before you start flashing.//
- +
-  * ''sysupgrade'' +
-  * ''mtd'' +
- +
-Note: It is important that you put the firmware image into the ramdisk (/tmp) before you start flashing.+
  
 === sysupgrade === === sysupgrade ===
Line 148: Line 440:
 <code> <code>
 cd /tmp cd /tmp
-wget http://downloads.openwrt.org/snapshots/trunk/XXX/xxx.abc +wget http://downloads.openwrt.org/.... 
-sysupgrade /tmp/xxx.abc+sysupgrade /tmp/sysupgrade.bin
 </code> </code>
  
-=== mtd ===+===== Debricking ===== 
 +-> [[docs:guide-user:troubleshooting:generic.debrick]]
  
-If ''sysupgrade'' does not support this router, use ''mtd''.+1Press Reset button and power on the router
  
-  * Login as root via SSH on 192.168.1.1, then enter the following commands:+2. Navigate to U-Boot recovery web server (http://192.168.1.1/) and upload the OEM firmware
  
-<code> +==== UART method  ==== 
-cd /tmp +1Place OpenWrt initramfs image on tftp server with IP ''192.168.1.2'' 
-wget http://downloads.openwrt.org/snapshots/trunk/XXX/xxx.abc + 
-mtd write /tmp/xxx.abc linux && reboot+2Attach UART, switch on the router and interrupt the boot process by pressing ''Ctrl-C'' 
 + 
 +3. Load and run OpenWrt initramfs image: 
 +<code bash> 
 +tftpboot initramfs-kernel.bin 
 +bootm
 </code> </code>
  
-</WRAP>+4. Do what you need (restore partitions from a backup, install OpenWrt etc.)
  
-===== Debricking ===== +===== Debricking (OpenWrt U-Boot layout) ===== 
--> [[docs:guide-user:troubleshooting:generic.debrick]]+ 
 +1. Place OpenWrt ''openwrt-mediatek-filogic-mercusys_mr90x-v1-ubi-initramfs-recovery.itb'' image on the tftp server (IP''192.168.1.254''). 
 + 
 +2. Press "reset" button and power on the router. After ~10 sec release the button. 
 + 
 +3. Use OpenWrt initramfs system for recovery. 
 + 
 +==== BL2 and FIP recovery ==== 
 + 
 +Use ''mtk_uartboot'' and UART connetion if BL2 or FIP in UBI is destroyed: 
 + 
 +https://github.com/981213/mtk_uartboot
  
 +https://openwrt.org/toh/mercusys/mr90x_v1#serial
 ===== Failsafe mode ===== ===== Failsafe mode =====
 -> [[docs:guide-user:troubleshooting:failsafe_and_factory_reset]] -> [[docs:guide-user:troubleshooting:failsafe_and_factory_reset]]
Line 177: Line 487:
  
 ===== Specific Configuration ===== ===== Specific Configuration =====
- 
-<WRAP BOX> 
-FIXME Please fill in real values for this device, then remove the EXAMPLEs 
  
 ==== Network interfaces ==== ==== Network interfaces ====
 +
 The default network configuration is: The default network configuration is:
-^ Interface Name   ^ Description                  ^ Default configuration    ^ 
-| br-lan           | EXAMPLE LAN & WiFi           | EXAMPLE 192.168.1.1/24   | 
-| vlan0 (eth0.0)   | EXAMPLE LAN ports (1 to 4)   | EXAMPLE None             | 
-| vlan1 (eth0.1)   | EXAMPLE WAN port             | EXAMPLE DHCP             | 
-| wl0              | EXAMPLE WiFi                 | EXAMPLE Disabled         | 
  
-</WRAP>+^ Interface Name   ^ Description   ^ Default configuration ^ 
 +| br-lan           | LAN & WiFi    | 192.168.1.1/24        | 
 +| wan              | WAN port      | DHCP                  | 
  
 ==== Switch Ports (for VLANs) ==== ==== Switch Ports (for VLANs) ====
-<WRAP BOX> 
-FIXME Please fill in real values for this device, then remove the EXAMPLEs 
  
-Numbers 0-3 are Ports 1-4 as labeled on the unit, number 4 is the Internet (WAN) on the unit, 5 is the internal connection to the router itself. Don't be fooled: Port 1 on the unit is number 3 when configuring VLANs. vlan0 = eth0.0, vlan1 = eth0.1 and so on. +^ Port            ^ Switch port ^ 
-^ Port             ^ Switch port   +| WAN/LAN 2.5Gbps wan         
-Internet (WAN)   EXAMPLE 4     +WAN/LAN 1Gbps   lan0        
-| LAN 1            EXAMPLE 3     +LAN1            lan1        
-LAN 2            EXAMPLE 2     +LAN2            lan2        
-LAN 3            EXAMPLE 1     +
-| LAN 4            | EXAMPLE 0     |+
  
-</WRAP> 
  
 ==== Buttons ==== ==== Buttons ====
 -> [[docs:guide-user:hardware:hardware.button]] on howto use and configure the hardware button(s). -> [[docs:guide-user:hardware:hardware.button]] on howto use and configure the hardware button(s).
 Here, we merely name the buttons, so we can use them in the above Howto. Here, we merely name the buttons, so we can use them in the above Howto.
- 
-<WRAP BOX> 
-FIXME Please fill in real values for this device, then remove the EXAMPLEs 
  
 The MERCUSYS MR90X has the following buttons: The MERCUSYS MR90X has the following buttons:
  
-^ BUTTON                       ^ Event   ^ +^ BUTTON               ^ Event   ^ 
-EXAMPLE Reset                |  reset  +| Reset                |  reset  |
-| EXAMPLE Secure Easy Setup    |   ses   | +
-| EXAMPLE No buttons at all.      -    |+
  
-</WRAP> 
  
 ===== Hardware ===== ===== Hardware =====
 ==== Info ==== ==== Info ====
-<WRAP BOX> 
-FIXME 
-  - This table is automatically generated, **once the correct filters for Brand and Model are set.** 
-  - If you see "Nothing." instead of a table, please **edit this section and adjust the filters with the proper Brand and Model.** Just try, it's easy. 
-  - If you still don't see a table here, or a table filled with '¿': [[toh:start|Is there already a Techdata page available]] for MERCUSYS MR90X v1? If not: [[meta:create_new_dataentry_page|Create one]]. 
-  - If you see a table with the desired device data, everything is OK and you can delete this text and the ''<nowiki><WRAP></nowiki>'' that encloses it. 
-  - If it still doesn't work: Don't panic, calm down, take a deep breath and [[:contact|contact a wiki admin]] (tmomas) for help. 
-</WRAP> 
  
----- datatemplatelist dttpllist ---- +<!-- ToH: { 
-templatemeta:template_datatemplatelist +  "source""json", 
-cols    BrandModelVersionsDevice TypeAvailabilitySupported Since Commit_gitSupported since RelSupported current RelUnsupportedBootloaderCPUTargetCPU MHzFlash MBsRAM MBSwitchEthernet 100M ports_Ethernet Gbit ports_Comments network ports_ModemVLANWLAN 2.4GHzWLAN 5.0GHzWLAN HardwaresWLAN Comments_Detachable Antennas_USB ports_SATA ports_Comments USB SATA ports_SerialJTAGLED countButton countPower supplyDevice Techdata_pageidForum topic URL_urlwikidevi URL_urlOEM Device Homepage URL_urlFirmware OEM Stock URL_urlFirmware OpenWrt Install URL_urlFirmware OpenWrt Upgrade URL_urlComments_ +  "dom""t", 
-filter  : Brand=MERCUSYS +  "paging"false, 
-filter  Model=MR90X +  "rotate": true, 
-filter  Versions=v1 +  "shownColumns": ["brand""model""version""devicetype""availability""supportedsincecommit""supportedsincerel""supportedcurrentrel""unsupported_functions""bootloader""cpu""target""cpumhz""flashmb""rammb""switch""ethernet100mports""ethernet1gports""commentsnetworkports""modem""vlan""wlan24ghz""wlan50ghz""wlanhardware""wlancomments""detachableantennas""usbports""sataports""commentsusbsataports""serial""jtag""ledcount""buttoncount""powersupply""deviceid""owrt_forum_topic_url""wikideviurl""oemdevicehomepageurl""firmwareoemstockurl", "firmwareopenwrtinstallurl", "firmwareopenwrtupgradeurl", "comments"]
-----+  "filterColumns"{"brand": "^MERCUSYS$", "model""^MR90X$", "version""^v1$"} 
 +-->
  
 ==== Photos ==== ==== Photos ====
Line 246: Line 535:
 /* Thanks, your wiki administration - Oct. 2015 */ /* Thanks, your wiki administration - Oct. 2015 */
  
 +/*
 //Front://\\ //Front://\\
 **Insert photo of front of the casing** **Insert photo of front of the casing**
Line 254: Line 544:
 //Backside label://\\ //Backside label://\\
 **Insert photo of backside label** **Insert photo of backside label**
 +*/
  
 ==== Opening the case ==== ==== Opening the case ====
  
-**Note:** This will void your warranty!+**Note:** This may void your warranty!
  
-<WRAP BOX> +Unscrew the crews. There are also clips around the edge of the case you will need to prize open, usingfor examplea plastic cardBe carefulCase latches are very tight
-FIXME //Describe what needs to be done to open the devicee.g. remove rubber feetadhesive labels, screws, ...// +
-  * To remove the cover and open the device, do a/b/c +
-</WRAP>+
  
 //Main PCB://\\ //Main PCB://\\
 +
 +/*
 **Insert photo of PCB** **Insert photo of PCB**
 +*/
 +
  
 ==== Serial ==== ==== Serial ====
Line 274: Line 566:
 {{media:mercusys:mr90x-v1_uart.jpeg?400|MERCUSYS MR90X v1 UART}} {{media:mercusys:mr90x-v1_uart.jpeg?400|MERCUSYS MR90X v1 UART}}
  
-The R3 (TX line) and R6 (RX line) are absent on the PCB. You should solder them or solder the jumpers.+The R3 and R6 are absent on the PCB. You should solder them or solder the jumpers.
  
 <code bash> <code bash>
                             V                             V
 +-------+-------+-------+-------+ +-------+-------+-------+-------+
-| +3.3V |  GND  |  TX    RX   |+| +3.3V |  GND  |             |
 +---+---+-------+-------+-------+ +---+---+-------+-------+-------+
     |     |
Line 285: Line 577:
 </code> </code>
  
-^ Serial connection parameters\\ for MERCUSYS MR90X v1 | EXAMPLE 115200, 8N1, 3.3V |+^ Serial connection parameters\\ for MERCUSYS MR90X v1 | 115200, 8N1, 3.3V |
  
 ==== JTAG ==== ==== JTAG ====
 +
 +None so far.
 +
 -> [[docs:techref:hardware:port.jtag]] general information about the JTAG port, JTAG cable, etc. -> [[docs:techref:hardware:port.jtag]] general information about the JTAG port, JTAG cable, etc.
  
Line 295: Line 590:
 */ */
 ===== Bootloader mods ===== ===== Bootloader mods =====
 +
 +None so far.
 +
 -> [[docs:techref:bootloader]] -> [[docs:techref:bootloader]]
  
Line 1851: Line 2149:
 ==== OpenWrt bootlog ==== ==== OpenWrt bootlog ====
 <WRAP bootlog> <WRAP bootlog>
-<nowiki>COPY HERE THE BOOTLOG ONCE OPENWRT IS INSTALLED AND RUNNING</nowiki>+<nowiki>[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034] 
 +[    0.000000] Linux version 5.15.118 (builder@buildhost) (aarch64-openwrt-linux-musl-gcc (OpenWrt GCC 12.3.0 r23228-cd17d8df2a) 12.3.0, GNU ld (GNU Binutils) 2.40.0) #0 SMP Mon Jun 26 11:20:39 2023 
 +[    0.000000] Machine model: Mercusys MR90X v1 
 +[    0.000000] earlycon: uart8250 at MMIO32 0x0000000011002000 (options ''
 +[    0.000000] printk: bootconsole [uart8250] enabled 
 +[    0.000000] Zone ranges: 
 +[    0.000000]   DMA      [mem 0x0000000040000000-0x000000005fffffff] 
 +[    0.000000]   DMA32    empty 
 +[    0.000000]   Normal   empty 
 +[    0.000000] Movable zone start for each node 
 +[    0.000000] Early memory node ranges 
 +[    0.000000]   node   0: [mem 0x0000000040000000-0x0000000042ffffff] 
 +[    0.000000]   node   0: [mem 0x0000000043000000-0x000000004302ffff] 
 +[    0.000000]   node   0: [mem 0x0000000043030000-0x000000004fbfffff] 
 +[    0.000000]   node   0: [mem 0x000000004fc00000-0x000000004ffbffff] 
 +[    0.000000]   node   0: [mem 0x000000004ffc0000-0x000000005fffffff] 
 +[    0.000000] Initmem setup node 0 [mem 0x0000000040000000-0x000000005fffffff] 
 +[    0.000000] psci: probing for conduit method from DT. 
 +[    0.000000] psci: PSCIv1.1 detected in firmware. 
 +[    0.000000] psci: Using standard PSCI v0.2 function IDs 
 +[    0.000000] psci: MIGRATE_INFO_TYPE not supported. 
 +[    0.000000] psci: SMC Calling Convention v1.2 
 +[    0.000000] percpu: Embedded 17 pages/cpu s30040 r8192 d31400 u69632 
 +[    0.000000] pcpu-alloc: s30040 r8192 d31400 u69632 alloc=17*4096 
 +[    0.000000] pcpu-alloc: [0] 0 [0] 1 [0] 2 [0] 3  
 +[    0.000000] Detected VIPT I-cache on CPU0 
 +[    0.000000] CPU features: detected: GIC system register CPU interface 
 +[    0.000000] CPU features: kernel page table isolation disabled by kernel configuration 
 +[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 129024 
 +[    0.000000] Kernel command line: ubi.mtd=ubi0 console=ttyS0,115200n1 loglevel=8 earlycon=uart8250,mmio32,0x11002000 init=/etc/preinit 
 +[    0.000000] Dentry cache hash table entries: 65536 (order: 7, 524288 bytes, linear) 
 +[    0.000000] Inode-cache hash table entries: 32768 (order: 6, 262144 bytes, linear) 
 +[    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off 
 +[    0.000000] Memory: 498100K/524288K available (8384K kernel code, 910K rwdata, 1468K rodata, 448K init, 301K bss, 26188K reserved, 0K cma-reserved) 
 +[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1 
 +[    0.000000] rcu: Hierarchical RCU implementation. 
 +[    0.000000] Tracing variant of Tasks RCU enabled. 
 +[    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 10 jiffies. 
 +[    0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0 
 +[    0.000000] GICv3: GIC: Using split EOI/Deactivate mode 
 +[    0.000000] GICv3: 640 SPIs implemented 
 +[    0.000000] GICv3: 0 Extended SPIs implemented 
 +[    0.000000] GICv3: Distributor has no Range Selector support 
 +[    0.000000] Root IRQ handler: 0xffffffc008423104 
 +[    0.000000] GICv3: 16 PPIs implemented 
 +[    0.000000] GICv3: CPU0: found redistributor 0 region 0:0x000000000c080000 
 +[    0.000000] arch_timer: cp15 timer(s) running at 13.00MHz (phys). 
 +[    0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x2ff89eacb, max_idle_ns: 440795202429 ns 
 +[    0.000000] sched_clock: 56 bits at 13MHz, resolution 76ns, wraps every 4398046511101ns 
 +[    0.008178] Calibrating delay loop (skipped), value calculated using timer frequency.. 26.00 BogoMIPS (lpj=130000) 
 +[    0.018587] pid_max: default: 32768 minimum: 301 
 +[    0.023461] Mount-cache hash table entries: 1024 (order: 1, 8192 bytes, linear) 
 +[    0.030813] Mountpoint-cache hash table entries: 1024 (order: 1, 8192 bytes, linear) 
 +[    0.039707] rcu: Hierarchical SRCU implementation. 
 +[    0.044840] smp: Bringing up secondary CPUs ... 
 +[    0.049673] Detected VIPT I-cache on CPU1 
 +[    0.049694] GICv3: CPU1: found redistributor 1 region 0:0x000000000c0a0000 
 +[    0.049717] CPU1: Booted secondary processor 0x0000000001 [0x410fd034] 
 +[    0.049997] Detected VIPT I-cache on CPU2 
 +[    0.050010] GICv3: CPU2: found redistributor 2 region 0:0x000000000c0c0000 
 +[    0.050022] CPU2: Booted secondary processor 0x0000000002 [0x410fd034] 
 +[    0.050296] Detected VIPT I-cache on CPU3 
 +[    0.050307] GICv3: CPU3: found redistributor 3 region 0:0x000000000c0e0000 
 +[    0.050318] CPU3: Booted secondary processor 0x0000000003 [0x410fd034] 
 +[    0.050353] smp: Brought up 1 node, 4 CPUs 
 +[    0.106920] SMP: Total of 4 processors activated. 
 +[    0.111641] CPU features: detected: 32-bit EL0 Support 
 +[    0.116799] CPU features: detected: CRC32 instructions 
 +[    0.121985] CPU features: emulated: Privileged Access Never (PAN) using TTBR0_EL1 switching 
 +[    0.130426] CPU: All CPU(s) started at EL2 
 +[    0.134550] alternatives: patching kernel code 
 +[    0.141512] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns 
 +[    0.151419] futex hash table entries: 1024 (order: 4, 65536 bytes, linear) 
 +[    0.158473] pinctrl core: initialized pinctrl subsystem 
 +[    0.164391] NET: Registered PF_NETLINK/PF_ROUTE protocol family 
 +[    0.170614] DMA: preallocated 128 KiB GFP_KERNEL pool for atomic allocations 
 +[    0.177721] DMA: preallocated 128 KiB GFP_KERNEL|GFP_DMA pool for atomic allocations 
 +[    0.185517] DMA: preallocated 128 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations 
 +[    0.193741] thermal_sys: Registered thermal governor 'fair_share' 
 +[    0.193745] thermal_sys: Registered thermal governor 'bang_bang' 
 +[    0.199863] thermal_sys: Registered thermal governor 'step_wise' 
 +[    0.205900] thermal_sys: Registered thermal governor 'user_space' 
 +[    0.212108] ASID allocator initialised with 65536 entries 
 +[    0.223996] pstore: Registered ramoops as persistent store backend 
 +[    0.230208] ramoops: using 0x10000@0x42ff0000, ecc: 0 
 +[    0.243864] cryptd: max_cpu_qlen set to 1000 
 +[    0.249886] SCSI subsystem initialized 
 +[    0.253740] libata version 3.00 loaded. 
 +[    0.258471] clocksource: Switched to clocksource arch_sys_counter 
 +[    0.265102] NET: Registered PF_INET protocol family 
 +[    0.270082] IP idents hash table entries: 8192 (order: 4, 65536 bytes, linear) 
 +[    0.277735] tcp_listen_portaddr_hash hash table entries: 256 (order: 0, 4096 bytes, linear) 
 +[    0.286139] Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear) 
 +[    0.293927] TCP established hash table entries: 4096 (order: 3, 32768 bytes, linear) 
 +[    0.301735] TCP bind hash table entries: 4096 (order: 4, 65536 bytes, linear) 
 +[    0.308947] TCP: Hash tables configured (established 4096 bind 4096) 
 +[    0.315386] UDP hash table entries: 256 (order: 1, 8192 bytes, linear) 
 +[    0.321957] UDP-Lite hash table entries: 256 (order: 1, 8192 bytes, linear) 
 +[    0.329061] NET: Registered PF_UNIX/PF_LOCAL protocol family 
 +[    0.334765] PCI: CLS 0 bytes, default 64 
 +[    0.340838] workingset: timestamp_bits=46 max_order=17 bucket_order=0 
 +[    0.350367] squashfs: version 4.0 (2009/01/31) Phillip Lougher 
 +[    0.356233] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc. 
 +[    0.393945] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 251) 
 +[    0.404874] Serial: 8250/16550 driver, 16 ports, IRQ sharing enabled 
 +[    0.413166] printk: console [ttyS0] disabled 
 +[    0.437604] 11002000.serial: ttyS0 at MMIO 0x11002000 (irq = 121, base_baud = 2500000) is a ST16650V2 
 +[    0.446914] printk: console [ttyS0] enabled 
 +[    0.455268] printk: bootconsole [uart8250] disabled 
 +[    0.465578] mtk_rng 1020f000.rng: registered RNG driver 
 +[    0.465636] hwrng: no data available 
 +[    0.471034] cacheinfo: Unable to detect cache hierarchy for CPU 0 
 +[    0.482798] loop: module loaded 
 +[    0.485943] Loading iSCSI transport class v2.0-870. 
 +[    0.492453] spi-nand spi0.0: GigaDevice SPI NAND was found. 
 +[    0.498019] spi-nand spi0.0: 128 MiB, block size: 128 KiB, page size: 2048, OOB size: 128 
 +[    0.506381] 6 fixed-partitions partitions found on MTD device spi0.0 
 +[    0.512727] Creating 6 MTD partitions on "spi0.0": 
 +[    0.517502] 0x000000000000-0x000000200000 : "boot" 
 +[    0.524774] 0x000000200000-0x000000300000 : "u-boot-env" 
 +[    0.531458] 0x000000300000-0x000003500000 : "ubi0" 
 +[    0.591088] 0x000003500000-0x000006700000 : "ubi1" 
 +[    0.647759] 0x000006700000-0x000006f00000 : "userconfig" 
 +[    0.660828] 0x000006f00000-0x000007300000 : "tp_data" 
 +[    3.409474] Maxlinear Ethernet GPY211C mdio-bus:06: Firmware Version: 0x886F (release) 
 +[    3.418846] mtk_soc_eth 15100000.ethernet: generated random MAC address 4a:44:ca:70:ce:1b 
 +[    3.427707] mtk_soc_eth 15100000.ethernet eth0: mediatek frame engine at 0xffffffc009580000, irq 128 
 +[    3.436874] mtk_soc_eth 15100000.ethernet: generated random MAC address 9e:fa:38:a7:c9:62 
 +[    3.445733] mtk_soc_eth 15100000.ethernet eth1: mediatek frame engine at 0xffffffc009580000, irq 128 
 +[    3.455231] i2c_dev: i2c /dev entries driver 
 +[    3.460509] mtk-wdt 1001c000.watchdog: Watchdog enabled (timeout=31 sec, nowayout=0) 
 +[    3.468988] NET: Registered PF_INET6 protocol family 
 +[    3.474618] Segment Routing with IPv6 
 +[    3.478288] In-situ OAM (IOAM) with IPv6 
 +[    3.482252] NET: Registered PF_PACKET protocol family 
 +[    3.487306] bridge: filtering via arp/ip/ip6tables is no longer available by default. Update your scripts to load br_netfilter if you need this. 
 +[    3.500362] 8021q: 802.1Q VLAN Support v1.8 
 +[    3.505483] pstore: Using crash dump compression: deflate 
 +[    3.550064] mt7530-mdio mdio-bus:1f: no interrupt support 
 +[    3.560329] mt7530-mdio mdio-bus:1f: configuring for fixed/2500base-x link mode 
 +[    3.569366] mt7530-mdio mdio-bus:1f: Link is Up - 2.5Gbps/Full - flow control rx/tx 
 +[    3.578308] mt7530-mdio mdio-bus:1f lan0 (uninitialized): PHY [mt7530-0:00] driver [MediaTek MT7531 PHY] (irq=POLL) 
 +[    3.598601] mt7530-mdio mdio-bus:1f lan1 (uninitialized): PHY [mt7530-0:01] driver [MediaTek MT7531 PHY] (irq=POLL) 
 +[    3.618618] mt7530-mdio mdio-bus:1f lan2 (uninitialized): PHY [mt7530-0:02] driver [MediaTek MT7531 PHY] (irq=POLL) 
 +[    3.630411] DSA: tree 0 setup 
 +[    3.633652] ubi0: default fastmap pool size: 20 
 +[    3.638171] ubi0: default fastmap WL pool size: 10 
 +[    3.642968] ubi0: attaching mtd2 
 +[    4.472546] ubi0: scanning is finished 
 +[    4.499699] ubi0: attached mtd2 (name "ubi0", size 50 MiB) 
 +[    4.505177] ubi0: PEB size: 131072 bytes (128 KiB), LEB size: 126976 bytes 
 +[    4.512039] ubi0: min./max. I/O unit sizes: 2048/2048, sub-page size 2048 
 +[    4.518809] ubi0: VID header offset: 2048 (aligned 2048), data offset: 4096 
 +[    4.525749] ubi0: good PEBs: 400, bad PEBs: 0, corrupted PEBs: 0 
 +[    4.531738] ubi0: user volume: 4, internal volumes: 1, max. volumes count: 128 
 +[    4.538941] ubi0: max/mean erase counter: 21/15, WL threshold: 4096, image sequence number: 302291140 
 +[    4.548135] ubi0: available PEBs: 0, total reserved PEBs: 400, PEBs reserved for bad PEB handling: 20 
 +[    4.557336] ubi0: background thread "ubi_bgt0d" started, PID 472 
 +[    4.561063] block ubiblock0_2: created from ubi0:2(rootfs) 
 +[    4.568801] ubiblock: device ubiblock0_2 (rootfs) set to be root filesystem 
 +[    4.591116] VFS: Mounted root (squashfs filesystem) readonly on device 254:0. 
 +[    4.598418] Freeing unused kernel memory: 448K 
 +[    4.648538] Run /etc/preinit as init process 
 +[    4.652793]   with arguments: 
 +[    4.655745]     /etc/preinit 
 +[    4.658620]   with environment: 
 +[    4.661745]     HOME=/ 
 +[    4.664089]     TERM=linux 
 +[    5.281931] init: Console is alive 
 +[    5.285434] init: - watchdog - 
 +[    6.268381] kmodloader: loading kernel modules from /etc/modules-boot.d/
 +[    6.390598] Key type encrypted registered 
 +[    6.397026] device-mapper: ioctl: 4.45.0-ioctl (2021-03-22) initialised: dm-devel@redhat.com 
 +[    6.409252] kmodloader: done loading kernel modules from /etc/modules-boot.d/
 +[    6.426071] init: - preinit - 
 +[    6.725891] mtk_soc_eth 15100000.ethernet eth0: configuring for fixed/2500base-x link mode 
 +[    6.734331] mtk_soc_eth 15100000.ethernet eth0: Link is Up - 2.5Gbps/Full - flow control rx/tx 
 +[    6.757431] ubi1: default fastmap pool size: 8 
 +[    6.761905] ubi1: default fastmap WL pool size: 4 
 +[    6.766593] ubi1: attaching mtd5 
 +[    6.769831] ubi1: MTD device 5 is write-protected, attach in read-only mode 
 +[    6.842735] ubi1: scanning is finished 
 +[    6.869269] ubi1 warning: 0xffffffc00856b974: cannot reserve enough PEBs for bad PEB handling, reserved 8, need 20 
 +[    6.879906] ubi1: attached mtd5 (name "tp_data", size 4 MiB) 
 +[    6.885554] ubi1: PEB size: 131072 bytes (128 KiB), LEB size: 126976 bytes 
 +[    6.888486] random: procd: uninitialized urandom read (4 bytes read) 
 +[    6.892414] ubi1: min./max. I/O unit sizes: 2048/2048, sub-page size 2048 
 +[    6.905507] ubi1: VID header offset: 2048 (aligned 2048), data offset: 4096 
 +[    6.912452] ubi1: good PEBs: 32, bad PEBs: 0, corrupted PEBs: 0 
 +[    6.918351] ubi1: user volume: 1, internal volumes: 1, max. volumes count: 128 
 +[    6.925555] ubi1: max/mean erase counter: 4/2, WL threshold: 4096, image sequence number: 682472375 
 +[    6.934582] ubi1: available PEBs: 0, total reserved PEBs: 32, PEBs reserved for bad PEB handling: 8 
 +[    6.943613] ubi1: background thread "ubi_bgt1d" started, PID 558 
 +[    6.953467] UBIFS (ubi1:0): read-only UBI device 
 +[    6.960180] UBIFS (ubi1:0): Mounting in unauthenticated mode 
 +[    7.259856] UBIFS (ubi1:0): UBIFS: mounted UBI device 1, volume 0, name "tp_data", R/O mode 
 +[    7.268192] UBIFS (ubi1:0): LEB size: 126976 bytes (124 KiB), min./max. I/O unit sizes: 2048 bytes/2048 bytes 
 +[    7.278088] UBIFS (ubi1:0): FS size: 1269760 bytes (1 MiB, 10 LEBs), max 18 LEBs, journal size 888833 bytes (0 MiB, 5 LEBs) 
 +[    7.289196] UBIFS (ubi1:0): reserved for root: 59973 bytes (58 KiB) 
 +[    7.295443] UBIFS (ubi1:0): media format: w5/r0 (latest is w5/r0), UUID BCFB1CE0-BA38-4F61-BFD5-EDD01DB8BDC2, small LPT model 
 +[    7.391873] mt7530-mdio mdio-bus:1f lan1: configuring for phy/gmii link mode 
 +[    9.483068] mount_root: loading kmods from internal overlay 
 +[    9.493321] kmodloader: loading kernel modules from //etc/modules-boot.d/
 +[    9.500647] kmodloader: done loading kernel modules from //etc/modules-boot.d/
 +[   10.328483] random: crng init done 
 +[   10.368872] UBIFS (ubi0:3): Mounting in unauthenticated mode 
 +[   10.374594] UBIFS (ubi0:3): background thread "ubifs_bgt0_3" started, PID 609 
 +[   10.693055] UBIFS (ubi0:3): UBIFS: mounted UBI device 0, volume 3, name "rootfs_data" 
 +[   10.700886] UBIFS (ubi0:3): LEB size: 126976 bytes (124 KiB), min./max. I/O unit sizes: 2048 bytes/2048 bytes 
 +[   10.710780] UBIFS (ubi0:3): FS size: 31997952 bytes (30 MiB, 252 LEBs), max 262 LEBs, journal size 1650688 bytes (1 MiB, 13 LEBs) 
 +[   10.722407] UBIFS (ubi0:3): reserved for root: 1511341 bytes (1475 KiB) 
 +[   10.729005] UBIFS (ubi0:3): media format: w5/r0 (latest is w5/r0), UUID FD8379A5-4A22-43E5-B06D-0E28E2E800C3, small LPT model 
 +[   10.742540] block: attempting to load /tmp/ubifs_cfg/upper/etc/config/fstab 
 +[   10.749578] block: unable to load configuration (fstab: Entry not found) 
 +[   10.756290] block: attempting to load /tmp/ubifs_cfg/etc/config/fstab 
 +[   10.762767] block: unable to load configuration (fstab: Entry not found) 
 +[   10.769495] block: attempting to load /etc/config/fstab 
 +[   10.774764] block: unable to load configuration (fstab: Entry not found) 
 +[   10.781478] block: no usable configuration 
 +[   10.793020] UBIFS (ubi0:3): un-mount UBI device 0 
 +[   10.797722] UBIFS (ubi0:3): background thread "ubifs_bgt0_3" stops 
 +[   10.810031] UBIFS (ubi0:3): Mounting in unauthenticated mode 
 +[   10.815753] UBIFS (ubi0:3): background thread "ubifs_bgt0_3" started, PID 612 
 +[   11.133830] UBIFS (ubi0:3): UBIFS: mounted UBI device 0, volume 3, name "rootfs_data" 
 +[   11.141654] UBIFS (ubi0:3): LEB size: 126976 bytes (124 KiB), min./max. I/O unit sizes: 2048 bytes/2048 bytes 
 +[   11.151549] UBIFS (ubi0:3): FS size: 31997952 bytes (30 MiB, 252 LEBs), max 262 LEBs, journal size 1650688 bytes (1 MiB, 13 LEBs) 
 +[   11.163175] UBIFS (ubi0:3): reserved for root: 1511341 bytes (1475 KiB) 
 +[   11.169772] UBIFS (ubi0:3): media format: w5/r0 (latest is w5/r0), UUID FD8379A5-4A22-43E5-B06D-0E28E2E800C3, small LPT model 
 +[   11.472889] block: attempting to load /tmp/ubifs_cfg/upper/etc/config/fstab 
 +[   11.479927] block: unable to load configuration (fstab: Entry not found) 
 +[   11.486637] block: attempting to load /tmp/ubifs_cfg/etc/config/fstab 
 +[   11.493114] block: unable to load configuration (fstab: Entry not found) 
 +[   11.499827] block: attempting to load /etc/config/fstab 
 +[   11.505072] block: unable to load configuration (fstab: Entry not found) 
 +[   11.511784] block: no usable configuration 
 +[   11.516340] mount_root: overlay filesystem has not been fully initialized yet 
 +[   11.525796] mount_root: switching to ubifs overlay 
 +[   11.543641] overlayfs: null uuid detected in lower fs '/', falling back to xino=off,index=off,nfs_export=off. 
 +[   11.971999] urandom-seed: Seed file not found (/etc/urandom.seed) 
 +[   12.006266] procd: - early - 
 +[   12.009212] procd: - watchdog - 
 +[   12.544155] procd: - watchdog - 
 +[   12.547449] procd: - ubus - 
 +[   12.644023] procd: - init - 
 +[   13.139836] urngd: v1.0.2 started. 
 +[   13.151303] kmodloader: loading kernel modules from /etc/modules.d/
 +[   13.268402] Key type dns_resolver registered 
 +[   13.276609] RPC: Registered named UNIX socket transport module. 
 +[   13.282533] RPC: Registered udp transport module. 
 +[   13.287219] RPC: Registered tcp transport module. 
 +[   13.291912] RPC: Registered tcp NFSv4.1 backchannel transport module. 
 +[   13.306833] NFS: Registering the id_resolver key type 
 +[   13.311914] Key type id_resolver registered 
 +[   13.316080] Key type id_legacy registered 
 +[   13.321767] crypto-safexcel 10320000.crypto: EIP97:230(0,1,4,4)-HIA:270(0,5,5),PE:150/433(alg:7fcdfc00)/0/0/
 +[   13.336277] Loading modules backported from Linux version v6.1.24-0-g0102425ac76b 
 +[   13.343802] Backport generated by backports.git v5.15.92-1-44-gd6ea70fafd36 
 +[   13.802254] mt7986-wmac 18000000.wifi: HW/SW Version: 0x8a108a10, Build Time: 20221012174743a 
 +[   13.802254]  
 +[   14.164469] mt7986-wmac 18000000.wifi: WM Firmware Version: ____000000, Build Time: 20221012174805 
 +[   14.331950] mt7986-wmac 18000000.wifi: WA Firmware Version: DEV_000000, Build Time: 20221012174937 
 +[   14.476739] mt7986-wmac 18000000.wifi: eeprom load fail, use default bin 
 +[   17.149334] PPP generic driver version 2.4.2 
 +[   17.154220] NET: Registered PF_PPPOX protocol family 
 +[   17.161497] kmodloader: done loading kernel modules from /etc/modules.d/
 +[   21.716286] mtk_soc_eth 15100000.ethernet eth0: Link is Down 
 +[   21.729368] mtk_soc_eth 15100000.ethernet eth0: configuring for fixed/2500base-x link mode 
 +[   21.737789] mtk_soc_eth 15100000.ethernet eth0: Link is Up - 2.5Gbps/Full - flow control rx/tx 
 +[   21.738455] device eth0 entered promiscuous mode 
 +[   21.751434] mt7530-mdio mdio-bus:1f lan0: configuring for phy/gmii link mode 
 +[   21.761526] br-lan: port 1(lan0) entered blocking state 
 +[   21.763229] mt7530-mdio mdio-bus:1f lan0: Link is Up - 1Gbps/Full - flow control rx/tx 
 +[   21.766751] br-lan: port 1(lan0) entered disabled state 
 +[   21.781566] device lan0 entered promiscuous mode 
 +[   21.788125] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready 
 +[   21.797339] br-lan: port 1(lan0) entered blocking state 
 +[   21.802591] br-lan: port 1(lan0) entered forwarding state 
 +[   21.810716] mt7530-mdio mdio-bus:1f lan1: configuring for phy/gmii link mode 
 +[   21.820748] br-lan: port 2(lan1) entered blocking state 
 +[   21.825991] br-lan: port 2(lan1) entered disabled state 
 +[   21.832997] device lan1 entered promiscuous mode 
 +[   21.841147] mt7530-mdio mdio-bus:1f lan2: configuring for phy/gmii link mode 
 +[   21.850972] br-lan: port 3(lan2) entered blocking state 
 +[   21.856238] br-lan: port 3(lan2) entered disabled state 
 +[   21.863525] device lan2 entered promiscuous mode 
 +[   22.992687] IPv6: ADDRCONF(NETDEV_CHANGE): br-lan: link becomes ready 
 +[   22.999606] br-lan: port 4(phy0-ap0) entered blocking state 
 +[   23.005181] br-lan: port 4(phy0-ap0) entered disabled state 
 +[   23.010971] device phy0-ap0 entered promiscuous mode 
 +[   23.618892] IPv6: ADDRCONF(NETDEV_CHANGE): phy0-ap0: link becomes ready 
 +[   23.625671] br-lan: port 4(phy0-ap0) entered blocking state 
 +[   23.631305] br-lan: port 4(phy0-ap0) entered forwarding state 
 +[   23.640375] br-lan: port 5(phy0-ap1) entered blocking state 
 +[   23.645951] br-lan: port 5(phy0-ap1) entered disabled state 
 +[   23.651739] device phy0-ap1 entered promiscuous mode 
 +[   23.664907] br-lan: port 5(phy0-ap1) entered blocking state 
 +[   23.670516] br-lan: port 5(phy0-ap1) entered forwarding state 
 +[   23.920791] IPv6: ADDRCONF(NETDEV_CHANGE): phy0-ap1: link becomes ready 
 +[   24.511539] br-lan: port 6(phy1-ap0) entered blocking state 
 +[   24.517136] br-lan: port 6(phy1-ap0) entered disabled state 
 +[   24.522892] device phy1-ap0 entered promiscuous mode 
 +[   24.527938] br-lan: port 6(phy1-ap0) entered blocking state 
 +[   24.533511] br-lan: port 6(phy1-ap0) entered forwarding state 
 +[   24.539515] br-lan: port 6(phy1-ap0) entered disabled state 
 +[   25.668560] IPv6: ADDRCONF(NETDEV_CHANGE): phy1-ap0: link becomes ready 
 +[   25.675280] br-lan: port 6(phy1-ap0) entered blocking state 
 +[   25.680871] br-lan: port 6(phy1-ap0) entered forwarding state 
 +[   25.687785] br-lan: port 7(phy1-ap1) entered blocking state 
 +[   25.693419] br-lan: port 7(phy1-ap1) entered disabled state 
 +[   25.699200] device phy1-ap1 entered promiscuous mode 
 +[   25.706885] br-lan: port 7(phy1-ap1) entered blocking state 
 +[   25.712475] br-lan: port 7(phy1-ap1) entered forwarding state 
 +[   26.000345] IPv6: ADDRCONF(NETDEV_CHANGE): phy1-ap1: link becomes ready</nowiki>
 </WRAP>\\ </WRAP>\\
  
 ===== Notes ===== ===== Notes =====
 +
 +None so far.
 +
 +/*
 //Space for additional notes, links to forum threads or other resources.// //Space for additional notes, links to forum threads or other resources.//
  
   * ...   * ...
 +*/
 ===== Tags ===== ===== Tags =====
-<WRAP BOX> 
-FIXME //Add tags below, then remove this fixme.// 
-</WRAP> 
  
 [[meta:tags|How to add tags]] [[meta:tags|How to add tags]]
-{{tag>EXAMPLETAG}}+{{tag>mediatek MT7986 armv8 128NAND SPI-NAND 512RAM 4Port 2.5GigabitEthernet GigabitEthernet 8Ant NonDetachableAntenna 0usb 4core 4thread 2wnic 4x4 802.11ax wifi6 u-boot ARMv8 cortexa53 Filogic Serial 12v_powered Dual_firmware serial 1button }}
  • Last modified: 2024/12/07 20:00
  • by csharper2005