Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision Next revisionBoth sides next revision | ||
| toh:mercusys:mr90x_v1 [2023/07/29 15:52] – [Switch Ports (for VLANs)] csharper2005 | toh: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:// | /* USE https:// | ||
| - | |||
| - | {{page> | ||
| 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' | ||
| /*****/ | /*****/ | ||
| Line 17: | Line 17: | ||
| ===== Supported Versions ===== | ===== Supported Versions ===== | ||
| - | ---- datatable ---- | + | <!-- ToH: { |
| - | cols | + | " |
| - | headers | + | " |
| - | align : c,c,c,c,c,c,c | + | " |
| - | filter | + | " |
| - | filter | + | " |
| - | filter | + | |
| - | ---- | + | } --> |
| /* 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 | + | |
| - | filter | + | |
| - | filter | + | |
| - | filter | + | |
| - | ---- | + | |
| - | */ | + | } --> |
| - | + | ||
| - | ===== Experimental Versions ===== | + | |
| - | + | ||
| - | /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * | + | |
| - | | + | |
| - | | + | |
| - | | + | |
| - | | + | |
| - | * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ | + | |
| - | + | ||
| - | //None at this time.// | + | |
| - | + | ||
| - | ===== Hardware Highlights ===== | + | |
| - | ---- datatable ---- | + | |
| - | cols : Model, Versions, CPU, CPU MHz, CPU Cores_numcores, | + | |
| - | header | + | |
| - | align : c, | + | |
| - | filter | + | |
| - | filter | + | |
| - | filter | + | |
| - | ---- | + | |
| ===== Installation ===== | ===== Installation ===== | ||
| /* stable release */ | /* stable release */ | ||
| - | /* uncomment once stable release is available | ||
| - | ---- datatable ---- | ||
| - | cols : Model, Versions, Supported 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 | ||
| - | filter | ||
| - | filter | ||
| - | ---- | ||
| - | */ | ||
| + | <!-- ToH: { | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | } --> | ||
| - | /* snapshot */ | + | ==== Installation ==== |
| - | /* delete once stable release is available */ | + | |
| - | ---- datatable ---- | + | |
| - | cols : Model, Versions, Supported Current Rel, Firmware OpenWrt snapshot Install URL_url, Firmware OpenWrt snapshot Upgrade URL_url, Firmware OEM Stock URL_url | + | |
| - | headers : Model, Version, Current Release, Firmware OpenWrt snapshot Install, Firmware OpenWrt snapshot Upgrade, Firmware OEM Stock | + | |
| - | align : c,c,c | + | |
| - | filter | + | |
| - | filter | + | |
| - | filter | + | |
| - | ---- | + | |
| + | 1. Connect network cable to the LAN1 port of the router | ||
| - | -> [[docs: | + | 2. Login as root via SSH (router IP, port '' |
| - | {{page>meta:infobox:attention_trunk& | + | <code bash> |
| + | BusyBox v1.19.4 (2022-09-15 21:10:21 CST) built-in shell (ash) | ||
| + | Enter ' | ||
| + | | ||
| + | | ||
| + | MMMMMMMM | ||
| + | MMMM= MMMMMM | ||
| + | MMMM= MMMMM MMMM MM | ||
| + | MMMM= | ||
| + | MMMM= | ||
| + | MMMM= | ||
| + | MMMM= | ||
| + | MMMM= | ||
| + | MMMM$ , | ||
| + | MMMMMMM: | ||
| + | MMMMMM | ||
| + | | ||
| + | M | ||
| + | | ||
| + | For those about to rock... (Attitude Adjustment, unknown) | ||
| + | | ||
| + | admin@Akronite:/ | ||
| + | </ | ||
| - | ==== Installation ==== | + | 3. Run the following command: |
| - | 1. Login as root via SSH (router IP, port '' | + | <code bash> |
| + | fw_printenv | grep tp_boot_idx | ||
| + | </ | ||
| + | |||
| + | If the result is '' | ||
| - | 2. Open for editing ''/ | + | 4. Open for editing ''/ |
| - | 3. Add a newline after ''# | + | 5. Add a newline after ''# |
| <code bash> | <code bash> | ||
| telnetd -l / | telnetd -l / | ||
| </ | </ | ||
| - | 4. Save '' | + | 6. Save '' |
| - | 5. Toggle '' | + | 7. Toggle '' |
| - | 6. Make sure that telnetd is running: | + | 8. Make sure that telnetd is running: |
| <code bash> | <code bash> | ||
| netstat -ltunp | grep 23 | netstat -ltunp | grep 23 | ||
| </ | </ | ||
| - | 7. Login via telnet to router IP, port '' | + | 9. Login via telnet to router IP, port '' |
| - | 8 | + | < |
| + | BusyBox v1.19.4 (2022-09-15 21:10:21 CST) built-in shell (ash) | ||
| + | Enter ' | ||
| + | |||
| + | | ||
| + | | ||
| + | MMMMMMMM | ||
| + | MMMM= MMMMMM | ||
| + | MMMM= MMMMM MMMM MM | ||
| + | MMMM= | ||
| + | MMMM= | ||
| + | MMMM= | ||
| + | MMMM= | ||
| + | MMMM= | ||
| + | MMMM$ , | ||
| + | MMMMMMM: | ||
| + | MMMMMM | ||
| + | | ||
| + | M | ||
| + | | ||
| + | For those about to rock... (Attitude Adjustment, unknown) | ||
| + | | ||
| + | root@Akronite:/# | ||
| + | </ | ||
| + | |||
| + | 10. | ||
| | | ||
| - | 9. Stock busybox doesn' | + | 11. Stock busybox doesn' |
| <code bash> | <code bash> | ||
| cd /tmp | cd /tmp | ||
| - | chmod a+x busybox-arm64 | + | chmod a+x busybox |
| </ | </ | ||
| - | 10. Check '' | + | 12. Check '' |
| <code bash> | <code bash> | ||
| du -h initramfs-kernel.bin | du -h initramfs-kernel.bin | ||
| </ | </ | ||
| - | 11. Delete old and create a new one '' | + | 13. Delete old and create a new one '' |
| <code bash> | <code bash> | ||
| ubirmvol /dev/ubi0 -N kernel | ubirmvol /dev/ubi0 -N kernel | ||
| Line 130: | Line 150: | ||
| </ | </ | ||
| - | 12. Write OpenWrt '' | + | 14. Write OpenWrt '' |
| <code bash> | <code bash> | ||
| - | ./busybox-arm64 | + | ./busybox ubiupdatevol /dev/ubi0_1 / |
| </ | </ | ||
| - | 13. '' | + | 15. Reboot to OpenWrt initramfs: |
| + | <code bash> | ||
| + | reboot | ||
| + | </ | ||
| + | |||
| + | 16. Login as root via SSH (IP '' | ||
| + | |||
| + | 17. Once inside OpenWrt, set (or update) env variables: | ||
| <code bash> | <code bash> | ||
| fw_setenv baudrate 115200 | fw_setenv baudrate 115200 | ||
| Line 152: | Line 179: | ||
| </ | </ | ||
| - | 14. Reboot to OpenWrt initramfs: | + | 18. Upload OpenWrt '' |
| - | <code bash> | + | |
| - | reboot | + | |
| - | </ | + | |
| - | + | ||
| - | 15. Login as root via SSH (IP '' | + | |
| - | + | ||
| - | 16. Upload OpenWrt '' | + | |
| - | 17. Run sysupgrade: | + | 19. Run sysupgrade: |
| <code bash> | <code bash> | ||
| sysupgrade -n / | sysupgrade -n / | ||
| Line 197: | Line 217: | ||
| 5. Run '' | 5. Run '' | ||
| + | ==== Installation (OpenWrt U-Boot layout) ==== | ||
| + | |||
| + | 1. Download files from // | ||
| + | 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 '' | ||
| + | |||
| + | <code bash> | ||
| + | BusyBox v1.19.4 (2022-09-15 21:10:21 CST) built-in shell (ash) | ||
| + | Enter ' | ||
| + | |||
| + | | ||
| + | | ||
| + | MMMMMMMM | ||
| + | MMMM= MMMMMM | ||
| + | MMMM= MMMMM MMMM MM | ||
| + | MMMM= | ||
| + | MMMM= | ||
| + | MMMM= | ||
| + | MMMM= | ||
| + | MMMM= | ||
| + | MMMM$ , | ||
| + | MMMMMMM: | ||
| + | MMMMMM | ||
| + | | ||
| + | M | ||
| + | | ||
| + | For those about to rock... (Attitude Adjustment, unknown) | ||
| + | | ||
| + | admin@Akronite:/ | ||
| + | </ | ||
| + | |||
| + | 4. Run the following command: | ||
| + | |||
| + | <code bash> | ||
| + | fw_printenv | grep tp_boot_idx | ||
| + | </ | ||
| + | |||
| + | If the result is '' | ||
| + | |||
| + | 5. Open for editing ''/ | ||
| + | |||
| + | 6. Add a newline after ''# | ||
| + | <code bash> | ||
| + | telnetd -l / | ||
| + | </ | ||
| + | |||
| + | 7. Save '' | ||
| + | |||
| + | 8. Toggle '' | ||
| + | |||
| + | 9. Make sure that telnetd is running: | ||
| + | <code bash> | ||
| + | netstat -ltunp | grep 23 | ||
| + | </ | ||
| + | |||
| + | 10. Login via telnet to router IP, port '' | ||
| + | |||
| + | < | ||
| + | BusyBox v1.19.4 (2022-09-15 21:10:21 CST) built-in shell (ash) | ||
| + | Enter ' | ||
| + | |||
| + | | ||
| + | | ||
| + | MMMMMMMM | ||
| + | MMMM= MMMMMM | ||
| + | MMMM= MMMMM MMMM MM | ||
| + | MMMM= | ||
| + | MMMM= | ||
| + | MMMM= | ||
| + | MMMM= | ||
| + | MMMM= | ||
| + | MMMM$ , | ||
| + | MMMMMMM: | ||
| + | MMMMMM | ||
| + | | ||
| + | M | ||
| + | | ||
| + | For those about to rock... (Attitude Adjustment, unknown) | ||
| + | | ||
| + | root@Akronite:/# | ||
| + | </ | ||
| + | |||
| + | 11. Upload OpenWrt '' | ||
| + | | ||
| + | 12. Stock busybox doesn' | ||
| + | |||
| + | Download the '' | ||
| + | <code bash> | ||
| + | cd /tmp | ||
| + | chmod a+x busybox | ||
| + | </ | ||
| + | |||
| + | 13. Check '' | ||
| + | <code bash> | ||
| + | du -h openwrt-mediatek-filogic-mercusys_mr90x-v1-ubi-initramfs-recovery.itb | ||
| + | </ | ||
| + | |||
| + | 14. Delete old and create a new one '' | ||
| + | <code bash> | ||
| + | ubirmvol /dev/ubi0 -N kernel | ||
| + | ubimkvol /dev/ubi0 -n 1 -N kernel -s 9MiB | ||
| + | </ | ||
| + | |||
| + | 15. Write OpenWrt '' | ||
| + | <code bash> | ||
| + | ./busybox ubiupdatevol /dev/ubi0_1 / | ||
| + | </ | ||
| + | |||
| + | 16. Make backups: | ||
| + | <code bash> | ||
| + | cat /dev/mtd0 > / | ||
| + | cat /dev/mtd5 > / | ||
| + | </ | ||
| + | Copy ''/ | ||
| + | |||
| + | 17. Reboot to OpenWrt initramfs: | ||
| + | <code bash> | ||
| + | reboot | ||
| + | </ | ||
| + | |||
| + | 18. Copy OpenWrt '' | ||
| + | |||
| + | 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 / | ||
| + | ubimkvol /dev/ubi0 -N ubootenv -s 0x1f000 | ||
| + | ubimkvol /dev/ubi0 -N ubootenv2 -s 0x1f000 | ||
| + | </ | ||
| + | |||
| + | 20. Install '' | ||
| + | <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 | ||
| + | </ | ||
| + | |||
| + | 21. Prepare " | ||
| + | <code bash> | ||
| + | dd if=/ | ||
| + | dd if=/ | ||
| + | dd if=/ | ||
| + | </ | ||
| + | |||
| + | 22. Write " | ||
| + | <code bash> | ||
| + | mtd erase factory | ||
| + | mtd write / | ||
| + | </ | ||
| + | |||
| + | 23. Write preloader partition: | ||
| + | <code bash> | ||
| + | mtd erase bl2 | ||
| + | mtd write / | ||
| + | </ | ||
| + | |||
| + | 24. Write OpenWrt sysupgrade image: | ||
| + | <code bash> | ||
| + | sysupgrade -n / | ||
| + | </ | ||
| ==== Flash Layout ==== | ==== Flash Layout ==== | ||
| <code bash> | <code bash> | ||
| Line 222: | 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) | ||
| </ | </ | ||
| + | |||
| + | MAC address is stored in UBI partition '' | ||
| + | |||
| ==== OEM easy installation ==== | ==== OEM easy installation ==== | ||
| Line 230: | Line 422: | ||
| ===== Upgrading OpenWrt ===== | ===== Upgrading OpenWrt ===== | ||
| -> [[docs: | -> [[docs: | ||
| - | |||
| - | <WRAP BOX> | ||
| - | |||
| - | FIXME These are generic instructions. Update with your router' | ||
| ==== LuCI Web Upgrade Process ==== | ==== LuCI Web Upgrade Process ==== | ||
| - | * Browse to ''< | + | * Browse to ''< |
| * Upload image file for sysupgrade to LuCI | * Upload image file for sysupgrade to LuCI | ||
| * Wait for reboot | * Wait for reboot | ||
| Line 244: | 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 ('' |
| - | + | ||
| - | * '' | + | |
| - | * '' | + | |
| - | + | ||
| - | Note: It is important that you put the firmware image into the ramdisk (/tmp) before you start flashing. | + | |
| === sysupgrade === | === sysupgrade === | ||
| Line 257: | Line 440: | ||
| < | < | ||
| cd /tmp | cd /tmp | ||
| - | wget http:// | + | wget http:// |
| - | sysupgrade /tmp/xxx.abc | + | sysupgrade /tmp/sysupgrade.bin |
| </ | </ | ||
| - | |||
| - | === mtd === | ||
| - | |||
| - | If '' | ||
| - | |||
| - | * Login as root via SSH on 192.168.1.1, | ||
| - | |||
| - | < | ||
| - | cd /tmp | ||
| - | wget http:// | ||
| - | mtd write / | ||
| - | </ | ||
| - | |||
| - | </ | ||
| ===== Debricking ===== | ===== Debricking ===== | ||
| Line 295: | Line 464: | ||
| 4. Do what you need (restore partitions from a backup, install OpenWrt etc.) | 4. Do what you need (restore partitions from a backup, install OpenWrt etc.) | ||
| + | ===== Debricking (OpenWrt U-Boot layout) ===== | ||
| + | |||
| + | 1. Place OpenWrt '' | ||
| + | |||
| + | 2. Press " | ||
| + | |||
| + | 3. Use OpenWrt initramfs system for recovery. | ||
| + | |||
| + | ==== BL2 and FIP recovery ==== | ||
| + | |||
| + | Use '' | ||
| + | |||
| + | https:// | ||
| + | |||
| + | https:// | ||
| ===== Failsafe mode ===== | ===== Failsafe mode ===== | ||
| -> [[docs: | -> [[docs: | ||
| Line 303: | 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 | ||
| - | | br-lan | ||
| - | | vlan0 (eth0.0) | ||
| - | | vlan1 (eth0.1) | ||
| - | | wl0 | EXAMPLE WiFi | EXAMPLE Disabled | ||
| - | </WRAP> | + | ^ Interface Name ^ Description |
| + | | br-lan | ||
| + | | wan | WAN port | DHCP | | ||
| ==== Switch Ports (for VLANs) ==== | ==== Switch Ports (for VLANs) ==== | ||
| - | ^ Port | + | ^ Port ^ Switch port ^ |
| - | | WAN/LAN 2.5Gbps | + | | WAN/LAN 2.5Gbps | wan |
| - | | WAN/LAN 1Gbps port | lan0 | | + | | WAN/LAN 1Gbps |
| - | | LAN1 | + | | LAN1 | lan1 | |
| - | | LAN2 | + | | LAN2 | lan2 | |
| Line 333: | Line 513: | ||
| The MERCUSYS MR90X has the following buttons: | The MERCUSYS MR90X has the following buttons: | ||
| - | ^ BUTTON | + | ^ BUTTON |
| - | | EXAMPLE | + | | Reset | reset | |
| Line 340: | Line 520: | ||
| ==== Info ==== | ==== Info ==== | ||
| - | ---- datatemplatelist dttpllist ---- | + | <!-- ToH: { |
| - | template: meta:template_datatemplatelist | + | " |
| - | cols | + | " |
| - | filter | + | " |
| - | filter | + | " |
| - | filter | + | " |
| - | ---- | + | |
| + | } --> | ||
| ==== Photos ==== | ==== Photos ==== | ||
| Line 353: | Line 534: | ||
| /* e.g. {{: | /* e.g. {{: | ||
| /* Thanks, your wiki administration - Oct. 2015 */ | /* Thanks, your wiki administration - Oct. 2015 */ | ||
| - | |||
| - | [[https:// | ||
| /* | /* | ||
| Line 374: | Line 553: | ||
| //Main PCB://\\ | //Main PCB://\\ | ||
| - | [[https:// | + | |
| /* | /* | ||
| **Insert photo of PCB** | **Insert photo of PCB** | ||
| Line 387: | Line 566: | ||
| {{media: | {{media: | ||
| - | 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 | | + | | +3.3V | GND | |
| +---+---+-------+-------+-------+ | +---+---+-------+-------+-------+ | ||
| | | | | ||
| Line 398: | Line 577: | ||
| </ | </ | ||
| - | ^ Serial connection parameters\\ for MERCUSYS MR90X v1 | EXAMPLE | + | ^ Serial connection parameters\\ for MERCUSYS MR90X v1 | 115200, 8N1, 3.3V | |
| ==== JTAG ==== | ==== JTAG ==== | ||
| Line 2295: | Line 2474: | ||
| */ | */ | ||
| ===== Tags ===== | ===== Tags ===== | ||
| - | <WRAP BOX> | ||
| - | FIXME //Add tags below, then remove this fixme.// | ||
| - | </ | ||
| [[meta: | [[meta: | ||
| - | {{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 |