aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/ramips
Commit message (Collapse)AuthorAgeFilesLines
* kernel: bump 5.4 to 5.4.124Hauke Mehrtens2021-06-063-21/+3
| | | | | | | | | | | | | Manually rebased generic/hack-5.4/662-remove_pfifo_fast.patch ramips/patches-5.4/0048-asoc-add-mt7620-support.patch All others updated automatically. Compile-tested on: armvirt/64, x86/generic, ath79/generic, ramips/mt7621 Runtime-tested on: armvirt/64, x86/generic, ath79/generic Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* rampis: use lzma-loader for ZTE MF283+Lech Perczak2021-06-021-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | Without that, after merging support to master, the device fails to boot due to LZMA decompression error: 3: System Boot system code via Flash. raspi_read: from:80000 len:40 . Image Name: MIPS OpenWrt Linux-5.4.99 Created: 2021-02-25 23:35:00 UTC Image Type: MIPS Linux Kernel Image (lzma compressed) Data Size: 1786664 Bytes = 1.7 MB Load Address: 80000000 Entry Point: 80000000 raspi_read: from:80040 len:1b4328 ............................ Verifying Checksum ... OK Uncompressing Kernel Image ... LZMA ERROR 1 - must RESET board to recover Use lzma-loader to fix it. Fixes: 59d065c9f81c ("ramips: add support for ZTE MF283+") Signed-off-by: Lech Perczak <lech.perczak@gmail.com> (cherry picked from commit 410fb05b445c89a147029d1471e184a5594602db) Signed-off-by: Lech Perczak <lech.perczak@gmail.com>
* ramips: add support for ZTE MF283+Lech Perczak2021-06-024-0/+149
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ZTE MF283+ is a dual-antenna LTE category 4 router, based on Ralink RT3352 SoC, and built-in ZTE P685M PCIe MiniCard LTE modem. Hardware highlighs: - CPU: MIPS24KEc at 400MHz, - RAM: 64MB DDR2, - Flash: 16MB SPI, - Ethernet: 4 10/100M port switch with VLAN support, - Wireless: Dual-stream 802.11n (RT2860), with two internal antennas, - WWAN: Built-in ZTE P685M modem, with two internal antennas and two switching SMA connectors for external antennas, - FXS: Single ATA, with two connectors marked PHONE1 and PHONE2, internally wired in parallel by 0-Ohm resistors, handled entirely by internal WWAN modem. - USB: internal miniPCIe slot for modem, unpopulated USB A connector on PCB. - SIM slot for the WWAN modem. - UART connector for the console (unpopulated) at 3.3V, pinout: 1: VCC, 2: TXD, 3: RXD, 4: GND, settings: 57600-8-N-1. - LEDs: Power (fixed), WLAN, WWAN (RGB), phone (bicolor, controlled by modem), Signal, 4 link/act LEDs for LAN1-4. - Buttons: WPS, reset. Installation: As the modem is, for most of the time, provided by carriers, there is no possibility to flash through web interface, only built-in FOTA update and TFTP recovery are supported. There are two installation methods: (1) Using serial console and initramfs-kernel - recommended, as it allows you to back up original firmware, or (2) Using TFTP recovery - does not require disassembly. (1) Using serial console: To install OpenWrt, one needs to disassemble the router and flash it via TFTP by using serial console: - Locate unpopulated 4-pin header on the top of the board, near buttons. - Connect UART adapter to the connector. Use 3.3V voltage level only, omit VCC connection. Pin 1 (VCC) is marked by square pad. - Put your initramfs-kernel image in TFTP server directory. - Power-up the device. - Press "1" to load initramfs image to RAM. - Enter IP address chosen for the device (defaults to 192.168.0.1). - Enter TFTP server IP address (defaults to 192.168.0.22). - Enter image filename as put inside TFTP server - something short, like firmware.bin is recommended. - Hit enter to load the image. U-boot will store above values in persistent environment for next installation. - If you ever might want to return to vendor firmware, BACK UP CONTENTS OF YOUR FLASH NOW. For this router, commonly used by mobile networks, plain vendor images are not officially available. To do so, copy contents of each /dev/mtd[0-3], "firmware" - mtd3 being the most important, and copy them over network to your PC. But in case anything goes wrong, PLEASE do back up ALL OF THEM. - From under OpenWrt just booted, load the sysupgrade image to tmpfs, and execute sysupgrade. (2) Using TFTP recovery - Set your host IP to 192.168.0.22 - for example using: sudo ip addr add 192.168.0.22/24 dev <interface> - Set up a TFTP server on your machine - Put the sysupgrade image in TFTP server root named as 'root_uImage' (no quotes), for example using tftpd: cp openwrt-ramips-rt305x-zte_mf283plus-squashfs-sysupgrade.bin /srv/tftp/root_uImage - Power on the router holding BOTH Reset and WPS buttons held for around 5 seconds, until after WWAN and Signal LEDs blink. - Wait for OpenWrt to start booting up, this should take around a minute. Return to original firmware: Here, again there are two possibilities are possible, just like for installation: (1) Using initramfs-kernel image and serial console (2) Using TFTP recovery (1) Using initramfs-kernel image and serial console - Boot OpenWrt initramfs-kernel image via TFTP the same as for installation. - Copy over the backed up "firmware.bin" image of "mtd3" to /tmp/ - Use "mtd write /tmp/firmware.bin /dev/mtd3", where firmware.bin is your backup taken before OpenWrt installation, and /dev/mtd3 is the "firmware" partition. (2) Using TFTP recovery - Follow the same steps as for installation, but replacing 'root_uImage' with firmware backup you took during installation, or by vendor firmware obtained elsewhere. A few quirks of the device, noted from my instance: - Wired and wireless MAC addresses written in flash are the same, despite being in separate locations. - Power LED is hardwired to 3.3V, so there is no status LED per se, and WLAN LED is controlled by WLAN driver, so I had to hijack 3G/4G LED for status - original firmware also does this in bootup. - FXS subsystem and its LED is controlled by the modem, so it work independently of OpenWrt. Tested to work even before OpenWrt booted. I managed to open up modem's shell via ADB, and found from its kernel logs, that FXS and its LED is indeed controlled by modem. - While finding LEDs, I had no GPL source drop from ZTE, so I had to probe for each and every one of them manually, so this might not be complete - it looks like bicolor LED is used for FXS, possibly to support dual-ported variant in other device sharing the PCB. - Flash performance is very low, despite enabling 50MHz clock and fast read command, due to using 4k sectors throughout the target. I decided to keep it at the moment, to avoid breaking existing devices - I identified one potentially affected, should this be limited to under 4MB of Flash. The difference between sysupgrade durations is whopping 3min vs 8min, so this is worth pursuing. In vendor firmware, WWAN LED behaviour is as follows, citing the manual: - red - no registration, - green - 3G, - blue - 4G. Blinking indicates activity, so netdev trigger mapped from wwan0 to blue:wwan looks reasonable at the moment, for full replacement, a script similar to "rssileds" would need to be developed. Behaviour of "Signal LED" in vendor firmware is as follows: - Off - no signal, - Blinking - poor coverage - Solid - good coverage. A few more details on the built-in LTE modem: Modem is not fully supported upstream in Linux - only two CDC ports (DIAG and one for QMI) probe. I sent patches upstream to add required device IDs for full support. The mapping of USB functions is as follows: - CDC (QCDM) - dedicated to comunicating with proprietary Qualcomm tools. - CDC (PCUI) - not supported by upstream 'option' driver yet. Patch submitted upstream. - CDC (Modem) - Exactly the same as above - QMI - A patch is sent upstream to add device ID, with that in place, uqmi did connect successfully, once I selected correct PDP context type for my SIM (IPv4-only, not default IPv4v6). - ADB - self-explanatory, one can access the ADB shell with a device ID added to 51-android.rules like so: SUBSYSTEM!="usb", GOTO="android_usb_rules_end" LABEL="android_usb_rules_begin" SUBSYSTEM=="usb", ATTR{idVendor}=="19d2", ATTR{idProduct}=="1275", ENV{adb_user}="yes" ENV{adb_user}=="yes", MODE="0660", GROUP="plugdev", TAG+="uaccess" LABEL="android_usb_rules_end" While not really needed in OpenWrt, it might come useful if one decides to move the modem to their PC to hack it further, insides seem to be pretty interesting. ADB also works well from within OpenWrt without that. O course it isn't needed for normal operation, so I left it out of DEVICE_PACKAGES. Signed-off-by: Lech Perczak <lech.perczak@gmail.com> [remove kmod-usb-ledtrig-usbport, take merged upstream patches] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de> (cherry picked from commit 59d065c9f81c4d1a89464d071134a50529449f34) [Manually remove no longer needed patches for modem] Signed-off-by: Lech Perczak <lech.perczak@gmail.com>
* ramips: fix SUPPORTED_DEVICES for ALFA Network devicesPiotr Dymacz2021-05-173-0/+5
| | | | | | | | | Vendor firmware expects model name without manufacturer name inside 'supported_devices' part of metadata. This allows direct upgrade to OpenWrt from vendor's GUI. Signed-off-by: Piotr Dymacz <pepe2k@gmail.com> (cherry picked from commit cf3f1f82eaa95c72b3b2620c6da15a81f8d57ba7)
* kernel: bump 5.4 to 5.4.119Hauke Mehrtens2021-05-151-21/+0
| | | | | | | | | | | | | | | | | Removed because in upstream generic/backport-5.4/050-gro-fix-napi_gro_frags-Fast-GRO-breakage-due-to-IP-a.patch ath79/patches-5.4/0050-spi-ath79-remove-spi-master-setup-and-cleanup-assign.patch ramips/patches-5.4/999-fix-pci-init-mt7620.patch Manually rebased ath79/patches-5.4/0033-spi-ath79-drop-pdata-support.patch All others updated automatically. Compile-tested on: x86/64, ath79/generic Runtime-tested on: x86/64, ath79/generic Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* kernel: Activate FORTIFY_SOURCE for MIPS kernel 5.4Hauke Mehrtens2021-05-142-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | CONFIG_FORTIFY_SOURCE=y is already set in the generic kernel configuration, but it is not working for MIPS on kernel 5.4, support for MIPS was only added with kernel 5.5, other architectures like aarch64 support FORTIFY_SOURCE already since some time. This patch adds support for FORTIFY_SOURCE to MIPS with kernel 5.4, kernel 5.10 already supports this and needs no changes. This backports one patch from kernel 5.5 and one fix from 5.8 to make fortify source also work on our kernel 5.4. The changes are not compatible with the 306-mips_mem_functions_performance.patch patch which was also removed with kernel 5.10, probably because of the same problems. I think it is not needed anyway as the compiler should automatically optimize the calls to memset(), memcpy() and memmove() even when not explicitly telling the compiler to use the build in variant. This increases the size of an uncompressed kernel by less than 1 KB. Acked-by: Rosen Penev <rosenp@gmail.com> Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> (cherry picked from commit 9ffa2f8193a43b9044fcfd0e16b204e989b0d941)
* ramips: fix mac addresses of Youku YK1Shiji Yang2021-05-142-3/+4
| | | | | | | | | | | | | | | MAC addresses read from official firmware value location Wlan xx 71 de factory@0x04 Lan xx 71 dd factory@0x28 Wan xx 71 df factory@0x2e Label xx 71 dd factory@0x28 Signed-off-by: Shiji Yang <yangshiji66@qq.com> [fix sorting in 02_network, redact commit message] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de> (cherry picked from commit e57e460dc75836d3227e7370b9e64a0eabc9d91d)
* kernel: bump 5.4 to 5.4.114Hauke Mehrtens2021-05-021-3/+3
| | | | | | | | | | | | | | | | | | | | | | | Removed because in upstream* mvebu/patches-5.4/319-ARM-dts-turris-omnia-configure-LED-2--INTn-pin-as-interrupt-pin.patch Manually rebased* generic/backport-5.4/700-v5.5-net-core-allow-fast-GRO-for-skbs-with-Ethernet-heade.patch Added new backport* generic/backport-5.4/050-gro-fix-napi_gro_frags-Fast-GRO-breakage-due-to-IP-a.patch All others updated automatically. The new backport was included based on this[1] upstream commit that will be mainlined soon. This change is needed because Eric Dumazet's check for NET_IP_ALIGN (landed in 5.4.114) causes huge slowdowns on drivers which use napi_gro_frags(). Compile-tested on: x86/64, armvirt/64, ath79/generic Runtime-tested on: x86/64, armvirt/64, ath79/generic Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* ramips: mt7530 swconfig: fix race condition in register accessDENG Qingfang2021-04-181-6/+10
| | | | | | | | | | | | | | | | | The mt7530_{r,w}32 operation over MDIO uses 3 mdiobus operations and does not hold a lock, which causes a race condition when multiple threads try to access a register, they may get unexpected results. To avoid this, handle the MDIO lock manually, and use the unlocked __mdiobus_{read,write} in the critical section. This fixes the "Ghost VLAN" artifact[1] in MT7530/7621 when the VLAN operation and the swconfig LED link status poll race between each other. [1] https://forum.openwrt.org/t/mysterious-vlan-ids-on-mt7621-device/64495 Signed-off-by: DENG Qingfang <dqfext@gmail.com> (cherry picked from commit f99c9cd9c4d4c49a676d678327546fd41690fe2a)
* ramips: reduce spi-max-frequency for Xiaomi MI Router 4AGDavid Bentham2021-04-181-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Reduce spi-max-frequency for Xiaomi MI Router 4AG model Xiaomi MI Router 4AG MTD uses two flash chips (no specific on router versions when produced from factory) - GD25Q128C and W25Q128BV. These flash chips are capable of high frequency, but due to poor board design or manufacture process. We are seeing the following errors in the linux kernel bootup: `spi-nor spi0.0: unrecognized JEDEC id bytes: cc 60 1c cc 60 1c spi-nor: probe of spi0.0 failed with error -2` This causes the partitions not to be detected `VFS: Cannot open root device "(null)" or unknown-block(0,0): error -6` Then creates a bootloop and a bricked router. The solution to limit this race condition is to reduce the frequency from 80 mhz to 50 mhz. Signed-off-by: David Bentham <db260179@gmail.com> (cherry picked from commit 17e690017d76c49070bc99d6a376b1926259c5ff)
* ramips: Fix booting on MTC WR1201René van Dorst2021-04-181-0/+1
| | | | | | | | | This fixes the dreaded "lzma error 1" also reported on similar devices Ref: https://bugs.openwrt.org/index.php?do=details&task_id=3057 Fixes: FS#3057 Signed-off-by: René van Dorst <opensource@vdorst.com> (cherry picked from commit 12f3d1466ad783fded1747fa2ee521a9bea1ff73)
* ramips: Fix booting on MQmaker WiTi boardDaniel Engberg2021-04-181-0/+1
| | | | | | | | | This fixes the dreaded "lzma error 1" also reported on similar devices Ref: https://bugs.openwrt.org/index.php?do=details&task_id=3057 Fixes: FS#3057 Signed-off-by: Daniel Engberg <daniel.engberg.lists@pyret.net> (cherry picked from commit e83f7e5d76ebf74aa0a1f686d2941950fa5f22e2)
* ramips: rt305x: use lzma-loader for ZyXEL Keenetic Lite rev.BSzabolcs Hubai2021-04-181-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes boot loader LZMA decompression issue, reported by GitHub user KOLANICH at [0]. The reported LZMA ERROR has date of 2020-07-20, soon after the device support landed: Ralink UBoot Version: 3.5.2.4_ZyXEL .... 3: System Boot system code via Flash. Image Name: MIPS OpenWrt Linux-4.14.187 Created: 2020-07-20 3:39:11 UTC Image Type: MIPS Linux Kernel Image (lzma compressed) Data Size: 1472250 Bytes = 1.4 MB Load Address: 80000000 Entry Point: 80000000 Verifying Checksum ... OK Uncompressing Kernel Image ... LZMA ERROR 1 - must RESET board to recover [0] https://github.com/openwrt/openwrt/commit/fea232ae8feb6af780fd4fa78ebe9231778bf75a#commitcomment-45016560 Fixes: 4dc9ad4af8c921494d20b303b6772fc6b5af3a69 ("ramips: add support for ZyXEL Keenetic Lite Rev.B") Signed-off-by: Szabolcs Hubai <szab.hu@gmail.com> (cherry picked from commit dd3c1ad8ee9ee361285cb9142bdcb35bc3a30ac7)
* ramips: correct switch config of Youku yk1Shiji Yang2021-04-021-1/+4
| | | | | | | | | | | There are only two lan ports and one wan port on Youku yk1 Fixes: e9baf8265bb8 ("ramips: add support for Youku YK1") Signed-off-by: Shiji Yang <yangshiji66@qq.com> [add Fixes:] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de> (cherry picked from commit b88d2850c66d7dc937e570661a047c647c588af5)
* kernel: bump 5.4 to 5.4.108Hauke Mehrtens2021-03-271-2/+2
| | | | | | | | | Refreshed all patches. Compile-tested on: x86_64, ath79, lantiq Runtime-tested on: x86_64, ath79 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* ramips: add support for ELECOM WRC-1750GST2INAGAKI Hiroshi2021-03-222-0/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ELECOM WRC-1750GST2 is a 2.4/5 GHz band 11ac (Wi-Fi 5) router, based on MT7621A. Specification: - SoC : MediaTek MT7621A - RAM : DDR3 256 MiB (NT5CC128M16JR-EK) - Flash : SPI-NOR 32 MiB (MX25L25645GMI-08G) - WLAN : 2.4/5 GHz 3T3R (2x MediaTek MT7615) - Ethernet : 10/100/1000 Mbps x5 - Switch : MediaTek MT7530 (SoC) - LEDs/Keys : 4x/6x (2x buttons, 1x slide-switch) - UART : through-hole on PCB - J4: 3.3V, GND, TX, RX, from ethernet port side - 57600n8 - Power : 12 VDC, 1.5 A Flash instruction using factory image: 1. Boot WRC-1750GST2 normally with "Router" mode 2. Access to "http://192.168.2.1/" and open firmware update page ("ファームウェア更新") 3. Select the OpenWrt factory image and click apply ("適用") button 4. Wait ~120 seconds to complete flashing MAC addresses: LAN : 04:AB:18:xx:xx:23 (Factory, 0xE000 (hex)) WAN : 04:AB:18:xx:xx:24 (Factory, 0xE006 (hex)) 2.4GHz : 04:AB:18:xx:xx:25 (Factory, 0x4 (hex)) 5GHz : 04:AB:18:xx:xx:26 (Factory, 0x8004 (hex)) Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com> (cherry picked from commit b3ca1f30efd7bb96a22f72b766d302e552265276)
* kernel: bump 5.4 to 5.4.105Hauke Mehrtens2021-03-161-1/+1
| | | | | | | | | | | | | Refreshed all patches. The following patches were applied upstream: * 755-v5.8-net-dsa-add-GRO-support-via-gro_cells.patch * 831-v5.9-usbip-tools-fix-build-error-for-multiple-definition.patch Compile-tested on: x86_64, ipq40xx, ath79 Runtime-tested on: x86_64, ipq40xx, ath79 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* ramips: rename mtk-hsdma to hsdma-mt7621Ilya Lipnitskiy2021-03-151-2/+2
| | | | | | | | | | | | | Follows upstream rename: https://lore.kernel.org/driverdev-devel/20210130034507.2115280-1-ilya.lipnitskiy@gmail.com/ Fixes ramips builds on 5.4.102 Cc: John Audia <graysky@archlinux.us> Cc: David Bauer <mail@david-bauer.net> Cc: Petr Štetiar <ynezz@true.cz> Signed-off-by: Ilya Lipnitskiy <ilya.lipnitskiy@gmail.com> (cherry picked from commit 58ad113087b3db7567507202b94d94756056a455)
* kernel: bump 5.4 to 5.4.102Hauke Mehrtens2021-03-061-1/+1
| | | | | | | | | Refreshed all patches. Compile-tested on: ath79, lantiq, ipq40xx, x86_64 Runtime-tested on: ipq40xx, x86_64 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* ramips: mt7621: enable SX150x driverSander Vanheule2021-02-241-0/+1
| | | | | | | | | | | | | | | | | The Netgear R6800 and R6700v2 devices have a Semtech SX1503 GPIO expander controlling the device LEDs. This expander was initially supported on 4.14, but support was lost in the transition to 5.4. Since this driver cannot be built as a kernel module, enable it in the kernel config for all mt7621 devices. Run-tested on a Netgear R6800. Cc: Stijn Segers <foss@volatilesystems.org> Cc: Hauke Mehrtens <hauke@hauke-m.de> Signed-off-by: Sander Vanheule <sander@svanheule.net> Tested-by: Stijn Segers <foss@volatilesystems.org> (cherry picked from commit 773949c152f7378a303919e790210113012fea04)
* ramips: overwrite reset gpio properties in DIR-860L DTSStijn Segers2021-02-241-0/+3
| | | | | | | | | | | | | | | As suggested by Sergio, this adds GPIOs 19 and 8 explicitly into the DIR-860L DTS, so the PCI-E ports get reset and the N radio (radio1) on PCI-E port 1 comes up reliably. Fixes the following error that popped up in dmesg: [ 1.638942] mt7621-pci 1e140000.pcie: pcie1 no card, disable it (RST & CLK) Suggested-by: Sergio Paracuellos <sergio.paracuellos@gmail.com> Signed-off-by: Stijn Segers <foss@volatilesystems.org> Reviewed-by: Sergio Paracuellos <sergio.paracuellos@gmail.com> (cherry picked from commit 06356f00200639c48d95330e633965957b0347ab)
* ramips: fix Phicomm PSG1218A switch port labelsShiji Yang2021-02-221-1/+1
| | | | | | | | | The lan port sequence was reversed compared to the labels. Signed-off-by: Shiji Yang <yangshiji66@qq.com> [improve commit title/message] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de> (cherry picked from commit 567a88e4b99f9e1b647588de0319357e688ce016)
* ramips: correct/add Phicomm K2x WAN/label MAC addressShiji Yang2021-02-221-4/+4
| | | | | | | | | | | | | | | Phicomm K2G: add missing label_mac Phicomm PSG1218A & PSG1218B: The previous wan mac was set as factory@0x28 +1 (originally based on the default case for the ramips target), but the correct wan mac is factory@0x28 -1, being equal to factory@0x2e. Signed-off-by: Shiji Yang <yangshiji66@qq.com> [minor commit title/message adjustments] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de> (cherry picked from commit 55263ffedbe1d20f005febbc973a7353240d1741)
* ramips: overwrite reset gpio properties in EX6150 DTSStijn Segers2021-02-201-0/+3
| | | | | | | | | | | | | | | | The Netgear EX6150 can, just like the D-Link DIR-860L rev B1, fail to initialise both radios in some cases. Add the reset GPIOs explicitly so the PCI-E devices get re-initialised properly. See also FS #3632. Error shows up in dmesg as follows: [ 1.560764] mt7621-pci 1e140000.pcie: pcie1 no card, disable it (RST & CLK) Tested-by: Kurt Roeckx <kurt@roeckx.be> Signed-off-by: Stijn Segers <foss@volatilesystems.org> [removed period from commit title] Signed-off-by: David Bauer <mail@david-bauer.net> (cherry picked from commit af1b6799c6ec9af7a30d63a5ddfed20f443b991c)
* ramips: use lzma-loader for Wevo devicesSeo Suchan2021-02-191-0/+2
| | | | | | | | | | | As kernel size increased it start to fail to load squishfs image, using lzma-loader fixed it. wevo_11acnas is almost same device as w2914ns-v2 except ram size, so I expect same thing would've happen in that device too. Signed-off-by: Seo Suchan <abnoeh@mail.com> Reviewed-by: Sungbo Eo <mans0n@gorani.run> (cherry picked from commit ca6954e2dc3faa32eec54b93bda996c874409675)
* ramips: mt7621: add TP-Link EAP235-Wall supportSander Vanheule2021-02-193-0/+196
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The TP-Link EAP235-Wall is a wall-mounted, PoE-powered AC1200 access point with four gigabit ethernet ports. When connecting to the device's serial port, it is strongly advised to use an isolated UART adapter. This prevents linking different power domains created by the PoE power supply, which may damage your devices. The device's U-Boot supports saving modified environments with `saveenv`. However, there is no u-boot-env partition, and saving modifications will cause the partition table to be overwritten. This is not an issue for running OpenWrt, but will prevent the vendor FW from functioning properly. Device specifications: * SoC: MT7621DAT * RAM: 128MiB * Flash: 16MiB SPI-NOR * Wireless 2.4GHz (MT7603EN): b/g/n, 2x2 * Wireless 5GHz (MT7613BEN): a/n/ac, 2x2 * Ethernet: 4× GbE * Back side: ETH0, PoE PD port * Bottom side: ETH1, ETH2, ETH3 * Single white device LED * LED button, reset button (available for failsafe) * PoE pass-through on port ETH3 (enabled with GPIO) Datasheet of the flash chip specifies a maximum frequency of 33MHz, but that didn't work. 20MHz gives no errors with reading (flash dump) or writing (sysupgrade). Device mac addresses: Stock firmware uses the same MAC address for ethernet (on device label) and 2.4GHz wireless. The 5GHz wireless address is incremented by one. This address is stored in the 'info' ('default-mac') partition at an offset of 8 bytes. From OEM ifconfig: eth a4:2b:b0:...:88 ra0 a4:2b:b0:...:88 rai0 a4:2b:b0:...:89 Flashing instructions: * Enable SSH in the web interface, and SSH into the target device * run `cliclientd stopcs`, this should return "success" * upload the factory image via the web interface Debricking: U-boot can be interrupted during boot, serial console is 57600 baud, 8n1 This allows installing a sysupgrade image, or fixing the device in another way. * Access serial header from the side of the board, close to ETH3, pin-out is (1:TX, 2:RX, 3:GND, 4:3.3V), with pin 1 closest to ETH3. * Interrupt bootloader by holding '4' during boot, which drops the bootloader into its shell * Change default 'serverip' and 'ipaddr' variables (optional) * Download initramfs with `tftpboot`, and boot image with `bootm` # tftpboot 84000000 openwrt-initramfs.bin # bootm Revert to stock: Using the tplink-safeloader utility from the firmware-utils package, TP-Link's firmware image can be converted to an OpenWrt-compatible sysupgrade image: $ ./staging_dir/host/bin/tplink-safeloader -B EAP235-WALL-V1 \ -z EAP235-WALLv1_XXX_up_signed.bin -o eap235-sysupgrade.bin This can then be flashed using the OpenWrt sysupgrade interface. The image will appear to be incompatible and must be force flashed, without keeping the current configuration. Known issues: - DFS support is incomplete (known issue with MT7613) - MT7613 radio may stop responding when idling, reboot required. This was an issue with the ddc75ff704 version of mt76, but appears to have improved/disappeared with bc3963764d. Error notice example: [ 7099.554067] mt7615e 0000:02:00.0: Message 73 (seq 1) timeout Hardware was kindly provided for porting by Stijn Segers. Tested-by: Stijn Segers <foss@volatilesystems.org> Signed-off-by: Sander Vanheule <sander@svanheule.net> (cherry picked from commit 1e75909a35a2b361cdfdfcf18a26ad61271b174e)
* ramips: remove factory image for TP-Link Archer C20 v1Stijn Segers2021-02-191-0/+1
| | | | | | | | | | | | | Similarly to the Archer C2 v1, the Archer C20 v1 will brick when one tries to flash an OpenWrt factory image through the TP-Link web UI. The wiki page contains an explicit warning about this [1]. Disable the factory image altogether since it serves no purpose. [1] https://openwrt.org/toh/tp-link/tp-link_archer_c20_v1#installation Signed-off-by: Stijn Segers <foss@volatilesystems.org> (cherry picked from commit 0265cba40ad4f2b8ff4473ada123c35b53ffd97a)
* kernel: bump 5.4 to 5.4.99John Audia2021-02-191-4/+2
| | | | | | | | | | | Ran update_kernel.sh in a fresh clone without any existing toolchains. No manual changes needed. Build system: x86_64 Build-tested: bcm27xx/bcm2711 Signed-off-by: John Audia <graysky@archlinux.us> (cherry-picked from commit 5d3a6fd970)
* ramips: mark toggle input on EX6150 as a switchKurt Roeckx2021-02-151-0/+1
| | | | | | | | | The Netgear EX6150 has an Access Point/Extender switch. Set it as an EV_SW. Otherwise when it's set to Access Point, it will trigger failsafe mode during boot. Fixes: FS#3590 Signed-off-by: Kurt Roeckx <kurt@roeckx.be>
* ramips: manage low reset linesSander Vanheule2021-02-141-0/+47
| | | | | | | | | | | | The bootloader of a number of recent TP-Link devices does not properly initialise the MT7621's internal switch when booting from flash. To enable the mt7530 driver to clear the reset on the switch, the ramips reset controller must be allowed to toggle these. Backport upstream commit 3f9ef7785a9c from mips-next to allow control of the "mcm" reset line. Signed-off-by: Sander Vanheule <sander@svanheule.net>
* ramips: remove factory image for TP-Link Archer C2 v1Stijn Segers2021-02-131-0/+1
| | | | | | | | | | | | | | | | | | | Initial commit 8375623a0640 ("ramips: add support for TP-Link Archer C2") contains detailed installation instructions, which do not mention a factory image. From what I can see, no support to install OpenWrt through the vendor web interface has been added since. The factory image is also conspicuously absent from the device page in the wiki. Yet, it is available for download. I bricked my Archer C2 loading the factory image through the web UI. Serial showed this error during bootloop: Uncompressing Kernel Image ... LZMA ERROR 1 - must RESET board to recover This patch disables the undocumented factory image so users won't get tricked into thinking easy web UI flashing actually works. Signed-off-by: Stijn Segers <foss@volatilesystems.org>
* ramips: add support for ELECOM WRC-1167FSINAGAKI Hiroshi2021-02-114-0/+200
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ELECOM WRC-1167FS is a 2.4/5 GHz band 11ac (WiFi-5) router, based on MT7628AN. Specification: - SoC : MediaTek MT7628AN - RAM : DDR2 64 MiB (NT5TU32M16FG-AC) - Flash : SPI-NOR 16 MiB (W25Q128JVSIQ) - WLAN : 2.4/5 GHz 2T2R - 2.4 GHz : MediaTek MT7628AN (SoC) - 5 GHz : MediaTek MT7612E - Ethernet : 10/100 Mbps x2 - Switch : MT7628AN (SoC) - LEDs/Keys : 6x, 3x (2x buttons, 1x slide-switch) - UART : through-hole on PCB - J1: 3.3V, GND, TX, RX from "J1" marking - 57600n8 - Power : 12 VDC, 1 A Flash instruction using factory image: 1. Boot WRC-1167FS normally 2. Access to "http://192.168.2.1/" and open firmware update page ("ファームウェア更新") 3. Select the OpenWrt factory image and click apply ("適用") button to perform firmware update 4. Wait ~120 seconds to complete flashing Notes: - Last 0x800000 (8 MiB) in SPI-NOR flash is not used on stock firmware - Additional padding in factory image is required to avoid incomplete flashing on stock firmware MAC addresses: - LAN : BC:5C:4C:xx:xx:68 (Config, ethaddr (text) / Factory, 0x28 (hex)) - WAN : BC:5C:4C:xx:xx:69 (Config, wanaddr (text) / Factory, 0x22 (hex)) - 2.4GHz: BC:5C:4C:xx:xx:6A (Config, rmac (text) / Factory, 0x4 (hex)) - 5GHz : BC:5C:4C:xx:xx:6B (Config, rmac2 (text) / Factory, 0x8004 (hex)) Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
* target: use SPDX license identifiers on MakefilesAdrian Schmutzler2021-02-103-12/+5
| | | | | | Use SPDX license tags to allow machines to check licenses. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ramips: add support for Cudy WR1300Andrew Pikler2021-02-092-0/+205
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Specifications: - SoC: MediaTek MT7621AT - RAM: 128 MB (DDR3) - Flash: 16 MB (SPI NOR) - WiFi: MediaTek MT7603E, MediaTek MT7612E - Switch: 1 WAN, 4 LAN (Gigabit) - Ports: 1 USB 3.0 - Buttons: Reset, WPS - LEDs: Power, System, Wan, Lan 1-4, WiFi 2.4G, WiFi 5G, WPS, USB - Power: DC 12V 1A tip positive UART Serial: 115200 baud Located on unpopulated 4 pin header near J4: J4 [o] Rx [o] Tx [o] GND [ ] Vcc - Do not connect Installation: Download and flash the manufacturer's built OpenWRT image available at http://www.cudytech.com/openwrt_software_download Install the new OpenWRT image via luci (System -> Backup/Flash firmware) Be sure to NOT keep settings. The force upgrade may need to be checked due to differences in router naming conventions. Recovery: - Loads only signed manufacture firmware due to bootloader RSA verification - serve tftp-recovery image as /recovery.bin on 192.168.1.88/24 - connect to any lan ethernet port - power on the device while holding the reset button - wait at least 8 seconds before releasing reset button for image to download - See http://www.cudytech.com/newsinfo/547425.html MAC addresses as verified by OEM firmware: use address source LAN *:f0 label WAN *:f1 label + 1 2g *:f0 label 5g *:f2 label + 2 The label MAC address is found in bdinfo 0xde00. Signed-off-by: Andrew Pikler <andrew.pikler@gmail.com>
* ramips: add support for JCG Y2Chukun Pan2021-02-094-7/+152
| | | | | | | | | | | | | | | | | | | | | | | | JCG Y2 is an AC1300M router Hardware specs: SoC: MediaTek MT7621AT Flash: Winbond W25Q128JVSQ 16MiB RAM: Nanya NT5CB128M16 256MiB WLAN: 2.4/5 GHz 2T2R (1x MediaTek MT7615) Ethernet: 10/100/1000 Mbps x5 LED: POWER, INTERNET, 2.4G, 5G Button: Reset Power: DC 12V,1A Flash instructions: Upload factory.bin in stock firmware's upgrade page. MAC addresses map: 0x0004 *:c8 wlan2g/wlan5g/label 0xe000 *:c7 lan 0xe006 *:c6 wan Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
* ramips: disable default build for HooToo HT-TM02Szabolcs Hubai2021-02-071-0/+1
| | | | | | | | | | | | | | | | | | While the latest version of 19.07 release is usable, the current master is unbootable on the device in a normal way. "Normal way" installations includes: - sysupgrade (e.g. from 19.07) - RESET button recovery with Ron Curry's (Wingspinner) UBoot image (10.10.10.3 + "Kernal.bin") - RESET button recovery with original U-Boot (10.10.10.254 + "kernel") One could flash and boot the latest master sysupgrade image successfully with serial access to the device. But a sysupgrade from this state still breaks the U-Boot and soft-bricks the device. Signed-off-by: Szabolcs Hubai <szab.hu@gmail.com>
* ramips: mt7621: use preferred logic in lib/upgrade/iodata.shAdrian Schmutzler2021-02-071-3/+3
| | | | | | | shellcheck recommends || and && over "-a" and "-o" because the latter are not well defined. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ramips: add support for I-O DATA WN-DX1200GRINAGAKI Hiroshi2021-02-074-4/+222
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I-O DATA WN-DX1200GR is a 2.4/5 GHz band 11ac (WiFi-5) router, based on MT7621A. Specification: - SoC : MediaTek MT7621A - RAM : DDR3 128 MiB - Flash : raw NAND 128 MiB - WLAN : 2.4/5 GHz 2T2R - 2.4 GHz : MediaTek MT7603E - 5 GHz : MediaTek MT7613BE - Ethernet : 10/100/1000 Mbps x5 - Switch : MediaTek MT7530 (SoC) - LEDs/keys : 2x/3x (2x buttons, 1x slide-switch) - UART : through-hole on PCB - J5: 3.3V, TX, RX, NC, GND from triangle-mark - 57600n8 - Power : 12 VDC, 1 A Flash instruction using initramfs image: 1. Boot WN-DX1200GR normally 2. Access to "http://192.168.0.1/" and open firmware update page ("ファームウェア") 3. Select the OpenWrt initramfs image and click update ("更新") button to perform firmware update 4. On the initramfs image, perform sysupgrade with the squashfs-sysupgrade image 5. Wait ~120 seconds to complete flashing Notes: - currently, mt7615e driver in mt76 doesn't fully support MT7613 (MT7663) wifi chip - the eeprom data in flash is not used by mt7615e driver and the driver reports the tx-power up to 3dBm - the correct MAC address for MT7613BE in eeprom data cannot be assigned to the phy - last 0x80000 (512 KiB) in NAND flash is not used on stock firmware - stock firmware requires "customized uImage header" (called as "combo image") by MSTC (MitraStar Technology Corp.), but U-Boot doesn't - uImage magic ( 0x0 - 0x3 ) : 0x434F4D43 ("COMC") - header crc32 ( 0x4 - 0x7 ) : with "data length" and "data crc32" - image name (0x20 - 0x37) : model ID and firmware versions - data length (0x38 - 0x3b) : kernel + rootfs - data crc32 (0x3c - 0x3f) : kernel + rootfs MAC addresses: LAN: 50:41:B9:xx:xx:08 (Ubootenv, ethaddr (text) / Factory, 0x1E000 (hex)) WAN: 50:41:B9:xx:xx:0A (Factory, 0x1E006 (hex)) 2.4GHz: 50:41:B9:xx:xx:08 (Factory, 0x4 (hex)) 5GHz: 50:41:B9:xx:xx:09 (Factory, 0x8004 (hex)) Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com> [add check whether dflag_offset is set] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* build: move elx-header into image-commands.mkYanase Yuki2021-02-051-20/+0
| | | | | | | ELECOM WAB-I1750-PS will need this in ath79, so move it to common Makefile. Signed-off-by: Yanase Yuki <dev@zpc.sakura.ne.jp>
* ramips: replace full-text licenses by SPDX identifierAdrian Schmutzler2021-02-0512-269/+12
| | | | | | | | | | This replaces several full-text and abbreviated licenses found in DTS files by the corresponding SPDX identifiers. This should make it easier to identify the license both by humans and machines. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ramips: add support for UniElec U7621-01David Bentham2021-02-053-0/+174
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | UniElec U7621-01 is a router platform board, the smaller model of the U7621-06. The device has the following specifications: - MT7621AT (880 MHz) - 256 of RAM (DDR3) - 16 MB of FLASH (SPI NOR) - 5x 1 Gbps Ethernet (MT7621 built-in switch) - 1x 2.4Ghz MT7603E - 1x 5Ghz MT7612 - 1x miniPCIe slots (PCIe bus only) - 1x miniSIM slot - 1x USB 2.0 (uses the usb 3.0 driver) - 8x LEDs (1x GPIO-controlled) - 1x reset button - 1x UART header (4-pins) - 1x GPIO header (30-pins) - 1x DC jack for main power (12 V) The following has been tested and is working: - Ethernet switch - 1x 2.4Ghz MT7603E (wifi) - 1x 5Ghz MT7612 (wifi) - miniPCIe slots (tested with Wi-Fi cards and LTE modem cards) - miniSIM slot (works with normal size simcard) - sysupgrade - reset button Installation: This board has no locked down bootloader. The seller can be asked to install openwrt v18.06, so upgrades are standard sysupgrade method. Recovery: This board contains a Chinese, closed-source bootloader called Breed (Boot and Recovery Environment for Embedded Devices). Breed supports web recovery and to enter it, you keep the reset button pressed for around 5 seconds during boot. Your machine will be assigned an IP through DHCP and the router will use IP address 192.168.1.1. The recovery website is in Chinese, but is easy to use. Click on the second item in the list to access the recovery page, then the second item on the next page is where you select the firmware. In order to start the recovery, you click the button at the bottom. LEDs list (left to right): - ESW_P0_LED_0 - ESW_P1_LED_0 - ESW_P2_LED_0 - ESW_P3_LED_0 - ESW_P4_LED_0 - CTS2_N (GPIO10, configured as "status" LED) - LED_WLAN# (connected with pin 44 in wifi1 slot) Signed-off-by: David Bentham <db260179@gmail.com> [add DEVICE_VARIANT, fix DEVICE_PACKAGES, remove &gpio] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ramips: add support for Hi-Link HLK-7688AEwan Parker2021-02-054-0/+128
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Specifications: - SoC: MediaTek MT7688AN - RAM: 128 MB - Flash: 32 MB - Ethernet: 5x 10/100 (1x WAN, 4x LAN) - Wireless: built in 2.4GHz (bgn) - USB: 1x USB 2.0 port - Buttons: 1x Reset - LEDs: 1x (WiFi) Flash instructions: - Configure TFTP server with IP address 10.10.10.3 - Name the firmware file as firmware.bin - Connect any Ethernet port to the TFTP server's LAN - Choose option 2 in U-Boot - Alternatively choose option 7 to upload firmware to the built-in web server MAC addresses as verified by OEM firmware: use address source 2g *:XX factory 0x4 LAN *:XX+1 factory 0x28 WAN *:XX+1 factory 0x2e Notes: This board is ostensibly a module containing the MediaTek MT7688AN SoC, 128 MB DDR2 SDRAM and 32 MB flash storage. The SoC can be operated in IoT Gateway Mode or IoT Device Mode. From some vendors the U-Boot that comes installed operates on UART 2 which is inaccessible in gateway mode and operates unreliably in the Linux kernel when using more than 64 MB of RAM. For those, updating U-Boot is recommended. Signed-off-by: Ewan Parker <ewan@ewan.cc> [add WLAN to 01_leds] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ramips: add support for ELECOM WRC-2533GHBK-IINAGAKI Hiroshi2021-01-293-0/+218
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ELECOM WRC-2533GHBK-I is a 2.4/5 GHz band 11ac (Wi-Fi 5) router, based on MT7621A. Specification: - SoC : MediaTek MT7621A - RAM : DDR3 128 MiB - Flash : SPI-NOR 16 MiB - WLAN : 2.4/5 GHz 4T4R (2x MediaTek MT7615) - Ethernet : 10/100/1000 Mbps x5 - Switch : MediaTek MT7530 (SoC) - LED/keys : 4x/3x (2x buttons, 1x slide-switch) - UART : through-hole on PCB - J4: 3.3V, RX, GND, TX from SoC side - 57600n8 - Power : 12VDC, 1.5A Flash instruction using factory image: 1. Boot WRC-2533GHBK-I normally 2. Access to "http://192.168.2.1/" and open firmware update page ("ファームウェア更新") 3. Select the OpenWrt factory image and click apply ("適用") button 4. Wait ~150 seconds to complete flashing MAC addresses: LAN : BC:5C:4C:xx:xx:89 (Config, ethaddr (text)) WAN : BC:5C:4C:xx:xx:88 (Config, wanaddr (text)) 2.4GHz : BC:5C:4C:xx:xx:8A (Factory, 0x4 (hex)) 5GHz : BC:5C:4C:xx:xx:8B (Factory, 0x8004 (hex)) Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com> Reviewed-by: Sungbo Eo <mans0n@gorani.run>
* ramips: remove generic profilesAdrian Schmutzler2021-01-275-89/+0
| | | | | | | | | | | | | On a platform with many very different devices, like found on ramips, the generic profiles seem like remnants of the past that do not have a real use anymore. Remove them to have one thing less to maintain. Actually, rt288x didn't have a default profile in the first place. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de> Acked-by: Paul Spooren <mail@aparcar.org>
* ramips: use lzma-loader on zbtlink devicesFelix Fietkau2021-01-271-0/+3
| | | | | | Fixes boot loader LZMA decompression issues Signed-off-by: Felix Fietkau <nbd@nbd.name>
* treewide: provide global default for SUPPORTED_DEVICESAdrian Schmutzler2021-01-231-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The majority of our targets provide a default value for the variable SUPPORTED_DEVICES, which is used in images to check against the compatible on a running device: SUPPORTED_DEVICES := $(subst _,$(comma),$(1)) At the moment, this is implemented in the Device/Default block of the individual targets or even subtargets. However, since we standardized device names and compatible in the recent past, almost all targets are following the same scheme now: device/image name: vendor_model compatible: vendor,model The equal redundant definitions are a symptom of this process. Consequently, this patch moves the definition to image.mk making it a global default. For the few targets not using the scheme above, SUPPORTED_DEVICES will be defined to a different value in Device/Default anyway, overwriting the default. In other words: This change is supposed to be cosmetic. This can be used as a global measure to get the current compatible with: $(firstword $(SUPPORTED_DEVICES)) (Though this is not precisely an achievement of this commit.) Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* kernel: mtdsplit_uimage: replace "edimax, uimage" parserBjørn Mork2021-01-227-7/+28
| | | | | | | | The "edimax,uimage"" parser can be replaced by the generic parser using device specific openwrt,partition-magic and openwrt,offset properties. Signed-off-by: Bjørn Mork <bjorn@mork.no>
* kernel: mtdsplit_uimage: replace "openwrt, okli" parserBjørn Mork2021-01-221-1/+3
| | | | | | | | | The only difference between the "openwrt,okli" and the generic parser is the magic. Set this in device tree for all affected devices and remove the "openwrt,okli" parser. Tested-by: Michael Pratt <mcpratt@protonmail.com> # EAP300 v2, ENS202EXT and ENH202 Signed-off-by: Bjørn Mork <bjorn@mork.no>
* kernel: mtdsplit_uimage: replace "fonfxc" and "sge" parsersBjørn Mork2021-01-223-4/+8
| | | | | | | | Convert users of the "fonfxc" and "sge" parsers to the generic "openwrt,uimage", using device specific "openwrt,padding" properties. Tested-by: Stijn Segers <foss@volatilesystems.org> [DIR-878 A1] Signed-off-by: Bjørn Mork <bjorn@mork.no>
* ramips: fix port labels for Xiaomi Mi Router 4Adrian Schmutzler2021-01-211-2/+2
| | | | | | | | The OEM assignment of LAN ports is swapped. Fixes: c2a7bb520a0f ("ramips: mt7621: add support for Xiaomi Mi Router 4") Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>