aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* mpc85xx: drop empty patch as it backported to LTS kernel 5.15.70Josef Schlehofer2022-12-241-0/+0
| | | | | | | | | This patch is part of Linux kernel 5.15.70, the content was removed, but the empty file is still being carried over the repository, so remove it once for all Fixes: e1b009c ("kernel: bump 5.15 to 5.15.70") Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
* CI: tools: reogranize and split workflowChristian Marangi2022-12-243-128/+163
| | | | | | | | | | | Generilize tools workflow for future usage in shared workflow for tools build. Split tools workflow to tools and push-containers: - tools just execute build test - push-containers build and push prebuilt containers Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* realtek: 5.15: Fix incorrect switch patchesOlliver Schinagl2022-12-241-0/+53
| | | | | | | | | Add correct header to patche(s) to be correctly used by git am and have better tracking of it. See commit f1f97db627b2 ("realtek: Convert incorrect v5.10 patches"). Signed-off-by: Olliver Schinagl <oliver@schinagl.nl>
* realtek: 5.10: Fix incorrect switch patchesOlliver Schinagl2022-12-241-0/+53
| | | | | | | | | Add correct header to patche(s) to be correctly used by git am and have better tracking of it. See commit f1f97db627b2 ("realtek: Convert incorrect v5.10 patches"). Signed-off-by: Olliver Schinagl <oliver@schinagl.nl>
* tools: Improve diffability/maintainabilityOlliver Schinagl2022-12-241-5/+37
| | | | | | | | | | | | | | | | | | There's no purpose to squish multiple tools into a single line (and spread those out over multiple lines). It might look 'nice' in certain conditions, but it's annoying to maintain. For example, but not limited to: * adding/removing tools, causes hard to read diffs * Duplicates are harder to spot * Sorting can not be (easily?) automated With this proposed change, the above annoyances go away. Inserting a new tool can be done with a single line-change-diff, sorting can be done by any editor (in vi, select, :sort for example) and dupes are much easier to spot. Signed-off-by: Olliver Schinagl <oliver@schinagl.nl>
* omap: add generic subtargetChristian Marangi2022-12-232-0/+2
| | | | | | | Same game as for 853e4dd3062df7cb5704b15d6af6730e3194b571. Add generic to the filenames. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* pistachio: add generic subtargetChristian Marangi2022-12-232-0/+2
| | | | | | | Same game as for 853e4dd3062df7cb5704b15d6af6730e3194b571. Add generic to the filenames. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* octeontx: add generic subtargetChristian Marangi2022-12-232-0/+2
| | | | | | | Same game as for 853e4dd3062df7cb5704b15d6af6730e3194b571. Add generic to the filenames. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* tegra: add generic subtargetChristian Marangi2022-12-232-0/+2
| | | | | | | Same game as for 853e4dd3062df7cb5704b15d6af6730e3194b571. Add generic to the filenames. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* zynq: add generic subtargetChristian Marangi2022-12-232-0/+2
| | | | | | | Same game as for 853e4dd3062df7cb5704b15d6af6730e3194b571. Add generic to the filenames. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* mxs: add generic subtargetChristian Marangi2022-12-232-0/+2
| | | | | | | Same game as for 853e4dd3062df7cb5704b15d6af6730e3194b571. Add generic to the filenames. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* kirkwood: add generic subtargetChristian Marangi2022-12-232-0/+2
| | | | | | | Same game as for 853e4dd3062df7cb5704b15d6af6730e3194b571. Add generic to the filenames. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* gemini: add generic subtargetChristian Marangi2022-12-232-0/+2
| | | | | | | Same game as for 853e4dd3062df7cb5704b15d6af6730e3194b571. Add generic to the filenames. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* ath25: add generic subtargetChristian Marangi2022-12-232-0/+2
| | | | | | | Same game as for 853e4dd3062df7cb5704b15d6af6730e3194b571. Add generic to the filenames. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* ramips: Fix drivers/pwm/pwm-mediatek-ramips.c compileHauke Mehrtens2022-12-231-2/+4
| | | | | | | The pwmchip_remove() function returns void now. Fix a compile problem in the drivers/pwm/pwm-mediatek-ramips.c driver. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* kernel: Move CONFIG_PWM_IMG and CONFIG_PWM_MEDIATEK to generic configurationHauke Mehrtens2022-12-233-1/+4
| | | | | | | In the build of the ramips/mt76x8 target the user gets asked about these two configuration options, add them to the generic kernel configuration. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* kernel: Move CONFIG_DRM_XEN_FRONTEND to generic configurationHauke Mehrtens2022-12-233-2/+1
| | | | | | | The CONFIG_DRM_XEN_FRONTEND configuration symbol is also used by the layerscape target, move it to the generic kernel configuration. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* mt76: update to the latest versionFelix Fietkau2022-12-221-3/+3
| | | | | | | a03ef0aab93e wifi: mt76: mt7921: fix deadlock in mt7921_abort_roc 5b509e80384a wifi: mt76: dma: fix a regression in adding rx buffers Signed-off-by: Felix Fietkau <nbd@nbd.name>
* uboot-sunxi: use UUID of bootdev and bootpartJan-Niklas Burfeind2022-12-221-3/+5
| | | | | | | | | | | | | | | | | | | | | | | Several sunxi devices come with multiple mmc devices. On such devices, the mmc device order is unpredictable, so using /dev/mmcblk0p2 as root device doesn't always work, which results in unbootable devices. For the Banana Pi BPI-R3 in the mediatek target, this has been solved by defining aliases for the mmc devices in the DTS. Ideally we would do the same here, but for sunxi-a64 we already use UUID probing, so let's start with that (5f2ff607e286 ("uboot-sunxi: a64: allow booting directly from eMMC")). Since we're building and including u-boot in each supported device image, and this method has been proven to work fine for a64, let's just change the default u-boot env file to do the same. Fixes: #10080 Fixes: e6d9f6fdff ("sunxi: add support for FriendlyARM NanoPi R1") Co-authored-by: Karl Palsson <karlp@etactica.com> Signed-off-by: Jan-Niklas Burfeind <git@aiyionpri.me> [use UUID in default u-boot env, rewrite commit message] Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
* sunxi: remove frequency for NanoPi R1Jan-Niklas Burfeind2022-12-221-2/+1
| | | | | | | The frequency appears as unlisted initial frequency. Removed it as Hauke suggested. Signed-off-by: Jan-Niklas Burfeind <git@aiyionpri.me>
* github: point to forum feature request categoryStijn Tintel2022-12-211-1/+1
| | | | | | | This should have been amended in the previous commit. Fixes: 65e72f8e380e ("github: add issue template") Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
* github: add issue templateStijn Tintel2022-12-212-0/+94
| | | | | | | | | Add an issue template with required fields, instructions how to easily get some of that required data from the device. Aside from that, also add some links to the OpenWrt contact page, and for feature requests, link to the forum. Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
* kernel: Add missing kernel configuration optionsHauke Mehrtens2022-12-216-4/+6
| | | | | | This fixes compile of the bmips target. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* kernel: Reorder kernel configuration optionsHauke Mehrtens2022-12-212-3/+3
| | | | | | | | | | ./scripts/kconfig.pl '+' target/linux/generic/config-5.10 /dev/null > target/linux/generic/config-5.10-new mv target/linux/generic/config-5.10-new target/linux/generic/config-5.10 ./scripts/kconfig.pl '+' target/linux/generic/config-5.15 /dev/null > target/linux/generic/config-5.15-new mv target/linux/generic/config-5.15-new target/linux/generic/config-5.15 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* toolchain: glibc: Update to glibc 2.36Hauke Mehrtens2022-12-213-6/+6
| | | | | | This updates to glibc to version 2.36. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* toolchain: gcc: backport patches to fix build with glibc 2.36Hauke Mehrtens2022-12-211-0/+39
| | | | | | | | | | | glibc 2.36 changed the definition of enum fsconfig_command, it now collides with the same definition from sys/mount.h. Remove the include of linux/fs.h This still compiled with musl too. This backports a patch which is already in the stable branch of GCC 11 and GCC 12. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* arm-trusted-firmware-sunxi: drop CPE IDStijn Tintel2022-12-201-1/+0
| | | | | | The CPE ID is already set in trusted-firmware-a.mk. Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
* trusted-firmware-a.mk: use correct CPE IDStijn Tintel2022-12-201-1/+1
| | | | | | | | | | | | | | | | There are 2 different CPE IDs on the NVD website: cpe:/a:arm:trusted_firmware-a cpe:/o:arm:arm_trusted_firmware The ID as currently used in trusted-firmware-a.mk does not exist. The CPE ID using the arm_trusted_firmware product name only lists a few records for versions 2.2 and 2.3 on the NVD site. The CPE ID using the trusted_firmware-a product name lists many more records, and actually has a CVE linked to it. Therefore, use the CPE ID using the trusted_firmware-a product name. Fixes: 104d60fe94ce ("trusted-firmware-a.mk: add PKG_CPE_ID") Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
* xdp-tools: update to version 1.2.9Daniel Golle2022-12-202-5/+5
| | | | | | | | | | | | | | | | | | | Changes since v1.2.8: 32aaf32 libxdp: Fix incorrect rx_ring_setup_done 6049671 headers: add bpf_endian.h for parsing_helpers.h 2682c1c export-man: Ignore errors when executing git shell command 8afda7a xdp-loader/README: Mention lack of support for HW mode in most cards dc69919 libxdp: fix prog_fd checks for fd >= 0 3d7c22a libxdp: Allow falling back to single-program attachment for loaded programs af00429 libxdp: Fix check in xdp_program__attach_single() 41703d2 libxdp: Make sure to set the the program autoload when loading a program b1fd2e5 test-xdpdump: Only run tshark attribute test on newer versions of tshark 5dfe342 libxdp: Convert xdp-dispatcher to use strict section names 929a22e configure: Try to auto-detect versioned clang binaries 074fcfb libxdp: Check program name when determining if a program is a dispatcher e13a191 Bump TOOLS_VERSION to 1.2.9 Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* Revert "Revert "mvebu: switch default kernel to 5.15""Petr Štetiar2022-12-201-2/+1
| | | | | | | | This reverts commit 97c77fff28cf001399f33c7bc1ec6687ba18450b as commit 8be6350f6646 ("generic: 5.15: allow MV88E6xxx built-in when PTP support disabled") contains the fix, so lets enable kernel 5.15 on mvebu again. Signed-off-by: Petr Štetiar <ynezz@true.cz>
* kernel: bump 5.10 to 5.10.160John Audia2022-12-191-2/+2
| | | | | | | | | | No patches affected by this update. Build system: x86_64 Build-tested: ramips/tplink_archer-a6-v3 Run-tested: ramips/tplink_archer-a6-v3 Signed-off-by: John Audia <therealgraysky@proton.me>
* kernel: bump 5.15 to 5.15.84John Audia2022-12-192-3/+3
| | | | | | | | | | All patches automatically rebased Build system: x86_64 Build-tested: bcm2711/RPi4B Run-tested: bcm2711/RPi4B Signed-off-by: John Audia <therealgraysky@proton.me>
* tools/xz: update to 5.2.10Nick Hainke2022-12-191-2/+2
| | | | | | Update to latest version. Signed-off-by: Nick Hainke <vincent@systemli.org>
* hostapd: add mbedtls variantRosen Penev2022-12-1911-12/+10188
| | | | | | | This adds the current WIP mbedtls patches for hostapd. The motivation here is to reduce size. Signed-off-by: Rosen Penev <rosenp@gmail.com>
* ath79: image: don't depend on other COMPILE targetsAlexander Couzens2022-12-191-1/+1
| | | | | | | | | A device COMPILE target should not depend on another COMPILE. Otherwise race condition may happen. The loader is very small. Compiling it twice shouldn't have a huge impact. Signed-off-by: Alexander Couzens <lynxis@fe80.eu>
* image: fix device profile specific COMPILE targetsMichael Pratt2022-12-191-0/+1
| | | | | | | | | | | | | | | Commit a01d23e75 ("image: always rebuild kernel loaders") is a step in the right direction, but exposed some issues and regressions in the makefile. Some of the files made by device specific COMPILE targets start with an "append" command (i.e. >> instead of > redirection) and if the file already exists, the target file is the input to itself before the first recipe-specified input. Fixes: a01d23e75 ("image: always rebuild kernel loaders") Fixes: a7fb589e8 ("image: always rebuild kernel loaders") Signed-off-by: Michael Pratt <mcpratt@pm.me>
* mac80211: add ath11k PCI supportRobert Marko2022-12-1920-4/+1718
| | | | | | | | | | | | | | | | | | | | | | ath11k is the upstream driver for Qualcomm 802.11ax radios, both for the internal AHB and PCI based cards. This commit does however only provide PCI support while AHB will follow but its SoC specific so it will require an OpenWrt target first. It differs a bit from ath10k as it requires stuff like QRTR, MHI and QMI helpers. PCI variant requires qrtr-mhi and mhi-bus which backports do provide, however we are dropping those in a patch as they will conflict with support for the AHB variant as that one requires qrtr-smd which in turn requires RPMSG and GLINK and its not feasable to provide those in backports as they are really SoC specific. QRTR and MHI in kernel 5.10 are not usable and backporting the changes is not easy as they have changed drastically from 5.10 to 5.15 ath11k will only be available on targets that use kernel 5.15. Signed-off-by: Robert Marko <robimarko@gmail.com>
* linux-firmware: package ath11k consumer cards firmwareRobert Marko2022-12-192-1/+24
| | | | | | Package firmware for ath11k supported QCA consumer cards from linux-firmware. Signed-off-by: Robert Marko <robimarko@gmail.com>
* kernel: package QRTR supportRobert Marko2022-12-191-0/+64
| | | | | | | | | | | | | | | | | QRTR is Qualcomm IPC router protocol and ath11k requires it for both AHB and PCI support, so package it as a kernel module so it can be added as a dependency to the ath11k module. Only kernel 5.15 is currently supported due to various things missing in 5.10 whose backporting is out of scope for this patch. SMD, TUN and MHI variants are packaged. SMD variant depends on the ipq807x target as it has dependency on the RPMSG drivers which are Qualcomm and SoC specific anyway. Signed-off-by: Robert Marko <robimarko@gmail.com>
* tools/patchelf: update to 0.17.0Linhui Liu2022-12-181-5/+4
| | | | | | Update to the latest released version. Signed-off-by: Linhui Liu <liulinhui36@gmail.com>
* tools/sed: Fix handling of symlinks of 128 charsHauke Mehrtens2022-12-181-0/+47
| | | | | | | | | | | If the absolute path a symlink is pointing to is 128 bytes long sed failed with an error message like this: "<path>/sedstbU8O: Not a directory" This fixes a problem building python seen in the build bot. This patch is on its way into upstream sed. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* ramips: add support for Linksys E5400 and clonesJulien Dusser2022-12-183-0/+185
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Linksys E5400 is a 2.4/5GHz dual band AC router, based on MediaTek MT7628AN. This device is also sold as Linksys E2500v4, E5300 and E5350 with the same hardware, but software speed limitations in vendor firmwares. Specification: * SoC: MT7628AN (580 MHz) * RAM: DDR2 64 MiB * Flash: 16 MiB NOR (W25Q128BV) * Wi-Fi: * 2.4GHz: SoC Built-in * 5GHz: MT7612EN * Ethernet: 5x 100Mbps * Switch: SoC built-in * UART: * 115200, 8N1, 3.3V (real u-boot speed: 119050) * Pinout JB4: 1:[3V3] (TXD) (RXD) [NC] (GND) Flash Layout: 0x0000000-0x0030000 : "Bootloader" 0x0030000-0x0040000 : "Config" 0x0040000-0x0050000 : "Factory" 0x0050000-0x0ff0000 : "Kernel" 0x0ff0000-0x1000000 : "CBTinfo" MAC address: LAN: factory 0x28 WAN: LAN + 1 2.4G: LAN + 2 5G: LAN + 3 Installation: 1. Connect to UART, use LF as EOL (not CRLF) 2. Set IP address - Press 4 during boot - setenv serverip <TFTPSERVER_IP> - setenv ipaddr <DEVICE_IP> - setenv bootfile openwrt-ramips-mt76x8-linksys_e5400-initramfs-kernel.bin - saveenv - reset 3. Load Openwrt Kernel image from TFTP: - Press 1 during boot - IP and filename should be already set 4. Boot into OpenWrt and perform sysupgrade with sysupgrade image. Signed-off-by: Julien Dusser <julien.dusser@free.fr>
* generic: 5.15: allow MV88E6xxx built-in when PTP support disabledJohnny S. Lee2022-12-181-0/+44
| | | | | | | | | | | | As described in commit 97c77fff28cf001399f33c7bc1ec6687ba18450b MV88E6xxx driver (NET_DSA_MV88E6XXX) cannot be built-in when PTP (PTP_1588_CLOCK) is a module in Linux 5.15. But actually it should be allowed to be built-in when its PTP support (NET_DSA_MV88E6XXX_PTP) is disabled. This adds a patch to fix that. Signed-off-by: Johnny S. Lee <foss@jsl.io>
* tools/libressl: update to 3.7.0Linhui Liu2022-12-181-2/+2
| | | | | | | | | Release notes: https://ftp.openbsd.org/pub/OpenBSD/LibreSSL/libressl-3.6.0-relnotes.txt https://ftp.openbsd.org/pub/OpenBSD/LibreSSL/libressl-3.6.1-relnotes.txt https://ftp.openbsd.org/pub/OpenBSD/LibreSSL/libressl-3.7.0-relnotes.txt Signed-off-by: Linhui Liu <liulinhui36@gmail.com>
* iproute2: update to 6.1.0Nick Hainke2022-12-182-4/+4
| | | | | | | | | | Announcement: https://lore.kernel.org/netdev/20221214094130.7b11ec2e@hermes.local/T/#t Refresh patch: - 170-ip_tiny.patch Signed-off-by: Nick Hainke <vincent@systemli.org>
* rules: fix broken commitcount on alpine systemChristian Marangi2022-12-181-1/+1
| | | | | | | | | To generate commitcount we use grep --max-count. This is not present on alpine grep and cause wrong generation. Use -m as it's just the short version of --max-count and more portable. Fixes: #11200 Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* image-commands.mk: Be consistent in command invocationOlliver Schinagl2022-12-181-1/+1
| | | | | | | Most/all other tools use the staging dir prefix, gzip should as well. Signed-off-by: Olliver Schinagl <oliver@schinagl.nl> Acked-by: Christian Marangi <ansuelsmth@gmail.com>
* ramips: add support for SNR-CPE-W4N-MT routerAlexey Bartenev2022-12-175-0/+149
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | General specification: - SoC Type: MediaTek MT7620N (580MHz) - ROM: 8 MB SPI-NOR (W25Q64FV) - RAM: 64 MB DDR (M13S5121632A) - Switch: MediaTek MT7530 - Ethernet: 5 ports - 5×100MbE (WAN, LAN1-4) - Wireless 2.4 GHz: b/g/n - Buttons: 1 button (RESET) - Bootloader: U-Boot 1.1.3, MediaTek U-Boot: 5.0.0.5 - Power: 12 VDC, 1.0 A Flash by the native uploader in 2 stages: 1. Use the native uploader to flash an initramfs image. Choose openwrt-ramips-mt7620-snr_cpe-w4n-mt-initramfs-kernel.bin file by "Administration/Management/Firmware update/Choose File" in vendor's web interface (ip: 192.168.1.10, login: Admin, password: Admin). Wait ~160 seconds. 2. Flash a sysupgrade image via the initramfs image. Choose openwrt-ramips-mt7620-snr_cpe-w4n-mt-squashfs-sysupgrade.bin file by "System/Backup/Flash Firmware/Flash image..." in LuCI web interface (ip: 192.168.1.1, login: root, no password). Wait ~240 seconds. Flash by U-Boot TFTP method: 1. Configure your PC with IP 192.168.1.131 2. Set up TFTP server and put the openwrt-ramips-mt7620-snr_cpe-w4n-mt-squashfs-sysupgrade.bin image on your PC 3. Connect serial port (57600 8N1) and turn on the router. Then interrupt "U-Boot Boot Menu" by hitting 2 key (select "2: Load system code then write to Flash via TFTP."). Press Y key when show "Warning!! Erase Linux in Flash then burn new one. Are you sure? (Y/N)" Input device IP (192.168.1.1) ==:192.168.1.1 Input server IP (192.168.1.131) ==:192.168.1.131 Input Linux Kernel filename () ==: openwrt-ramips-mt7620-snr_cpe-w4n-mt-squashfs-sysupgrade.bin 3. Wait ~120 seconds to complete flashing Signed-off-by: Alexey Bartenev <41exey@proton.me>
* gdb: Do not link against xxhashHauke Mehrtens2022-12-171-0/+1
| | | | | | | | | | libxxhash is now available in the OpenWrt package feed and gdb will link against it if gdb finds this library. Explicitly deactivate the usage of xxhash. This should fix the build of gdb in build bots. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* ath79: add support for KuWFi C910Davide Fioravanti2022-12-174-0/+220
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | KuWFi C910 is an 802.11n (300N) indoor router with LTE support. I can't find anywhere the OEM firmware. So if you want to restore the original firmware you must do a dump before the OpenWrt flash. According to the U-Boot, the board name is Iyunlink MINI_V2. Hardware -------- SoC: Qualcomm QCA9533 650/400/200/25/25 MHz (CPU/RAM/AHB/SPI/REF) RAM: 128 MB DDR2 16-bit CL3-4-4-10 (Nanya NT5TU64M16HG-AC) FLASH: 16 MB Winbond W25Q128 ETH: - 2x 100M LAN (QCA9533 internal AR8229 switch, eth0) - 1x 100M WAN (QCA9533 internal PHY, eth1) WIFI: - 2.4GHz: 1x QCA9533 2T2R (b/g/n) - 2 external non detachable antennas (near the power barrel side) LTE: - Quectel EC200T-EU (or -CN or -AU depending on markets) - 2 external non detachable antennas (near the sim slot side) BTN: - 1x Reset button LEDS: - 5x White leds (Power, Wifi, Wan, Lan1, Lan2) - 1x RGB led (Internet) UART: 115200-8-N-1 (Starting from lan ports in order: GND, RX, TX, VCC) Everything works correctly. MAC Addresses ------------- LAN XX:XX:XX:XX:XX:48 (art@0x1002) WAN XX:XX:XX:XX:XX:49 (art@0x1002 + 1) WIFI XX:XX:XX:XX:XX:48 LABEL XX:XX:XX:XX:XX:48 Installation ------------ Turn the router on while pressing the reset button for 4 seconds. You can simply count the flashes of the first lan led. (See notes) If done correctly you should see the first lan led glowing slowly and you should be able to enter the U-Boot web interface. Click on the second tab ("固件") and select the -factory.bin firmware then click "Update firmware". A screen "Update in progress" should appear. After few minutes the flash should be completed. This procedure can be used also to recover the router in case of soft brick. Backup the original firmware ---------------------------- The following steps are intended for a linux pc. However using the right software this guide should also work for Windows and MacOS. 1) Install a tftp server on your pc. For example tftpd-hpa. 2) Create two empty files in your tftp folder called: kuwfi_c910_all_nor.bin kuwfi_c910_firmware_only.bin 3) Give global write permissions to these files: chmod 666 kuwfi_c910_all_nor.bin chmod 666 kuwfi_c910_firmware_only.bin 4) Start a netcat session on your pc with this command: nc -u -p 6666 192.168.1.1 6666 5) Set the static address on your pc: 192.168.1.2. Connect the router to your pc. 6) Turn the router on while pressing the reset button for 8-9 seconds. You can simply count the flashes of the first lan led. If you press the reset button for too many seconds it will continue the normal boot, so you have to restart the router. (See notes) 7) If done correctly you should see the U-Boot network console and you should see the following lines on the netcat session: Version and build date: U-Boot 1.1.4-55f1bca8-dirty, 2020-05-07 Modification by: Piotr Dymacz <piotr@dymacz.pl> https://github.com/pepe2k/u-boot_mod u-boot> 8) Start the transfer of the whole NOR: tftpput 0x9f000000 0x1000000 kuwfi_c910_all_nor.bin 9) The router should start the transfer and it should end with a message like this (pay attention to the bytes transferred): TFTP transfer complete! Bytes transferred: 16777216 (0x1000000) 10) Repeat the same transfer for the firmware: tftpput 0x9f050000 0xfa0000 kuwfi_c910_firmware_only.bin 11) The router should start the transfer and it should end with a message like this (pay attention to the bytes transferred): TFTP transfer complete! Bytes transferred: 16384000 (0xfa0000) 12) Now you have the backup for the whole nor and for the firmware partition. If you want to restore the OEM firmware from OpenWrt you have to flash the kuwfi_c910_firmware_only.bin from the U-Boot web interface. WARNING: Don't use the kuwfi_c910_all_nor.bin file. This file is only useful if you manage to hard brick the router or you damage the art partition (ask on the forum) Notes ----- This router (or at least my unit) has the pepe2k's U-Boot. It's a modded U-Boot version with a lot of cool features. You can read more here: https://github.com/pepe2k/u-boot_mod With this version of U-Boot, pushing the reset button while turning on the router starts different tools: - 3-5 seconds: U-Boot web interface that can be used to replace the firmware, the art or the U-Boot itself - 5-7 seconds: U-Boot uart console - 7-10 seconds: U-Boot network console - 11+ seconds: Normal boot The LTE modem can be used in cdc_ether (ECM) or RNDIS mode. The default mode is ECM and in this commit only the ECM software is included. In order to set RNDIS mode you must use this AT command: AT+QCFG="usbnet",3 In order to use again the ECM mode you must use this AT command: AT+QCFG="usbnet",1 Look for "Quectel_EC200T_Linux_USB_Driver_User_Guide_V1.0.pdf" for other AT commands Signed-off-by: Davide Fioravanti <pantanastyle@gmail.com>