summaryrefslogtreecommitdiffstats
path: root/target/linux
Commit message (Collapse)AuthorAgeFilesLines
...
* mvebu: 6.6: refresh patchesRobert Marko2024-04-031-2/+2
| | | | | | | Well, it seems that we have a patch that was not refreshed and CI is complaining, so refresh it. Signed-off-by: Robert Marko <robimarko@gmail.com>
* mvebu: add 6.6 testing kernelStijn Segers2024-04-031-0/+1
| | | | | | Add 6.6 testing kernel for mvebu target. Signed-off-by: Stijn Segers <foss@volatilesystems.org>
* mvebu: cortexa9: set DTS dir for 6.6Stijn Segers2024-04-031-0/+4
| | | | | | | | | | With 6.6, all DTSes were moved to their vendor subdirectories. ARM64 DTSes already used this scheme, but 32 bit Cortex A9 did not, prior to 6.6. Introduce a kernel version check to keep backward compatibility with 6.1. Suggested-by: Robert Marko <robimarko@gmail.com> Signed-off-by: Stijn Segers <foss@volatilesystems.org>
* mvebu: 6.6: refresh patchesStijn Segers2024-04-0314-53/+53
| | | | | | | | | | | | | Manually refreshed: * 309-linksys-status-led.patch * 310-linksys-use-eth0-as-cpu-port.patch * 320-arm-dts-armada-370-synology-ds213j-mtd-parts.patch * 701-mvpp2-read-mac-address-from-nvmem.patch * 902-drivers-mfd-Add-a-driver-for-IEI-WT61P803-PUZZLE-MCU.patch All other patches automatically refreshed. Signed-off-by: Stijn Segers <foss@volatilesystems.org>
* mvebu: 6.6: remove upstreamed patchesStijn Segers2024-04-031-59/+0
| | | | | | 000-cpufreq-armada-8k-add-ap807-support.patch was upstreamed. Signed-off-by: Stijn Segers <foss@volatilesystems.org>
* mvebu: 6.6: adjust 32 bit ARM DTS pathStijn Segers2024-04-0323-53/+53
| | | | | | | | As of 6.6, all upstream DTSes are moved to their respective vendor subdir. OpenWrt already followed this practice for ARM64, but not yet for 32 bit ARM (Armada 37x/38x). Signed-off-by: Stijn Segers <foss@volatilesystems.org>
* mvebu: 6.6: copy files, patches & configs from 6.1Stijn Segers2024-04-0357-0/+10704
| | | | | | Copy all mvebu 6.1 specific files, patches and configs to 6.1. Signed-off-by: Stijn Segers <foss@volatilesystems.org>
* mvebu: move files to files-6.1Stijn Segers2024-04-0319-0/+0
| | | | | | | DTS paths for 32 bit ARM devices changed with 6.6, move files/ to files-6.1 to prep for kernel 6.6 introduction. Signed-off-by: Stijn Segers <foss@volatilesystems.org>
* bcm27xx: refresh patchesMieczyslaw Nalewaj2024-04-031-1/+1
| | | | | | Refresh patches for kernel 6.1.82 with make target/linux/refresh. Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
* ipq806x: add kernel 6.6 as a testing kernel versionChristian Marangi2024-04-021-0/+1
| | | | | | Add and enable kernel 6.6 as a testing kernel version. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* ipq806x: 6.6: update config file with missing symbolChristian Marangi2024-04-021-0/+13
| | | | | | Update config file with missing symbol added with kernel 6.6. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* ipq806x: 6.6: refresh kernel patchesChristian Marangi2024-04-0216-39/+30
| | | | | | Refresh kernel patches using make target/linux/refresh. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* ipq806x: 6.6: add pending patch fixing nandc with new kernelChristian Marangi2024-04-021-0/+55
| | | | | | | | Add pending patch fixing nandc with new kerenel due to broken convertion to new nand API. Patch has been sent upstream and will be backported to stable kernel if accepted. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* ipq806x: 6.6: rework kernel patches for new kernelChristian Marangi2024-04-028-94/+192
| | | | | | | | Rework kernel patches for new kernel. Mainly adaptation for patch related to DTS and changes for the downstream div generalize patch that now use determine_rate. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* ipq806x: 6.6: drop upstream kernel patchesChristian Marangi2024-04-0211-920/+0
| | | | | | Drop upstream kernel patches that were straight backport. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* ipq806x: split files in 6.1 and 6.6 dedicated directoryChristian Marangi2024-04-0273-0/+12334
| | | | | | | | | | | Since with recent kernel version DTS moved to a dedicated directory, it's required to split files to per kernel version to follow kernel version directory structure. Also makes use of DEVICE_DTS_DIR to target the correct DTS directory based on the kernel version. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* kernel/ipq806x: Restore kernel files for v6.1Christian Marangi2024-04-0233-0/+3632
| | | | | | | | | | This is an automatically generated commit which aids following Kernel patch history, as git will see the move and copy as a rename thus defeating the purpose. See: https://lists.openwrt.org/pipermail/openwrt-devel/2023-October/041673.html for the original discussion. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* kernel/ipq806x: Create kernel files for v6.6 (from v6.1)Christian Marangi2024-04-0233-0/+0
| | | | | | | | This is an automatically generated commit. When doing `git bisect`, consider `git bisect --skip`. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* ipq40xx: add kernel 6.6 as a testing kernel versionChristian Marangi2024-04-021-0/+1
| | | | | | Add and enable kernel 6.6 as a testing kernel version. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* generic: 6.6: add missing config symbolChristian Marangi2024-04-021-0/+2
| | | | | | | Add missing config symbol while adding support for kernel 6.6 for target ipq806x. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* ipq40xx: 6.6: update config file with missing symbolChristian Marangi2024-04-021-0/+13
| | | | | | Update config file with missing symbol added with kernel 6.6. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* ipq40xx: 6.6: refresh kernel patchesChristian Marangi2024-04-0216-40/+35
| | | | | | Refresh kernel patches using make target/linux/refresh. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* ipq806x: 6.6: add pending patch fixing mtdcore with MTD OTPChristian Marangi2024-04-021-0/+63
| | | | | | | | Add pending patch fixing mtdcore with MTD OTP with a fragile detection if Nand supports OTP. Patch has been sent upstream and will be backported to stable kernel if accepted. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* ipq40xx: 6.6: rework kernel patches for new kernelChristian Marangi2024-04-029-34/+24
| | | | | | | Rework kernel patches for new kernel. Mainly adaptation for patch related to DTS, OOB Tagger and SDHCI patch. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* ipq40xx: 6.6: drop upstream kernel patchesChristian Marangi2024-04-022-60/+0
| | | | | | Drop upstream kernel patches that were straight backport. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* ipq40xx: 6.6: fix DTS to use reference for usb nodeChristian Marangi2024-04-028-73/+73
| | | | | | | Fix DTS to use reference for usb node instead of redefining them since upstream usb node names changed from usb2/3 to usb. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* ipq40xx: split files in 6.1 and 6.6 dedicated directoryChristian Marangi2024-04-02205-0/+26491
| | | | | | | | | | | Since with recent kernel version DTS moved to a dedicated directory, it's required to split files to per kernel version to follow kernel version directory structure. Also makes use of DEVICE_DTS_DIR to target the correct DTS directory based on the kernel version. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* kernel/ipq40xx: Restore kernel files for v6.1Christian Marangi2024-04-0227-0/+5641
| | | | | | | | | | This is an automatically generated commit which aids following Kernel patch history, as git will see the move and copy as a rename thus defeating the purpose. See: https://lists.openwrt.org/pipermail/openwrt-devel/2023-October/041673.html for the original discussion. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* kernel/ipq40xx: Create kernel files for v6.6 (from v6.1)Christian Marangi2024-04-0227-0/+0
| | | | | | | | This is an automatically generated commit. When doing `git bisect`, consider `git bisect --skip`. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* generic: 6.1: refresh backport patchesMieczyslaw Nalewaj2024-04-011-1/+1
| | | | | | | Refresh backport patches for kernel 6.1.82 with make target/linux/refresh. Fixes: 06cdc07f8cc7 ("ath79: add support for Huawei AP5030DN") Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
* mediatek: add support for OpenEmbed SOM7981Tianling Shen2024-03-315-1/+253
| | | | | | | | | | | | | | | | | | | | | | | Hardware specification: SoC: MediaTek MT7981B 2x A53 Flash: 256 MiB SPI-NAND, 32 GB eMMC optional RAM: 0.5/1 GB DDR4 Ethernet: 1x 1GbE, 1x 2.5GbE (RTL8221B) WiFi: MediaTek MT7976C USB: 1x USB 3.0 GPIO: 26-Pin header UART: 6 GND, 8 TX, 10 RX (in Pin header) Button: Reset, WPS Power: Type-C PD Installation: The board comes with a third-party custom OpenWrt image, you can upload sysupgrade image via LuCI directly WITHOUT keeping configurations. Or power on the board with pressing reset button for 5 second, then visit http://192.168.1.1 and upload -factory.bin firmware. Signed-off-by: Tianling Shen <cnsztl@gmail.com>
* ramips: add support for BOLT BL100Radito Wahyu2024-03-315-0/+281
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | BL100 is a router made by Bolt by a provider in Indonesia The original firmware created using Mediatek SDK and kernel 2.6.36 - Chipset: MediaTek MT7620A ver 2, eco 6 - RAM: 64 MB - Bootloader: U Boot - Flash: Winbond W25Q128BV (16 MB) - Ports: 2x 10/100 Ethernet, 1x RJ-11 VoIP - Modem: Qualcomm LTE B40 (2300 Mhz) VID:05c6 PID:9026 - Wireless: Internal MT7620A (2.4 Ghz) & Mediatek MT76x2E (5.8 Ghz) - Switch: MediaTek MT7620A built-in 5-port 10/100M switch - Voltage: DC 12V 1A - Antenna Port: 2x External Antenna, 2 LTE U.FL, 2 WiFi U.FL - Serial Port: Yes, 3.3 V TTL, Baud 57600 8N1 - Buttons: Reset and WPS - LED: 15 Total - 4 blue lte, 2 red lte, 1 reset, 1 power. - 1 wps, 1 voip, 1 wlan2, 1 wlan5, 1 lan, 1 wan, 1 wlan. Installation via stock firmware 1. Unlock Telnet access by downloading the backup .tar.gz file 2. Change the Telnet configuration to LAN_Telnet=1 3. Import backup configuration 4. Restart the router 5. Login to telnet with username and password = admin : db40 6. Download sysupgrade binary and mtd_write to the kernel partition `mtd_write write openwrt-bolt_bl100-squashfs-sysupgrade.bin Kernel` Signed-off-by: Radito Wahyu <arditogits@gmail.com>
* filogic: Add support for D-Link AQUILA PRO AI M30Roland Reinl2024-03-315-0/+339
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Specification: - MT7981 CPU using 2.4GHz and 5GHz WiFi (both AX) - MT7531 switch - 512MB RAM - 128MB NAND flash with two UBI partitions with identical size - 1 multi color LED (red, green, blue, white) connected via GCA230718 - 3 buttons (WPS, reset, LED on/off) - 1 1Gbit WAN port - 4 1Gbit LAN ports Disassembly: - There are four screws at the bottom: 2 under the rubber feets, 2 under the label. - After removing the screws, the white plastic part can be shifted out of the blue part. - Be careful because the antennas are mounted on the side and the top of the white part. Serial Interface - The serial interface can be connected to the 4 pin holes on the side of the board. - Pins (from front to rear): - 3.3V - RX - TX - GND - Settings: 115200, 8N1 MAC addresses: - WAN MAC is stored in partition "Odm" at offset 0x81 - LAN (as printed on the device) is WAN MAC + 1 - WLAN MAC (2.4 GHz) is WAN MAC + 2 - WLAN MAC (5GHz) is WAN MAC + 3 Flashing via Recovery Web Interface: - The recovery web interface always flashes to the currently active partition. - If OpenWrt is flahsed to the second partition, it will not boot. - Ensure that you have an OEM image available (encrypted and decrypted version). Decryption is described in the end. - Set your IP address to 192.168.200.10, subnetmask 255.255.255.0 - Press the reset button while powering on the device - Keep the reset button pressed until the LED blinks red - Open a Chromium based and goto http://192.168.200.1 (recovery web interface) - Download openwrt-mediatek-filogic-dlink_aquila-pro-ai-m30-a1-squashfs-recovery.bin - The recovery web interface always reports successful flashing, even if it fails - After flashing, the recovery web interface will try to forward the browser to 192.168.0.1 (can be ignored) - If OpenWrt was flashed to the first partition, OpenWrt will boot (The status LED will start blinking white and stay white in the end). In this case you're done and can use OpenWrt. - If OpenWrt was flashed to the second partition, OpenWrt won't boot (The status LED will stay red forever). In this case, the following steps are reuqired: - Start the web recovery interface again and flash the **decrypted OEM image**. This will be flashed to the second partition as well. The OEM firmware web interface is afterwards accessible via http://192.168.200.1. - Now flash the **encrypted OEM image** via OEM firmware web interface. In this case, the new firmware is flashed to the first partition. After flashing and the following reboot, the OEM firmware web interface should still be accessible via http://192.168.200.1. - Start the web recovery interface again and flash the OpenWrt recovery image. Now it will be flashed to the first partition, OpenWrt will boot correctly afterwards and is accessible via 192.168.1.1. Flashing via U-Boot: - Open the case, connect to the UART console - Set your IP address to 192.168.200.2, subnet mask 255.255.255.0. Connect to one of the LAN interfaces of the router - Run a tftp server which provides openwrt-mediatek-filogic-dlink_aquila-pro-ai-m30-a1-initramfs-kernel.bin. - Power on the device and select "7. Load image" in the U-Boot menu - Enter image file, tftp server IP and device IP (if they differ from the default). - TFTP download to RAM will start. After a few seconds OpenWrt initramfs should start - The initramfs is accessible via 192.168.1.1, change your IP address accordingly (or use multiple IP addresses on your interface) - Perform a sysupgrade using openwrt-mediatek-filogic-dlink_aquila-pro-ai-m30-a1-squashfs-sysupgrade.bin - Reboot the device. OpenWrt should start from flash now Revert back to stock using the Recovery Web Interface: - Set your IP address to 192.168.200.2, subnetmask 255.255.255.0 - Press the reset button while powering on the device - Keep the reset button pressed until the LED blinks red - Open a Chromium based and goto http://192.168.200.1 (recovery web interface) - Flash a decrypted firmware image from D-Link. Decrypting an firmware image is described below. Decrypting a D-Link firmware image: - Download https://github.com/RolandoMagico/firmware-utils/blob/M32/src/m32-firmware-util.c - Compile a binary from the downloaded file, e.g. gcc m32-firmware-util.c -lcrypto -o m32-firmware-util - Run ./m32-firmware-util M30 --DecryptFactoryImage <OriginalFirmware> <OutputFile> - Example for firmware M30A1_FW101B05: ./m32-firmware-util M30 --DecryptFactoryImage M30A1_FW101B05\(0725091522\).bin M30A1_FW101B05\(0725091522\)_decrypted.bin Flashing via OEM web interface is not possible, as it will change the active partition and OpenWrt is only running on the first UBI partition. Controlling the LEDs: - The LEDs are controlled by a chip called "GCA230718" which is connected to the main CPU via I2C (address 0x40) - I didn't find any documentation or driver for it, so the information below is purely based on my investigations - If there is already I driver for it, please tell me. Maybe I didn't search enough - I implemented a kernel module (leds-gca230718) to access the LEDs via DTS - The LED controller supports PWM for brightness control and ramp control for smooth blinking. This is not implemented in the driver - The LED controller supports toggling (on -> off -> on -> off) where the brightness of the LEDs can be set individually for each on cycle - Until now, only simple active/inactive control is implemented (like when the LEDs would have been connected via GPIO) - Controlling the LEDs requires three sequences sent to the chip. Each sequence consists of - A reset command (0x81 0xE4) written to register 0x00 - A control command (for example 0x0C 0x02 0x01 0x00 0x00 0x00 0xFF 0x01 0x00 0x00 0x00 0xFF 0x87 written to register 0x03) - The reset command is always the same - In the control command - byte 0 is always the same - byte 1 (0x02 in the example above) must be changed in every sequence: 0x02 -> 0x01 -> 0x03) - byte 2 is set to 0x01 which disables toggling. 0x02 would be LED toggling without ramp control, 0x03 would be toggling with ramp control - byte 3 to 6 define the brightness values for the LEDs (R,G,B,W) for the first on cycle when toggling - byte 7 defines the toggling frequency (if toggling enabled) - byte 8 to 11 define the brightness values for the LEDs (R,G,B,W) for the second on cycle when toggling - byte 12 is constant 0x87 Comparison to M32/R32: - The algorithms for decrypting the OEM firmware are the same for M30/M32/R32, only the keys differ - The keys are available in the GPL sources for the M32 - The M32/R32 contained raw data in the firmware images (kernel, rootfs), the R30 uses a sysupgrade tar instead - Creation of the recovery image is quite similar, only the header start string changes. So mostly takeover from M32/R32 for that. - Turned out that the bytes at offset 0x0E and 0x0F in the recovery image header are the checksum over the data area - This checksum was not checked in the recovery web interface of M32/R32 devices, but is now active in R30 - I adapted the recovery image creation to also calculate the checksum over the data area - The recovery image header for M30 contains addresses which don't match the memory layout in the DTS. The same addresses are also present in the OEM images - The recovery web interface either calculates the correct addresses from it or has it's own logic to determine where which information must be written Signed-off-by: Roland Reinl <reinlroland+github@gmail.com>
* mediatek: Moved recovery image creation to include/image-commands.mkRoland Reinl2024-03-311-29/+2
| | | | | | The recovery image is reqired for D-Link M30 as well. So I moved it to include/image-commands.mk to be able to use it for MT7622 and filogic devices. Signed-off-by: Roland Reinl <reinlroland+github@gmail.com>
* kernel: bump 5.15 to 5.15.153Hauke Mehrtens2024-03-31141-851/+665
| | | | | | | | | | | | | | | | Removed because they are upstream: generic/backport-5.15/704-15-v5.19-net-mtk_eth_soc-move-MAC_MCR-setting-to-mac_finish.patch https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-5.15.y&id=c5c0760adc260d55265c086b9efb350ea6dda38b generic/pending-5.15/735-net-mediatek-mtk_eth_soc-release-MAC_MCR_FORCE_LINK-.patch https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-5.15.y&id=448cc8b5f743985f6d1d98aa4efb386fef4c3bf2 generic/pending-5.15/736-net-ethernet-mtk_eth_soc-fix-PPE-hanging-issue.patch https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-5.15.y&id=9fcadd125044007351905d40c405fadc2d3bb6d6 Add new configuration symbols for tegra target. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* kernel: bump 6.6 to 6.6.23John Audia2024-03-3137-208/+96
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.23 Removed upstreamed: pending-6.6/735-net-mediatek-mtk_eth_soc-release-MAC_MCR_FORCE_LINK-.patch[1] pending-6.6/736-net-ethernet-mtk_eth_soc-fix-PPE-hanging-issue.patch[2] mediatek/patches-6.6/232-clk-mediatek-mt7981-topckgen-flag-SGM_REG_SEL-as-cri.patch[3] Manually rebased: mediatek/patches-6.6/100-dts-update-mt7622-rfb1.patch Added: generic/backports-6.6/981-mtd-spinand-Add-support-for-5-byte-IDs.patch[4] All other patches automatically rebased. 1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.23&id=1f32abb474c1c9bdb21d9eda74c325a0b3a162e5 2. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.23&id=943c14ece95eb1cf98d477462aebcbfdfd714633 3. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.23&id=6ff01b314149d1cf59caebc29384f0beed21cba4 4. See comments in https://github.com/openwrt/openwrt/pull/14992 regarding broken flogic/xiaomi_redmi-router-ax6000-ubootmod Build system: x86/64 Build-tested: x86/64/AMD Cezanne, flogic/xiaomi_redmi-router-ax6000-ubootmod, flogic/glinet_gl-mt6000 Run-tested: x86/64/AMD Cezannei, flogic/xiaomi_redmi-router-ax6000-ubootmod, flogic/glinet_gl-mt6000 Signed-off-by: John Audia <therealgraysky@proton.me>
* ath79: add support for Huawei AP5030DNMarco von Rosenberg2024-03-318-0/+367
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Huawei AP5030DN is a dual-band, dual-radio 802.11ac Wave 1 3x3 MIMO enterprise access point with two Gigabit Ethernet ports and PoE support. Hardware highlights: - CPU: QCA9550 SoC at 720MHz - RAM: 256MB DDR2 - Flash: 32MB SPI-NOR - Wi-Fi 2.4GHz: QCA9550-internal radio - Wi-Fi 5GHz: QCA9880 PCIe WLAN SoC - Ethernet 1: 10/100/1000 Mbps Ethernet through Broadcom B50612E PHY - Ethernet 2: 10/100/1000 Mbps Ethernet through Marvell 88E1510 PHY - PoE: input through Ethernet 1 port - Standalone 12V/2A power input - Serial console externally available through RJ45 port - External watchdog: SGM706 (1.6s timeout) Serial console: 9600n8 (9600 baud, no stop bits, no parity, 8 data bits) MAC addresses: Each device has 32 consecutive MAC addresses allocated by the vendor, which don't overlap between devices. This was confirmed with multiple devices with consecutive serial numbers. The MAC address range starts with the address on the label. To be able to distinguish between the interfaces, the following MAC address scheme is used: - eth0 = label MAC - eth1 = label MAC + 1 - radio0 (Wi-Fi 5GHz) = label MAC + 2 - radio1 (Wi-Fi 2.4GHz) = label MAC + 3 Installation: 0. Connect some sort of RJ45-to-USB adapter to "Console" port of the AP 1. Power up the AP 2. At prompt "Press f or F to stop Auto-Boot in 3 seconds", do what they say. Log in with default admin password "admin@huawei.com". 3. Boot the OpenWrt initramfs from TFTP using the hidden script "run ramboot". Replace IP address as needed: > setenv serverip 192.168.1.10 > setenv ipaddr 192.168.1.1 > setenv rambootfile openwrt-ath79-generic-huawei_ap5030dn-initramfs-kernel.bin > saveenv > run ramboot 4. Optional but recommended as the factory firmware cannot be downloaded publicly: Back up contents of "firmware" partition using the web interface or ssh: $ ssh root@192.168.1.1 cat /dev/mtd11 > huawei_ap5030dn_fw_backup.bin 5. Run sysupgrade using sysupgrade image. OpenWrt shall boot from flash afterwards. Return to factory firmware (using firmware upgrade package downloaded from non-public Huawei website): 1. Start a TFTP server in the directory where the firmware upgrade package is located 2. Boot to u-boot as described above 3. Install firmware upgrade package and format the config partitions: > update system FatAP5X30XN_SOMEVERSION.bin > format_fs Return to factory firmware (from previously created backup): 1. Copy over the firmware partition backup to /tmp, for example using scp 2. Use sysupgrade with force to restore the backup: sysupgrade -F huawei_ap5030dn_fw_backup.bin 3. Boot AP to U-Boot as described above Quirks and known issues ----------------------- - On initial power-up, the Huawei-modified bootloader suspends both ethernet PHYs (it sets the "Power Down" bit in the MII control register). Unfortunately, at the time of the initial port, the kernel driver for the B50612E/BCM54612E PHY behind eth0 doesn't have a resume callback defined which would clear this bit. This makes the PHY unusable since it remains suspended forever. This is why the backported kernel patches in this commit are required which add this callback and for completeness also a suspend callback. - The stock firmware has a semi dual boot concept where the primary kernel uses a squashfs as root partition and the secondary kernel uses an initramfs. This dual boot concept is circumvented on purpose to gain more flash space and since the stock firmware's flash layout isn't compatible with mtdsplit. - The external watchdog's timeout of 1.6s is very hard to satisfy during bootup. This is why the GPIO15 pin connected to the watchdog input is configured directly in the LZMA loader to output the CPU_CLK/4 signal which keeps the watchdog happy until the wdt-gpio kernel driver takes over. Because it would also take too long to read the whole kernel image from flash, the uImage header only includes the loader which then reads the kernel image from flash after GPIO15 is configured. Signed-off-by: Marco von Rosenberg <marcovr@selfnet.de> [fixed 6.6 backport patch naming] Signed-off-by: David Bauer <mail@david-bauer.net>
* kernel: fix build issue on macOSFelix Fietkau2024-03-301-0/+18
| | | | | | | | On x86, the build failed while trying to compile tools/lib/string.c because of a clash with the system provided implementation for strlcpy Add ifdefs to prevent the conflict. Signed-off-by: Felix Fietkau <nbd@nbd.name>
* ath79: move D-Link DAP-1720 A1 to tiny sub-targetShiji Yang2024-03-308-46/+43
| | | | | | | | | | | This device only has 64 MiB RAM and ath10k wireless driver will consume a lot of memory. Let's move it to the tiny sub-target to get extra 7 MiB of free space. In this way, we can extend their lifetime to receive support for the next OpenWrt LTS version. This patch also trims the duplicate "recovery.bin" image as it's the same as the "factory.bin". Signed-off-by: Shiji Yang <yangshiji66@qq.com>
* ath79: move D-Link DIR-859 and DIR-869 series to tiny sub-targetShiji Yang2024-03-308-56/+72
| | | | | | | | | | These devices only have 64 MiB RAM and ath10k wireless driver will consume a lot of memory. Let's move them to the tiny sub-target to get extra 7 MiB of free space. In this way, we can extend their lifetime to receive support for the next OpenWrt LTS version. This patch also trims the USB package for the non-existent USB port. Signed-off-by: Shiji Yang <yangshiji66@qq.com>
* ath79: tiny: enable NVMEM u-boot-env driverShiji Yang2024-03-301-0/+2
| | | | | | | | The upcoming D-Link devices to the tiny sub-target require it to parse the u-env MAC address. The kernel size will increase by about 1 KiB. Signed-off-by: Shiji Yang <yangshiji66@qq.com>
* ath79: move seama image recipe to the common MakefileShiji Yang2024-03-302-18/+18
| | | | | | | Move seama image recipe to the common Makefile in order for some tiny sub-target D-Link devices can share it. Signed-off-by: Shiji Yang <yangshiji66@qq.com>
* ath79: disable building small Flash EnGenius devicesShiji Yang2024-03-301-0/+3
| | | | | | | The buildbot has not successfully built them for a long time due to small Flash size. Signed-off-by: Shiji Yang <yangshiji66@qq.com>
* mediatek: filogic: add Netcore N60 supportChukun Pan2024-03-295-1/+312
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Hardware specification: SoC: MediaTek MT7986A 4x A53 Flash: ESMT F50L1G41LB 128MB RAM: W632GU6NB DDR3 256MB Ethernet: 1x 2.5G + 4x 1G WiFi1: MT7975N 2.4GHz 4T4R WiFi2: MT7975PN 5GHz 4T4R Button: Reset, WPS Power: DC 12V 2A Flash instructions: 1. Connect to the router using ssh or telnet, username: useradmin, password is the web login password of the router. 2. Use scp to upload bl31-uboot.fip and flash: "mtd write xxx-preloader.bin spi0.0" "mtd write xxx-bl31-uboot.fip FIP" "mtd erase ubi" 3. Connect to the router via the Lan port, set a static ip of your PC. (ip 192.168.1.254, gateway 192.168.1.1) 4. Download initramfs image, reboot router, waiting for tftp recovery to complete. 5. After openwrt boots up, perform sysupgrade. Note: 1. Back up all mtd partitions before flashing. Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
* ramips: mt7620a_tplink_archer-c5-v4: use LED_FUNCTION_WLAN_2GHZ and ↵Mieczyslaw Nalewaj2024-03-291-4/+2
| | | | | | | | LED_FUNCTION_WLAN_5GHZ Use LED_FUNCTION_WLAN_2GHZ and LED_FUNCTION_WLAN_5GHZ instead function-enumerator Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
* rockchip: remove redundant 'console' parameter from boot scriptTianling Shen2024-03-291-1/+1
| | | | | | | | ttyS2 is the default console used for all rockchip boards. The redundant 'console=tty1' parameter now breaks the console due to recent procd update. Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
* rockchip: remove 'swiotlb' parameter from boot scriptTianling Shen2024-03-291-1/+1
| | | | | | | | | | | | | | We have hardware IOMMU support and this is totally unnecessary. The given value is also unreasonable, it's too small and causes kernel panic in some cases: [ 5706.856473] sdhci-dwcmshc fe310000.mmc: swiotlb buffer is full (sz: 28672 bytes), total 512 (slots), used 498 (slots) [ 5706.864451] sdhci-dwcmshc fe310000.mmc: swiotlb buffer is full (sz: 65536 bytes), total 512 (slots), used 464 (slots) This parameter seems to be added by mistake, so remove it. Fixes: e35c7ab51fd1 ("rockchip: merge bootscript") Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
* qualcommax: default to kernel 6.6Robert Marko2024-03-291-2/+1
| | | | | | | 6.6 has been in testing on qualcommax for a while so it should be in a good shape, but lets default to it to get a wider audience. Signed-off-by: Robert Marko <robimarko@gmail.com>
* kernel: bump 5.15 to 5.15.152Hauke Mehrtens2024-03-297-74/+22
| | | | | | | | Removed because it is upstream: generic/backport-5.15/081-v5.17-regmap-allow-to-define-reg_update_bits-for-no-bus.patch https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-5.15.y&id=fbddd48f1456db32b675fad95a902de38345902a Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* kernel: bump 5.15 to 5.15.151Hauke Mehrtens2024-03-2912-69/+69
| | | | | | No manual changes needed. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>