aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/ramips
Commit message (Collapse)AuthorAgeFilesLines
* ramips: enable additional UART on MikroTik RouterBOARD M33GPhilipp Borgers2021-06-051-0/+4
| | | | | | | The RouterBOARD M33G has an additional UART that should be enabled by default. Signed-off-by: Philipp Borgers <borgers@mi.fu-berlin.de>
* ramips: add support for Wavlink WL-WN578A2Thomas Aldrian2021-05-284-3/+182
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit adds support for the Wavlink WL-WN578A2 dual-band wall-plug wireless router. This device is also sold under the name SilverCrest SWV 733 A2. Device Specifications: - CPU: MediaTek MT7628AN (580MHz) - Flash: 8MB - RAM: 64MB - Bootloader: U-Boot - Ethernet: 2x 10/100 Mbps - 2.4 GHz: 802.11b/g/n SoC - 5 GHz: 802.11a/n/ac MT7610E - Antennas: internal - 4 green LEDs: WPS/Power, LAN, WAN, wifi-low, wifi-med, wifi-high - Buttons: Reset, WPS - Sliding mode switch: AP, repeater, client - Small sliding power switch Flashing instructions: U-Boot launches TFTP client if WPS button is pressed during power-on. Configure as follows: - Server IP: 192.168.10.100 - Filename (rename sysupgrade file to this): firmware.bin Flashing should not take more than a minute, device will reboot automatically. Signed-off-by: Thomas Aldrian <dev.aldrian@gmail.com>
* ramips: add support for JCG Q20Chukun Pan2021-05-265-0/+198
| | | | | | | | | | | | | | | | | | | | | | | | | JCG Q20 is an AX 1800M router. Hardware specs: SoC: MediaTek MT7621AT Flash: Winbond W29N01HV 128 MiB RAM: Winbond W632GU6NB-11 256 MiB WiFi: MT7915 2.4/5 GHz 2T2R Ethernet: 10/100/1000 Mbps x3 LED: Status (red / blue) Button: Reset, WPS Power: DC 12V,1A Flash instructions: Upload factory.bin in stock firmware's upgrade page, do not preserve settings. MAC addresses map: 0x00004 *:3e wlan2g/wlan5g 0x3fff4 *:3c lan/label 0x3fffa *:3c wan Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
* ramips: add support for cudy WR2100Leon M. George2021-05-263-0/+218
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Specifications SoC: MT7621 CPU: 880 MHz Flash: 16 MiB RAM: 128 MiB WLAN: 2.4 GHz b/g/n, 5 GHz a/n/ac MT7603E / MT7615E Ethernet: 5x Gbit ports Installation There are two known options: 1) The Luci-based UI. 2) Press and hold the reset button during power up. The router will request 'recovery.bin' from a TFTP server at 192.168.1.88. Both options require a signed firmware binary. The openwrt image supplied by cudy is signed and can be used to install unsigned images. R4 & R5 need to be shorted (0-100Ω) for the UART to work. Signed-off-by: Leon M. George <leon@georgemail.eu> [remove non-required switch-port node - remove trgmii phy-mode] Signed-off-by: David Bauer <mail@david-bauer.net>
* ramips: add support for TP-Link Archer C6U v1 (EU)Georgi Vlaev2021-05-263-1/+229
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds support for TP-Link Archer C6U v1 (EU). The device is also known in some market as Archer C6 v3. This patch supports only Archer C6U v1 (EU). Specifications: -------------- * SoC: Mediatek MT7621AT 2C2T, 880MHz * RAM: 128MB DDR3 * Flash: 16MB SPI NOR flash (Winbond 25Q128) * WiFi 5GHz: Mediatek MT7613BEN (2x2:2) * WiFi 2.4GHz: Mediatek MT7603EN (2x2:2) * Ethernet: MT7630, 5x 1000Base-T. * LED: Power, WAN, LAN, WiFi 2GHz and 5GHz, USB * Buttons: Reset, WPS. * UART: Serial console (115200 8n1), J1(GND:3) * USB: One USB2 port. Installation: ------------ Install the OpenWrt factory image for C6U is from the TP-Link web interface. 1) Go to "Advanced/System Tools/Firmware Update". 2) Click "Browse" and upload the OpenWrt factory image: openwrt-ramips-mt7621-tplink_archer-c6u-v1-squashfs-factory.bin. 3) Click the "Upgrade" button, and select "Yes" when prompted. Recovery to stock firmware: -------------------------- The C6U bootloader has a failsafe mode that provides a web interface (running at 192.168.0.1) for reverting back to the stock TP-Link firmware. The failsafe interface is triggered from the serial console or on failed kernel boot. Unfortunately, there's no key combination that enables the failsafe mode. This gives us two options for recovery: 1) Recover using the serial console (J1 header). The recovery interface can be selected by hitting 'x' when prompted on boot. 2) Trigger the bootloader failsafe mode. A more dangerous option is force the bootloader into recovery mode by erasing the OpenWrt partition from the OpenWrt's shell - e.g "mtd erase firmware". Please be careful, since erasing the wrong partition can brick your device. MAC addresses: ------------- OEM firmware configuration: D8:07:B6:xx:xx:83 : 5G D8:07:B6:xx:xx:84 : LAN (label) D8:07:B6:xx:xx:84 : 2.4G D8:07:B6:xx:xx:85 : WAN Signed-off-by: Georgi Vlaev <georgi.vlaev@konsulko.com>
* ramips: add support for TP-Link Archer A6 v3Vinay Patil2021-05-263-0/+205
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The patch adds support for the TP-Link Archer A6 v3 The router is sold in US and India with FCC ID TE7A6V3 Specification ------------- MediaTek MT7621 SOC RAM: 128MB DDR3 SPI Flash: W25Q128 (16MB) Ethernet: MT7530 5x 1000Base-T WiFi 5GHz: Mediatek MT7613BE WiFi 2.4GHz: Mediatek MT7603E UART/Serial: 115200 8n1 Device Configuration & Serial Port Pins --------------------------------------- ETH Ports: LAN4 LAN3 LAN2 LAN1 WAN _______________________ | | Serial Pins: | VCC GND TXD RXD | |_____________________| LEDs: Power Wifi2G Wifi5G LAN WAN Build Output ------------ The build will generate following set of files [1] openwrt-ramips-mt7621-tplink_archer-a6-v3-initramfs-kernel.bin [2] openwrt-ramips-mt7621-tplink_archer-a6-v3-squashfs-factory.bin [3] openwrt-ramips-mt7621-tplink_archer-a6-v3-squashfs-sysupgrade.bin How to Use - Flashing from TP-Link Web Interface ------------------------------------------------ * Go to "Advanced/System Tools/Firmware Update". * Click "Browse" and upload the OpenWrt factory image: factory.bin[2] * Click the "Upgrade" button, and select "Yes" when prompted. TFTP Booting ------------ Setup a TFTP boot server with address 192.168.0.5. While starting U-boot press '4' key to stop autoboot. Copy the initramfs-kernel.bin[1] to TFTP server folder, rename as test.bin From u-boot command prompt run tftpboot followed by bootm. Recovery -------- Archer A6 V3 has recovery page activated if SPI booting from flash fails. Recovery page can be activated from serial console only. Press 'x' while u-boot is starting Note: TFTP boot can be activated only from u-boot serial console. Device recovery address: 192.168.0.1 Thanks to: Frankis for Randmon MAC address fix. Signed-off-by: Vinay Patil <post2vinay@gmail.com> [remove superfluous factory image definition, whitespacing] Signed-off-by: David Bauer <mail@david-bauer.net>
* kernel: bump 5.4 to 5.4.119John Audia2021-05-231-21/+0
| | | | | | | | | | | | | | | | | | | Removed upstreamed: generic/backport-5.4/050-gro-fix-napi_gro_frags-Fast-GRO-breakage-due-to-IP-a.patch bcm63xx/patches-5.4/434-nand-brcmnand-fix-OOB-R-W-with-Hamming-ECC.patch* Removed/code was included upstream and therefore redundant: ramips/patches-5.4/999-fix-pci-init-mt7620.patch All other patches automatically rebased. * update_kernel.sh did not flag this yet it was included in 5.4.119[1], as a result of the rebase, I removed my testing lines since I did not go back to test built or to run test 5.4.119 with the removed patch present. 1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.4.119&id=e5b3e69eb36ac1178a7a2392616fd29afd288c4e Signed-off-by: John Audia <graysky@archlinux.us>
* ramips: fix SUPPORTED_DEVICES for ALFA Network devicesPiotr Dymacz2021-05-163-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>
* kernel: bump 5.10 to 5.10.37Rui Salvaterra2021-05-141-21/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Automatically refreshed: ath79/patches-5.10/0032-MIPS-ath79-sanitize-symbols.patch bcm63xx/patches-5.10/322-MIPS-BCM63XX-switch-to-IRQ_DOMAIN.patch bcm63xx/patches-5.10/434-nand-brcmnand-fix-OOB-R-W-with-Hamming-ECC.patch bmips/patches-5.10/001-v5.11-mips-bmips-select-ARCH_HAS_RESET_CONTROLLER.patch bmips/patches-5.10/041-v5.13-mtd-rawnand-brcmnand-fix-OOB-R-W-with-Hamming-ECC.patch bmips/patches-5.10/202-mips-bmips-disable-ARCH_HAS_SYNC_DMA_FOR_CPU_ALL.patch bmips/patches-5.10/600-mips-bmips-add-pci-support.patch generic/backport-5.10/103-v5.13-MIPS-select-CPU_MIPS64-for-remaining-MIPS64-CPUs.patch generic/hack-5.10/301-mips_image_cmdline_hack.patch generic/hack-5.10/402-mtd-blktrans-call-add-disks-after-mtd-device.patch generic/hack-5.10/902-debloat_proc.patch generic/pending-5.10/300-mips_expose_boot_raw.patch generic/pending-5.10/495-mtd-core-add-get_mtd_device_by_node.patch generic/pending-5.10/630-packet_socket_type.patch ipq806x/patches-5.10/0072-add-ipq806x-with-no-clocks.patch ipq806x/patches-5.10/099-1-mtd-nand-raw-qcom_nandc-add-boot_layout_mode-support.patch lantiq/patches-5.10/0001-MIPS-lantiq-add-pcie-driver.patch lantiq/patches-5.10/0023-NET-PHY-add-led-support-for-intel-xway.patch lantiq/patches-5.10/0152-lantiq-VPE.patch Deleted (reverse-appliable): bmips/patches-5.10/052-v5.13-gpio-guard-gpiochip_irqchip_add_domain-with-GPIOLIB_.patch generic/backport-5.10/499-v5.13-mtd-don-t-lock-when-recursively-deleting-partitions.patch Deleted (alternative upstream fix): ramips/patches-5.10/330-fix-pci-init-mt7620.patch Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
* build: introduce $(MKHASH)Leonardo Mörlein2021-05-133-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Before this commit, it was assumed that mkhash is in the PATH. While this was fine for the normal build workflow, this led to some issues if make TOPDIR="$(pwd)" -C "$pkgdir" compile was called manually. In most of the cases, I just saw warnings like this: make: Entering directory '/home/.../package/gluon-status-page' bash: line 1: mkhash: command not found bash: line 1: mkhash: command not found bash: line 1: mkhash: command not found bash: line 1: mkhash: command not found bash: line 1: mkhash: command not found bash: line 1: mkhash: command not found bash: line 1: mkhash: command not found bash: line 1: mkhash: command not found [...] While these were only warnings and the package still compiled sucessfully, I also observed that some package even fail to build because of this. After applying this commit, the variable $(MKHASH) is introduced. This variable points to $(STAGING_DIR_HOST)/bin/mkhash, which is always the correct path. Signed-off-by: Leonardo Mörlein <me@irrelefant.net>
* ramips: fix mac addresses of Youku YK1Shiji Yang2021-05-102-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>
* ramips: use standard naming scheme for Zyxel NR7101 LED nodesAdrian Schmutzler2021-05-101-7/+7
| | | | | | | Make naming and DT label consistent with other devices at this target. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ramips: mt7621: Add support for ZyXEL NR7101Bjørn Mork2021-05-096-0/+203
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The ZyXEL NR7101 is an 802.3at PoE powered 5G outdoor (IP68) CPE with integrated directional 5G/LTE antennas. Specifications: - SoC: MediaTek MT7621AT - RAM: 256 MB - Flash: 128 MB MB NAND (MX30LF1G18AC) - WiFi: MediaTek MT7603E - Switch: 1 LAN port (Gigabiti) - 5G/LTE: Quectel RG502Q-EA connected by USB3 to SoC - SIM: 2 micro-SIM slots under transparent cover - Buttons: Reset, WLAN under same cover - LEDs: Multicolour green/red/yellow under same cover (visible) - Power: 802.3at PoE via LAN port The device is built as an outdoor ethernet to 5G/LTE bridge or router. The Wifi interface is intended for installation and/or temporary management purposes only. UART Serial: 57600N1 Located on populated 5 pin header J5: [o] GND [ ] key - no pin [o] RX [o] TX [o] 3.3V Vcc Remove the SIM/button/LED cover, the WLAN button and 12 screws holding the back plate and antenna cover together. The GPS antenna is fixed to the cover, so be careful with the cable. Remove 4 screws fixing the antenna board to the main board, again being careful with the cables. A bluetooth TTL adapter is recommended for permanent console access, to keep the router water and dustproof. The 3.3V pin is able to power such an adapter. MAC addresses: OpenWrt OEM Address Found as lan eth2 08:26:97:*:*:BC Factory 0xe000 (hex), label wlan0 ra0 08:26:97:*:*:BD Factory 0x4 (hex) wwan0 usb0 random WARNING!! ISP managed firmware might at any time update itself to a version where all known workarounds have been disabled. Never boot an ISP managed firmware with a SIM in any of the slots if you intend to use the router with OpenWrt. The bootloader lock can only be disabled with root access to running firmware. The flash chip is physically inaccessible without soldering. Installation from OEM web GUI: - Log in as "supervisor" on https://172.17.1.1/ - Upload OpenWrt initramfs-recovery.bin image on the Maintenance -> Firmware page - Wait for OpenWrt to boot and ssh to root@192.168.1.1 - (optional) Copy OpenWrt to the recovery partition. See below - Sysupgrade to the OpenWrt sysupgrade image and reboot Installation from OEM ssh: - Log in as "root" on 172.17.1.1 port 22022 - scp OpenWrt initramfs-recovery.bin image to 172.17.1.1:/tmp - Prepare bootloader config by running: nvram setro uboot DebugFlag 0x1 nvram setro uboot CheckBypass 0 nvram commit - Run "mtd_write -w write initramfs-recovery.bin Kernel" and reboot - Wait for OpenWrt to boot and ssh to root@192.168.1.1 - (optional) Copy OpenWrt to the recovery partition. See below - Sysupgrade to the OpenWrt sysupgrade image and reboot Copying OpenWrt to the recovery partition: - Verify that you are running a working OpenWrt recovery image from flash - ssh to root@192.168.1.1 and run: fw_setenv CheckBypass 0 mtd -r erase Kernel2 - Wait while the bootloader mirrors Image1 to Image2 NOTE: This should only be done after successfully booting the OpenWrt recovery image from the primary partition during installation. Do not do this after having sysupgraded OpenWrt! Reinstalling the recovery image on normal upgrades is not required or recommended. Installation from Z-Loader: - Halt boot by pressing Escape on console - Set up a tftp server to serve the OpenWrt initramfs-recovery.bin image at 10.10.10.3 - Type "ATNR 1,initramfs-recovery.bin" at the "ZLB>" prompt - Wait for OpenWrt to boot and ssh to root@192.168.1.1 - Sysupgrade to the OpenWrt sysupgrade image NOTE: ATNR will write the recovery image to both primary and recovery partitions in one go. Booting from RAM: - Halt boot by pressing Escape on console - Type "ATGU" at the "ZLB>" prompt to enter the U-Boot menu - Press "4" to select "4: Entr boot command line interface." - Set up a tftp server to serve the OpenWrt initramfs-recovery.bin image at 10.10.10.3 - Load it using "tftpboot 0x88000000 initramfs-recovery.bin" - Boot with "bootm 0x8800017C" to skip the 380 (0x17C) bytes ZyXEL header This method can also be used to RAM boot OEM firmware. The warning regarding OEM applies! Never boot an unknown OEM firmware, or any OEM firmware with a SIM in any slot. NOTE: U-Boot configuration is incomplete (on some devices?). You may have to configure a working mac address before running tftp using "setenv eth0addr <mac>" Unlocking the bootloader: If you are unebale to halt boot, then the bootloader is locked. The OEM firmware locks the bootloader on every boot by setting DebugFlag to 0. Setting it to 1 is therefore only temporary when OEM firmware is installed. - Run "nvram setro uboot DebugFlag 0x1; nvram commit" in OEM firmware - Run "fw_setenv DebugFlag 0x1" in OpenWrt NOTE: OpenWrt does this automatically on first boot if necessary NOTE2: Setting the flag to 0x1 avoids the reset to 0 in known OEM versions, but this might change. WARNING: Writing anything to flash while the bootloader is locked is considered extremely risky. Errors might cause a permanent brick! Enabling management access from LAN: Temporary workaround to allow installing OpenWrt if OEM firmware has disabled LAN management: - Connect to console - Log in as "root" - Run "iptables -I INPUT -i br0 -j ACCEPT" Notes on the OEM/bootloader dual partition scheme The dual partition scheme on this device uses Image2 as a recovery image only. The device will always boot from Image1, but the bootloader might copy Image2 to Image1 under specific conditions. This scheme prevents repurposing of the space occupied by Image2 in any useful way. Validation of primary and recovery images is controlled by the variables CheckBypass, Image1Stable, and Image1Try. The bootloader sets CheckBypass to 0 and reboots if Image1 fails validation. If CheckBypass is 0 and Image1 is invalid then Image2 is copied to Image1. If CheckBypass is 0 and Image2 is invalid, then Image1 is copied to Image2. If CheckBypass is 1 then all tests are skipped and Image1 is booted unconditionally. CheckBypass is set to 1 after each successful validation of Image1. Image1Try is incremented if Image1Stable is 0, and Image2 is copied to Image1 if Image1Try is 3 or larger. But the bootloader only tests Image1Try if CheckBypass is 0, which is impossible unless the booted image sets it to 0 before failing. The system is therefore not resilient against runtime errors like failure to mount the rootfs, unless the kernel image sets CheckBypass to 0 before failing. This is not yet implemented in OpenWrt. Setting Image1Stable to 1 prevents the bootloader from updating Image1Try on every boot, saving unnecessary writes to the environment partition. Keeping an OpenWrt initramfs recovery as Image2 is recommended primarily to avoid unwanted OEM firmware boots on failure. Ref the warning above. It enables console-less recovery in case of some failures to boot from Image1. Signed-off-by: Bjørn Mork <bjorn@mork.no>
* treewide: consolidate named GPIO patch into hack-5.10Ilya Lipnitskiy2021-05-091-165/+0
| | | | | | | | | ath79, lantiq, ipq40xx, ramips all use the OpenWrt-specific gpio-export functionality. Consolidate the patch that adds it under hack-5.10 since this logic is obviously not target-specific. For those who want to disable it, unsetting CONFIG_GPIO_SYSFS symbol will disable this code. Signed-off-by: Ilya Lipnitskiy <ilya.lipnitskiy@gmail.com>
* kernel: Activate FORTIFY_SOURCE for MIPS kernel 5.4Hauke Mehrtens2021-04-302-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>
* kernel: backport mtk_soc_eth fixes from v5.13Ilya Lipnitskiy2021-04-301-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes logic that leads to this error when booting mt7621 and other devices that use the mediatek ethernet driver: [ 23.144378] mtk_soc_eth 1e100000.ethernet: PPE table busy The rest are mostly moved from pending-5.10 to backport-5.10 with a couple of cleanups and improvements from upstream. Refresh patches. Links: https://git.kernel.org/netdev/net-next/c/c5d66587b890 https://git.kernel.org/netdev/net-next/c/3f57d8c40fea https://git.kernel.org/netdev/net-next/c/5196c4178549 https://git.kernel.org/netdev/net-next/c/787082ab9f7b https://git.kernel.org/netdev/net-next/c/c30c4a827390 https://git.kernel.org/netdev/net-next/c/3630d519d7c3 https://git.kernel.org/netdev/net-next/c/16ef670789b2 https://git.kernel.org/netdev/net-next/c/59555a8d0dd3 https://git.kernel.org/netdev/net-next/c/6b4423b258b9 https://git.kernel.org/netdev/net-next/c/e9229ffd550b https://git.kernel.org/netdev/net-next/c/4e6bf609569c https://git.kernel.org/netdev/net-next/c/816ac3e6e67b https://git.kernel.org/netdev/net-next/c/16769a8923fa https://git.kernel.org/netdev/net-next/c/db2c7b353db3 https://git.kernel.org/netdev/net-next/c/fa817272c37e https://git.kernel.org/netdev/net-next/c/3bc8e0aff23b Fixes: f07fe36f22fc ("kernel: update flow offload patches to upstream version") Cc: Felix Fietkau <nbd@nbd.name> Signed-off-by: Ilya Lipnitskiy <ilya.lipnitskiy@gmail.com>
* kernel: bump 5.4 to 5.4.114John Audia2021-04-301-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | 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(). Build system: x86_64 Build-tested: ipq806x/R7800 Run-tested: ipq806x/R7800 No dmesg regressions, everything functional *Credit to Alexander Lobakin 1. https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net.git/commit/?id=7ad18ff6449cbd6beb26b53128ddf56d2685aa93 Signed-off-by: John Audia <graysky@archlinux.us>
* kernel: bump 5.10 to 5.10.32Rui Salvaterra2021-04-221-3/+3
| | | | | | | | | | | | | | | | | | | | Deleted (reverse-appliable): mediatek/patches-5.10/360-mtd-rawnand-mtk-Fix-WAITRDY-break-condition-and-time.patch Automatically refreshed: ath79/patches-5.10/0036-GPIO-add-named-gpio-exports.patch generic/backport-5.10/600-v5.12-net-extract-napi-poll-functionality-to-__napi_poll.patch generic/backport-5.10/601-v5.12-net-implement-threaded-able-napi-poll-loop-support.patch generic/backport-5.10/602-v5.12-net-add-sysfs-attribute-to-control-napi-threaded-mod.patch generic/backport-5.10/603-v5.12-net-fix-race-between-napi-kthread-mode-and-busy-poll.patch generic/pending-5.10/600-netfilter_conntrack_flush.patch generic/pending-5.10/613-netfilter_optional_tcp_window_check.patch generic/pending-5.10/680-NET-skip-GRO-for-foreign-MAC-addresses.patch generic/pending-5.10/768-net-dsa-mv88e6xxx-Request-assisted-learning-on-CPU-port.patch lantiq/patches-5.10/0030-GPIO-add-named-gpio-exports.patch ramips/patches-5.10/800-GPIO-add-named-gpio-exports.patch Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
* treewide: switch the timer frequency to 100 HzRui Salvaterra2021-04-2112-24/+0
| | | | | | | | Some targets select HZ=100, others HZ=250. There's no reason to select a higher timer frequency (and 100 Hz are available in every architecture), so change all targets to 100 Hz. Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
* treewide: remove redundant ubifs kconfig symbolsRui Salvaterra2021-04-212-6/+0
| | | | | | | For the targets which enable ubifs, these symbols are already part of the generic kconfigs. Drop them from the target kconfigs. Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
* ramips: fix at803x patchDavid Bauer2021-04-181-7/+7
| | | | | | | | | | This patch broke while refreshing on a kernel bump. It adds the config_aneg function twice to the AR8035 PHY now. Restore the old behavior to restore the patches original intent. Fixes commit 57e32650efa4 ("kernel: bump 5.10 to 5.10.31") Signed-off-by: David Bauer <mail@david-bauer.net>
* ramips: replace mt7621s hack with upstream patchIlya Lipnitskiy2021-04-174-68/+80
| | | | | | | | | | | | | | Refresh patches. Tested on a dual-core MT7621 device (Ubiquiti ER-X) and a single-core MT7621 device (Netgear R6220). This change will make future kernel upgrades easier (avoids conflicts with upstream). Link: https://lore.kernel.org/lkml/20210407200738.149207-1-ilya.lipnitskiy@gmail.com/ Signed-off-by: Ilya Lipnitskiy <ilya.lipnitskiy@gmail.com> Cc: Chuanhong Guo <gch981213@gmail.com>
* ramips: reduce spi-max-frequency for Xiaomi MI Router 4AGDavid Bentham2021-04-171-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>
* kernel: bump 5.4 to 5.4.113John Audia2021-04-171-3/+3
| | | | | | | | | | | | | Ran update_kernel.sh in a fresh clone without any existing toolchains. No manual intervention needed. Build system: x86_64 Build-tested: ipq806x/R7800 Run-tested: ipq806x/R7800 No dmesg regressions, everything functional Signed-off-by: John Audia <graysky@archlinux.us>
* kernel: bump 5.10 to 5.10.31Rui Salvaterra2021-04-171-3/+3
| | | | | | | Automatically refreshed: ramips/patches-5.10/710-at803x.patch Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
* kernel: bump 5.10 to 5.10.30Rui Salvaterra2021-04-161-1/+1
| | | | | | | | | | | | | | | | | | | | | Deleted (reverse-applicable): mvebu/patches-5.10/101-ARM-dts-turris-omnia-configure-LED-2--INTn-pin-as-interrupt-pin.patch Automatically refreshed: bcm63xx/patches-5.10/143-gpio-fix-device-tree-gpio-hogs-on-dual-role-gpio-pin.patch generic/backport-5.10/610-v5.13-02-netfilter-Fix-fall-through-warnings-for-Clang.patch generic/backport-5.10/610-v5.13-10-netfilter-nftables-update-table-flags-from-the-commi.patch generic/hack-5.10/204-module_strip.patch generic/hack-5.10/902-debloat_proc.patch generic/pending-5.10/203-kallsyms_uncompressed.patch generic/pending-5.10/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch generic/pending-5.10/920-mangle_bootargs.patch mediatek/patches-5.10/115-dts-bpi64-add-snand-support.patch mediatek/patches-5.10/602-arm64-dts-mediatek-Split-PCIe-node-for-MT2712-MT7622.patch mediatek/patches-5.10/900-dts-mt7622-bpi-r64-aliases-for-dtoverlay.patch ramips/patches-5.10/323-mt7621-memory-detect.patch Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
* ramips: gpio-ralink: use ngpios, not ralink,num-gpiosIlya Lipnitskiy2021-04-1513-29/+51
| | | | | | | | | | | | | | | | DTS properties that match *-gpios are treated specially. Use ngpios instead, as most GPIO drivers upstream do. Fixes 5.10 DTS errors such as: OF: /palmbus@300000/gpio@600: could not find phandle Fixes DTC warnings such as: Warning (gpios_property): /palmbus@300000/gpio@600:ralink,num-gpios: Could not get phandle node for (cell 0) Signed-off-by: Ilya Lipnitskiy <ilya.lipnitskiy@gmail.com> Cc: Daniel Golle <daniel@makrotopia.org>
* ramips: rt288x: replace hack with a kconfig changeIlya Lipnitskiy2021-04-152-45/+32
| | | | | | | | | Use an existing kernel config symbol to fix devices whose ramstart is not zero. See upstream patch message for more details. Signed-off-by: Ilya Lipnitskiy <ilya.lipnitskiy@gmail.com> Cc: Tobias Wolf <dev-NTEO@vplace.de> Cc: Daniel Golle <daniel@makrotopia.org>
* ramips: mt7530 swconfig: fix race condition in register accessDENG Qingfang2021-04-151-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>
* ramips: drop obsolete arcs_cmdline override patchIlya Lipnitskiy2021-04-151-21/+0
| | | | | | | | CONFIG_MIPS_CMDLINE_FROM_DTB is set to 'y' for all ramips targets already, which will ensure that the value of 'bootargs' will take precedence over whatever is in arcs_cmdline. Signed-off-by: Ilya Lipnitskiy <ilya.lipnitskiy@gmail.com>
* ramips: improve pinctrl for Youku YK-L1Shiji Yang2021-04-102-16/+4
| | | | | | | 1. rename led pin "air" to a more common name "wlan" and use "phy0tpt" to trigger it. 2. led "wan" can be triggered by ethernet pinctrl by default so just drop it. Signed-off-by: Shiji Yang <yangshiji66@qq.com>
* ramips: rt305x: use lzma-loader for ZyXEL Keenetic Lite rev.BSzabolcs Hubai2021-04-081-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>
* kernel: bump 5.10 to 5.10.27Kevin Darbyshire-Bryant2021-04-032-3/+3
| | | | | | | | | | | | | | | | Use update_kernel to refresh all patches, required manual updates to: 610-netfilter_match_bypass_default_checks.patch 611-netfilter_match_bypass_default_table.patch 762-net-bridge-switchdev-Refactor-br_switchdev_fdb_notif.patch 764-net-bridge-switchdev-Send-FDB-notifications-for-host.patch Run-tested: x86_64 Nothing screamed out but any funny business with linux bridging should suspect this update first. Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
* ramips: fix IMAGE_SIZE of HC5x6: fix image size of HC5x61Shiji Yang2021-04-031-3/+3
| | | | | | | | "firmware" partition size defined in the device tree file is 0xf70000, so the right IMAGE_SIZE is 15808k Fixes: df1e5d646345 ("ramips: fix partition layout of hiwifi hc5x61") Signed-off-by: Shiji Yang <yangshiji66@qq.com>
* ramips: Fix booting on MQmaker WiTi boardDaniel Engberg2021-04-031-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>
* ramips: Fix booting on MTC WR1201René van Dorst2021-04-031-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>
* ramips: mt7620: ralink-i2s: fix modpost errorIlya Lipnitskiy2021-03-311-1/+2
| | | | | | | | Fixes the following error when building without CONFIG_MODULE_STRIPPED: FATAL: modpost: sound/soc/ralink/snd-soc-ralink-i2s: struct of_device_id is not terminated with a NULL entry! Signed-off-by: Ilya Lipnitskiy <ilya.lipnitskiy@gmail.com>
* ramips/mt7621: enable support for cpuidleRui Salvaterra2021-03-311-1/+9
| | | | | | | | | | | MIPS Coherent Processor Systems (CPS), which include the MT7621 SoC, support deep sleep idle states and have a specific cpuidle driver for them. Enable support for it, while also switching from constant timer ticks to the idle dynticks model, with the TEO governor. Run-tested on a Redmi AC2100. Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
* ramips/mt7621: drop the timer recalibration patchRui Salvaterra2021-03-313-97/+10
| | | | | | | | | | | | | | | | | We've been carrying this patch for many years [1], in order to fix a timer calibration issue on MT7621. Turns out, after retesting with a recent kernel (Linux 5.10), the system works perfectly fine without it (no rcu_sched stalls or inconsistent BogoMIPS values across CPUs). Manually refreshed: 322-mt7621-fix-cpu-clk-add-clkdev.patch 323-mt7621-memory-detect.patch [1] https://git.openwrt.org/?p=openwrt/openwrt.git;a=commitdiff;h=6f4a903533361a2906a4d94ac6f597cd9c6c47bc Suggested-by: Ilya Lipnitskiy <ilya.lipnitskiy@gmail.com> Tested-by: Donald Hoskins <grommish@gmail.com> Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
* ramips/mt7621: drop the weak reordering patchRui Salvaterra2021-03-312-12/+2
| | | | | | | | | | | | | | | | | | In order to fix random hangs on MT7621, we've been selecting WEAK_REORDERING_BEYOND_LLSC for years [1]. However, these random hangs have been most likely caused by an oversight in the MIPS implementation of the kernel memory consistency model, which has already been fixed for some time (and backported to stable) [2]. Manually refreshed: 321-mt7621-timer.patch [1] https://git.openwrt.org/?p=openwrt/openwrt.git;a=commitdiff;h=5c971cd6fdd7298a2017bdb6bea870088eddb8b9 [2] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/arch/mips?h=linux-5.4.y&id=42344113ba7a1ed7b5654cd5270af0d5698d8521 Suggested-by: Ilya Lipnitskiy <ilya.lipnitskiy@gmail.com> Tested-by: Donald Hoskins <grommish@gmail.com> Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
* ramips: correct switch config of Youku yk1Shiji Yang2021-03-271-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>
* kernel: bump 5.10 to 5.10.24Kevin Darbyshire-Bryant2021-03-243-9/+9
| | | | | | | | Straightforward refresh of patches using update_kernel. Run tested: x86_64 (apu2) Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
* ramips: speed up spi frequency for Youku YK-L1Shiji Yang2021-03-221-1/+1
| | | | | | | | | | | Youku YK-L1 has a huge storage space up to 32 MB. It is better to use a higher spi clock to read or write serial nor flash chips. Youku YK-L1 has Winbond w25q256fvfg on board that can support 104 MHz spi clock so 48 MHz is safe enough. The real frequency can only be sysclk(580MHz ) /3 /(2^n) so 80 MHz defined in dts file will set only 48 MHz in spi bus. Signed-off-by: Shiji Yang <yangshiji66@qq.com>
* kernel: bump 5.4 to 5.4.106John Audia2021-03-211-2/+2
| | | | | | | | | | | | | | | | | | Ran update_kernel.sh in a fresh clone without any existing toolchains. Manually rebased: bcm27xx/950-0993-xhci-quirks-add-link-TRB-quirk-for-VL805.patch layerscape/701-net-0231-enetc-Use-DT-protocol-information-to-set-up-the-port.patch Build system: x86_64 Build-tested: ipq806x/R7800 Run-tested: ipq806x/R7800 No dmesg regressions, everything functional Signed-off-by: John Audia <graysky@archlinux.us> [remove accidental whitespace edit] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ramips: add support for ELECOM WRC-1750GST2INAGAKI Hiroshi2021-03-212-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>
* ramips: create shared DTSI for MT7620 Phicomm K2x series devicesShiji Yang2021-03-214-115/+31
| | | | | | | | | Improve compatibility of the device tree include file. Now a new .dtsi file will support both PSG1218A, PSG1218B and K2G. Signed-off-by: Shiji Yang <yangshiji66@qq.com> [improve commit title, rebase] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ramips: increase SPI frequency for Phicomm series devicesShiji Yang2021-03-214-4/+8
| | | | | | | | | | | From many teardown image in the internet, I find Phicomm K1/k2 series use Winbond W25Q64/W25Q128 or GigaDevice GD25Q64/GD25Q128 Flash chips. both of them support 100+ MHz clock spi operate and fast-read instruction. PSG1218 with W25x or GD25x has been tested and it can run well in OpenWrt v19.07. Signed-off-by: Shiji Yang <yangshiji66@qq.com> [improve commit title] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ramips: increase SPI frequency for HIWIFI HC5x61 devicesShiji Yang2021-03-211-1/+2
| | | | | | | | | | | HIWIFI HC5x61 devices support high speed spi clock up to 100+ MHz. So set spi frequency to 80 MHz here (Due to frequency division the real clock is 48 MHz). I have tested HC5661 and it can run well in OpenWrt v19.07. Signed-off-by: Shiji Yang <yangshiji66@qq.com> [adjust commit title and wrap message] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ramips: move spi-nor-add-gd25q512 patch to genericIlya Lipnitskiy2021-03-191-12/+0
| | | | | | | A SPI NOR flash should not be target-specific, so move it to generic in case another platform needs to use it. Signed-off-by: Ilya Lipnitskiy <ilya.lipnitskiy@gmail.com>
* rampis: use lzma-loader for ZTE MF283+Lech Perczak2021-03-191-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. ## Booting image at bc080000 ... 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>