aboutsummaryrefslogtreecommitdiff
path: root/target/linux/mediatek/filogic/base-files/etc
Commit message (Collapse)AuthorAge
* mediatek: filogic: add Teltonika RUTC50 supportSimonas Tamošaitis7 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 Shi7 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 W8 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: 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: 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: 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: 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: dts: bring mt7988a.dtsi closer to upstreamDaniel Golle2025-05-26
| | | | | | | | | | | | | | In preparation of using the upstream mt7988a.dtsi when switching to Linux 6.12 prepare by bringing our downstream version closer to what went upstream. * rename 'xphy' -> 'xsphy' * rename 'uart[012]' -> 'serial[012]' * only list pinctrl settings directly used in mt7988a.dtsi there, leave it to boards to define all additional pinctrl settings they need. * move fan and thermal-zone to board level 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: 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: restrict compat_version override for BPi-R3Daniel Golle2025-03-30
| | | | | | | | | | Only force compat_version to 1.2 if it was less than 1.2 before, as changes 1.1 and 1.2 were bootloader-related and a completed boot indicates that the changes have been completed. Newer compat version 1.3 indicates a config change and should not be forced on boot. Fixes: 84fc59c0d5 ("mediatek: filogic: bpi-r3: set netdev-name for sfp1 port") Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* 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 case statement in 01_ledsDaniel Golle2025-03-21
| | | | | | | | | Remove a stray '|' character from 01_leds which has accidentally been added. Reported-by: Chukun Pan <amadeus@jmu.edu.cn> Fixes: 63d56af6c6 ("mediatek: filogic: migrate Netgate N60 to upstream PHY LED control") Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* mediatek: filogic: migrate SmartRG Bonanza to upstream PHY LED controlAleksander Jan Bajkowski2025-03-21
| | | | | | | This commit switches the control of the leds connected to the Maxlinear GPY211C PHY to an upstream solution. There should be no functional changes. Signed-off-by: Aleksander Jan Bajkowski <olek2@wp.pl>
* mediatek: filogic: migrate Netgate N60 to upstream PHY LED controlAleksander Jan Bajkowski2025-03-21
| | | | | | | This commit switches the control of the leds connected to the Maxlinear GPY211C PHY to an upstream solution. There should be no functional changes. Signed-off-by: Aleksander Jan Bajkowski <olek2@wp.pl>
* mediatek: filogic: migrate Zyxel EX5700 to upstream PHY LED controlAleksander Jan Bajkowski2025-03-21
| | | | | | | This commit switches the control of the leds connected to the Maxlinear GPY211C PHY to an upstream solution. There should be no functional changes. Signed-off-by: Aleksander Jan Bajkowski <olek2@wp.pl>
* 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: migrate ASUS TUF AX6000 to upstream PHY LED controlAleksander Jan Bajkowski2025-03-01
| | | | | | | This commit switches the control of the leds connected to the Maxlinear GPY211C PHY to an upstream solution. There should be no functional changes. Signed-off-by: Aleksander Jan Bajkowski <olek2@wp.pl>
* mediatek: filogic: migrate Acer W6/W6d to upstream PHY LED controlAleksander Jan Bajkowski2025-03-01
| | | | | | | This commit switches the control of the leds connected to the Maxlinear GPY211C PHY to an upstream solution. There should be no functional changes. Signed-off-by: Aleksander Jan Bajkowski <olek2@wp.pl>
* mediatek: filogic: migrate Zyxel NWA50AX Pro to upstream PHY LED controlAleksander Jan Bajkowski2025-03-01
| | | | | | | This commit switches the control of the leds connected to the Maxlinear GPY211C PHY to an upstream solution. There should be no functional changes. Signed-off-by: Aleksander Jan Bajkowski <olek2@wp.pl>
* mediatek: filogic: upstream LEDs control on 2.5G ports on EX5601Aleksander Jan Bajkowski2025-02-16
| | | | | | | | | | | | This commit switches the control of the leds connected to the Maxlinear GPY211C PHY to an upstream solution. The behaviour of LED1 is the same as before. The behaviour of 2.5G-WAN LED has been changed. It is only active when a 2.5G link is detected, which matches the stock software. Additionally, the name of the WAN led has been changed to INTERNET. Signed-off-by: Aleksander Jan Bajkowski <olek2@wp.pl> Link: https://github.com/openwrt/openwrt/pull/17952 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* mediatek: filogic: fix mt7986a-zyxel-ex5601-t0-stock.dts model name and eth1 ↵Pietro Ameruoso2025-02-09
| | | | | | | | | | | | wan definition Fix the model name to reflect the stock partitioning and the wan eth1 detection in the 02_network script. Fixes: https://github.com/openwrt/openwrt/issues/14432 Fixes: b5df398a36f1 ("mediatek: add Zyxel EX5601-T0 with uboot custom partition") Signed-off-by: Pietro Ameruoso <p.ameruoso@live.it> Link: https://github.com/openwrt/openwrt/pull/17859 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* mediatek: fix TUF-AX4200 WAN LEDJan Hoffmann2025-01-30
| | | | | | | | | | | | | | With the current LED configuration using "mxl,led-config", the WAN LED stops working after the interface is brought down and up again. Since the driver also properly supports PHY LEDs now, switch to that instead. This makes the LED work properly, but requires configuration from userspace. Fixes: #17782 Signed-off-by: Jan Hoffmann <jan@3e8.eu> Link: https://github.com/openwrt/openwrt/pull/17785 Signed-off-by: Robert Marko <robimarko@gmail.com>
* mediatek: Xiaomi AX3000t: fix soft brick for the rd23 modelMikhail Zhilkin2025-01-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit fixes Xiaomi AX3000t soft bricks. Issue affects at least rd23 model (Global version) users: Link: https://forum.openwrt.org/t/openwrt-support-for-xiaomi-ax3000t/180490/452 I also found that these nvram settings are wrong for the rd23 model and U-Boot erase them: ''' flag_try_sys1_failed 8 flag_try_sys2_failed 8 ''' As a result, platform.sh -> xiaomi_initial_setup() function sometimes ends early without applying settings for the rd23 model. RD03 model strategy: 1. Don't touch values those were set up by platform.sh -> xiaomi_initial_setup() function RD23 model strategy: 1. Apply correct nvram settings at every boot 2. Use bulk fw_setenv call I didn't find opened issue for AX3000t. Similar AX3200 issue: Link: https://github.com/openwrt/openwrt/issues/16347 So, other Xiaomi devices (e.g. Xiaomi WR30U) may also require fix. Fixes: 7dbcc1215a56cc1da68c81bf92d7efa174c5e051 ("mediatek: filogic: add support for Xiaomi AX3000T") Signed-off-by: Mikhail Zhilkin <csharper2005@gmail.com> Link: https://github.com/openwrt/openwrt/pull/17580 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* mediatek-filogic: fix wax220 wifi ledsFlorian Maurer2025-01-18
| | | | | | | | | The WAX220 does have a 2.4GHz and 5GHz wifi led, which was set to trigger on netdev before. This commit changes this to trigger on activity of the respective radio Signed-off-by: Florian Maurer <f.maurer@outlook.de> Link: https://github.com/openwrt/openwrt/pull/17627 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: Fix U-Boot variables handling for D-Link M30 A1Roland Reinl2025-01-04
| | | | | | | | | | | | | | | | | | | | | | | | | I think I implemented the U-Boot handling incorrectly on M30 (saw the issue while porting M60 to OpenWrt). Maybe someone with more U-Boot experience can have a look at it. What I understood until now: Before flashing, `sw_tryactive` must be set to 0 because OpenWrt runs on partition 0 During reset after flashing, U-Boot executes the following line: `boot_rd_auto_sw_img=if itest.s ${sw_tryactive} == 2; then run boot_by_part; else run boot_by_tryactive; fi` As `sw_tryactive` was set to 0 before flashing, `boot_by_tryactive` will be executed: `boot_by_tryactive=if itest.s ${sw_tryactive} == 0; then setenv sw_tryactive 2; setenv sw_active 1; saveenv; run ub0; else setenv sw_tryactive 2; setenv sw_active 2; saveenv; run ub1; fi` As `sw_tryactive` was set to 0 before flashing, `sw_active` will be set to 1 and `ub0` will be executed: `ub0=setenv bootpart 0; mtkboardboot; run ub0to1; uip main; reset` If the OpenWrt boot is successful, `ub0to1` and `uip` main will never be executed. Only in case OpenWrt cannot be loaded, `mtkboardboot` will return and the fallback `ub0to1` is executed. Conclusion: It's sufficient to set `sw_tryacitve` to 0 before flashing, the added code in `target/linux/mediatek/filogic/base-files/etc/init.d/bootcount` is useless. In the worst case (/proc/cmdline doesn't contain `bootpart=ubi0` as expected), the bootpart variable would be set to 1 and causes starting the firmware from the second partition instead of the one on the first partition. Signed-off-by: Roland Reinl <reinlroland+github@gmail.com> Link: https://github.com/openwrt/openwrt/pull/17298 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>
* mediatek/filogic: add support for Cudy AP3000 v1Maxim Anisimov2024-12-22
| | | | | | | | | | | | | | | | | | | | | Hardware: SoC: MT7981b RAM: 512 MB Flash: 256 MB SPI NAND Ethernet: 1x2.5Gbps (rtl8221b) WiFi: 2x2 MT7981 Button: Reset LED: 1x multicolor Installation ------------ At the moment, firmware installation is only possible via a transition firmware. It's can be requested from the manufacturer by email to support@cudy.com Signed-off-by: Maxim Anisimov <maxim.anisimov.ua@gmail.com> Link: https://github.com/openwrt/openwrt/pull/17225 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* mediatek: update openembed som7981 supportTianling Shen2024-12-22
| | | | | | | | | | | | | | | | | | | | | | | | | The board has been redesigned due to previous hardware bugs (with other reasons maybe). Changes in new board: - Added a gpio beeper - Added a Atmel i2c eeprom - Added a Atmel i2c ECC accelerator - Added a Philips RTC module - Added two RS485 - Removed WPS button - Replaced USB3 port with M.2 B-key for LTE modules - Swapped GbE LEDs gpio Also assigned wifi mac with nvmem binding, added iface setup for failsafe, increased phy assert time for rtl8221b, and updated LED labels. Keeping compatibility for old version is not necessary here as only few samples were sent to those interested in it. Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org> Link: https://github.com/openwrt/openwrt/pull/17253 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* mediatek: filogic: bpi-r4: set netdev-name for sfp portsJonas Jelonek2024-12-20
| | | | | | | | | | | | | Sets openwrt,netdev-name for the gmac nodes in the dts of BPI-R4 which correspond to the two sfp slots. By default they are automatically named as eth1 and eth2 in bad order, however 'SFP1-WAN' and 'SFP2-LAN' are printed on the PCB and the official metal case has labels 'SFP-WAN' and 'SFP-LAN'. Thus, label the ports accordingly to match the board/case labels. The COMPAT_VERSION is increased to denote that configuration has to be adjusted manually. Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
* mediatek: filogic: bpi-r3: set netdev-name for sfp1 portJonas Jelonek2024-12-20
| | | | | | | | | | | Sets openwrt,netdev-name for the gmac1 node in the dts of BPI-R3, which corresponds to the sfp1 slot, to have a proper naming and match the label on the official BPI-R3 metal case. This renames the port from eth1 to sfp1. The COMPAT_VERSION is increased to denote that configuration has to be adjusted manually. Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>