aboutsummaryrefslogtreecommitdiff
path: root/target/linux/mediatek/image
Commit message (Collapse)AuthorAge
* mediatek: remove the aquantia kmod from filogic mediatek platformsPaul Donald6 days
| | | | | | | | | | The kmod is installed on all filogic mediatek images, even for devices that do not have any aquantia hardware. Remove it. Signed-off-by: Paul Donald <newtwen+github@gmail.com> Link: https://github.com/openwrt/openwrt/pull/19488 [Do not explicitly remove kmod-phy-aquantia from gatonetworks_gdsp] Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* mediatek: filogic: add Teltonika RUTC50 supportSimonas Tamošaitis6 days
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Specification: - MediaTek MT7981A SoC - 512 MB RAM - 16MB SPI NOR Flash - 512MB NAND (split in half for firmware fallback) - 5x 10/100/1000 Mbps Ethernet, with passive PoE support on LAN1 - WLAN : MediaTek dual-band WiFi 6 - 2.4 GHz : b/g/n/ax, MIMO 2x2 - 5 GHz : a/n/ac/ax, MIMO 2x2 - Quectel RG520N-EB 5G R16 modem - 2.0 USB Type-A HOST port - 1x Digital input - 1x Digital output - 2x SIM slot (can be swapped via AT commands) GPIO: - 1 button (Reset) - 13 LEDs (power, 4x WAN status, Wifi 2G, Wifi 5G, 3G, 4G, 5G, RSSI 1,2,3) - 3 Modem control (power button, reset, status) - 1 USB reset - 1 Digital input - 1 Digital output Flashing via OEM WebUI: 1. Download the firmware image *-squashfs-factory.bin 2. Upload firmware image via OEM WebUI firmware update, do not keep settings To revert back to OEM firmware: https://wiki.teltonika-networks.com/view/Bootloader_menu Use "ModemManager" to establish mobile data connection. Signed-off-by: Simonas Tamošaitis <simsasss@gmail.com> Link: https://github.com/openwrt/openwrt/pull/19401 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* mediatek: filogic: support WAVLINK WL-WN586X3 Rev BZhenfu Shi6 days
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit adds support for the WAVLINK WL-WN586X3 Rev B, which swaps the 16MB NOR flash for an 128MB NAND flash chip, and uses UBI for data partition. This commit utilizes the previous submitted dtsi that includes common hardware for a few Wavlink routers. Hardware -------- - SOC: MediaTek MT7981B - RAM: 256MB DDR3 - Flash: 128MB SPI-NAND (ESMT F50L1G41LB) - Ethernet: 2x1Gb Lan 1x1Gb Wan - WiFi: MediaTek MT7981B 2x2 DBDC 802.11ax 2T2R (2.4/5) with 4 external and 1 internal antennae - LEDs: 2xLan 1x Wan 1x WIFI 1xSTATUS Installation ------------ Flashing over the vendor WebUI has been tested and unsuccessful (YMMV). The image need to be flashed via TFTP which can be activated over the onboard UART serial console: 1. Connect UART: TX->board RX, RX->board TX, GND->board GND. 2. Connect PC to router lan port. 3. Setup the tftp server on PC, set IP to 192.168.10.100. 4. Power on the device. Interrupt boot countdown at uboot boot menu and select 2. Upgrade firmware option. 5. Input the image name and start flashing. Sample uboot menu: ``` *** U-Boot Boot Menu *** 1. Startup system (Default) 2. Upgrade firmware 3. Upgrade ATF BL2 4. Upgrade ATF FIP 5. Upgrade single image 6. Load image 0. U-Boot console ``` NOTE: Do not use the intermediate image here which is for Rev A only: https://github.com/themaverickdm/firmware-misc/tree/main/wavlink/wl-wn586x3 MAC Addresses ------------- LAN: 80:3F:5D:xx:xx:x1 (hw, 0x44e, ASCII encoded) WAN: 80:3F:5D:xx:xx:x2 (hw, 0x460, ASCII encoded) 2G: 80:3F:5D:xx:xx:x3 (factory, 0x4, raw binary, also on label) 5G: 80:3F:5D:xx:xx:x3 (Same as 2G) Signed-off-by: Zhenfu Shi <i0ntempest@i0ntempest.com> Link: https://github.com/openwrt/openwrt/pull/19785 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* mediatek: Add support for Acer Predator Connect W6xQing W7 days
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Product name: Acer Predator Connect W6x Product link: https://www.acer.com/us-en/predator/networking/wi-fi/predator-connect-w6x/pdp/FF.G2TTA.001 * Specifications: SOC: MT7986AV RAM: 1024MB Flash: 256 MB SPI NAND Ports: 4 LAN (1G) & 1 WAN (2.5G) WIFI: MT7976GN + MT7976AN LED: 1, ws2812b controller * Installation via UART: 1. Configure TFTP server with IP 192.168.1.66. Copy `openwrt-mediatek-filogic-acer_predator-w6x-initramfs-kernel.bin` to TFTP root and rename to `predator.bin` 2. Interrupt boot by pressing 0 on startup or select `U-Boot Console` in U-Boot Boot Menu. 3. Run setenv `serverip 192.168.1.66; setenv ipaddr 192.168.1.1; tftpboot 0x46000000 predator.bin; fdt addr $(fdtcontroladdr); fdt rm /signature; bootm` in uboot console. 4. Wait for boot complete on Openwrt initramfs env. ** You can back up the MTD partitions at this point. Refer to Backup Instructions section. 5. On client PC, transfer `openwrt-mediatek-filogic-acer_predator-w6x-squashfs-sysupgrade.bin` to /tmp/ - `scp -O openwrt-mediatek-filogic-acer_predator-w6x-squashfs-sysupgrade.bin root@192.168.1.1:/tmp/sysupgrade.bin` 6. On router, run sysupgrade - `sysupgrade -n /tmp/sysupgrade.bin` Should now boot to Openwrt. Ensure it boots automatically to Openwrt by replugging the power. * Backup Instructions: Layout from stock firmware: ``` [ 0.968731] Creating 10 MTD partitions on "nmbm_spim_nand": [ 0.974297] 0x000000000000-0x000000100000 : "BL2" [ 0.979424] 0x000000100000-0x000000180000 : "u-boot-env" [ 0.985032] 0x000000180000-0x000000380000 : "Factory" [ 0.990379] 0x000000380000-0x000000580000 : "FIP" [ 0.995378] 0x000000580000-0x000000600000 : "prod" [ 1.000461] 0x000000600000-0x000000700000 : "dual" [ 1.005527] 0x000000700000-0x000000800000 : "pot" [ 1.010516] 0x000000800000-0x000006c00000 : "ubi" [ 1.015626] 0x000006c00000-0x00000d000000 : "ubi1" [ 1.020801] 0x00000d000000-0x00000d800000 : "storage" ``` Mapping in initramfs env: ``` dev: size erasesize name mtd0: 00100000 00020000 "bl2" mtd1: 00080000 00020000 "u-boot-env" mtd2: 00200000 00020000 "factory" mtd3: 00200000 00020000 "fip" mtd4: 00020000 00020000 "prod" mtd5: 00100000 00020000 "dual" mtd6: 00100000 00020000 "pot" mtd7: 06400000 00020000 "ubi" mtd8: 06400000 00020000 "ubi1" mtd9: 00800000 00020000 "storage" ``` 1. While in openwrt initramfs environment, back up all the partitions by running the following: ``` cat /dev/mtd0 > /tmp/bl2.bin cat /dev/mtd1 > /tmp/u-boot-env.bin cat /dev/mtd2 > /tmp/factgory.bin cat /dev/mtd3 > /tmp/fip.bin cat /dev/mtd4 > /tmp/prod.bin cat /dev/mtd5 > /tmp/dual.bin cat /dev/mtd6 > /tmp/pot.bin cat /dev/mtd7 > /tmp/ubi.bin cat /dev/mtd8 > /tmp/ubi1.bin cat /dev/mtd9 > /tmp/storage.bin ``` 2. Transfer files to client PC for safekeeping. On client PC, run `scp -O root@192.168.1.1:/tmp/*.bin ./` * Restore to Stock Firmware: 1. Boot to openwrt initramfs env. 2. Confirm layout matches as follows by running `cat /proc/mtd`. Ensure dev `mtd7` is named `ubi`: ``` dev: size erasesize name mtd0: 00100000 00020000 "bl2" mtd1: 00080000 00020000 "u-boot-env" mtd2: 00200000 00020000 "factory" mtd3: 00200000 00020000 "fip" mtd4: 00020000 00020000 "prod" mtd5: 00100000 00020000 "dual" mtd6: 00100000 00020000 "pot" mtd7: 06400000 00020000 "ubi" mtd8: 06400000 00020000 "ubi1" mtd9: 00800000 00020000 "storage" ``` 3. Detach `ubi` partition - `ubidetach -p /dev/mtd7` 4. Transfer stock firmware's `ubi.bin` to router from client PC: `scp -O ubi.bin root@192.168.1.1/tmp/` 5. Format and replace with backup `ubiformat /dev/mtd7 -y -f /tmp/ubi.bin` 6. Reboot and you should now be back on stock firmware. * LEDS: LED color can be controlled by specifying values in GRB format in `/sys/class/leds/rgb:status/multi_intensity`. Default is `255 255 255` (white). Example: `echo '75 0 130' > /sys/class/leds/rgb:status/multi_intensity` LED brightness can be changed by specifying the value from 0-255 in /sys/class/leds/rgb:status/brightness. Default is `255` (full brightness). Example: `echo 100 > /sys/class/leds/rgb:status/brightness` For persistence across reboots, put the relevant command(s) in /etc/rc.local. * Notes: root access on stock firmware: Before flashing openwrt, and while in openwrt initramfs env: 1. Mount /dev/ubi0_2: `mkdir /tmp/ubi0_2; mount -t ubifs /dev/ubi0_2 /tmp/ubi0_2` 2. Modify `/tmp/ubi0_2/upper/etc/passwd` and change line with `root:x:0:0...` to `root::0:0...`, remove the `x`. 3. Save and reboot. 4. You should now be able to log in with root and empty password while booted in stock firmware. While on Openwrt, subsequent upgrades can be made by sysupgrade, or via Luci. UART should not be necessary unless you want to revert to stock firmeware. Signed-off-by: Qing W <ses1er@gmail.com> Link: https://github.com/openwrt/openwrt/pull/19754 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* mediatek: add support for CreatLentem CLT-R30B1Andrii Kuiukoff2025-08-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | CreatLentem CLT-R30B1 is a wireless WiFi 6 router. This device uses the CLT-R30B1_0824_V1.1 board shared by EDUP RT2980, Dragonglass DXG21, and other diamond-shaped 5-antenna routers. Specification ------------- - SoC : MediaTek MT7981B dual-core ARM Cortex-A53 1.3 GHz - RAM : DDR3 256 MiB - Flash : SPI-NAND 128 MiB (ESMT F50L1G41LB) - WLAN : MediaTek MT7976CN dual-band WiFi 6 - 2.4 GHz : b/g/n/ax, MU-MIMO (2x 5 dBi antennas) - 5 GHz : a/n/ac/ax, MU-MIMO (3x 5 dBi antennas) - Ethernet : - LAN x3 : 10/100/1000 Mbps (MediaTek MT7531AE) - WAN x1 : 10/100/1000 Mbps (MT7981 internal PHY) - UART : through-hole on PCB - assignment : (RX), (TX), (GND), [3.3V] - settings : 115200n8 - Buttons x2 : Mesh/WPS, Reset - LEDs x2 : Status (Red, Green) - Power : 12 VDC, 1 A, 2.1*5.5 mm Important notes --------------- The device is supplied in two variants. The main difference is the size of the mtd5 (ubi) partition in the flash layout: 64M or 112M. 112M version: Has ImmortalWrt firmware installed with LuCI WebUI. 64M version: Has stock firmware based on OpenWrt, with the WaveLink/GL.iNet WebUI and older U-Boot compared to the 112M version. Flash instructions for 112M version ----------------------------------- Follow the standard OpenWrt sysupgrade procedure without saving data. Use the clt-r30b1-112m-squashfs-sysupgrade.bin image. All checks should pass - don't proceed if a "not supported" warning is issued. Flash instructions for 64M version ---------------------------------- WebUI Method: 1. Prepare the upgrade image with clt-r30b1-squashfs-sysupgrade.bin using the script: make_staged_upgrade_tar.sh or use the prepared image: staged_openwrt_upgrade.bin Downloaded from: https://github.com/andros-ua/owrt-misc/tree/main/clt-r30b1 2. Install the prepared image using the stock WebUI update page. 3. Press and hold the reset button after reboot to wipe the stock config and gain access. SSH Method: 1. Connect via SSH using dg:ivanlee credentials. 2. Upload the clt-r30b1-squashfs-sysupgrade.bin image. 3. Use the command: sysupgrade -n All checks should pass - don't proceed if a "not supported" warning is issued. Return to stock --------------- Flash a backup of the ubi mtdblock (mtd5) using the OpenWrt sysupgrade method. Recovery -------- Both variants: Connect UART and use the U-Boot menu to flash the firmware image or boot an OpenWrt initramfs image. 112M with newer U-Boot: Power on the router while pressing the mesh button for 3 seconds. The U-Boot Flash WebUI will be available at http://192.168.1.1 MAC Addresses: ------------------------------------------------------- | Interface | MAC | Source | ---------------|-------------------|------------------- | LAN | B4:4D:43:D1:xx:xx | Factory, 0x2A | | WAN | B4:4D:43:D1:xx:xx | Factory, 0x24 | | WLAN 2.4 GHz | B4:4D:43:D2:xx:xx | Factory, 0x4 | | WLAN 5 GHz | B4:4D:43:D2:xx:xx | Factory, 0x4 + 1 | ------------------------------------------------------- Signed-off-by: Andrii Kuiukoff <andros.ua@gmail.com> Link: https://github.com/openwrt/openwrt/pull/19534 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* mediatek: filogic: Add support for Wavlink WL-WN551X3Markus Stockhausen2025-08-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Hardware -------- - SOC: MediaTek MT7981B - RAM: 256MB DDR3 - FLASH: 128MB SPI-NAND WinBond W25N01GVZEIG - NETWORK: 2x1Gb Lan 1x1Gb Wan - WIFI: MediaTek MT7981B 2x2 DBDC 802.11ax 2T2R (2.4/5) - LEDs: 3x WAN/LAN (green) 2x STATUS (red/blue) - USB: 1x XHCI Installation via Webinterface ----------------------------- 1. Rename OpenWrt sysupgrade bin to wavlink_wl-wn551X3-squashfs-sysupgrade.bin The uppercase chars 551X3 are essential and checked by web interface. 2. Logon to webinterface 3. Go to network configuration -> mode selection 4. Choose mode "LAN bridge/access point" 5. Save configuration (maybe network reconfig needed) 6. Go to system upgrade 7. Choose local upgrade and provide renamed sysupgrade file 8. Start upgrade and wait for completion 9. Logon to OpenWrt (network config is preserved during upgrade) Boot initramfs via TFTP & console --------------------------------- 1. Connect switch to network via LAN1 or LAN2 2. Power on switch 3. Press ESC until prompt reached "MT7981>" 4. Set own IP "setenv ipaddr 192.168.x.y" 5. Set TFTP IP "setenv serverip 192.168.a.b" 6. Set memory address "setenv loadaddr 0x46000000" 7. Download image "tftpboot openwrt-mediatek-filogic-wavlink_wl-wn551x3-initramfs.itb" 8. Boot image "bootm" Notes ----- - The red/blue LEDs give a background illumination to the top of the case. The red LED is totally disabled to avoid noisy blinking. - Aside from the design and the different LED colors & placements the hardware and partitioning matches the WAVLINK WL-WN586X3 Rev B. Therefor a common DTSI was prepared. MAC Addresses (same as stock) ----------------------------- LAN : 80:3F:5D:xx:xx:B1 (hw, 0x44e(text)) WAN : 80:3F:5D:xx:xx:B2 (hw, 0x460(text)) 2.4GHz: 80:3F:5D:xx:xx:B1 (Factory, 0x4 (hex)) 5GHz : driver auto generated Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de> Link: https://github.com/openwrt/openwrt/pull/19515 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* mediatek: add support for OpenFi 6CJiasheng Zhu2025-08-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | OpenFi 6C is a portable Wi-Fi 6 travel router based on MediaTek MT7981B+MT7976CN. Two slightly different versions have been sold. The V1 board has a green color and lacks the modem LED. The V2 board is black and has a LED for the modem. The firmware should work on both of them. Specifications: - SoC: MediaTek MT7981B (Filogic 820) 1.3GHz dual-core ARM Cortex-A53 - RAM: 1GB DDR4 - Flash: 256MB SPI NAND - Wireless: 2.4GHz/5GHz 802.11ax - Ethernet: 1x 10/100/1000M LAN - USB: 1x USB 3.0 Type-A port - Expansion: M.2 slot for 5G modem - Cooling: PWM-controlled fan - Buttons: Reset, Mode switch - LEDs: System, Ethernet, 5G WiFi, Modem status **Installation via U-Boot web page** 1. Set static IP 192.168.21.2/255.255.255.0 on your computer. 2. Connect to the Ethernet port and hold the reset button while booting the device. Wait for 6-8 seconds, and release the reset button. 3. Open U-boot web page on your browser at http://192.168.21.1 4. Select the OpenWRT sysupgrade image, upload it, and start the upgrade. 5. Wait for automatic reboot. **Installation via sysupgrade** Flash the sysupgrade file via LuCI upgrade page without saving the settings. Signed-off-by: Jiasheng Zhu <newbanyaya@gmail.com> Link: https://github.com/openwrt/openwrt/pull/19512 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* mediatek: add factory image for ipTIME AX3000SMDonghyun Ko2025-07-27
| | | | | | | | | | | | | | | | | | | | Adds the capability to flash the factory image using the OEM recovery software, ipTIME Firmware Wizard(11ac). Installation ------------ 1. Download the OEM recovery software from the manufacturer's website 2. Download the *squashfs-factory.bin file from the OpenWrt website 3. Press a reset button, and power up the router(keep pressing the reset button) 4. Wait more than 10 seconds until the CPU LED stop blinking 5. Connect the router(LAN port) to the PC 6. Run the OEM recovery software and follow the instructions 7. Select the *squashfs-factory.bin file during the router recovery process 8. Wait for the router to boot from *squashfs-factory.bin Signed-off-by: Donghyun Ko <nyankosoftware@gmail.com> Link: https://github.com/openwrt/openwrt/pull/19497 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* mediatek: filogic: add support for ipTIME AX3000QDonghyun Ko2025-07-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Specification ------------- - SoC : MediaTek MT7981BA dual-core ARM Cortex-A53 1.3GHz - RAM : DDR3 256Mbytes, ESMT M15T2G16128A - Flash : 128Mbytes NAND Flash, ESMT F50L1G41LB - WLAN : MediaTek MT7976CN dual-band Wi-Fi 6 - 2.4GHz : b/g/n/ax, MU-MIMO - 5GHz : a/n/ac/ax, MU-MIMO - Ethernet : MediaTek MT7531AE - LAN : 10/100/1000 Mbps x4 - WAN : 10/100/1000 Mbps x1 - UART : 1x4 pin header on PCB - [J6] TX, RX, GND, 3.3V (115200, 8N1) - Buttons : WPS, Reset - LEDs : 1x CPU (Amber) 1x Wi-Fi 5GHz (Amber) 1x Wi-Fi 2.4GHz (Amber) 1x WAN activity (Amber) 4x LAN activity (Amber) - Power : 12VDC, 1A (Center positive polarity) MAC address ----------- +-----------+-------------------+-----------------------+ | Interface | MAC | Algorithm | +-----------+-------------------+-----------------------+ | WLAN 2.4G | B0:38:6C:48:xx:xx | label | | WLAN 5G | B2:38:6C:48:xx:xx | label with LA Bit Set | | WAN | B0:38:6C:48:xx:xx | label + 1 | | LAN | B0:38:6C:48:xx:xx | label + 3 | +-----------+-------------------+-----------------------+ The WLAN 2.4G MAC was found in 'Factory' partition, 0x4 Installation ------------ 1. Download the OEM recovery software from the manufacturer's website 2. Download the *squashfs-factory.bin file from the OpenWrt website 3. Press a reset button, and power up the router(keep pressing the reset button) 4. Wait more than 10 seconds until the CPU LED stop blinking 5. Connect the router(LAN port) to the PC 6. Replace a file in the OEM recovery software with the file from step 2 7. Run the OEM recovery software and follow the instructions 8. Wait for the router to boot from *squashfs-factory.bin Signed-off-by: Donghyun Ko <nyankosoftware@gmail.com> Link: https://github.com/openwrt/openwrt/pull/19368 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* mediatek: add support for ELECOM WRC-X3000GS3INAGAKI Hiroshi2025-07-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ELECOM WRC-X3000GS3 is a 2.4/5 GHz band 11ax (Wi-Fi 6) router, based on MT7981B. Specification: - SoC : MediaTek MT7981B - RAM : DDR3 512 MiB (Winbond W634GU6QB-09) - Flash : SPI-NOR 128 MiB (Winbond W25N01GVZEIG) - WLAN : 2.4/5 GHz 2T2R (MediaTek MT7981B (SoC)) - Ethernet : 5x 10/100/1000 Mbps - wan (phy) : MediaTek MT7981B (SoC) - lan (switch) : MediaTek MT7531A - LEDs/Keys (GPIO): 8x/4x - UART : through-hole on PCB (J500) - assignment : 3.3V, TX, RX, NC, GND from tri-angle marking - settings : 115200n8 - Power : 12 VDC, 1 A (Max. 12.8 W) Flash instruction using factory.bin image: 1. Boot WRC-X3000GS3 in router mode normally 2. Access to the WebUI ("http://192.168.2.1/") on the device and open the firmware update page ("ファームウェア更新") 3. Select the OpenWrt factory.bin image and click apply ("適用") button 4. Wait ~120 seconds to complete flashing Switching to the stock firmware: 1. Load the elecom.sh script . /lib/upgrade/elecom.sh 2. Check the current index of firmware partition mstc_rw_bootnum 3. Set the bootnum to opposite value between 1 and 2 mstc_rw_bootnum <value> example: - step2 returned "1": mstc_rw_bootnum 2 - step2 returned "2": mstc_rw_bootnum 1 4. Reboot Notes: - ELECOM sells (or sold) multiple models as AX3000 class with different hardwares: - WRC-X3000GS(N) : Lantiq(Intel) GRX350/GRX550 - WRC-X3000GS(T)2: Qualcomm IPQ5018 - WRC-X3000GS3 : MediaTek MT7981B MAC Addresses: LAN : 38:97:A4:xx:xx:40 (Factory, 0x2A(hex)/Ubootenv,"ethaddr"(text)) WAN : 38:97:A4:xx:xx:43 (Factory, 0x24(hex)) 2.4GHz: 38:97:A4:xx:xx:41 (Factory, 0x4 (hex)) 5GHz : 38:97:A4:xx:xx:42 (Factory, 0xA (hex)) Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com> Link: https://github.com/openwrt/openwrt/pull/18976 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* mediatek: stage mt7622/mt7629 rfb u-boot images to bin folderShiji Yang2025-07-19
| | | | | | | | These u-boot images are no longer automatically copied to the bindir since commit: ed5000431940 ("uboot-mediatek: add support for Linksys E8450") Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
* uboot-mediatek: add support for GL.iNet GL-MT2500Enrico Mioso2025-07-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add an OpenWrt-based U-Boot build for this device, allowing for more flexibility and customization. Expected behaviour ------------------ When plugging the device, keeping the reset button pressed will enter TFTP recovery mode: the board will send requests for the initramfs file (openwrt-mediatek-filogic-glinet_gl-mt2500-initramfs-kernel.bin) from IP 192.168.1.1 to 192.168.1.10 TFTP server. The bootloader will populate the environment with the unit serial number as reported by the "sn" value in eMMC, the "sn_bak" value, the country code and ddns. WAN and LAN MAC addresses are reported in the environment as well. Limitations ----------- No web interface is available, and only the LAN port can be used for system recovery. Notes ----- This port has been tested with the Maxlinear version only, and with a board that does not exhibit eMMC communication problems. Even though eMMC frequency has been lowered, some testing is probably needed and always very welcome. A -factory image has been introduced, and is only needed when using the "Load Firmware via TFTP then write to eMMC." boot menu function. The device has not been converted to use uImage.FIT including the rootfs to keep compatibility with stock bootloader and firmware. Installation ------------ From a Linux root shell: 0. Transfer the needed files to the board, placing them in /tmp. 1. Make sure your U-Boot environment is erased: all of my units came with unpopulated environment, but I am not sure this is always the case. Issue the command cat /dev/zero >/dev/mmcblk0p2 (you will get a "no space left" error, which is reasonable and expected). 2. Unlock the eMMC boot area where BL2 is located: echo 0 >/sys/block/mmcblk0boot0/force_ro 3. Write the new BL2 code: cat openwrt-mediatek-filogic-glinet_gl-mt2500-emmc-preloader.bin >/dev/mmcblk0boot0 4. Write new BL31+U-Boot image: cat openwrt-mediatek-filogic-glinet_gl-mt2500-emmc-bl31-uboot.fip >/dev/mmcblk0p4 5. Reboot. Signed-off-by: Enrico Mioso <mrkiko.rs@gmail.com>
* mediatek: filogic: add SD card support to GatoNetworks GDSPEnrico Mioso2025-07-18
| | | | | | | | | | | The device is equipped with a GPS module, reporting data via /dev/ttyS1. A TF card reader is also present. Only one of those components can be used at once, since they share some PINs. This commit adds two devicetree overlays to allow for the user to select the desired configuration. Another overlay configuration to allow booting from SD card is provided. Signed-off-by: Enrico Mioso <mrkiko.rs@gmail.com>
* mediatek: filogic: D-Link M30/M60: include initramfs in recoveryMateusz Krzak2025-07-13
| | | | | | | | | | | | | Currently, if OEM recovery flashes OpenWrt to second ubi1, OpenWrt cannot boot. With this commit, recovery image is built with initramfs kernel, so that it can boot from either ubi or ubi1. This adds an extra step to OpenWrt installation from OEM: user needs to sysupgrade from initramfs to full system. Signed-off-by: Mateusz Krzak <kszaquitto+github@gmail.com> Link: https://github.com/openwrt/openwrt/pull/18878 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* mediatek: add support for ipTIME AX3000SMDonghyun Ko2025-07-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Specification ------------- - SoC : MediaTek MT7981BA dual-core ARM Cortex-A53 1.3GHz - RAM : DDR3 256Mbytes, Nanya Technology NT5CC128M16IP - Flash : 128Mbytes NAND Flash, ESMT F50L1G41LB - WLAN : MediaTek MT7976CN dual-band Wi-Fi 6 - 2.4GHz : b/g/n/ax, MU-MIMO - 5GHz : a/n/ac/ax, MU-MIMO - Ethernet : 10/100/1000 Mbps x4, LAN (MediaTek MT7531AE) 10/100/1000 Mbps x1, WAN (MT7981 internal PHY) - UART : 1x4 pin header on PCB - [J500] 3.3V, TX, RX, GND (115200, 8N1) - Buttons : WPS, Reset - LEDs : 1x Power (Amber) 1x CPU (Amber) 1x Wi-Fi 5GHz (Amber) 1x Wi-Fi 2.4GHz (Amber) 1x WAN activity (Amber) 4x LAN activity (Amber) - Power : 12VDC, 1A (Center positive polarity) MAC address ----------- +-----------+-------------------+-----------+ | Interface | MAC | Algorithm | +-----------+-------------------+-----------+ | WLAN 2.4G | B0:38:6C:xx:xx:xx | label | | WLAN 5G | B2:38:6C:4x:xx:xx | | | WAN | B0:38:6C:xx:xx:xx | label + 1 | | LAN | B0:38:6C:xx:xx:xx | label + 3 | +-----------+-------------------+-----------+ The WLAN 2.4G MAC address was found in 'Factory' partition, 0x4 Installation ------------ 1. Download the *initramfs-kernel.bin file from the OpenWrt website 2. Attach UART to the router, and interrupt the boot process by pressing '0' If you successfully interrupt the boot process, a terminal prompt name should look like this: MT7981> 3. Connect the router(LAN port) to the PC 4. Assign the PC IP address: 192.168.0.100/24 5. Load and run the *initramfs-kernel.bin: tftpboot 0x46000000 initramfs-kernel.bin bootm 6. Upload the OpenWrt *squashfs-sysupgrade.bin to the router 7. Run 'sysupgrade -n' with the sysupgrade OpenWrt image Signed-off-by: Donghyun Ko <nyankosoftware@gmail.com> Link: https://github.com/openwrt/openwrt/pull/18689 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* mediatek: add support for Zyxel NWA90AX PROAntonino Orlando2025-07-12
| | | | | | | | | | Same hardware as Zyxel NWA50AX PRO. DEVICE_ALT0_VENDOR := Zyxel DEVICE_ALT0_MODEL := NWA90AX Pro Signed-off-by: Antonino Orlando <orlando.antonino@gmail.com> Link: https://github.com/openwrt/openwrt/pull/19257 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* mediatek: filogic: add support for TP-Link Festa FR365Yonghyu Ban2025-07-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Hardware -------- SOC : MediaTek MT7981B 2x A53 RAM : NT5AD256M16E4-JR 512MiB Flash : ESMT F50L1G41LB 128MB ETH : 5x 1GbE (1x WAN, 4x LAN) 1x SFP+ (2.5 GbE) Switch : MediaTek MT7531AE WiFi : MediaTek MT7976D Buttons : Reset Power : DC 12V 2A Installation ------------ 1. Disassemble the device 2. Create solder bridge on R85, R86, Solder 4-pin header on J4. 3. Connect UART console. 4. In U-Boot shell, enter the following commands to prepare flashing ``` enable_phy extra_para set extra-para score 100 extra_para set extra-para fwFlag good ``` 5. Use `mtkupgrade` command to TFTP flash openwrt-mediatek-filogic-tplink_fr365-v1-squashfs-factory.bin 6. Reboot the device Signed-off-by: Yonghyu Ban <yhban@silicon.moe> Link: https://github.com/openwrt/openwrt/pull/19203 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* mediatek: add Huasifei WH3000 Pro supportFil Dunsky2025-07-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | **Huasifei WH3000 Pro** Portable Wi-Fi 6 travel router based on MediaTek MT7981A SoC. MT7981B+MT7976CN+RTL8221B Dual Core 1.3GHZ with 5G modems module and PWM Fan. **Specifications** SoC: Filogic 820 MT7981A (1.3GHz) RAM: DDR4 1GB Flash: eMMC 8GB WiFi: 2.4GHz and 5GHz with 3 antennas Ethernet: 1x WAN (10/100/1000M) 1x LAN (10/100/1000/2500M) USB: 1x USB 3.0 port Two buttons: power/reset and mode (BTN_0) LEDS: blue, red, blue+red=pink UART: 3.3V, TX, RX, GND / 115200 8N1 **Installation via U-Boot rescue** 1. Set static IP 192.168.1.2 on your computer and default route as 192.168.1.1 2. Connect to the WAN port and hold the reset button while booting the device. 3. Wait for the LED to blink 5 times, and release the reset button. 4. Open U-boot web page on your browser at http://192.168.1.1 5. Select the OpenWRT sysupgrade image, upload it, and start the upgrade. 6. Wait for the router to flash the new firmware. 7. Wait for the router to reboot itself. **Installation via sysupgrade** Just flash sysupgrade file via [LuCI upgrade page](http://192.168.1.1/cgi-bin/luci/admin/system/flash) without saving the settings. **Installation via SSH** Upload the file to the router `/tmp` directory, `ssh root@192.168.1.1` and issue a command: ``` sysupgrade -n /tmp/openwrt-mediatek-filogic-huasifei_wh3000-pro-squashfs-sysupgrade.bin ``` **Factory MAC** You can find your Factory MAC which is mentioned on the box at `/dev/mmcblck0p2` partition `factory` starting from `0x4` ``` dd if=/dev/mmcblk0p2 bs=1 skip=4 count=6 | hexdump -C ``` Cherry-picked from https://github.com/coolsnowwolf/lede/commit/949d0bd77a2e97c2d982531f72b76c575fb28839 Fixed `green` to `blue` LED in dts, added `SUPPORTED_DEVICES += huasifei,fudy-pro` - to make sysupgrade compatible with factory QWRT/Lede fork firmware. Signed-off-by: Fil Dunsky <filipp.dunsky@gmail.com> Link: https://github.com/openwrt/openwrt/pull/19315 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* mediatek: add support for Cudy TR3000 256MB v1 flash versioncheng wang2025-06-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This device is similar to the Cudy TR3000 v1 128MB version. The difference is that the flash memory is 128mb and the other is 256mb Hardware: - SoC: MediaTek MT7981B - CPU: 2x 1.3 GHz Cortex-A53 - Flash: 256 MiB SPI NAND - RAM: 512 MiB - WLAN: 2.4 GHz, 5 GHz (MediaTek MT7976CN, 802.11ax) - Ethernet: 1x 10/100/1000/2500 Mbps RTL8221B WAN, 1x10/100/1000 Mbps MT7981 LAN - USB 3.0 port - Buttons: 1 Reset button, 1 slider button - LEDs: 1x Red, 1x White - Power: 5 VDC, 3 A Installation: Cudy has distributed intermediate firmware to make installation easier 1. Go to [Cudy CN official website](https://www.cudy.com/zh-cn/pages/download-center/tr3000-1-0) and download the intermediate firmware 2. Upgrade the intermediate firmware on the page 3. Visit the intermediate firmware 192.168.1.1 webpage and use the sysupgrade image to update other: If you fail to flash the device, you can use TFTP to flash back to the original firmware. 1. Ask Cudy CN official customer service for the original firmware 2. With the router off, press the RESET button. While the router is turning on, the button should continue to be pressed for at least 5 seconds. 3. A u-boot shell will automatically open. 4. Connect to LAN and set your IP to 192.168.1.88/24. Configure a TFTP server and an recovery.bin firmware file. Signed-off-by: cheng wang <typedelta@outlook.com> Link: https://github.com/openwrt/openwrt/pull/19167 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* mediatek: add support for Zbtlink ZBT-Z8102AX v2Marius Durbaca2025-06-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Specifications: SoC: MediaTek MT7981B RAM: 1024MiB Flash: SPI-NAND 128 MiB Switch: 1 WAN, 4 LAN (Gigabit) USB: two M.2 slots for 5G modems via USB 3.0 hub, external USB 3.0 port Buttons: Reset, Mesh Power: DC 12V 1A WiFi: MT7976CN UART: 115200n8 UART Layout: VCC-RX-TX-GND Installation: 1. Power down the router and hold in the Reset button. 2. While holding in the button power up the router again. 3. Hold the button in for 10 seconds and then release. 4. Use your browser to go to 192.168.1.1 5. If you see a GUI that is for flashing firmware then you have the V2 model. If there is no GUI and the router continues to boot up normally you have the V1 model. 6. Now use the V2 sysugrade file. Note: Recovery GUI it can be used to recover from an incorrect firmware flash. Based on patches adding support for this device by Yannick Chabanois (openmptcprouter) and Dairyman (ofmodemsandmen) Signed-off-by: Marius Durbaca <mariusd84@gmail.com> Link: https://github.com/openwrt/openwrt/pull/18514 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* mediatek: filogic: add support for Cudy WR3000E v1Roland Reinl2025-06-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The WR3000E has the same board layout as the WR3000S. Differences: - Different flash chip - LEDs with red/blue colour intead of white Hardware: - MediaTek MT7981 WiSoC - 256MB DDR3 RAM - 128MB SPI-NAND (F50L1G41LB) - MediaTek MT7981 2x2 DBDC 802.11ax 2T2R (2.4 / 5) MAC Addresses in OEM firmware: - There is one on the label, e.g. AA:BB:CC:DD:EE:FF - WLAN (2.4G) uses the same as on the label - WLAN (5G) is the one on the label but - first byte (e.g. AA) + 2 - fourth byte (e.g. DD) - 0x40 - WAN is the one on the label + 1 - LAN is the one on the label MAC Addresses in OpenWrt: - Same handling as in WR3000s is used GPIO: - 2 Buttons (all low active): - WPS on GPIO 0 - Reset on GPIO 1 - 6 LEDs (all low active): - Power: Blue on GPIO 8, no red LED - WPS: Blue on GPIO 10, Red on GPIO 4 - Internet: Blue on GPIO 11, no red LED - LAN: Blue on GPIO 9, Red on GPIO 5 - WiFi 2.4G: Blue on GPIO 6, no red LED - WiFi 5G: Blue on GPIO 7, no red LED Disassembly: - Remove the 4 screws at the bottom of the case - Cover is clipped to the bottom part of the case with clips in the front and the back UART: - UART pins are accessible on the bottom of the board - The connector with the square shape is TX - Pins: [ ] TX, ( ) RX, ( ) GND, ( ) VCC - Settings: 115200 8N1 3.3V Migration to OpenWrt via OEM firmware: - There should be a migration image available from Cudy as soon as there is official OpenWrt support - Download the migration image via OEM web interface - After flashing, OpenWrt is accessible via 192.168.1.1 - Flash the official OpenWrt image Migration to OpenWrt using TFTP: - Connect UART as described above - Press the reset button while powering on the device - U-Boot will now try to load a recovery.bin via TFTP, this must be ignored - After detecting a timeout, the U-Boot console is available via UART - Set up a TFTP server on IP 192.168.1.88 and connect it to one of the LAN ports - Provide the initramfs image via TFTP as cudy3000e.bin - Run the following command in U-Boot: tftpboot 0x46000000 cudy3000e.bin; bootm 0x46000000 - OpenWrt initramfs image is now booting and accessible via 192.168.1.1 - Flash the sysupgrade image Revert back to OEM: - Set up a TFTP server on IP 192.168.1.88 and connect it to one of the LAN ports - Provide the Cudy firmware via TFTP as recovery.bin - Press the reset button while powering on the device - Recovery process will start now - After recovery is done, the OEM firmware is available at 192.168.10.1 again Signed-off-by: Roland Reinl <reinlroland+github@gmail.com> Link: https://github.com/openwrt/openwrt/pull/18609 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* mediatek: add support for TP-Link Archer AX80v1(US/RU/CA)Sergey Shlukov2025-06-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit adds support for TP-Link Archer AX80v1(US/RU/CA). Device specification SoC Type: MediaTek MT7986AV, Cortex-A53, 64-bit RAM: ESMT M15T4G16256 (512MB) Flash: ESMT F50L1G41LB (128 MB) Ethernet: MediaTek MT7531AE + 2.5GbE MaxLinear GPY211C0VC (SLNW8) Ethernet: 1x2.5Gbe (WAN/LAN 2.5Gbps), 4xGbE (WAN/LAN 1Gbps, LAN1, LAN2, LAN3) WLAN 2g: MediaTek MT7976GN WLAN 5g: MediaTek MT7976AN LEDs: 1 red,1 green,1 blue status LEDs, Buttons: 4 (Reset,ledswitch,wps,wlan), USB ports: 1 (USB 3.0) Power: 12 VDC, 3,3 A Connector: Barrel Bootloader: Main U-Boot - U-Boot 2022.01-rc4. Additionally, both UBI slots contain "seconduboot" (also U-Boot 2022.01-rc4) Serial console (UART) V +-------+-------+-------+-------+ | +3.3V | GND | TX | RX | +---+---+-------+-------+-------+ | +--- Don't connect Installation (UART) Place OpenWrt initramfs image on tftp server with IP 192.168.1.2 Attach UART, switch on the router and interrupt the boot process by pressing 'Ctrl-C' Load and run OpenWrt initramfs image: tftpboot initramfs-kernel.bin bootm !!Attention!! is very important! After entering OpenWrt, please set / update the environment variables: fw_setenv bootargs "ubi.mtd=ubi0 console=ttyS0,115200n1 loglevel=8 earlycon=uart8250,mmio32,0x11002000 init=/etc/preinit" 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),8M(mali_data)" fw_setenv tp_boot_idx 0 Run 'sysupgrade -n' with the sysupgrade OpenWrt image from console or Luci WebUI. Recovery Press Reset button and power on the router Navigate to U-Boot recovery web server (192.168.1.1) and upload the OEM firmware Stock layout 0x000000000000-0x000000200000 : "boot" 0x000000200000-0x000000300000 : "u-boot-env" 0x000000300000-0x000003500000 : "ubi0" 0x000003500000-0x000006700000 : "ubi1" 0x000006700000-0x000006f00000 : "userconfig" 0x000006f00000-0x000007300000 : "tp_data" 0x000007300000-0x000007B00000 : "mali_data" ubi0/ubi1 format U-Boot at boot checks that all volumes are in place: +-------------------------------+ | Volume Name: uboot Vol ID: 0| | Volume Name: kernel Vol ID: 1| | Volume Name: rootfs Vol ID: 2| +-------------------------------+ MAC addresses +---------+-------------------+-----------+ | label | 00:eb:xx:xx:xx:be | label | | LAN | 00:eb:xx:xx:xx:be | label | | WAN | 00:eb:xx:xx:xx:bf | label+1 | | WLAN 2g | 00:eb:xx:xx:xx:be | label | | WLAN 5g | 00:eb:xx:xx:xx:bd | label-1 | +---------+-------------------+-----------+ label MAC address was found in UBI partition "tp_data", file "default-mac". OEM wireless eeprom is also there (file "MT7986_EEPROM.bin"). Signed-off-by: Sergey Shlukov <ichizakurain@gmail.com> Link: https://github.com/openwrt/openwrt/pull/17753 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* mediatek: filogic: fix for new GL.iNet GL-MT2500/GL-MT2500A hardware revisionMatthew Bilker2025-06-03
| | | | | | | | | GL.iNet shipped a hardware change of the WAN PHY going from the MaxLinear GPY211C to the Airoha EN8811H. Signed-off-by: Matthew Bilker <me@mbilker.us> Link: https://github.com/openwrt/openwrt/pull/18799 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* mediatek: filogic: provide custom GPT table for Arcadyan MozartChristian Marangi2025-05-28
| | | | | | | | | | | | | | | New revision Arcadyan Mozart apply a new partition table and moved the factory partition to a new location. This conflicts with the standard partition layout and also make the nvmem cells to not correctly identify the MAC address anymore. Generate and Provide a new GPT partition table that account for the new calibration partition. The previous revision of the Arcadyan Mozart device is considered pre-production devices and should not be intended for real support. Link: https://github.com/openwrt/openwrt/pull/18874 Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* mediatek: add ubootmod layout for cudy tr3000 v1Tianling Shen2025-05-27
| | | | | | | | | | | | | | | | | | | | | | | | | This allows us to use the full size of nand, which increases ubi size from 64M to 122.25M. If you are at factory firmware, please refer commit 63b8d98dd0d2 ("mediatek: add support for Cudy TR3000 v1") to boot into OpenWrt initramfs (stock layout). Flash instructions: 1. Login into the device and backup everything, especially 'Factory' part. 1. Unlock mtd partitions: apk update && apk add kmod-mtd-rw insmod mtd-rw i_want_a_brick=1 3. Write new BL2 and FIP mtd write openwrt-mediatek-filogic-cudy_tr3000-v1-ubootmod-preloader.bin BL2 mtd write openwrt-mediatek-filogic-cudy_tr3000-v1-ubootmod-bl31-uboot.fip FIP 4. Set static IP on your PC: IP 192.168.1.254/24, GW 192.168.1.1 5. Serve OpenWrt initramfs image using TFTP server. 6. Cut off the power and re-engage, wait for TFTP recovery to complete. 7. After OpenWrt has booted, perform sysupgrade. Tested-by: Yangyu Chen <cyy@cyyself.name> Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
* mediatek: filogic: adapt BananaPi-R4 for use with upstream DTDaniel Golle2025-05-26
| | | | | | | | | | | | | | * the variant with 2.5G PHY instead of LAN SFP is called '2p5' upstream and 'poe' in our downstream Linux 6.6 DT. Use the right DTS depending on the kernel version and set an additional compatible. * drop additional DT overlay for WiFi. The final version of the board uses a physical switch for the 12V power of the WiFi module and the I2C EEPROM of the module always comes empty (instead of with a MAC address). Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* mediatek: filogic: add support for SNR-CPE-AX2Nikolay March2025-05-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | SOC: MediaTek MT7981b RAM: 256MB DDR3 FLASH: 128MB SPI-NAND (Winbond W25N01GV) WIFI: Mediatek MT7981b DBDC 802.11ax 2.4/5 GHz ETH: MediaTek MT7531 Switch UART: 3V3 115200 8N1 (Pinout silkscreened / Do not connect VCC) Interface MAC Algorithm LAN 8C:AE:DB:2C:xx:xx label WAN 8C:AE:DB:2C:xx:xx label +1 WLAN 2.4G 8C:AE:DB:2C:xx:xx label +2 WLAN 5G 8C:AE:DB:2C:xx:xx label +3 Installation -------------------Install openwrt image-------------------------------: Set a static ip on the ethernet interface of your PC. (ip address: 192.168.1.254, subnet mask:255.255.255.0) . Download the OpenWrt uboot image (openwrt-mediatek-filogic-snr_cpe-ax2-bl31-uboot.fip). SSH/SCP opened by default on the stock firmware (3.0.1). Username: Admin, default password: Admin. Check it on the bottom of the router. Copy uboot image using SCP (WinSCP) to /tmp dir on SNR-CPE-AX2. Download recovery file. openwrt-mediatek-filogic-snr_snr-cpe-ax2-initramfs-recovery.itb. Copy the recovery image to a TFTP server reachable at 192.168.1.254/24. Open ssh shell to the SNR-CPE-AX2. Run commands: mtd write \ /tmp/openwrt-mediatek-filogic-snr_snr-cpe-ax2-bl31-uboot.fip FIP reboot Wait until recovery boot. Open web 192.168.1.1 and do sysupgrade by openwrt-mediatek-filogic-snr_cpe-ax2-squashfs-sysupgrade.itb Signed-off-by: Nikolay March <palladin82@yandex.ru> Link: https://github.com/openwrt/openwrt/pull/18700 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* mediatek: filogic: fix wifi on ASUS RT-AX52Christoph Krapp2025-05-13
| | | | | | | | | Add missing kmod-7915e package to get both wireless interfaces working. Link: https://github.com/openwrt/openwrt/issues/18690 Reviewed-by: Steffen Förster <nemesis@chemnitz.freifunk.net> Signed-off-by: Christoph Krapp <achterin@gmail.com>
* mediatek: filogic: add support for ASUS RT-AX52Christoph Krapp2025-04-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Hardware -------- SOC: MediaTek MT7981b RAM: 256MB DDR3 FLASH: 128MB SPI-NAND (Winbond W25N01GV) WIFI: Mediatek MT7981b DBDC 802.11ax 2.4/5 GHz ETH: MediaTek MT7531 Switch UART: 3V3 115200 8N1 (Pinout silkscreened / Do not connect VCC) Installation ----------------------------------------------------------- Vendor-UI Method ----------------------------------------------------------- 1. Download the OpenWrt initramfs.trx image. 2. Connect the PC via LAN to one of the yellow router ports and wait until your PC to get a DHCP lease. 3. Browse to http://192.168.50.1 4. If your router is brand new, finish the setup process and log into the Web-UI. 5. Navigate to Administration -> Firmware Upgrade and upload the downloaded OpenWrt image. 6. Wait for OpenWrt to boot. Transfer the sysupgrade image to the device using scp and install using sysupgrade. $ sysupgrade -n <path-to-sysupgrade.bin> ----------------------------------------------------------- TFTP Method ----------------------------------------------------------- 1. Download the OpenWrt initramfs image. Copy the image to a TFTP server reachable at 192.168.1.70/24. Rename the image to rtax52.bin. 2. Connect the PC with TFTP server to the RT-AX52. Set a static ip on the ethernet interface of your PC. (ip address: 192.168.1.70, subnet mask:255.255.255.0) Conect to the serial console, interrupt the autoboot process by pressing '4' when prompted. 3. Download & Boot the OpenWrt initramfs image. $ setenv ipaddr 192.168.1.1 $ setenv serverip 192.168.1.70 $ tftpboot 0x46000000 rtax52.bin $ bootm 0x46000000 4. Wait for OpenWrt to boot. Transfer the sysupgrade image to the device using scp and install using sysupgrade. $ sysupgrade -n <path-to-sysupgrade.bin> --------------------------------------------------------------------------- Revert to stock firmware: 1: Download the rt-ax52 firmware from ASUS official website. Save the firmware to tftp server directory and rename to RT-AX52.trx 2: Connect the PC with TFTP server to the RT-AX52. Set a static ip on the ethernet interface of your PC. (ip address: 192.168.1.70, subnet mask:255.255.255.0) 3: Conect to the serial console, power on again, interrupt the autoboot process by pressing '4' when prompted. $: ubi remove linux $: ubi remove jffs2 $: ubi remove rootfs $: ubi remove rootfs_data $: ubi create linux 0x45fe000 $: reset Then the dut will reboot,interrupt the autoboot process by pressing '2' when prompted. 2: Load System code then write to Flash via TFTP. Warning!! Erase Linux in Flash then burn new one. Are you sure?(Y/N) $: enter y you will see the follow, type enter directly: Input device IP (192.168.1.1) ==: Input server IP (192.168.1.70) ==: Input Linux Kernel filename (RT-AX52.trx) ==: 4: wait for the device run up Based on support for ASUS RT-AX52 by liudongdongdong7397 and trx image generation by remittor Signed-off-by: Christoph Krapp <achterin@gmail.com>
* mediatek: add support for Routerich AX3000 v1Mikhail Zhilkin2025-04-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Routerich AX3000 v1 is a wireless WiFi 6 router. Specification ------------- - SoC : MediaTek MT7981BA dual-core ARM Cortex-A53 1.3 GHz - RAM : DDR3 512 MiB - Flash : SPI-NAND 128 MiB (Winbond) - WLAN : MediaTek MT7976CN dual-band WiFi 6 - 2.4 GHz : b/g/n/ax, MIMO 2x2 - 5 GHz : a/n/ac/ax, MIMO 2x2 - Ethernet : 10/100/1000 Mbps x3, LAN (MediaTek MT7531AE) 10/100/1000 Mbps x1, WAN (MT7981 internal PHY) - USB : 1x 3.0 with power control - UART : through-hole on PCB - [J500] GND, TX, RX, 3.3V (115200n8) - Buttons : Mesh, Reset - LEDs : 1x Power (Blue) 1x WiFi 2.4 GHz (Blue) 1x WiFi 5 GHz (Red) 1x Mesh (Blue) 3x LAN activity (Blue) 1x WAN activity (Blue) 1x WAN no-internet (Red) - Power : 12 VDC, 1.5 A Installation ------------ Flash OpenWrt 'sysupgrade.bin' image using stock firmware web-interface (without keeping settings). Return to stock --------------- Install stock firmware image (without keeping settings) using OpenWrt sysupgrade method. Recovery -------- Connect uart, use u-boot menu to flash stock firmware image or boot OpenWrt initramfs image. MAC addresses ------------- +---------+-------------------+-----------+ | | MAC | Algorithm | +---------+-------------------+-----------+ | WAN | 24:0f:5e:xx:xx:08 | label | | LAN | 24:0f:5e:xx:xx:09 | label+1 | | WLAN 2g | 24:0f:5e:xx:xx:0a | label+2 | | WLAN 5g | 24:0f:5e:xx:xx:0b | label+3 | +---------+-------------------+-----------+ The WLAN 2g MAC was found in 'Factory', 0x4 Signed-off-by: Mikhail Zhilkin <csharper2005@gmail.com>
* mediatek: filogic: add support for WAVLINK WL-WN573HX3Sebastian Schaper2025-04-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The WL-WN573HX3 is an AX3000 outdoor Access Point by WAVLINK, also sold in Europe as 7Links WLR-1300 (ZX-5612). Specifications: - MT7981B + MT7976 AX3000 2x2 DBDC (160 MHz) - 16 MiB SPI NOR, 256 MiB RAM - Gigabit ethernet port, 802.3af PoE - IP67 outdoor case for wall or pole mounting with four single band RP-SMA fiberglass antennas (8 dBi) Installation: - OEM Web UI is at 192.168.30.1 which will forward to http://netlogin.link (using a captive portal) - login with default password `admin` - skip setup wizard by navigating directly to http://netlogin.link/html/meshUpgrade.html - upload WN573HX3-sysupgrade.bin - reset to factory defaults to discard OEM UCI settings MAC address assignment: LAN 80:xx:xx:76:xx:25 hw 0x44e WLAN 2.4G 80:xx:xx:76:xx:27 factory 0x04 (label MAC) WLAN 5G 82:xx:xx:46:xx:27 pair key 8a:xx:xx:76:xx:27 also on label, not used by OpenWrt Signed-off-by: Sebastian Schaper <openwrt@sebastianschaper.net>
* mediatek: add support for Mercusys MR80X v3Schneider Azima2025-04-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit adds support for Mercusys MR80X(EU) v3 router. Device specification: - SoC: Mediatek MT7981b, Cortex-A53, 64-bit - RAM: 512MB - Flash: SPI NAND GigaDevice GD5F1GQ5UEYIGY (128 MB) - Ethernet: 4x 100/1000 Mbps LAN1,LAN2,LAN3 & WAN - Wireless: 2.4GHz (802.11 b/g/n/ax) - Wireless: 5GHz (802.11 a/n/ac/ax) - LEDs: 1 orange and 1 green status LEDs, 4 green gpio-controlled LEDs on ethernet ports - Buttons: 1 (Reset) - Bootloader: Main U-Boot - U-Boot 2022.01-rc4. Additionally, both UBI slots contain "seconduboot" (also U-Boot 2022.01-rc4) Installation (UART): - Place OpenWrt initramfs-kernel image on tftp server with IP 192.168.1.2 - Attach UART, switch on the router and interrupt the boot process by pressing 'Ctrl-C'. - Set the uboot environment for startup. setenv tp_boot_idx 0; setenv bootcmd bootm 0x46000000; saveenv If the bootarg is set to boot from ubi1, also change it to ubi0. - Load and run OpenWrt initramfs image. setenv serverip 192.168.1.2; setenv ipaddr 192.168.1.1; tftpboot initramfs-kernel.bin; bootm - Browse IP 192.168.1.1, upload the 'sysupgrade' image and do upgrade. Recovery: - Press Reset button and power on the router. - Navigate to U-Boot recovery web server (http://192.168.1.1/) and upload the OEM firmware. Stock layout: 0x000000000000-0x000000200000 : "boot" 0x000000200000-0x000000300000 : "u-boot-env" 0x000000300000-0x000003500000 : "ubi0" 0x000003500000-0x000006700000 : "ubi1" 0x000006700000-0x000006f00000 : "userconfig" 0x000006f00000-0x000007300000 : "tp_data" ubi0/ubi1 format: U-Boot at boot checks that all volumes are in place: +-------------------------------+ | Volume Name: uboot Vol ID: 0| | Volume Name: kernel Vol ID: 1| | Volume Name: rootfs Vol ID: 2| +-------------------------------+ MAC addresses: +---------+-------------------+-----------+ | | MAC | Algorithm | +---------+-------------------+-----------+ | label | 94:0C:xx:xx:xx:12 | label | | WAN | 94:0C:xx:xx:xx:13 | label+1 | | LAN | 94:0C:xx:xx:xx:12 | label | | WLAN 2g | 94:0C:xx:xx:xx:11 | label-1 | | WLAN 5g | 94:0C:xx:xx:xx:10 | label-2 | +---------+-------------------+-----------+ label MAC address was found in UBI partition "tp_data", file "default-mac". Signed-off-by: Schneider Azima <Schneider-Azima12@protonmail.com> Link: https://github.com/openwrt/openwrt/pull/18181 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* mediatek: filogic: add Netcore N60 Pro supportYujie Zhu2025-04-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Hardware specification: SoC: MediaTek MT7986A 4x A53 Flash: ESMT F50L1G41LB 128MB RAM: M16U4G16256A DDR4 512MB Ethernet: 2x 2.5G + 3x 1G USB: 1x USB 3.0 WiFi1: MT7975N 2.4GHz 4T4R WiFi2: MT7975PN 5GHz 4T4R Button: Reset, WPS Power: DC 12V 2A Flash instructions: Connect to the router using ssh or telnet, username: useradmin, password is the web login password of the router. Use scp to upload bl31-uboot.fip and flash: "mtd write xxx-bl31-uboot.fip FIP" "mtd erase ubi" Connect to the router via the Lan port, set a static ip of your PC. (ip 192.168.1.254, gateway 192.168.1.1) Download initramfs image, reboot router, waiting for tftp recovery to complete. After openwrt boots up, perform sysupgrade. Note: Back up all mtd partitions before flashing. Signed-off-by: Yujie Zhu <libriunc@gmail.com> Link: https://github.com/openwrt/openwrt/pull/18138 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* mediatek: add support for netis NX31Mikhail Zhilkin2025-04-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This PR adds support for netis NX31 router. Specification ------------- - SoC : MediaTek MT7981BA dual-core ARM Cortex-A53 1.3 GHz - RAM : 256 MiB DDR3 - Flash : SPI-NAND 128 MiB (ESMT) - WLAN : MediaTek MT7976CN dual-band WiFi 6 - 2.4 GHz : b/g/n/ax, MIMO 2x2 - 5 GHz : a/n/ac/ax, MIMO 2x2 - Ethernet : 10/100/1000 Mbps x3 (LAN, MediaTek MT7531AE) 10/100/1000 Mbps x1 (WAN, SoC internal phy) - USB : No - Buttons : Mesh, Reset - LEDs : 1x Power (blue), unmanaged 1x Status (blue), gpio-controlled 1x WiFi 2.4 GHz (blue), gpio-controlled 1x WiFi 5 GHz (blue), gpio-controlled 3x LAN activity (blue), switch-controlled 1x WAN activity (blue), gpio-controlled - Power : 12 VDC, 1 A Installation ------------ 1. Connect to the router using ssh (user: admin, pass: web interface password) 2. Make mtd backup: cat /dev/mtd0 | gzip -1 -c > /tmp/mtd0_spi0.0.bin.gz cat /dev/mtd1 | gzip -1 -c > /tmp/mtd1_BL2.bin.gz cat /dev/mtd2 | gzip -1 -c > /tmp/mtd2_u-boot-env.bin.gz cat /dev/mtd3 | gzip -1 -c > /tmp/mtd3_Factory.bin.gz cat /dev/mtd4 | gzip -1 -c > /tmp/mtd4_FIP.bin.gz cat /dev/mtd5 | gzip -1 -c > /tmp/mtd5_ubi.bin.gz 3. Download mtd backup from the /tmp dir of the router to your PC using scp protocol 4. Upload OpenWrt 'bl31-uboot.fip', 'preloader.bin' images to the /tmp dir of the router using scp protocol 5. Write FIP and BL2 (replace bootloader): mtd write /tmp/openwrt-mediatek-filogic-netis_nx31-bl31-uboot.fip FIP mtd write /tmp/openwrt-mediatek-filogic-netis_nx31-preloader.bin BL2 6. Place OpenWrt 'openwrt-mediatek-filogic-netis_nx31-initramfs-recovery.itb' image on the tftp server (IP: 192.168.1.254) 7. Erase 'ubi' partition and reboot the router: mtd erase ubi reboot 8. U-Boot automatically boot OpenWrt recovery image from tftp server to the RAM 9. Upload OpenWrt 'sysupgrade.itb' image to the /tmp dir of the router (IP: 192.168.1.1) using scp protocol 10. Connect to the router using ssh and run: sysupgrade -n openwrt-mediatek-filogic-netis_nx31-squashfs-sysupgrade.itb Return to stock --------------- 1. Unpack stock BL2 and FIP partitions backup 2. Upload stock BL2 and FIP partitions backup to the /tmp dir of the router using scp protocol 3. Connect to the router using ssh and run: apk update && apk add kmod-mtd-rw insmod mtd-rw i_want_a_brick=1 mtd unlock BL2 mtd unlock FIP 4. Restore backup: mtd write /tmp/mtd4_FIP.bin FIP mtd write /tmp/mtd1_BL2.bin BL2 5. Erase ubi and reboot: mtd erase ubi reboot 6. Power off the router 7. Press Reset button and power on the router. Release the button after ~10 sec 8. Navigate to U-Boot recovery web server (http://192.168.1.1/) and upload the OEM firmware Recovery -------- 1. Place OpenWrt 'openwrt-mediatek-filogic-netis_nx31-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 MAC addresses ------------- +---------+-------------------+-----------+ | | MAC | Algorithm | +---------+-------------------+-----------+ | LAN | dc:xx:xx:d1:xx:18 | label | | WAN | dc:xx:xx:d1:xx:1a | label+2 | | WLAN 2g | de:xx:xx:11:xx:19 | | | WLAN 5g | de:xx:xx:71:xx:19 | | +---------+-------------------+-----------+ The LAN MAC was found in 'Factory', 0x1fef20 The WAN MAC was found in 'Factory', 0x1fef26 The WLAN 2g/5g MAC prototype was found in 'Factory', 0x4 Signed-off-by: Mikhail Zhilkin <csharper2005@gmail.com> Link: https://github.com/openwrt/openwrt/pull/18324 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* mediatek: filogic: add support for Huasifei WH3000Fil Dunsky2025-04-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | **Huasifei WH3000 eMMC / Fudy MT3000** Portable Wi-Fi 6 travel router based on MediaTek MT7981A SoC. MT7981B+MT7976CN+RTL8221B Dual Core 1.3GHZ **Specifications** SoC: Filogic 820 MT7981A (1.3GHz) RAM: DDR4 1GB Flash: eMMC 8GB WiFi: 2.4GHz and 5GHz with 3 antennas Ethernet: 1x WAN (10/100/1000M) 1x LAN (10/100/1000/2500M) USB: 1x USB 3.0 port Two buttons: power/reset and mode (BTN_0) LEDS: blue, red, blue+red=pink UART: 3.3V, TX, RX, GND / 115200 8N1 **Installation via U-Boot rescue** 1. Set static IP 192.168.1.2 on your computer and default route as 192.168.1.1 2. Connect to the WAN port and hold the reset button while booting the device. 3. Wait for the LED to blink 5 times, and release the reset button. 4. Open U-boot web page on your browser at http://192.168.1.1 5. Select the OpenWRT sysupgrade image, upload it, and start the upgrade. 6. Wait for the router to flash the new firmware. 7. Wait for the router to reboot itself. **Installation via sysupgrade** Just flash sysupgrade file via [LuCI upgrade page](http://192.168.1.1/cgi-bin/luci/admin/system/flash) without saving the settings. **Installation via SSH** Upload the file to the router `/tmp` directory, `ssh root@192.168.1.1` and issue a command: ``` sysupgrade -n /tmp/openwrt-mediatek-filogic-huasifei_wh3000-emmc-squashfs-sysupgrade.bin ``` **Factory MAC** You can find your Factory MAC which is mentioned on the box at `/dev/mmcblck0p2` partition `factory` starting from `0x4` ``` dd if=/dev/mmcblk0p2 bs=1 skip=4 count=6 | hexdump -C ``` **Enlarging a partition** Though device has 8GB eMMC, it uses only 2GB `/dev/mmcblck0p6` as `rootfs` for `/rom` and `/overlay` leaving `/dev/mmcblck0p7` as empty unused space. ``` sgdisk -p /dev/mmcblk0 ``` ``` Disk /dev/mmcblk0: 15269888 sectors, 7.3 GiB Sector size (logical/physical): 512/512 bytes Disk identifier (GUID): 2BD17853-102B-4500-AA1A-8A21D4D7984D Partition table holds up to 128 entries Main partition table begins at sector 2 and ends at sector 33 First usable sector is 34, last usable sector is 14942174 Partitions will be aligned on 1024-sector boundaries Total free space is 11197 sectors (5.5 MiB) Number Start (sector) End (sector) Size Code Name 1 8192 9215 512.0 KiB 8300 u-boot-env 2 9216 13311 2.0 MiB 8300 factory 3 13312 21503 4.0 MiB 8300 fip 4 21504 29695 4.0 MiB 8300 config 5 29696 62463 16.0 MiB 8300 kernel 6 62464 4256767 2.0 GiB 8300 rootfs 7 4257792 14940159 5.1 GiB 8300 ``` You can fix that by loading into `initramfs-kernel`, deleting empty `mmcblck0p7` partition and resizing `mmcblck0p6` ``` sysupgrade -F /tmp/openwrt-initramfs-kernel.bin ``` Install and run cfdisk ``` opkg update && opkg install cfdisk cfdisk /dev/mmcblck0 ``` - Select `mmcblck0p7` -> Delete - Select `mmcblck0p6` -> Resize -> Write -> yes -> Quit You will not see any difference in `cat /proc/partitions` after that but just flash a `sysupgrade` and you'll get the whole 7.3GB space for the `/overlay`. Co-developed-by: hecatae <horus.ra@gmail.com> Signed-off-by: Fil Dunsky <filipp.dunsky@gmail.com> Link: https://github.com/openwrt/openwrt/pull/18220 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* mediatek: filogic: add build for ASUS ZenWiFi BT8 with OpenWrt's U-BootDaniel Golle2025-03-30
| | | | | | | | | Add 'ubootmod' variant for the ASUS ZenWiFi BT8. An out-of-tree installer will be provided in Github to allow users an easy transition from the stock loader to OpenWrt's bootchain which is built from source. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* mediatek: filogic: add Asus ZenWiFi BT8John Crispin2025-03-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Hardware -------- MediaTek MT7988D SoC (3x Cortex-A73 @1.8 GHz max) 1GB DDR4 RAM 128MB SPI-NAND (Winbond) MediaTek MT7996 BE14000 Tri-Band Wi-Fi 7 3x LAN (2x 1GE MT7988 built-in, 1x 2.5GE MaxLinear GPY211C) 1x WAN (2.5GE MT7988 built-in) LED: RGB PWM (supported as 3x PWM LED) USB: 1x USB 3 Buttons: RESET, WPS UART: 115200 8N1 3.3V Installation ------------ 1. Hold down RESET button and power on the device until LED pulses red. 2. Assign IP 192.168.1.70/24 to your computer's Ethernet port 3. Connect Ethernet to one of the 1GE LAN ports 4. Open browser and visit http://192.168.1.1 5. Upload openwrt-mediatek-filogic-asus_zenwifi-bt8-factory.bin 6. Once OpenWrt initramfs system comes up, do sysupgrade using openwrt-mediatek-filogic-asus_zenwifi-bt8-squashfs-sysupgrade.bin Signed-off-by: John Crispin <john@phrozen.org> Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* mediatek: filogic: fix device sortingChristoph Krapp2025-03-26
| | | | | | | | arcadyan_mozart was incorrectly placed below asus devices Signed-off-by: Christoph Krapp <achterin@gmail.com> Link: https://github.com/openwrt/openwrt/pull/18331 Signed-off-by: Robert Marko <robimarko@gmail.com>
* mediatek: filogic: bpi-r3-mini: add kmod-eeprom-at24Martin Schiller2025-03-25
| | | | | | | The bpi-r3-mini has an eeprom onboard. Add the related driver to be able to access this memory. Signed-off-by: Martin Schiller <ms@dev.tdt.de>
* filogic: move append-gl-metadata to image-commands.mkChukun Pan2025-03-24
| | | | | | | | This can be used by GL.iNet devices from other target. Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn> Link: https://github.com/openwrt/openwrt/pull/14950 Signed-off-by: Robert Marko <robimarko@gmail.com>
* mediatek: filogic: openwrt-one: drop kmod-nvmeDaniel Golle2025-03-14
| | | | | | | | | | | The OpenWrt One is the only board listing kmod-nvme as part of it's default package set. Remove kmod-nvme from the default package set as the board is sold without an NVMe SSD and the M.2 slot can also be used for other purposes. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* mediatek: bpi-r4: create additional emmc gpt artifactMartin Schiller2025-03-12
| | | | | | | This makes it possible to initialize the eMMC from scratch like it is done for the BPI-R3 mini (without an SD card). Signed-off-by: Martin Schiller <ms@dev.tdt.de>
* mediatek: add support for CMCC A10Tianling Shen2025-03-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This board is also as known as SuperElectron ZN-M5 and ZN-M8. However, for ZN-M5 and ZN-M8, there's another version uses ZX279128 as CPU chip, which is unsupported. You can check it in "高级设置" > "系统日志" > "内核日志" page from webUI. Hardware specification: SoC: MediaTek MT7981B 2x A53 Flash: 128 MB SPI-NAND RAM: 256MB Ethernet: 4x 10/100/1000 Mbps Switch: MediaTek MT7531AE WiFi: MediaTek MT7976C Button: Reset, WPS Power: DC 12V 1A Stock layout flash instructions: Login into webUI and upload sysupgrade firmware in "系统管理" > "升级固件" page. Remember to unselect "保留配置" ("Keep configurations") first before doing that. OpenWrt U-Boot layout flash instructions: 1. Flash stock layout firmware first. 2. Connect to the device via SSH, and backup everything, especially 'Factory' partition. 3. Unlock MTD partitions: apk update && apk add kmod-mtd-rw insmod mtd-rw i_want_a_brick=1 4. Write new BL2 and FIP: mtd write openwrt-mediatek-filogic-cmcc_a10-ubootmod-preloader.bin BL2 mtd write openwrt-mediatek-filogic-cmcc_a10-ubootmod-bl31-uboot.fip FIP 5. Set static IP on your PC: IP 192.168.1.254/24, GW 192.168.1.1 6. Serve OpenWrt initramfs image using TFTP server. 7. Cut off the power and re-engage, wait for TFTP recovery to complete. 8. After OpenWrt has booted, perform sysupgrade. Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org> Link: https://github.com/openwrt/openwrt/pull/18121 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* mediatek: filogic: fix sysupgrade for ex5601-t0-stockPietro Ameruoso2025-02-16
| | | | | | | | fix undesired red warning when upgrading in place ex5601-t0-stock model. Signed-off-by: Pietro Ameruoso <p.ameruoso@live.it> Link: https://github.com/openwrt/openwrt/pull/17973 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* mediatek: EX5601-T0 add Zyxel EX5601-T1 and T-56 aliasAleksander Jan Bajkowski2025-01-19
| | | | | | | | | | | | Define EX5601-T1 and T-56 as alternative name, to explicitly show the device is supported using existing image. EX5601-T1 does not have the option to switch between WAN/SFP port. The switch port is hardwired to the WAN port. The Zyxel T-56 is the odido-branded version of the EX5601-T1. Signed-off-by: Aleksander Jan Bajkowski <olek2@wp.pl> Link: https://github.com/openwrt/openwrt/pull/17615 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* mediatek: filogic: Cudy WR3000H: Fix SUPPORTED_DEVICESHauke Mehrtens2025-01-18
| | | | | | | | | Fix the name used for the transition image from Cudy. This should make it possible to use the cudy transition image. Fixes: 9d66b8b312fb ("mediatek: filogic: Add support for cudy wr3000h") Link: https://github.com/openwrt/openwrt/pull/17652 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* mediatek: filogic: Add support for cudy wr3000hJuan Pedro Paredes Caballero2025-01-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The manufacturer Cudy usually releases signed openwrt firmware, to facilitate the migration from the proprietary version to the official versions of openwrt. In contact with the manufacturer tells me that only releases the firmware of the WR3000H if and only if there is an official version. With this proposal I pretend to have an initial operative version so that they do their part, and facilitate to the users the possibility of using openwrt. In the present state, it is only possible to use this firmware by uploading and installing it with UART connection. AX3000 2.5G Dual Band Wi-Fi 6 Mesh Router (WR3000H) Hardware -------- MediaTek MT7981 WiSoC 256MB DDR3 RAM 128MB SPI-NAND (XMC XM25QH128C) MediaTek MT7981 2x2 DBDC 802.11ax 2T2R (2.4 / 5) 4 LAN MediaTek MT7531 PHY 1 WAN RTL8221B-VB-CG 2.5Gbps PHY (C22) 2 Radios MT7976CN UART: 115200 8N1 3.3V MAC: LAN MAC: label mac WAN MAC: label mac + 1 2.4G MAC: label mac 5G MAC: label mac + 1 with LA bit set Installation ------------ 1. Connect to the serial port as described in the "Hardware" section. 2. Power on the device + press reset pin. Keep pressing reset pin to enter the U-Boot shell (The recovery.bin image load process must fail). 3. Download the OpenWrt initramfs image. Place it on an TFTP server connected to the Cudy LAN ports. Make sure the server is reachable at 192.168.1.88. Rename the image to "cudy3000h.bin" 4. Download and boot the OpenWrt initramfs image. $ tftpboot 0x46000000 cudy3000h.bin; bootm 0x46000000 5. IMPORTANT: Make backup from original firmware. System -> Backup /Flash Firmware -> Save mtdblock contents. All mtdblock one by one, keep unaltered (BL2, u-boot-env, Factory, bdinfo, FIP, and ubi). 6. Transfer the OpenWrt sysupgrade image to the device using scp. Install with sysupgrade. Warning for BL2 and U-BOOT developers ------------------------------------- The nand partition layout from vendor is slightly diferent from "standard". The FIP partition starts at 0x3c0000 be carefull with BL2 to BL31. The UBI partition start at 0x5c0000 be carefull. DO NOT OVERWRITE bdinfo partition it contains hardware MAC definition Layout is start-end (not start size) - 0x000000000000-0x000007800000 : "nmbm0" - 0x000000000000-0x000000100000 : "bl2" - 0x000000100000-0x000000180000 : "u-boot-env" - 0x000000180000-0x000000380000 : "factory" - 0x000000380000-0x0000003c0000 : "bdinfo" - 0x0000003c0000-0x0000005c0000 : "fip" - 0x0000005c0000-0x0000045c0000 : "ubi" ALLWAYS for U-BOOT operations check this setenv mtdids nmbm0=nmbm0 setenv mtdparts nmbm0:1024k(bl2),512k(u-boot-env),2048k(factory),256k(bdinfo),2048k(fip),65536k(ubi) Signed-off-by: Juan Pedro Paredes Caballero <juanpedro.paredes@gmail.com> Link: https://github.com/openwrt/openwrt/pull/17458 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* mediatek: append metadata to factory-uboot.bin for WSR devicesINAGAKI Hiroshi2025-01-04
| | | | | | | | | Append metadata to factory-uboot.bin image to pass the image verification on sysupgrade. Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com> Link: https://github.com/openwrt/openwrt/pull/17408 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* mediatek: filogic: Add support for D-Link AQUILA PRO AI M60Roland Reinl2024-12-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Specification: - MT7986 CPU using 2.4GHz and 5GHz WiFi (both AX) - MT7531 switch - 512MB RAM - 128MB NAND flash (MX35LF1GE4AB-Z4I) with two UBI partitions with identical size - 1 multi color LED (red, green, blue, white) connected via GCA230718 (Same as D-Link M30 A1) - 3 buttons (WPS, reset, LED on/off) - 1x 2.5 Gbit WAN port with Maxlinear GPY211C - 4x 1 Gbit LAN ports Disassembly: - There are five screws at the bottom: 2 under the rubber feet, 3 under the label. - After removing the screws, the white plastic part can be shifted out of the blue part. - Be careful because the antennas are mounted on the side and the top of the white part. Serial Interface - The serial interface can be connected to the 4 pin holes next to/under the antenna cables. - Note that there is another set of 4 pin holes on the side of the board, it's not used. - Pins (from front to rear): - 3.3V (do not connect) - TX - RX - GND - Settings: 115200, 8N1 MAC addresses: - MAC address is stored in partition "Odm" at offset 0x81 (for example XX:XX:XX:XX:XX:52) - MAC address on the device label is ODM + 1 (for example XX:XX:XX:XX:XX:53) - WAN MAC is the one from the ODM partition (for example XX:XX:XX:XX:XX:52) - LAN MAC is the one from the ODM partition + 1 (for example XX:XX:XX:XX:XX:53) - WLAN MAC (2.4 GHz) is the one from the ODM partition + 2 (for example (XX:XX:XX:XX:XX:54) - WLAN MAC (5 GHz) is the one from the ODM partition + 5 (for example (XX:XX:XX:XX:XX:57) Flashing via OEM web interface: - Currently not supported because image crypto is not known Flashing via recovery web interface: - This is only working if the first partition is active because recovery images are always flashed to the active partition and OpenWrt can only be executed from the first partition - Use a Chromium based browser, otherwise firmware upgrade might not work - Recovery web interface is accessible via 192.168.200.1 after keeping the reset button pressed during start of the device until the LED blinks red - Upload the recovery image, this will take some time. LED will continue flashing red during the update process - The after flashing, the recovery web interface redirects to http://192.168.0.1. This can be ignored. OpenWrt is accessible via 192.168.1.1 after flashing - If the first partition isn't the active partition, OpenWrt will hang during the boot process. In this case: - Download the recovery image from https://github.com/RolandoMagico/openwrt/releases/tag/M60-Recovery-UBI-Switch (UBI switch image) - Enable recovery web interface again and load the UBI switch image. This image works on the second partition of the M60 - OpenWrt should boot now as expected. After booting, flash the normal OpenWrt sysupgrade image (for example in the OpenWrt web interface) - Flashing a sysupgrade image from the UBI switch image will make the first partition the active partition and from now on, default OpenWrt images can be used Flashing via Initramfs: - Before switching to OpenWrt, ensure that both partitions contain OEM firmware. - This can be achieved by re-flashing the same OEM firmware version again via the OEM web interface. - Flashing via OEM web interface will automatically flash the currently not active partition. - Open router, connect serial interface - Start a TFTP server at 192.168.200.2 and provide the initramfs image there - When starting the router, select "7. Load Image" in U-Boot - Settings for load address, load method can be kept as they are - Specify host and router IP address if you use different ones than the default (Router 192.168.200.1, TFTP server 192.168.200.2) - Enter the file name of the initramfs image - Confirm "Run loaded data now?" question after loading the image with "Y" - OpenWrt initramfs will start now - Before flashing OpenWrt, create a backup of the "ubi" partition. It is required when reverting back to OEM - Flash sysupgrade image to flash, during flashing the U-Boot variable sw_tryactive will be set to 0 - During next boot, U-Boot tries to boot from the ubi partition. If it fails, it will switch to the ubi1 partition Reverting back to OEM: - Boot the initramfs image as described in "Flashing via Initramfs" above - Copy the backed up ubi partition to /tmp (e.g. by using SCP) - Write the backup to the UBI partition: mtd write /tmp/OpenWrt.mtd4.ubi.bin /dev/mtd4 - Reboot the device, OEM firmware will start now Signed-off-by: Roland Reinl <reinlroland+github@gmail.com> Link: https://github.com/openwrt/openwrt/pull/17296 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* mediatek: filogic: add support for Tenbay WR3000KJianyu Zhuang2024-12-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Tenbay WR3000K is an 802.11ax (Wi-Fi 6) router, based on MediaTek MT7981B. - SoC: MetiaTek MT7981B - RAM: Hynex H5TQ2G863GFR 512MiB - Flash: Winbond W25N01GVZEIG 128MiB - Wi-Fi: MediaTek MT7976C (2.4GHz/5GHz, 802.11ax, 2x2 MIMO, AX3000) - MediaTek MT7915E: 2.4GHz and 5GHz - Ethernet: 1x 10/100/1000 Mbps WAN + 3x 10/100/1000 Mbps LAN - Switch: MediaTek MT7531AE - UART: J4 (115200 baud) - LEDs: Power - Buttons: Reset, WPS - PWR: 12V/1A DC, 5.5×2.1 connector | Vendor | OpenWrt Interface | Address | Notes | |---------|-------------------|---------------|------------------------------------------------| | WAN | wan | Label MAC | Stored MAC in factory + offset 4, label MAC is Stored MAC - 2 | | LAN | br-lan | Label MAC+1 | | | 2.4GHz | phy0-ap0 | Label MAC + 2 | | | 5GHz | phy1-ap0 | Label MAC + 3 | | - 0x000000000000-0x000000100000 : "BL2" - 0x000000100000-0x000000180000 : "u-boot-env" - 0x000000180000-0x000000380000 : "Factory" - 0x000000380000-0x000000580000 : "FIP" - 0x000000580000-0x000003580000 : "ubi" - 0x000003580000-0x000006580000 : "ubi1" - 0x000006580000-0x0000065a0000 : "Product" - 0x0000065a0000-0x000007580000 : "Custom" - The original partition-Ubi partition-Ubi1 is an AB dual system, and Openwrt only uses Ubi. So flash requires modifying the uboot variable `boot_from=ubi` to ensure that it only starts from Ubi. - The Product and Custom partitions are original and only exist to align with the original layout; they are not used by OpenWrt. - id: 0, kernel - id: 1, rootfs - id: 2, rootfs_data - **USB-to-TTL Serial Adapter** (e.g., CH340 or CP2102). - **Dupont Wires** (male-to-male, 3 wires). - **PC/Laptop** with a serial communication tool. - Screwdriver (to open the router case). 1. **OpenWrt Firmware**: - Download the appropriate `wr3000k-<build_time>-mediatek-filogic-tenbay_wr3000k-squashfs-sysupgrade.bin` firmware file for your router from the [OpenWrt website](https://openwrt.org/). 2. **Serial Communication Tool**: - Windows: PuTTY, Tera Term. - Linux/Mac: Minicom, screen. 3. (Optional) **TFTP Server**: - Install a TFTP server like Tftpd64 or tftp-hpa. --- 1. Open the router casing and locate the **TX, RX, and GND** pins. 2. Connect the router pins to the USB-to-TTL adapter as follows: - **TX (router)** → **RX (adapter)** - **RX (router)** → **TX (adapter)** - **GND (router)** → **GND (adapter)** 3. Do **not** connect the VCC pin to avoid damage. - **Baud rate**: 115200 - **Data bits**: 8 - **Stop bits**: 1 - **Parity**: None - **Flow control**: None --- 1. Power on the router and observe the serial terminal output. 2. When prompted (e.g., `Hit any key to stop autoboot: 3`), press the '/' key quickly to interrupt the boot process. 3. You will see the U-Boot Boot Menu: ```plaintext *** U-Boot Boot Menu *** 1. Factory mode 2. Startup system (Default) 3. Upgrade firmware 4. Upgrade ATF BL2 5. Upgrade ATF FIP 6. Upgrade single image 7. Load image 0. U-Boot console Press UP/DOWN to move, ENTER to select, ESC/CTRL+C to quit ``` 4. Select Option 0 by typing 0 and pressing Enter. 5. Input into ```plaintext MT7981> setenv boot_from ubi MT7981> saveenv Saving Environment to MTD... Erasing on MTD device 'nmbm0'... OK Writing to MTD device 'nmbm0'... OK OK MT7981> printenv baudrate=115200 boot_from=ubi ... ``` the above indicates system will start from *ubi*. and then type ```plaintext MT7981> reset ``` will boot from *ubi* 1. Power on the router and observe the serial terminal output. 2. When prompted (e.g., `Hit any key to stop autoboot: 3`), press the '/' key quickly to interrupt the boot process. 3. You will see the U-Boot Boot Menu: ```plaintext *** U-Boot Boot Menu *** 1. Factory mode 2. Startup system (Default) 3. Upgrade firmware 4. Upgrade ATF BL2 5. Upgrade ATF FIP 6. Upgrade single image 7. Load image 0. U-Boot console Press UP/DOWN to move, ENTER to select, ESC/CTRL+C to quit ``` 4. Choose Option 3: Upgrade Firmware Enter Upgrade Mode Select Option 3 by typing 3 and pressing Enter. Upgrade Methods You will be prompted to choose between: ```plaintext *** Upgrading Firmware *** Run image after upgrading? (Y/n): y Available load methods: 0 - TFTP client (Default) 1 - Xmodem 2 - Ymodem 3 - Kermit 4 - S-Record 5 - RAM Select (enter for default): 0 Input U-Boot's IP address: 192.168.1.1 Input TFTP server's IP address: 192.168.1.10 Input IP netmask: 255.255.255.0 Input file name: wr3000k-<build_time>-mediatek-filogic-tenbay_wr3000k-squashfs-sysupgrade.bin ``` Type Enter to proceed. The router will erase the old firmware and write the new one. Signed-off-by: Jianyu Zhuang <xzjianyu@gmail.com> Link: https://github.com/openwrt/openwrt/pull/17172 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>