aboutsummaryrefslogtreecommitdiff
path: root/target
Commit message (Collapse)AuthorAge
...
* qualcommbe: ipq95xx: Make RPM partition read-onlyChristian Marangi2025-04-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | Make the RPM partition read-only. This was a mistake and a leftover from staging branch but I can take this mistake as an excuse to document the current problem with RPM. It might happen that a board ship with a broken RPM .mbn, broken not in the sense that the board doesn't boot or it's a brick but broken in the sense that it's outdaed and suffer from a bug fixed in new version. This bug consist in a problem with the regulators between USB and NSS. The old RPM mess with the NSS regulator (l2) and change the voltage for it while configuring the USB regulator (l5). This cause the ethernet subsystem to malfunction with the port not working. To workaround this, it's needed to disable RPM handling and CPUFreq. With these 2 disabled, the old RPM doesn't touch regulators and Ethernet works correctly. New RPM correctly handle regulators for USB (l5) and doesn't suffer from this problem. A solution for this is getting discussed with QCOM hoping to get some good feedback for it. Link: https://github.com/openwrt/openwrt/pull/17788 Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* qualcommbe: ipq95xx: Add pending patch fixing NSSCC boot stallChristian Marangi2025-04-10
| | | | | | | | | | | | | | Add pending patch fixing NSSCC boot stall. These patch are needed to prevent the ICC to disable critical clock for NSSCC NOC. Without these the system will stall and reboot with watchdog. While at it also remove an extra clock from DTSI as it currently have no use. Original patch is not modified to keep consistency with series proposed upstream. Link: https://github.com/openwrt/openwrt/pull/17788 Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* qualcommbe: ipq95xx: Drop redundant comment in NSSCC clock patchChristian Marangi2025-04-10
| | | | | | | | Drop redundant comment in NSSCC clock patch. The problem has been identified hence the comment doesn't apply anymore. Link: https://github.com/openwrt/openwrt/pull/17788 Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* qualcommbe: ipq95xx: Define default partition table for RFB SPI-NANDChristian Marangi2025-04-10
| | | | | | | | Define default partition table for SPI-NAND mounted on reference board. This is where is normally placed the rootfs UBI. Link: https://github.com/openwrt/openwrt/pull/17788 Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* qualcommbe: ipq95xx: Refresh dts SPI-NAND patch to v14Christian Marangi2025-04-10
| | | | | | | | | Refresh dts SPI-NAND patch to to v14. This is to keep stuff synced with current pending patch revision and make it easier to replace patch later (and discover something broke in the meantime) Link: https://github.com/openwrt/openwrt/pull/17788 Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* qualcommbe: ipq95xx: Refresh the NSSCC and PORT patch for new PCIe patchesChristian Marangi2025-04-10
| | | | | | | | | | | | | | | | | Refresh the NSSCC patch for new PCIe patches. To keep track of fuzz changes for the IPQ95xx patches, patch are not refreshed currently. For the specific case of NSSCC patch, quilt gets confused and apply the patch in the wrong node, putting it in the RPM node (causing all kind of funny errors at runtime) Correctly fix the patch to put the node right after the PCIe nodes. Also the PORT patch need to be refreshed as the gpio header is added by the PCIe patch. Link: https://github.com/openwrt/openwrt/pull/17788 Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* qualcommbe: ipq95xx: Add PCIe upstream patch and related nodesChristian Marangi2025-04-10
| | | | | | | | | | Add PCIe upstream patch and related nodes to enable PCIe on IPQ95xx. Minimal change were required to backport the patch and apply on current kernel. Refresh all affected patch. Link: https://github.com/openwrt/openwrt/pull/17788 Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* qualcommbe: ipq95xx: Add USB3 kmods and drop NSS-DP unneeded packageChristian Marangi2025-04-10
| | | | | | | | | | | | Add USB3 kmods to the default package list, USB3 correctly works on IPQ95xx hence it can be enabled. While at it drop the NSS-DP as it was added by mistake as the ethrnet platform is handled differently on this SoC with pending upstream drivers. Link: https://github.com/openwrt/openwrt/pull/17788 Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* generic: move QCOM SPI NAND driver to generic backportsChristian Marangi2025-04-10
| | | | | | | | | | | | QCOM SPI NAND driver got merged upstream hence we can drop the special patch from qualcommax and qualcommbe target and move them to the generic backports directory to reduce patch maintenance. While at it refresh any affected patch and target and also backport other minor fixup for the SPI NAND driver merged upstream later. Link: https://github.com/openwrt/openwrt/pull/17788 Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* kernel: bump 6.6 to 6.6.86Mieczyslaw Nalewaj2025-04-10
| | | | | | | | | | | | | Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.86 Removed upstreamed: generic/pending-6.6/155-usbnet-restore-usb%d-name-exception-for-local-mac-addresses.patch[1] 1. https://web.git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.86&id=2beb999f73b48f3cb04d7cb9c4b5400d59f80f89 Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com> Link: https://github.com/openwrt/openwrt/pull/18443 Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* bcm27xx: pull 6.6 patches from RPi repoÁlvaro Fernández Rojas2025-04-10
| | | | | | | | | | | | Adds latest 6.6 patches from the Raspberry Pi repository. These patches were generated from: https://github.com/raspberrypi/linux/commits/rpi-6.6.y/ With the following command: git format-patch -N v6.6.85..HEAD (HEAD -> bba53a117a4a5c29da892962332ff1605990e17a) Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* gemini: Activate serial USB console on the DNS-313Linus Walleij2025-04-10
| | | | | | | | | | | | | | This brings up a serial console on the USB device port of the DNS-313 by: - Activating the usbgadget feature - Selecting the usbgadget-acm package - Adding an inittab that opens a console at ttyGS0 which is the device side of ttyACMn of a connected host Link: http://patchwork.ozlabs.org/project/openwrt/patch/20250403-dns313-usb-serial-v2-4-d84de8e86931@linaro.org/ Cc: Chuanhong Guo <gch981213@gmail.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
* generic: crypto: fix jitterentropy initialization failed issueShiji Yang2025-04-09
| | | | | | | | | | | | | | | | | | | Sync jitterentropy source code with linux-6.12 to solve the issue of jitterentropy initialization failed: [ 9.523489] jitterentropy: Initialization failed with host not compliant with requirements: 9 [ 9.661916] kmodloader: 1 module could not be probed [ 9.662377] kmodloader: - jitterentropy_rng - 0 In linux upstream commit cf27d9475f37 ("crypto: jitter - use permanent health test storage"), when FIPS crypto is disabled, the health test results are always explicitly skipped. That means it will never return error code 9 (health test failed) again. Fixes: https://github.com/openwrt/openwrt/issues/16684 Signed-off-by: Shiji Yang <yangshiji66@outlook.com> Link: https://github.com/openwrt/openwrt/pull/18399 Signed-off-by: Robert Marko <robimarko@gmail.com>
* ath79: fix GPIO numbering with ath9kRosen Penev2025-04-09
| | | | | | | | | | | ath9k base starts at 512. This is a problem as it uses gpio_request_one to request the GPIO, which is legacy API. This upstream pending patch needs to also be ported to mac80211. Signed-off-by: Rosen Penev <rosenp@gmail.com> Link: https://github.com/openwrt/openwrt/pull/17445 Signed-off-by: Robert Marko <robimarko@gmail.com>
* mac80211: ath9k: remove gpio buttons supportRosen Penev2025-04-09
| | | | | | | | | | This is only used by mach files, which are no longer used in OpenWrt. Allows removing a custon ath9k_platform.h file. Signed-off-by: Rosen Penev <rosenp@gmail.com> Link: https://github.com/openwrt/openwrt/pull/17445 Signed-off-by: Robert Marko <robimarko@gmail.com>
* mac80211: ath9k: remove platform ledsRosen Penev2025-04-09
| | | | | | | | | These only work with and are useful with mach files. Now that those are gone, this can go too. Signed-off-by: Rosen Penev <rosenp@gmail.com> Link: https://github.com/openwrt/openwrt/pull/17445 Signed-off-by: Robert Marko <robimarko@gmail.com>
* ipq60xx: add support for TP-Link EAP623-Outdoor HD v1Yang Xiwen2025-04-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Specifications: * SoC: Qualcomm IPQ6018 (64-bit Quad-core Arm Cortex-A53 @ 1800MHz) * Memory: 1 GiB * Serial Port: 3v3 TTL 115200n8 * Wi-Fi: QCN9074 (4x4 5 GHz 802.11ax) * Wi-Fi: IPQ6018 (4x4 2.4 GHz 802.11b/g/n/ax) * Ethernet: RTL8211F (10/100/1GBASE-T) * Flash: ESMT F59D1G81MB (128 MiB) * LEDs: 1x Green Status (GPIO 37 Active High), 1x Yellow Status (GPIO 32 Active High) and an LED global control GPIO (GPIO 36 Active High, set up by U-Boot) * Buttons: 1x Reset (GPIO 9 Active Low) Installation Instructions (Serial+TFTP): 1. Solder 4 pin header to the pads near T32 and T31. 2. Connect 3V3 TTL port to TX, RX, and GND, which are pad T31, T32 and the pad near T31 respectively. Be sure not to connect VCC and crossover TX and RX. 3. Copy RAM firmware image openwrt-qualcommax-ipq60xx-tplink_eap623od-hd-v1-initramfs-uImage.itb to TFTP server root, available at 192.168.0.1. 4. Connect PoE ethernet cable to the RJ45 port and hold Ctrl+B in the serial console (115200 baud) until autoboot is halted. 5. Run the following commands in the U-boot prompt: # setenv serverip 192.168.0.1 # setenv ipaddr 192.168.0.99 # tftpboot 0x44000000 openwrt-qualcommax-ipq60xx-tplink_eap623od-hd-v1-initramfs-uImage.itb # bootm You may need to type Ctrl+C and Enter before running these commands to clear invisible characters from the buffer. 6. Run the following command in a terminal to copy the sysupgrade image to be installed (check IP address): $ scp openwrt-qualcommax-ipq60xx-tplink_eap623od-hd-v1-squashfs-sysupgrade.bin root@192.168.1.1:/tmp/ 7. Activate the OpenWrt serial console and run the following commands: # cd /tmp # sysupgrade -n openwrt-qualcommax-ipq60xx-tplink_eap623od-hd-v1-squashfs-sysupgrade.bin 8. The AP will reboot and OpenWrt will be successfully installed. Signed-off-by: Yang Xiwen <forbidden405@outlook.com> Link: https://github.com/openwrt/openwrt/pull/18389 Signed-off-by: Robert Marko <robimarko@gmail.com>
* an7581: fix phy2 led1 functionAndrew LaMarche2025-04-07
| | | | | | | | PHY2 led1 is configured to control PHY1's LED. Change it to PHY2. Signed-off-by: Andrew LaMarche <andrewjlamarche@gmail.com> Link: https://github.com/openwrt/openwrt/pull/18361 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* ipq40xx: qca8k: hook up IPQ4019 bridge flag offloadingMatthias Schiffer2025-04-07
| | | | | | | | | Adds support for setting bridge port learning and isolation flags on ipq40xx. Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net> Link: https://github.com/openwrt/openwrt/pull/18375 Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* generic: qca8k: backport bridge port isolation supportMatthias Schiffer2025-04-07
| | | | | | | | | | | | | Bridge port isolation offload support has been added to the bridge core and many DSA drivers. mt7530 support was backported in OpenWrt commit c4e6a147a6c0 ("generic: 6.6: mt7530: add support for bridge port isolation"). Backport qca8k support as well. Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net> Link: https://github.com/openwrt/openwrt/pull/18375 Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* realtek: add support for D-Link DGS-1210-26Christian Steiner2025-04-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds support for D-Link DGS-1210-26 rev. F1 Hardware specification ---------------------- * RTL8382M SoC, 1 MIPS 4KEc core @ 500MHz * 128MB DRAM * 32MB NOR Flash (MX25L25635E) * 24 x 10/100/1000BASE-T ports * 2 x SFP ports * Power LED * Reset button on front panel Installation using OEM webinterface ----------------------------------- 1. Make sure you are running OEM firmware from secondary slot. If not, switch to image2 using the menus System > Firmware Information > Boot from image2 Tools > reboot 2. Upload image squashfs-factory_image1.bin via Tools > Backup / Upgrade Firmware > image1 3. Toggle startup image via System > Firmware Information > Boot from image1 4. Tools > reboot Known working firmware version for this procedure: 6.20.007 Installation using TFTP and serial console ------------------------------------------ 1. Prepare a TFTP server with the OpenWrt *initramfs-kernel.bin and assign it an IP from 10.90.90.0/24 (except 10.90.90.90) 2. Connect the TFTP server to one of switch's ports 3. Connect to the serial console (115200 baud) and power on the switch 4. Press the ESC key once you see "Hit Esc key to stop autoboot" in the console output 5. Press CTRL+C keys to get into the real U-Boot prompt 6. Init the network with the command "rtk network on" 7. Load the OpenWrt image with the command "tftpboot 0x8f000000 <TFTP_SERVER_IP>:<IMAGE_FILE>" (<TFTP_SERVER_IP> is the TFTP server's IP, e.g. 10.90.90.100; <IMAGE_FILE> is the name of the image provided by the TFTP server) 8. Boot the OpenWrt image with the command "bootm" 9. Browse to https://192.168.1.1/cgi-bin/luci/admin/system/flash 10. Upload the the OpenWrt *squashfs-sysupgrade.bin to the switch 11. Wait for it to reboot Signed-off-by: Christian Steiner <christian.steiner@outlook.de> Link: https://github.com/openwrt/openwrt/pull/18378 Signed-off-by: Sander Vanheule <sander@svanheule.net>
* ath79: add support for NEC Aterm WG2200HPINAGAKI Hiroshi2025-04-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | NEC Aterm WG2200HP is a 2.4/5 GHz band 11ac (Wi-Fi 5) router, based on QCA9558. Specification: - SoC : Qualcomm Atheros QCA9558 - RAM : DDR2 128 MiB (2x ESMT M14D5121632A) - Flash : SPI-NOR 16 MiB (Macronix MX25L12835FM2I-10G) - WLAN : 2.4/5 GHz - 2.4 GHz : 3T3R (Qualcomm Atheros QCA9558 (SoC)) - 5 GHz : 4T4R (Qualcomm Atheros QCA9984) - Ethernet : 5x 10/100/1000 Mbps - switch : Qualcomm Atheros QCA8337 - LEDs/Keys (GPIO) : 12x/4x - UART : through-hole on PCB - assignment : 3.3V, GND, NC, TX, RX from tri-angle marking - settings : 9600n8 - USB : 1x USB 2.0 Type-A - Power : 12 VDC, 1.5 A (Max: 20 W) - Stock OS : NetBSD based Flash instruction using initramfs-factory.bin image: 1. Connect and open serial console 2. Power on WG2200HP and interrupt bootloader by ESC key 3. Login to the bootloader CLI with a password "chiron" 4. Start TFTP server by "tftpd" command 5. Upload initramfs-factory.bin via tftp from your computer example (Windows): tftp -i 192.168.0.1 PUT initramfs-factory.bin 6. Boot initramfs image by "boot" command 7. On the initramfs image, back up the stock bootloader and firmware if needed 8. Upload (or download) uboot.bin and sysupgrade.bin image to the device 9. Rplace the bootloader with a uboot.bin image mtd write <uboot.bin image> bootloader 10. Perform sysupgrade with a sysupgrade.bin image 11. Wait ~120 seconds to complete flashing Notes: - All LEDs are connected to the Diodes PI4IOE5V9539LE I2C Expander chip. (compatible with NXP PCA9539) - The stock bootloader requires an unknown filesystem on firmware area in the flash. Booting of OpenWrt from that filesystem cannot be handled, so the bootloader needs to be replaced to mainline U-Boot before OpenWrt installation. - The data length of blocks in firmware image will be checked (4M < threshold < 6M) on the stock WebUI of all versions, and initramfs-factory.bin image of OpenWrt has the larger block data for initramfs image. So that image cannot be applied to the stock WebUI at all. MAC addresses: LAN : 98:F1:99:xx:xx:7C (config, 0x6 (hex)) WAN : 98:F1:99:xx:xx:7D (config, 0xc (hex)) 2.4 GHz: 98:F1:99:xx:xx:7E (config, 0x0 (hex)) 5 GHz : 98:F1:99:xx:xx:7F (config, 0x12 (hex)) Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com> Link: https://github.com/openwrt/openwrt/pull/17584 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* ath79: update dtsi/dts for NEC Aterm devices based on QCA9558INAGAKI Hiroshi2025-04-07
| | | | | | | | | Add more DT labels and move a USB hub node to dts files of Aterm devices as a preparation for adding support of Aterm WG2200HP. Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com> Link: https://github.com/openwrt/openwrt/pull/17584 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>
* at91bootstrap: put at91bootstrap images into image staging directoryRobert Marko2025-04-04
| | | | | | | | | | | | | Currently, building at91 subtargets via image builder will fail as the required built at91bootstrap is not present in the image builder at all since its presumed to be in the binary directory which obviously does not exist yet. So, lets install the at91bootstrap binary into image staging directory and use that instead Link: https://github.com/openwrt/openwrt/pull/18414 Signed-off-by: Robert Marko <robimarko@gmail.com>
* at91: put u-boot images into image staging directoryRobert Marko2025-04-04
| | | | | | | | | | | | Currently, building at91 subtargets via image builder will fail as the required built u-boot is not present in the image builder at all since its presumed to be in the binary directory which obviously does not exist yet. So, lets install the u-boot binary into image staging directory and use that instead. Link: https://github.com/openwrt/openwrt/pull/18414 Signed-off-by: Robert Marko <robimarko@gmail.com>
* qualcommax: ipq60xx: add support for Netgear WAX610 and WAX610YErik Servili2025-04-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Netgear WAX610 / WAX610Y is a 802.11ax AP claiming AX1800 support. Specifications: --------------- * CPU: Qualcomm IPQ6018 Quad core Cortex-A53 * RAM: 512MB * Storage: Winbond W29N01HZBINF 128MB NAND * Ethernet: * 2.5GbE RJ45 port with PoE input * WLAN: * 2.4GHz/5GHz * LEDs: * Power: Dual-color LED (Green / Orange), Single-color LED (Blue) * Ethernet: Dual-color LED (Green / Orange) * 2.4Ghz WiFi: 2x Single-color LED (Blue, Green) * 5Ghz WiFi: 2x Single-color LED (Blue, Green) * Buttons: * 1x Reset * UART: 4-pin populated header * Pinout 1 - VCC, 2 - GND, 3 - TX, 4 - RX Installation: ============= Web UI method ------------- Set up the device using the stock web UI in local management mode. Download the ui-factory.tar image. * Enter the Management tab * Select Maintenance->Upgrade->Firmware Upgrade * Ensure the "Upgrade Options" field has "Local" selected * Click "Browse File" and select the image * Click "Upgrade" (NOT "Upgrade Now") at the bottom of the page The device will install the image but reboot back into the vendor firmware. Return the to Firmware Upgrade page as above and select "Boot up Backup Firmware". The device should reboot into OpenWRT. TFTP method ----------- To flash via tftp, first place the initramfs image on the TFTP server. setenv serverip <ip of tftp server> setenv ipaddr <ip in same subnet as tftp server> tftpboot netgear_wax610-initramfs-uImage.itb bootm This should boot OpenWRT. Once booted, flash the sysupgrade.bin image using either luci or the command line. Signed-off-by: Erik Servili <serverror@serverror.com> Link: https://github.com/openwrt/openwrt/pull/18377 Signed-off-by: Robert Marko <robimarko@gmail.com>
* ath79: dts: disable redundant built-in watchdogShiji Yang2025-04-04
| | | | | | | | | | | | | | | | The built-in watchdog is redundant when the device has an external GPIO based hardware watchdog. And there is a conflict that both of them will attempt to register the same device entry in sysfs. This resulted in the built-in watchdog being unable to be activated. This patch explicitly disables the built-in watchdog for devices that use GPIO watchdog to fix the error: [ 1.779206] ath79-wdt 18060008.wdt: unable to register misc device, err=-16 [ 1.786355] ath79-wdt: probe of 18060008.wdt failed with error -16 Signed-off-by: Shiji Yang <yangshiji66@outlook.com> Link: https://github.com/openwrt/openwrt/pull/18395 Signed-off-by: Robert Marko <robimarko@gmail.com>
* at91: add USB kmods only for subtargets that support USBRobert Marko2025-04-04
| | | | | | | | | | | | | | | | | Currently, kmod-usb-ohci,kmod-at91-udc and kmod-usb-gadget-eth are included as the default packages for all at91 subtargets. However, this is breaking image builder as kmod-at91-udc is not being built on sama7 since it depends on USB_SUPPORT and sama7 does not have USB support enabled in the kernel as its not supported upstream so its not even selectable in the config. So, move to include these as default packages only for sama5 and sama9x as both of those have USB support enabled. Fixes: #18407 Link: https://github.com/openwrt/openwrt/pull/18413 Signed-off-by: Robert Marko <robimarko@gmail.com>
* bmips: add support for Actiontec T1200HKyle Hendry2025-04-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Specifications: - SoC: Broadcom BCM63168 dual 400MHz MIPS - Flash: 128MB NAND ESMT F59L1G81A - RAM: 128MB DDR3 - Ethernet: 5x 1000M - Wifi: BCM435F - 1x USB 2.0 port - 2x Button - 11x LED - Coax HPNA (unsupported) - RJ11 xDSL (unsupported) Install instructions: The booloader will only install signed firmware so the image has to be manually flashed. - Set up a TFTP server on 192.168.1.0/24 to serve the initramfs image - Interrupt the bootloader and run from RAM with r 192.168.1.100:openwrt-bmips-bcm63268-actiontec_t1200h-initramfs.elf - On the openwrt console, copy the wfi image using wget/tftp/scp, i.e scp user@192.168.1.100:~/openwrt/bin/targets/bmips/bcm63268/openwrt-bmips-bcm63268-actiontec_t1200h-squashfs-cfe.bin /tmp/ - Erase half the flash partition where openwrt will be installed with flash_erase -j /dev/mtd1 0 491 - Flash the openwrt image with nandwrite -p /dev/mtd1 /tmp/openwrt-bmips-bcm63268-actiontec_t1200h-squashfs-cfe.bin - Reboot - Interrupt the bootloader again and use the c command to boot from previous firmware if vendor image is loaded Signed-off-by: Kyle Hendry <kylehendrydev@gmail.com> [Minor improvements to DTS file] Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* ipq40xx: dts: fix "qcom,coexist-support" property typeShiji Yang2025-04-02
| | | | | | | | | Convert the property variable type of "qcom,coexist-support" from u32 to u8 to match the definition in the dt-bindings document. Signed-off-by: Shiji Yang <yangshiji66@outlook.com> Link: https://github.com/openwrt/openwrt/pull/18393 Signed-off-by: Robert Marko <robimarko@gmail.com>
* octeon: force pcs reset to fix qca833x trafficAndrew LaMarche2025-04-02
| | | | | | | | | | | | | | | There is a known bug with qca833x switches where they fail to pass traffic without first resetting the PCS. U-Boot already has this fix, though it uses a much newer networking stack from Marvell. This commit backports the fix for OpenWrt. References: - https://github.com/u-boot/u-boot/blob/master/arch/mips/mach-octeon/cvmx-helper-sgmii.c#L197-L225 - https://github.com/u-boot/u-boot/blob/master/arch/mips/mach-octeon/cvmx-helper-sgmii.c#L701-L737 Signed-off-by: Andrew LaMarche <andrewjlamarche@gmail.com> Link: https://github.com/openwrt/openwrt/pull/18385 Signed-off-by: Robert Marko <robimarko@gmail.com>
* realtek: refactor RTL930x MAC config to fix PHY portsJan Hoffmann2025-04-01
| | | | | | | | | | | | | | | Currently, network ports using PHYs get a link, but there is no traffic. Make it work again by moving the MAC config to phylink_mac_link_up. A similiar change has been previously applied for RTL83xx in commit cd958d945be0 ("realtek: 6.6: refactor mac config and link up for RTL83xx"). Fixes: https://github.com/openwrt/openwrt/issues/17010 Signed-off-by: Jan Hoffmann <jan@3e8.eu> Tested-by: Christoph Krapp <achterin@gmail.com> Link: https://github.com/openwrt/openwrt/pull/18268 Signed-off-by: Sander Vanheule <sander@svanheule.net>
* stm32: add default kernel config option CONFIG_LEDS_CLASS_MULTICOLORjonathan brophy2025-04-01
| | | | | | | | | | | The generic target configuration activates the CONFIG_LEDS_CLASS_MULTICOLOR option. Do not deactivate it for the stm32 target. Signed-off-by: jonathan brophy <professor_jonny@hotmail.com> Link: https://github.com/openwrt/openwrt/pull/17277 [Reword commit message] Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* ath79: move TP-Link RE450 v1 & v2 and RE355 v1 to tiny targetIvan Diaz2025-03-31
| | | | | | | | | | | | | | | | | | | | | | This restores sysupgrade support Since OpenWrt 23.05, the firmware selector no longer provides sysupgrade images for RE450 V1 & V2 and RE355 v1 due to image size constraints (~5.7MB limit), making the generic build unusable. This commit moves RE450 V1 & V2 to the tiny target, enabling: - Smaller image builds within the flash size limit. - Restored sysupgrade support via the firmware selector. - A secure-by-default wireless setup while allowing full management via UCI. - Officially supported images, reducing the need for custom (potentially insecure) builds. This ensures users can install a functional OpenWrt build without compromising security defaults. Signed-off-by: Ivan Diaz <diaz.it@icloud.com> [Squashed the commits together and just copied the target definition from the generic subtarget.] Link: https://github.com/openwrt/openwrt/pull/18126 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* ramips: mt76x8: add support for Keenetic Launcher (KN-1221)Ivan Davydov2025-03-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Specification: SoC: MediaTek MT7628AN RAM: 128M DDR2, ESMT M14D128168A (2Y) Flash: 32M, cFeon EN25QH256A (Dual Boot on OEM, concatenated on OpenWrt, SPI) Switch: MediaTek MT7628AN, 3 ports 100 Mbps WiFi: MediaTek MT7628AN 2.4 GHz 802.11n USB: 1 port USB 2.0 GPIO: 1 button (Wi-Fi & Reset on OEM, Reset on OpenWrt), 3 LEDs (Power, Internet, Wi-Fi), USB port power controls Disassembly: There are 2 screws at the bottom near the LEDs hidden by rubber mounts. After removing the screws, pry the gray plastic part around (it is secured with latches) and remove it. UART Interface: The UART interface can be connected to the 5 pin located between LAN ports and the WAN one. Pins (from the second LAN port to the WAN one): VCC, TX, RX, NC, GND Settings: 115200, 8N1 Flashing via TFTP: 1. Connect your PC and router to the first LAN port, configure PC interface using IP 192.168.1.2, mask 255.255.255.0 2. Serve the firmware image (for OpenWrt it is *-squashfs-factory.bin) renamed to KN-1221_recovery.bin via TFTP 3. Power up the router while pressing Wi-Fi button 4. Release Wi-Fi button when Power LED starts blinking To revert back to OEM firmware: The return to the OEM firmware is carried out by using the methods described above with the help of the appropriate firmware image found on osvault.keenetic.net. When using OEM bootloader, the firmware image size cannot exceed the size of one OEM «Firmware_x» partition or Kernel + rootFS size. Signed-off-by: Ivan Davydov <lotigara@lotigara.ru> Link: https://github.com/openwrt/openwrt/pull/18164 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* kernel: bump 6.6 to 6.6.85John Audia2025-03-31
| | | | | | | | | | | | | | | | | | | | | | | | Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.85 Removed upstreamed: bcm27xx/patches-6.6/950-1498-dts-bcm2711-PL011-UARTs-are-actually-r1p5.patch[1] bcm27xx/patches-6.6/950-1551-drm-v3d-Don-t-run-jobs-that-have-errors-flagged-in-i.patch[2] Manually rebased: bcm27xx/patches-6.6/950-1512-dts-bcm2711-Don-t-mark-timer-regs-unconfigured.patch All other patches automatically rebased. 1. https://web.git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.85&id=61820187b3ef5a15aed7ef49ed1fcc13398b449c 2. https://web.git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.85&id=7cd375d46afcce906cfcddf5aec6b318199d1f16 Build system: x86/64 Build-tested: flogic/xiaomi_redmi-router-ax6000-ubootmod, ramips/tplink_archer-a6-v3, x86/64 Run-tested: flogic/xiaomi_redmi-router-ax6000-ubootmod, ramips/tplink_archer-a6-v3, x86/64 Signed-off-by: John Audia <therealgraysky@proton.me> Link: https://github.com/openwrt/openwrt/pull/18379 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* kernel: Mediatek: fix EEE registers initQingfang Deng2025-03-31
| | | | | | | | | | | | | | | | | | | | | | | After booting, a "transmit queue 0 timed out" warning followed by a register dump was observed. The dump indicates that mtk_hw_init() does not initialize the EEECR during probe. This occurs because the netdev is allocated in mtk_add_mac(), which is called after mtk_hw_init(). Consequently, the EEECR register remains uninitialized until a reset is triggered, causing mtk_hw_init() to run again with a valid netdev, at which point the register is finally set. To address this, instead of modifying the probe sequence, latch the Tx LPI enable state and timer value, and move the EEECR register initialization to mtk_mac_link_up() to ensure proper setup when the interface comes up. Additionally, the splat reveals that LPI functionality is controlled by the MAC_MCR_EEE bits in the MCR register. Update mtk_set_eee() to modify these bits accordingly. Fixes: d8315d5358d5 ("kernel: backport Mediatek SoC EEE support") Fixes: edddbaf79ccf ("kernel: Mediatek: set default EEE Tx LPI timer") Signed-off-by: Qingfang Deng <dqfext@gmail.com>
* rampis: revert fix tplink_mr200v1 wan interfaceMarius Durbaca2025-03-31
| | | | | | | | | This reverts commit 7aa3dfdbda829c04475cffbd6708f1ff96e4849b. As the kernel is now fixed with https://github.com/openwrt/openwrt/commit/ecd609f509f29ed1f75db5c7a623f359c64efb72 Signed-off-by: Marius Durbaca <mariusd84@gmail.com> Link: https://github.com/openwrt/openwrt/pull/18380 Signed-off-by: Robert Marko <robimarko@gmail.com>
* 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>
* generic: move backport patches 751-03 and 751-04 to pendingMieczyslaw Nalewaj2025-03-30
| | | | | | | | | | Patches 751-03 and 751-04 as a result of commit 6407ef8d2bcb4a0a6284de09cd77bd1868c1d6ea were incorrectly placed in the backport folder. So they return to their proper place. Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com> Link: https://github.com/openwrt/openwrt/pull/18253 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* generic: rename backport patch 752-03 to name with correct versionMieczyslaw Nalewaj2025-03-30
| | | | | | | | | | | Rename 752-03-v6.6-net-ethernet-mtk_eth_soc-rely-on-mtk_pse_port-defini.patch to 752-03-v6.7-net-ethernet-mtk_eth_soc-rely-on-mtk_pse_port-defini.patch because it is used since kernel 6.7 (https://lore.kernel.org/lkml/20231028011741.2400327-1-kuba@kernel.org/). Link: https://web.git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-6.7.y&id=5c33c09c89789ea45d2aac2471a28c9f90b04c95 Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com> Link: https://github.com/openwrt/openwrt/pull/18253 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* generic: rename backport patches to names containing versionMieczyslaw Nalewaj2025-03-30
| | | | | | | | | | | | | | | | | | | | | Rename 770-net-introduce-napi_is_scheduled-helper.patch to 770-v6.7-net-introduce-napi_is_scheduled-helper.patch because it is used since kernel 6.7 (https://lore.kernel.org/lkml/20231028011741.2400327-1-kuba@kernel.org/). Link: https://web.git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-6.7.y&id=7f3eb2174512fe6c9c0f062e96eccb0d3cc6d5cd Rename 751-01-STABLE-net-ethernet-mediatek-split-tx-and-rx-fields-in-mtk_.patch to 751-01-v6.8-net-ethernet-mediatek-split-tx-and-rx-fields-in-mtk_.patch because it is used since kernel 6.8.12 (https://lore.kernel.org/lkml/2024053036-matron-confess-13e0@gregkh/). Link: https://web.git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-6.8.y&id=b411384df5814fe6fd861d4869607577bcec73a1 Rename 751-02-STABLE-net-ethernet-mediatek-use-QDMA-instead-of-ADMAv2-on-.patch to 751-02-v6.8-net-ethernet-mediatek-use-QDMA-instead-of-ADMAv2-on-.patch because it is used since kernel 6.8.12 (https://lore.kernel.org/lkml/2024053036-matron-confess-13e0@gregkh/). Link: https://web.git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-6.8.y&id=0849f56b5146b70f2da328b1d178d0a3c53d6846 Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com> Link: https://github.com/openwrt/openwrt/pull/18253 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: prepare for ubootmod build of ASUS ZenWiFi BT8Daniel Golle2025-03-30
| | | | | | | Break out all flash-layout dependent parts from device tree into separate dtsi file to be used by both, stock layout and upcoming ubootmod variant. 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>
* kernel: move accepted patch from pending-6.6 to backport-6.6Rui Salvaterra2025-03-28
| | | | | | | 792-igc-enable-HW-vlan-tag-insertion-stripping-by-defaul.patch has been accepted for Linux 6.16. Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
* generic: fitblk: close block device if mapping image failedDaniel Golle2025-03-28
| | | | | | | | | | | In case a broken fit image is present on flash the fitblk driver would not map any /dev/fit* devices, but also not always close the block device the image resides on. In case of ubiblock devices this is fatal as one then cannot remove the ubiblock device (-EBUSY), and hence cannot replace the broken image. Always close the block device in case no sub-image was mapped. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* qualcommax: ipq60xx: add Linksys MR7500 supportWeikai Kong2025-03-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Codename: Divo Hardware specification: ======== SoC: Qualcomm IPQ6018 RAM: 512MB (2x ESMT 256MB DDR3L M15T2G16128A–DEBG2R) NAND Flash: 512MB (Macronix MX30UF4G18AC or SK Hynix H27S4G8F2EDA-BC) Ethernet: 1x 10/100/1000/2500/5000Mbps (Marvell AQR114C-B0) Ethernet: 4x 10/100/1000Mbps (Qualcomm QCA8075) WiFi1: 6GHz ax 4x4@20/40/160 MHz (Qualcomm QCN9024 + Skyworks SKY85784-11) - channels 33-229 WiFi2: 5GHz ax 2x2@20/40/80 MHz (Qualcomm QCN5052 + Skyworks SKY85755-11) - channels 36-177 WiFi3: 2.4GHz ax 2x2@20/40 MHz (Qualcomm QCN5022 + Skyworks SKY8340-11) IoT: Bluetooth 5 (CSR8811) - not implemented LED: 1x RGB status + USB Blue (PWM) USB: 1x USB 3.0 Button: WPS, Reset Flash instructions (Without Serial): ======== Open Linksys Web UI - http://192.168.1.1/ca or http://linksysxxxxx.lan/ca depending on your setup. xxxxx is the last 5 digits from the SN found on a sticker under the device. Click on the Linksys Logo to by-pass smart app registration. Login with your admin password. The default password can be found on the same sticker. To enter into the support mode, click on the “CA” link and the bottom of the page. Open the “Connectivity” menu and upload the squash-factory image with the “Choose file” button. Click start. Ignore all the prompts and warnings by click “yes” in all the popups. Flash instructions (With Serial): ======== 1. Installation using serial connection from OEM firmware (default login: root, password: admin): - fw_printenv -n boot_part In case of 2: - flash_erase /dev/mtd13 0 0 - nandwrite -p /dev/mtd13 openwrt-qualcommax-ipq60xx-linksys_mr7500-squashfs-factory.bin or in case of 1: - flash_erase /dev/mtd15 0 0 - nandwrite -p /dev/mtd15 openwrt-qualcommax-ipq60xx-linksys_mr7500-squashfs-factory.bin After first boot install firmware on second partition: - mtd -r -e kernel -n write openwrt-qualcommax-ipq60xx-linksys_mr7500-squashfs-factory.bin kernel or: - mtd -r -e alt_kernel -n write openwrt-qualcommax-ipq60xx-linksys_mr7500-squashfs-factory.bin alt_kernel 2. Installation from initramfs image using USB drive: Put the initramfs image on the USB drive: - dd bs=1M if=openwrt-qualcommax-ipq60xx-linksys_mr7500-initramfs-uImage.itb of=/dev/sda Stop u-boot and run: - usb start && usbboot $loadaddr 0 && bootm $loadaddr Write firmware to the flash from initramfs: - mtd -e kernel -n write openwrt-qualcommax-ipq60xx-linksys_mr7500-squashfs-factory.bin kernel and: - mtd -r -e alt_kernel -n write openwrt-qualcommax-ipq60xx-linksys_mr7500-squashfs-factory.bin alt_kernel 3. Back to the OEM firmware: - mtd -e kernel -n write FW_MR7500_1.1.12.211919_prod.img kernel and: - mtd -r -e alt_kernel -n write FW_MR7500_1.1.12.211919_prod.img alt_kernel 4. USB recovery: Put the initramfs image on the USB: - dd bs=1M if=openwrt-qualcommax-ipq60xx-linksys_mr7500-initramfs-uImage.itb of=/dev/sda Set u-boot env: - fw_setenv bootusb 'usb start && usbboot $loadaddr 0 && bootm $loadaddr' - fw_setenv bootcmd 'run bootusb; if test $auto_recovery = no; then bootipq; elif test $boot_part = 1; then run bootpart1; else run bootpart2; fi' AQR firmware: ======== 0. Firmware extracting: To extract the firmware, use unblob (unblob.org) 1. Firmware loading: To properly load the firmware and initialize AQR PHY, we must use the u-boot aq_load_fw function. To do this, you need to modify u-boot env: With USB recovery: - fw_setenv bootcmd 'aq_load_fw; run bootusb; if test $auto_recovery = no; then bootipq; elif test $boot_part = 1; then run bootpart1; else run bootpart2; fi' and without: - fw_setenv bootcmd 'aq_load_fw; if test $auto_recovery = no; then bootipq; elif test $boot_part = 1; then run bootpart1; else run bootpart2; fi' 2. Firmware updating: Newer firmware (AQR114C.cld) is available in the latest OEM firmware (https://downloads.linksys.com/support/assets/firmware/FW_MR7500_1.1.12.211919_prod.img). Copy AQR114C.cld to /lib/firmware/marvell Link: openwrt#17428 Signed-off-by: Weikai Kong <priv@pppig236.com> Link: https://github.com/openwrt/openwrt/pull/18185 Signed-off-by: Robert Marko <robimarko@gmail.com>