aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux
Commit message (Collapse)AuthorAgeFilesLines
* ath79: support ZTE MF286Lech Perczak2022-02-054-0/+276
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ZTE MF286 is an indoor LTE category 6 CPE router with simultaneous dual-band 802.11ac plus 802.11n Wi-Fi radios and quad-port gigabit Ethernet switch, FXS and external USB 2.0 port. Hardware highlights: - CPU: QCA9563 SoC at 775MHz, - RAM: 128MB DDR2, - NOR Flash: MX25L1606E 2MB SPI Flash, for U-boot only, - NAND Flash: GD5F1G04UBYIG 128MB SPI NAND-Flash, for all other data, - Wi-Fi 5GHz: QCA9882 2x2 MIMO 802.11ac radio, - WI-Fi 2.4GHz: QCA9563 3x3 MIMO 802.11n radio, - Switch: QCA8337v2 4-port gigabit Ethernet, with single SGMII CPU port, - WWAN: MDM9230-based category 6 internal LTE modem in extended mini-PCIE form factor, with 3 internal antennas and 2 external antenna connections, single mini-SIM slot. Modem model identified as MF270, - FXS: one external ATA port (handled entirely by modem part) with two physical connections in parallel, - USB: Single external USB 2.0 port, - Switches: power switch, WPS, Wi-Fi and reset buttons, - LEDs: Wi-Fi, Test (internal). Rest of LEDs (Phone, WWAN, Battery, Signal state) handled entirely by modem. 4 link status LEDs handled by the switch on the backside. - Battery: 3Ah 1-cell Li-Ion replaceable battery, with charging and monitoring handled by modem. - Label MAC device: eth0 Console connection: connector X2 is the console port, with the following pinout, starting from pin 1, which is the topmost pin when the board is upright: - VCC (3.3V). Do not use unless you need to source power for the converer from it. - TX - RX - GND Default port configuration in U-boot as well as in stock firmware is 115200-8-N-1. Installation: Due to different flash layout from stock firmware, sysupgrade from within stock firmware is impossible, despite it's based on QSDK which itself is based on OpenWrt. STEP 0: Stock firmware update: As installing OpenWrt cuts you off from official firmware updates for the modem part, it is recommended to update the stock firmware to latest version before installation, to have built-in modem at the latest firmware version. STEP 1: gaining root shell: Method 1: This works if busybox has telnetd compiled in the binary. If this does not work, try method 2. Using well-known exploit to start telnetd on your router - works only if Busybox on stock firmware has telnetd included: - Open stock firmware web interface - Navigate to "URL filtering" section by going to "Advanced settings", then "Firewall" and finally "URL filter". - Add an entry ending with "&&telnetd&&", for example "http://hostname/&&telnetd&&". - telnetd will immediately listen on port 4719. - After connecting to telnetd use "admin/admin" as credentials. Method 2: This works if busybox does not have telnetd compiled in. Notably, this is the case in DNA.fi firmware. If this does not work, try method 3. - Set IP of your computer to 192.168.1.22. - Have a TFTP server running at that address - Download MIPS build of busybox including telnetd, for example from: https://busybox.net/downloads/binaries/1.21.1/busybox-mips and put it in it's root directory. Rename it as "telnetd". - As previously, login to router's web UI and navigate to "URL filtering" - Using "Inspect" feature, extend "maxlength" property of the input field named "addURLFilter", so it looks like this: <input type="text" name="addURLFilter" id="addURLFilter" maxlength="332" class="required form-control"> - Stay on the page - do not navigate anywhere - Enter "http://aa&zte_debug.sh 192.168.1.22 telnetd" as a filter. - Save the settings. This will download the telnetd binary over tftp and execute it. You should be able to log in at port 23, using "admin/admin" as credentials. Method 3: If the above doesn't work, use the serial console - it exposes root shell directly without need for login. Some stock firmwares, notably one from finnish DNA operator lack telnetd in their builds. STEP 2: Backing up original software: As the stock firmware may be customized by the carrier and is not officially available in the Internet, IT IS IMPERATIVE to back up the stock firmware, if you ever plan to returning to stock firmware. Method 1: after booting OpenWrt initramfs image via TFTP: PLEASE NOTE: YOU CANNOT DO THIS IF USING INTERMEDIATE FIRMWARE FOR INSTALLATION. - Dump stock firmware located on stock kernel and ubi partitions: ssh root@192.168.1.1: cat /dev/mtd4 > mtd4_kernel.bin ssh root@192.168.1.1: cat /dev/mtd8 > mtd8_ubi.bin And keep them in a safe place, should a restore be needed in future. Method 2: using stock firmware: - Connect an external USB drive formatted with FAT or ext4 to the USB port. - The drive will be auto-mounted to /var/usb_disk - Check the flash layout of the device: cat /proc/mtd It should show the following: mtd0: 00080000 00010000 "uboot" mtd1: 00020000 00010000 "uboot-env" mtd2: 00140000 00020000 "fota-flag" mtd3: 00140000 00020000 "caldata" mtd4: 00140000 00020000 "mac" mtd5: 00600000 00020000 "cfg-param" mtd6: 00140000 00020000 "oops" mtd7: 00800000 00020000 "web" mtd8: 00300000 00020000 "kernel" mtd9: 01f00000 00020000 "rootfs" mtd10: 01900000 00020000 "data" mtd11: 03200000 00020000 "fota" Differences might indicate that this is NOT a vanilla MF286 device but one of its later derivatives. - Copy over all MTD partitions, for example by executing the following: for i in 0 1 2 3 4 5 6 7 8 9 10 11; do cat /dev/mtd$i > \ /var/usb_disk/mtd$i; done - If the count of MTD partitions is different, this might indicate that this is not a standard MF286 device, but one of its later derivatives. - (optionally) rename the files according to MTD partition names from /proc/mtd - Unmount the filesystem: umount /var/usb_disk; sync and then remove the drive. - Store the files in safe place if you ever plan to return to stock firmware. This is especially important, because stock firmware for this device is not available officially, and is usually customized by the mobile providers. STEP 3: Booting initramfs image: Method 1: using serial console (RECOMMENDED): - Have TFTP server running, exposing the OpenWrt initramfs image, and set your computer's IP address as 192.168.1.22. This is the default expected by U-boot. You may wish to change that, and alter later commands accordingly. - Connect the serial console if you haven't done so already, - Interrupt boot sequence by pressing any key in U-boot when prompted - Use the following commands to boot OpenWrt initramfs through TFTP: setenv serverip 192.168.1.22 setenv ipaddr 192.168.1.1 tftpboot 0x81000000 openwrt-ath79-nand-zte_mf286-initramfs-kernel.bin bootm 0x81000000 (Replace server IP and router IP as needed). There is no emergency TFTP boot sequence triggered by buttons, contrary to MF283+. - When OpenWrt initramfs finishes booting, proceed to actual installation. Method 2: using initramfs image as temporary boot kernel This exploits the fact, that kernel and rootfs MTD devices are consecutive on NAND flash, so from within stock image, an initramfs can be written to this area and booted by U-boot on next reboot, because it uses "nboot" command which isn't limited by kernel partition size. - Download the initramfs-kernel.bin image - Split the image into two parts on 3MB partition size boundary, which is the size of kernel partition. Pad the output of second file to eraseblock size: dd if=openwrt-ath79-nand-zte_mf286-initramfs-kernel.bin \ bs=128k count=24 \ of=openwrt-ath79-zte_mf286-intermediate-kernel.bin dd if=openwrt-ath79-nand-zte_mf286-initramfs-kernel.bin \ bs=128k skip=24 conv=sync \ of=openwrt-ath79-zte_mf286-intermediate-rootfs.bin - Copy over /usr/bin/flash_eraseall and /usr/bin/nandwrite utilities to /tmp. This is CRITICAL for installation, as erasing rootfs will cut you off from those tools on flash! - After backing up the previous MTD contents, write the images to the respective MTD devices: /tmp/flash_eraseall /dev/<kernel-mtd> /tmp/nandwrite /dev/<kernel-mtd> \ /var/usb_disk/openwrt-ath79-zte_mf286-intermediate-kernel.bin /tmp/flash_eraseall /dev/<kernel-mtd> /tmp/nandwrite /dev/<rootfs-mtd> \ /var/usb_disk/openwrt-ath79-zte_mf286-intermediate-rootfs.bin - Ensure that no bad blocks were present on the devices while writing. If they were present, you may need to vary the split between kernel and rootfs parts, so U-boot reads a valid uImage after skipping the bad blocks. If it fails, you will be left with method 3 (below). - If write is OK, reboot the device, it will reboot to OpenWrt initramfs: reboot -f - After rebooting, SSH into the device and use sysupgrade to perform proper installation. Method 3: using built-in TFTP recovery (LAST RESORT): - With that method, ensure you have complete backup of system's NAND flash first. It involves deliberately erasing the kernel. - Download "-initramfs-kernel.bin" image for the device. - Prepare the recovery image by prepending 8MB of zeroes to the image, and name it root_uImage: dd if=/dev/zero of=padding.bin bs=8M count=1 cat padding.bin openwrt-ath79-nand-zte_mf286-initramfs-kernel.bin > root_uImage - Set up a TFTP server at 192.0.0.1/8. Router will use random address from that range. - Put the previously generated "root_uImage" into TFTP server root directory. - Deliberately erase "kernel" partition" using stock firmware after taking backup. THIS IS POINT OF NO RETURN. - Restart the device. U-boot will attempt flashing the recovery initramfs image, which will let you perform actual installation using sysupgrade. This might take a considerable time, sometimes the router doesn't establish Ethernet link properly right after booting. Be patient. - After U-boot finishes flashing, the LEDs of switch ports will all light up. At this moment, perform power-on reset, and wait for OpenWrt initramfs to finish booting. Then proceed to actual installation. STEP 4: Actual installation: - scp the sysupgrade image to the device: scp openwrt-ath79-nand-zte_mf286-squashfs-sysupgrade.bin \ root@192.168.1.1:/tmp/ - ssh into the device and execute sysupgrade: sysupgrade -n /tmp/openwrt-ath79-nand-zte_mf286-squashfs-sysupgrade.bin - Wait for router to reboot to full OpenWrt. STEP 5: WAN connection establishment Since the router is equipped with LTE modem as its main WAN interface, it might be useful to connect to the Internet right away after installation. To do so, please put the following entries in /etc/config/network, replacing the specific configuration entries with one needed for your ISP: config interface 'wan' option proto 'qmi' option device '/dev/cdc-wdm0' option auth '<auth>' # As required, usually 'none' option pincode '<pin>' # If required by SIM option apn '<apn>' # As required by ISP option pdptype '<pdp>' # Typically 'ipv4', or 'ipv4v6' or 'ipv6' For example, the following works for most polish ISPs config interface 'wan' option proto 'qmi' option device '/dev/cdc-wdm0' option auth 'none' option apn 'internet' option pdptype 'ipv4' If you have build with LuCI, installing luci-proto-qmi helps with this task. Restoring the stock firmware: Preparation: If you took your backup using stock firmware, you will need to reassemble the partitions into images to be restored onto the flash. The layout might differ from ISP to ISP, this example is based on generic stock firmware. The only partitions you really care about are "web", "kernel", and "rootfs". For easy padding and possibly restoring configuration, you can concatenate most of them into images written into "ubi" meta-partition in OpenWrt. To do so, execute something like: cat mtd5_cfg-param.bin mtd6-oops.bin mtd7-web.bin mtd9-rootfs.bin > \ mtd8-ubi_restore.bin You can skip the "fota" partition altogether, it is used only for stock firmware update purposes and can be overwritten safely anyway. The same is true for "data" partition which on my device was found to be unused at all. Restoring mtd5_cfg-param.bin will restore the stock firmware configuration you had before. Method 1: Using initramfs: - Boot to initramfs as in step 3: - Completely detach ubi0 partition using ubidetach /dev/ubi0_0 - Look up the kernel and ubi partitions in /proc/mtd - Copy over the stock kernel image using scp to /tmp - Erase kernel and restore stock kernel: (scp mtd4_kernel.bin root@192.168.1.1:/tmp/) mtd write <kernel_mtd> mtd4_kernel.bin rm mtd4_kernel.bin - Copy over the stock partition backups one-by-one using scp to /tmp, and restore them individually. Otherwise you might run out of space in tmpfs: (scp mtd3_ubiconcat0.bin root@192.168.1.1:/tmp/) mtd write <ubiconcat0_mtd> mtd3_ubiconcat0.bin rm mtd3_ubiconcat0.bin (scp mtd5_ubiconcat1.bin root@192.168.1.1:/tmp/) mtd write <ubiconcat1_mtd> mtd5_ubiconcat1.bin rm mtd5_ubiconcat1.bin - If the write was correct, force a device reboot with reboot -f Method 2: Using live OpenWrt system (NOT RECOMMENDED): - Prepare a USB flash drive contatining MTD backup files - Ensure you have kmod-usb-storage and filesystem driver installed for your drive - Mount your flash drive mkdir /tmp/usb mount /dev/sda1 /tmp/usb - Remount your UBI volume at /overlay to R/O mount -o remount,ro /overlay - Write back the kernel and ubi partitions from USB drive cd /tmp/usb mtd write mtd4_kernel.bin /dev/<kernel_mtd> mtd write mtd8_ubi.bin /dev/<kernel_ubi> - If everything went well, force a device reboot with reboot -f Last image may be truncated a bit due to lack of space in RAM, but this will happen over "fota" MTD partition which may be safely erased after reboot anyway. Method 3: using built-in TFTP recovery (LAST RESORT): - Assemble a recovery rootfs image from backup of stock partitions by concatenating "web", "kernel", "rootfs" images dumped from the device, as "root_uImage" - Use it in place of "root_uImage" recovery initramfs image as in the TFTP pre-installation method. Quirks and known issues - Kernel partition size is increased to 4MB compared to stock 3MB, to accomodate future kernel updates - at this moment OpenWrt 5.10 kernel image is at 2.5MB which is dangerously close to the limit. This has no effect on booting the system - but keep that in mind when reassembling an image to restore stock firmware. - uqmi seems to be unable to change APN manually, so please use the one you used before in stock firmware first. If you need to change it, please use protocok '3g' to establish connection once, or use the following command to change APN (and optionally IP type) manually: echo -ne 'AT+CGDCONT=1,"IP","<apn>' > /dev/ttyUSB0 - The only usable LED as a "system LED" is the green debug LED hidden inside the case. All other LEDs are controlled by modem, on which the router part has some influence only on Wi-Fi LED. - Wi-Fi LED currently doesn't work while under OpenWrt, despite having correct GPIO mapping. All other LEDs are controlled by modem, including this one in stock firmware. GPIO19, mapped there only acts as a gate, while the actual signal source seems to be 5GHz Wi-Fi radio, however it seems it is not the LED exposed by ath10k as ath10k-phy0. - GPIO5 used for modem reset is a suicide switch, causing a hardware reset of whole board, not only the modem. It is attached to gpio-restart driver, to restart the modem on reboot as well, to ensure QMI connectivity after reboot, which tends to fail otherwise. - Modem, as in MF283+, exposes root shell over ADB - while not needed for OpenWrt operation at all - have fun lurking around. - MAC address shift for 5GHz Wi-Fi used in stock firmware is 0x320000000000, which is impossible to encode in the device tree, so I took the liberty of using MAC address increment of 1 for it, to ensure different BSSID for both Wi-Fi interfaces. Signed-off-by: Lech Perczak <lech.perczak@gmail.com>
* ath79: kernel: drop _machine_restart againLech Perczak2022-02-051-0/+54
| | | | | | | | | | Backport patch ("MIPS: ath79: drop _machine_restart again"), which is required to support GPIO restart handler on ZTE MF286, broken due to _machine_restart being restored in kernel accidentally, wich causes any registered restart handlers to not execute, including one from ath79-reset driver. Signed-off-by: Lech Perczak <lech.perczak@gmail.com>
* bcm27xx: update distroconfig.txt for faster RPi4John Audia2022-02-051-0/+2
| | | | | | | | | | | | | Newer RPi 4 Rev 6 (8 GB models and recent 2 GB / 4 GB models) ship with the so-called C0 processor which can run turbo mode at 1.8 GHz max rather than 1.5 GHz gracefully. Add 'arm_boost=1' to pi4 section of to enable. Note that this setting has no effect on older chips; they continue with their 1.5 GHz max unless users overclock them. Ref: https://www.raspberrypi.com/news/bullseye-bonus-1-8ghz-raspberry-pi-4 Signed-off-by: John Audia <graysky@archlinux.us>
* ipq40xx: add Linksys MR8300 WAN portJulien Cassette2022-02-051-2/+6
| | | | | | | | | | This makes the WAN interface and port appear in LuCi -> Network -> Switch on Linksys MR8300. This allows to configure a VLAN on WAN. Fixes: FS#4227 Signed-off-by: Julien Cassette <julien.cassette@gmail.com>
* ipq40xx: add support for ZTE MF286DPawel Dembicki2022-02-057-2/+484
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ZTE MF286D is a LTE router with four gigabit ethernet ports and integrated QMI mPCIE modem. Hardware specification: - CPU: IPQ4019 - RAM: 256MB - Flash: NAND 128MB + NOR 2MB - WLAN1: Qualcomm Atheros QCA4019 2.4GHz 802.11bgn 2x2:2 - WLAN2: Qualcomm Atheros QCA4019 5GHz 802.11anac 2x2:2 - LTE: mPCIe cat 12 card (Modem chipset MDM9250) - LAN: 4 Gigabit Ports - USB: 1x USB2.0 (regular port). 1x USB3.0 (mpcie - used by the modem) - Serial console: X8 connector 115200 8n1 Known issues: - Many LEDs are driven by the modem. Only internal LEDs and wifi LEDs are driven by cpu. - Wifi LED is triggered by phy0tpt only - No VoIP support - LAN1/WAN port is configured as WAN - ZTE gives only one MAC per device. Use +1/+2/+3 increment for WAN and WLAN0/1 Opening the case: 1. Take of battery lid (no battery support for this model, battery cage is dummy). 2. Unscrew screw placed behind battery lid. 3. Take off back cover. It attached with multiple plastic clamps. 4. Unscrew four more screws hidden behind back case. 5. Remove front panel from blue chassis. There are more plastic clamps. 6. Unscrew two boards, which secures the PCB in the chassis. 7. Extract board from blue chassis. Console connection (X8 connector): 1. Parameters: 115200 8N1 2. Pin description: (from closest pin to X8 descriptor to farthest) - VCC (3.3V) - TX - RX - GND Install Instructions: Serial + initramfs: 1. Place OpenWrt initramfs image for the device on a TFTP in the server's root. This example uses Server IP: 192.168.1.3 2. Connect serial console (115200,8n1) to X8 connector. 3. Connect TFTP server to RJ-45 port. 4. Stop in u-Boot and run u-Boot commands: setenv serverip 192.168.1.3 setenv ipaddr 192.168.1.72 set fdt_high 0x85000000 tftp openwrt-ipq40xx-generic-zte_mf286d-initramfs-fit-zImage.itb bootm $loadaddr 5. Please make backup of original partitions, if you think about revert to stock. 6. Login via ssh or serial and remove stock partitions: ubiattach -m 9 ubirmvol /dev/ubi0 -N ubi_rootfs ubirmvol /dev/ubi0 -N ubi_rootfs_data 7. Install image via "sysupgrade -n". Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com> (cosmetic changes to the commit message) Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* generic: kernel: add patches with ZTE MF286D modemPawel Dembicki2022-02-052-0/+121
| | | | | | | | | | | This patch includes patches sent upstream with ZTE MF286D modem support. It adds support for qmi and serial option driver. Links to ML: https://lore.kernel.org/linux-usb/20220111221132.14586-1-paweldembicki@gmail.com/ https://lore.kernel.org/linux-usb/20220111221205.14662-1-paweldembicki@gmail.com/ Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
* ipq806x: G10: use ASROCK's wifi calibration dataChristian Lamparter2022-02-051-0/+26
| | | | | | | | brings back the ath10k QCA9980 wifi nodes to which it adds ASROCK's wifi calibration data. These are now provided by the ath10k_firmware.git's board-2.bin. Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* ipq806x: utilize nvmem-cells for pre-calibration dataChristian Lamparter2022-02-0511-139/+169
| | | | | | | | | | | | | converts extraction entries from 11-ath10k-caldata into nvmem-cells in the individual board's device-tree file. The patch also moves previously existing referenced nvmem-cells data nodes which were placed at the end back into the partitions node. As well as removing some duplicated properties from qcom-ipq8065-xr500.dts's art (the included nighthawk.dtsi defines those already). Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* apm821xx: WNDR4700: utilize ath9k nvmem-cellsChristian Lamparter2022-02-042-49/+23
| | | | | | | | | the WNDR4700 can fetch its calibration data and mac-addresses directly from the "wifi_data" partition. This allows us to get rid of the 10-ath9k-eeprom file for the apm821xx target completely. Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* apm821xx: convert legacy nand partition layoutChristian Lamparter2022-02-045-31/+45
| | | | | | | | in order to get nvmem-cells to work on AP and routers (Netgears WNDR4700). The nvmem-cell needs to be within a fixed-partition dt-node. Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* apm821xx: WNDR4700: delete dead dt definitionsChristian Lamparter2022-02-041-2/+0
| | | | | | cooling-{min|max}-level are no longer used. Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* ramips: Switch Teltonika RUT5xx to kernel GPIO-line watchdog driverSven Eckelmann2022-02-033-1/+11
| | | | | | | | | | | | | | | The commit 04e91631e050 ("om-watchdog: add support for Teltonika RUT5xx (ramips)") used the deprecated om-watchdog daemon to handle the GPIO-line connected watchdog on the Teltonika RUT5xx. But this daemon has massive problems since commit 30f61a34b4cf ("base-files: always use staged sysupgrade"). The process will always be stopped on sysupgrades. If the sysupgrade takes slightly longer, the watchdog is not triggered at the correct time and thus the sysupgrade will interrupted hard by the watchdog sysupgrade. And this hard interrupt can easily brick the device when there is no fallback (dual-boot, ...). Signed-off-by: Sven Eckelmann <sven@narfation.org>
* bcm63xx: Remove patch already in Linux stableHauke Mehrtens2022-02-011-34/+0
| | | | | | | Remove the 434-nand-brcmnand-fix-OOB-R-W-with-Hamming-ECC.patch, it was already applied to Linux 5.10.37 and is not needed any more. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* kernel: bump 5.10 to 5.10.96Rui Salvaterra2022-02-018-18/+18
| | | | | | Patches automatically rebased. Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
* kernel: bump 5.10 to 5.10.95Rui Salvaterra2022-02-012-4/+4
| | | | | | Patches automatically rebased. Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
* kernel: bump 5.10 to 5.10.94Rui Salvaterra2022-02-01132-459/+380
| | | | | | | | | | | | | | | | | | | | Deleted (upstreamed): bcm27xx/patches-5.10/950-0669-drm-vc4-hdmi-Make-sure-the-device-is-powered-with-CE.patch [1] bcm27xx/patches-5.10/950-0672-drm-vc4-hdmi-Move-initial-register-read-after-pm_run.patch [1] gemini/patches-5.10/0003-ARM-dts-gemini-NAS4220-B-fis-index-block-with-128-Ki.patch [2] Manually rebased: bcm27xx/patches-5.10/950-0675-drm-vc4-hdmi-Drop-devm-interrupt-handler-for-CEC-int.patch Manually reverted: generic/pending-5.10/860-Revert-ASoC-mediatek-Check-for-error-clk-pointer.patch [3] [1] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.10.94&id=55b10b88ac8654fc2f31518aa349a2e643b37f18 [2] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.10.94&id=958a8819d41420d7a74ed922a09cacc0ba3a4218 [3] https://lore.kernel.org/all/trinity-2a727d96-0335-4d03-8f30-e22a0e10112d-1643363480085@3c-app-gmx-bap33/ Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com> Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* ipq40xx: add MikroTik cAP ac supportAlar Aun2022-02-018-1/+279
| | | | | | | | | | | | | | | | | | | | | | | | | | | This adds support for the MikroTik RouterBOARD RBcAPGi-5acD2nD (cAP ac), a indoor dual band, dual-radio 802.11ac wireless AP, two 10/100/1000 Mbps Ethernet ports. See https://mikrotik.com/product/cap_ac for more info. Specifications: - SoC: Qualcomm Atheros IPQ4018 - RAM: 128 MB - Storage: 16 MB NOR - Wireless: · Built-in IPQ4018 (SoC) 802.11b/g/n 2x2:2, 2.5 dBi antennae · Built-in IPQ4018 (SoC) 802.11a/n/ac 2x2:2, 2.5 dBi antennae - Ethernet: Built-in IPQ4018 (SoC, QCA8075) , 2x 1000/100/10 port, PoE in and passive PoE out Unsupported: - PoE out Installation: Boot the initramfs image via TFTP and then flash the sysupgrade image using "sysupgrade -n" Signed-off-by: Alar Aun <alar.aun@gmail.com>
* Revert "ramips: add support for ipTIME AX2004M"Stijn Tintel2022-02-014-192/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit f4a79148f8cb ("ramips: add support for ipTIME AX2004M") seems to leak KERNEL_LOADADDR 0x82000000 to other devices, causing the to no longer boot. The leak is visible in u-boot: Using 'config-1' configuration Trying 'kernel-1' kernel subimage Description: MIPS OpenWrt Linux-5.10.92 Type: Kernel Image Compression: lzma compressed Data Start: 0x840000e4 Data Size: 10750165 Bytes = 10.3 MiB Architecture: MIPS OS: Linux Load Address: 0x82000000 Entry Point: 0x82000000 Normally, it should look like this: Using 'config-1' configuration Trying 'kernel-1' kernel subimage Description: MIPS OpenWrt Linux-5.10.92 Type: Kernel Image Compression: lzma compressed Data Start: 0xbfca00e4 Data Size: 2652547 Bytes = 2.5 MiB Architecture: MIPS OS: Linux Load Address: 0x80001000 Entry Point: 0x80001000 Revert the commit to avoid more people soft-bricking their devices. This reverts commit f4a79148f8cbb7dfbcddfb0c1128caec45a01596. Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
* bcm4908: backport first 5.18 DTS changesRafał Miłecki2022-02-017-40/+424
| | | | Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* ath79: convert remaining mtd-mac-address-incrementSungbo Eo2022-02-011-1/+1
| | | | | | | | | | Commit d284e6ef0f06 ("treewide: convert mtd-mac-address-increment* to generic implementation") renamed "mtd-mac-address-increment" property to "mac-address-increment". Convert remaining usages that have been added after that. Fixes: af8a059bb41d ("ath79: add support for GL.iNet GL-XE300") Signed-off-by: Sungbo Eo <mans0n@gorani.run>
* ipq806x: convert remaining mtd-mac-address-incrementSungbo Eo2022-02-011-1/+1
| | | | | | | | | | Commit d284e6ef0f06 ("treewide: convert mtd-mac-address-increment* to generic implementation") renamed "mtd-mac-address-increment" property to "mac-address-increment". Convert remaining usages that have been added after that. Fixes: f44e933458b1 ("ipq806x: provide WiFI mac-addresses from dts") Signed-off-by: Sungbo Eo <mans0n@gorani.run>
* ath79: improve support for Dongwon T&I DW02-412HSungbo Eo2022-02-015-75/+60
| | | | | | | | | * Move &nand node to DTSI * Utilize nvmem for fetching caldata * Rename build recipe, clean before build * Simplify KERNEL definition Signed-off-by: Sungbo Eo <mans0n@gorani.run>
* mediatek: mt7623: simplify partition generationDaniel Golle2022-01-311-6/+1
| | | | | | | | | The two options 'emmc' and 'sdmmc' now became identical lines after introducing CONFIG_TARGET_ROOTFS_PARTSIZE. Remove the now useless if-clauses. Fixes: a40b4d335a ("mediatek: use CONFIG_TARGET_ROOTFS_PARTSIZE") Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* mediatek: u7623-02: enable early console also in legacy imageDaniel Golle2022-01-311-1/+1
| | | | | | | | Append 'earlycon=uart8250,mmio32,0x11004000' to the boot arguments embedded in device-tree in order to enable early console on the UniElec U7623 board when using the vendor/stock bootloader. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* bcm4908: backport bcm_sf2 patch for better LED registers supportRafał Miłecki2022-01-316-4/+422
| | | | Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* bcm4908: fixup pinctrl patches for kernel 5.4Rafał Miłecki2022-01-312-7/+8
| | | | | Fixes: b0145891676f ("bcm4908: backport BCM4908 pinctrl driver") Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* bcm4908: backport BCM4908 pinctrl driverRafał Miłecki2022-01-316-0/+1492
| | | | Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* ath79: ASUS RP-AC66 use flash till the endTamas Balogh2022-01-302-2/+2
| | | | | | | | | | | | This makes available the additional space, which was occupied by OEM's jffs2 partition before: "0x000000f80000-0x000001000000 : jffs2" Reverting to the OEM firmware will also recover this partition, i.e. it is not needed and can be used by OpenWrt. Signed-off-by: Tamas Balogh <tamasbalogh@hotmail.com>
* ramips: add support for Wavlink WL-WN535K1Davide Fioravanti2022-01-304-0/+210
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Wavlink WL-WN535K1 is a "mesh" router with 2 gigabit ethernet ports and one fast ethernet port. Mine is branded as Talius TAL-WMESH1. It can be found in kits of 2 or 3 (WL-WN535K2 or WL-WN535K3). The motherboard is labelled as WS-WN535G3-B-V1.2 so this image could potentially work for WL-WN535G3R and WS-WN535G3R with little to none effort, but it's untested. Hardware -------- SoC: Mediatek MT7620A RAM: 64MB FLASH: 8MB NOR (GigaDevice GD25Q64CS) ETH: - 2x 10/100/1000 Mbps Ethernet (RTL8211F) - 1x 10/100 Mbps Ethernet (integrated in SOC) WIFI: - 2.4GHz: 1x (integrated in SOC) (2x2:2) - 5GHz: 1x MT7612E (2x2:2) - 4 internal antennas BTN: - 1x Reset button - 1x Touchlink button (set to WPS) - 1x ON/OFF switch LEDS: - 1x Red led (system status) - 1x Blue led (system status) - 3x Green leds (ethernet port status/act) UART: - 57600-8-N-1 Everything works correctly. Currently there is no firmware update available. Because of this, in order to restore the OEM firmware, you must firstly dump the OEM firmware from your router before you flash the OpenWrt image. Backup the OEM Firmware ----------------------- The following steps are to be intended for users having little to none experience in linux. Obviously there are many ways to backup the OEM firmware, but probably this is the easiest way for this router. Procedure tested on WN535K1_V1510_200916 firmware version. 1) Go to http://192.168.10.1/webcmd.shtml 2) Type the following line in the "Command" input box and then press enter: mkdir /etc_ro/lighttpd/www/dev; dd if=/dev/mtd0ro of=/etc_ro/lighttpd/www/dev/mtd0ro 3) After few seconds in the textarea should appear this output: 16384+0 records in 16384+0 records out If your output doesn't match mine, stop reading and ask for help in the forum. 4) Open in another tab http://192.168.10.1/dev/mtd0ro to download the content of the whole NOR. If the file size is 0 byte, stop reading and ask for help in the forum. 5) Come back to the http://192.168.10.1/webcmd.shtml webpage and type: rm /etc_ro/lighttpd/www/dev/mtd0ro;for i in 1 2 3 4 5; do dd if=/dev/mtd${i}ro of=/etc_ro/lighttpd/www/dev/mtd${i}ro; done 6) After few seconds, in the textarea should appear this output: 384+0 records in 384+0 records out 128+0 records in 128+0 records out 128+0 records in 128+0 records out 14720+0 records in 14720+0 records out 1024+0 records in 1024+0 records out If your output doesn't match mine, stop reading and ask for help in the forum. 7) Open the following links to download the partitions of the OEM FW: http://192.168.10.1/dev/mtd1ro http://192.168.10.1/dev/mtd2ro http://192.168.10.1/dev/mtd3ro http://192.168.10.1/dev/mtd4ro http://192.168.10.1/dev/mtd5ro If one (or more) of these files are 0 byte, stop reading and ask for help in the forum. 8) Store these downloaded files in a safe place. 9) Reboot your router to remove any temporary file in ram. Installation ------------ Flash the initramfs image in the OEM firmware interface (http://192.168.10.1/update_mesh.shtml). When Openwrt boots, flash the sysupgrade image otherwise you won't be able to keep configuration between reboots. Restore OEM Firmware -------------------- Flash the "mtd4ro" file you previously backed-up directly from LUCI. Warning: Remember to not keep settings! Warning2: Remember to force the flash. Notes ----- 1) Router mac addresses: LAN XX:XX:XX:XX:XX:E2 (factory @ 0x28) WAN XX:XX:XX:XX:XX:E3 (factory @ 0x2e) WIFI 2G XX:XX:XX:XX:XX:E4 (factory @ 0x04) WIFI 5G XX:XX:XX:XX:XX:E5 (factory @ 0x8004) LABEL XX:XX:XX:XX:XX:E5 2) The OEM firmware upgrade page accepts only files containing the string "WN535K1" in the filename. 3) Additional notes 1,2,3 in the WS-WN583A6 commit are still valid (https://github.com/openwrt/openwrt/commit/92780d80ab6f5f03fac2407c06eb267dd83914a1) Signed-off-by: Davide Fioravanti <pantanastyle@gmail.com> [remove trailing whitespace] Signed-off-by: Sungbo Eo <mans0n@gorani.run>
* ramips: add support for ipTIME AX2004MSungbo Eo2022-01-294-0/+192
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ipTIME AX2004M is an 802.11ax (Wi-Fi 6) router, based on MediaTek MT7621A. Specification: * SoC: MT7621A * RAM: 256 MiB * Flash: NAND 128 MiB * Wi-Fi: * MT7915D: 2.4/5 GHz (DBDC) * Ethernet: 5x 1GbE * Switch: SoC built-in * USB: 1x 3.0 * UART: J4 (115200 baud) * Pinout: [3V3] (TXD) (RXD) (GND) MAC address: | interface | MAC | source | comment |-----------|-------------------|----------------|--------- | LAN | 58:XX:XX:00:XX:9B | | [1] | WAN | 58:XX:XX:00:XX:99 | | | WLAN 2G | 58:XX:XX:00:XX:98 | factory 0x4 | | WLAN 5G | 5A:XX:XX:40:XX:98 | | | | | | | | 58:XX:XX:00:XX:98 | config ethaddr | [1] Used in this patch as WLAN 5G MAC address with the local bit set Load address: * stock * 0x80010000: FIT image * 0x81001000: kernel image -> entry * OpenWrt * 0x80010000: FIT image * 0x82000000: uncompressed kernel+relocate image * 0x80001000: relocated kernel image -> entry Installation via **recovery** mode: 1. Press reset button, power up the device, wait >10s for CPU LED to stop blinking. 2. Upload recovery image through the recovery web page at 192.168.0.1. Revert to stock firmware: 1. Install stock image via recovery mode. Signed-off-by: Sungbo Eo <mans0n@gorani.run>
* ramips: make the relocation address configurableSungbo Eo2022-01-291-1/+1
| | | | | | | | | If no argument is given to relocate-kernel, KERNEL_LOADADDR will be used just as before. This is a preparation for ramips support of ipTIME AX2004M. Signed-off-by: Sungbo Eo <mans0n@gorani.run>
* mvebu: add support for ipTIME NAS1dualSungbo Eo2022-01-294-0/+337
| | | | | | | | | | | | | | | | | | | | | | | | ipTIME NAS1dual is a 1-bay NAS, based on Marvell Armada 385 SoC. Specifications: * SoC: 88F6820 * RAM: 2 GiB * Flash: SPI NOR 64 MiB * SATA: 1x 3Gb/s * Ethernet: 2x 1GbE * USB: 1x 3.0 * Fan: 2 speed level * UART: J11 (115200 8N1) * Pinout: [3V3] (TXD) (RXD) (GND) Installation via web interface: 1. Flash **initramfs** image through the stock web interface. 2. Boot into OpenWrt and perform sysupgrade with sysupgrade image. Revert to stock firmware: 1. Perform sysupgrade with stock image. Signed-off-by: Sungbo Eo <mans0n@gorani.run>
* mvebu: remove duplicate CONFIG_POWER_RESET entriesSungbo Eo2022-01-293-6/+1
| | | | | | | The option is already enabled in the target config since 9149ed4f05f8 ("mvebu: cortexa9: Add support for Ctera C200-V2"). Signed-off-by: Sungbo Eo <mans0n@gorani.run>
* kernel: add disabled POWER_RESET_QNAPSungbo Eo2022-01-295-4/+3
| | | | | | Move the disabled symbol from target configs to generic configs. Signed-off-by: Sungbo Eo <mans0n@gorani.run>
* kirkwood: add support for ipTIME NAS1Sungbo Eo2022-01-296-0/+265
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | ipTIME NAS1 is a 1-bay NAS, based on Marvell Kirkwood SoC. Specifications: * SoC: 88F6281 * RAM: 256 MiB * Flash: SPI NOR 16 MiB * SATA: 1x 3Gb/s * Ethernet: 1x 1GbE * USB: 1x 2.0 * Fan: 2 speed level * UART: JP1 (115200 8N1) * Pinout: [3V3] (TXD) (RXD) (GND) Notes: * There are several variants of the model name: "NAS-I", "NASI", "NAS1". Here "NAS1" is adopted for consistent naming scheme. * The reset button is also a USB copy button in stock FW, but in this patch the former is the only default behavior. Installation via web interface: 1. Flash sysupgrade image through the stock web interface. Revert to stock firmware: 1. Perform sysupgrade with stock image. Signed-off-by: Sungbo Eo <mans0n@gorani.run>
* kirkwood: rework 02_networkSungbo Eo2022-01-291-42/+67
| | | | | | | Just like other targets do, introduce two setup functions for interfaces and MAC addresses. Signed-off-by: Sungbo Eo <mans0n@gorani.run>
* kirkwood: drop kernel 5.4 supportSungbo Eo2022-01-2920-1937/+0
| | | | | | | It has been 3 months since we switched this target to 5.10, now we can remove the 5.4 files. Signed-off-by: Sungbo Eo <mans0n@gorani.run>
* kernel: move bootargs-append patch to genericSungbo Eo2022-01-294-7/+7
| | | | | | | | | | This moves bootargs-append support patch from ipq40xx and ipq806x to generic. This way we can append additional boot arguments from DTS instead of only being able to overwrite them. This is a preparation for kirkwood support of ipTIME NAS1. Signed-off-by: Sungbo Eo <mans0n@gorani.run>
* kernel: bump 5.4 to 5.4.174John Audia2022-01-2817-75/+33
| | | | | | | | | | | | | | Removed upstreamed patches: layerscape/patches-5.4/302-dts-0083-arm64-ls1028a-qds-correct-bus-of-rtc.patch[1] All other patches automatically rebased. 1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.4.174&id=65816c1034769e714edb70f59a33bc5472d9e55f Build system: x86_64 Build-tested: ramips/mt7621 Signed-off-by: John Audia <graysky@archlinux.us>
* octeontx: Refresh kernel configurationHauke Mehrtens2022-01-281-7/+1
| | | | | | | Refresh the kernel configuration. No manual changes done. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* kernel: Add CONFIG_CRYPTO_DEV_OCTEONTX_CPT kernel config optionHauke Mehrtens2022-01-281-0/+1
| | | | | | | This new kernel configuration option is available when building the octeontx target. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* kernel: Fix compile warningHauke Mehrtens2022-01-282-4/+8
| | | | | | | | | | This fixes the following compile warning: CC init/do_mounts.o init/do_mounts.c:478:19: warning: 'mount_ubi_rootfs' defined but not used [-Wunused-function] 478 | static int __init mount_ubi_rootfs(void) | ^~~~~~~~~~~~~~~~ Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* arc770: Remove arc770 targetHauke Mehrtens2022-01-2810-411/+0
| | | | | | | | | | | | | | | | | The arc700 target is not booting up since some time, see here: https://github.com/foss-for-synopsys-dwc-arc-processors/toolchain/issues/400 It looks like there is a problem in the toolchain when using glibc. Currently no one is working on fixing this problem, remove the target instead. This target also does not have many users we are aware of. If someone wants to have this target back, feel free to add a fixed version of this target again. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> Acked-by: Adrian Schmutzler <freifunk@adrianschmutzler.de> Acked-by: Stijn Tintel <stijn@linux-ipv6.be>
* ramips: enable I2C_CHARDEV in mt7621/config-5.10Stijn Tintel2022-01-281-0/+1
| | | | | | | | I2C_CHARDEV used to be enabled in mt7621/config-5.4. Enable it in the 5.10 config, as it's required for PoE control on Unifi Switch Flex. Fixes: b4aad29a1d7a ("ramips: add support for kernel 5.10") Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
* kernel: 5.10: drop broken-flash-reset patchChuanhong Guo2022-01-282-181/+1
| | | | | | | | | | | | | | | Flash accessing instruction templates are determined during probe since v5.6 for spimem-dirmap support in spi-nor driver in upstream commit: df5c21002cf4 ("mtd: spi-nor: use spi-mem dirmap API") As a result, changing bus_width on the fly doesn't work anymore and this patch will cause executing spi-mem ops with 3-byte address on 16-32M flash area. We can't easily revert that behavioral change upstream so drop the patch to prevent u-boot and eeprom from being erased. Fixes: b10d604459("kernel: add linux 5.10 support") Reported-by: Frank Di Matteo <dimatto@foxmail.com> Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
* rockchip: disable UHS modes for NanoPi R4SDavid Bauer2022-01-271-0/+26
| | | | | | | | | | | The NanoPi R4S leaves the SD card in 1.8V signalling when rebooting while U-Boot requires the card to be in 3.3V mode. Remove UHS support from the SD controller so the card remains in 3.3V mode. This reduces transfer speeds but ensures a reboot whether from userspace or following a kernel panic is always working. Signed-off-by: David Bauer <mail@david-bauer.net>
* mediatek: mt7623: include regular AHCI PCI driverDaniel Golle2022-01-251-1/+1
| | | | | | | | | The legacy image for the UniElec U7623-02 until now included kmod-ata-ahci-mtk. The MT7623 chip doesn't have that IP and that board uses a PCIe-connected AHCI controller for the SATA port and mSATA-pins of the mPCIe socket. Hence include kmod-ata-ahci instead. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* ipq40xx: drop 5.4 kernelRobert Marko2022-01-2448-7415/+0
| | | | | | | Since 5.10 is now default, no point in keeping 5.4 around. Signed-off-by: Robert Marko <robert.marko@sartura.hr>
* mediatek: store random MAC address in U-Boot env on first bootDaniel Golle2022-01-231-0/+14
| | | | | | | For devboards without a MAC address assigned from factory, store the random MAC in U-Boot env on first boot to make it persistent. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* uboot-envtools: add configuration for UniElec U7623 boardDaniel Golle2022-01-231-5/+5
| | | | | | | Add U-Boot env settings to allow accessing the environment using fw_printenv and fw_setenv tools on the UniElec U7623 board. Signed-off-by: Daniel Golle <daniel@makrotopia.org>