aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* hostapd: add support for passing CSA events from sta/mesh to AP interfacesFelix Fietkau2019-01-292-2/+183
| | | | | | Fixes handling CSA when using AP+STA or AP+Mesh Signed-off-by: Felix Fietkau <nbd@nbd.name>
* ramips: move wifi related interrupts off the main core on SMP systemsFelix Fietkau2019-01-291-0/+31
| | | | | | Improves LAN<->WLAN bridging/routing performance Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: fix an issue with allocated tailroom for encrypted mgmt packetsFelix Fietkau2019-01-291-0/+48
| | | | | | Fixes kernel warnings and connectivity issues in encrypted mesh networks Signed-off-by: Felix Fietkau <nbd@nbd.name>
* kernel: Add missing config option for kernel 4.14Hauke Mehrtens2019-01-281-0/+1
| | | | | | | | | | | | | Kernel 4.14.96 got the new configuration option CIFS_ALLOW_INSECURE_LEGACY which allows to deactivate support for old and insecure SMB versions like 1.0 and 2.0. Still allow these old SMB version and fix build problems which occurred because this option was not defined. This was found by build bot. Fixes: 3662157d8bed ("kernel: bump 4.14 to 4.14.96") Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* imx6: add support for kernel 4.19Koen Vandeputte2019-01-282-0/+541
| | | | Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* kernel: bump 4.19 to 4.19.18Koen Vandeputte2019-01-2834-386/+60
| | | | | | | | | | | | | | | | Refreshed all patches. Removed upstreamed: - 031-v5.0-MIPS-BCM47XX-Setup-struct-device-for-the-SoC.patch - 142-jffs2-Fix-use-of-uninitialized-delayed_work-lockdep-.patch Removed upstreamed hunk in: - 800-bcma-get-SoC-device-struct-copy-its-DMA-params-to-th.patch Compile-tested on: cns3xxx Runtime-tested on: cns3xxx Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* cns3xxx: don't use invalid mask value for clock eventsKoen Vandeputte2019-01-281-2/+4
| | | | | | | | | | | | | According to a commit from kernel 4.18-rc3, it's not valid to use "cpu_mask_all" for clock events and it should be replaced in favor of "cpu_possible_mask" [1] This warning was seen when booting kernel 4.19 on a cns3xxx board. Let's fix it also here just to be safe. [1] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v4.19.18&id=fbfa9260085b5b578a049a90135e5c51928c5f7f Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* cns3xxx: add support for kernel 4.19Koen Vandeputte2019-01-2825-0/+1562
| | | | Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* cns3xxx: use actual size reads for PCIe (4.19)Koen Vandeputte2019-01-281-0/+46
| | | | | | | | | | | | | | | | | | | | | upstream commit 802b7c06adc7 ("ARM: cns3xxx: Convert PCI to use generic config accessors") reimplemented cns3xxx_pci_read_config() using pci_generic_config_read32(), which preserved the property of only doing 32-bit reads. It also replaced cns3xxx_pci_write_config() with pci_generic_config_write(), so it changed writes from always being 32 bits to being the actual size, which works just fine. Due to: - The documentation does not mention that only 32 bit access is allowed. - Writes are already executed using the actual size - Extensive testing shows that 8b, 16b and 32b reads work as intended It makes perfectly sense to also swap 32 bit reading in favor of actual size. also backport this patch to kernel 4.19 Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* cns3xxx: refresh kernel configKoen Vandeputte2019-01-281-3/+1
| | | | Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* kernel: bump 4.14 to 4.14.96Koen Vandeputte2019-01-2820-116/+28
| | | | | | | | | | | | Refreshed all patches. Remove upstreamed patches: - 142-jffs2-Fix-use-of-uninitialized-delayed_work-lockdep-.patch Compile-tested on: ar71xx, cns3xxx, imx6, x86_64 Runtime-tested on: ar71xx, cns3xxx, imx6 Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* kernel: bump 4.9 to 4.9.153Koen Vandeputte2019-01-2812-18/+18
| | | | | | | | | Refreshed all patches. Compile-tested on: ar7 Runtime-tested on: none Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* kernel: bump 3.18 to 3.18.133Koen Vandeputte2019-01-289-12/+12
| | | | | | | | | Refreshed all patches. Compile-tested on: adm5120 Runtime-tested on: none Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* brcm2708: Fix kmod-regmap splitHauke Mehrtens2019-01-271-17/+34
| | | | | | | There are more regmap dependencies missing in the brcm2708 target. Fixes: fd5c16870169 ("kernel: Build: Split kmod-regmap") Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* map: depend on nat46, provide map-tHans Dedecker2019-01-271-6/+7
| | | | Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
* 464xlat: import from routing, add myself as maintainerHans Dedecker2019-01-274-0/+316
| | | | Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
* nat46: import for routing, add myself as maintainerHans Dedecker2019-01-271-0/+35
| | | | Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
* ath79: add support for TP-Link Archer C2 V3 (AC900)Skirmantas Lauzikas2019-01-276-7/+246
| | | | | | | | | | | | | | | | | | | | | | | | | | This commit adds support for the TP-link Archer C2 V3 (AC900). Specifications: - CPU: QCA9563 750Mhz - Ram: 64MB (DDR2) - Flash: 8MB (SPI NOR) - Ethernet: 5x 10/100/1000 - Wifi: QCA9563 bgn + QCA9887 an+ac - 9x Leds, 2x buttons Flash instructions: Upload openwrt-ath79-generic-tplink_archer-c2-v3-squashfs-factory.bin via the router Web interface and flash as normal firmware update. Signed-off-by: Skirmantas Lauzikas <skirmantas.lauzikas@blackraven.lt> [reorder entries, fix trailing whitespace in dts, add firmware partition compatible string, remove led default off states, use default on state for system led, reuse tplink-safeloader-uimage image build recipe, squash with dynamic partitioning commit, reword commit message, add installation instructions] Signed-off-by: Jo-Philipp Wich <jo@mein.io>
* firmware-utils: tplink-safeloader: Fix for Archer C2 V3 image generationSkirmantas Lauzikas2019-01-271-1/+2
| | | | | | | | | | | Fix for factory image generation, so that stock firmware will accept the openwrt image. Ref: https://forum.openwrt.org/t/support-for-tp-link-archer-c2-v3/15617/17 Signed-off-by: Skirmantas Lauzikas <skirmantas.lauzikas@blackraven.lt> [reword commit message, use correct order for conditions, trim trailing whitespace] Signed-off-by: Jo-Philipp Wich <jo@mein.io>
* tools: tplink-safeloader: add C7v5 RU SupportMichael Gray2019-01-271-1/+2
| | | | | | The added entry originates from TP-Links latest Archer C7 v5 RU firmware. Signed-off-by: Michael Gray <michael.gray@lantisproject.com>
* brcm63xx: VH4032N: add missing pinctrlDaniel Gonzalez Cabanelas2019-01-271-0/+4
| | | | | | | | Add missing pin controls for the Observa VH4032N router. This fixes the wifi radio and ethernet LAN LEDs. Signed-off-by: Daniel Gonzalez Cabanelas <dgcbueu@gmail.com>
* brcm63xx: VH4032N: fix the power led and the wlan buttonDaniel Gonzalez Cabanelas2019-01-272-5/+5
| | | | | | | | - use the blue LED for power, since the red LED is already used by CFE in emergency mode. - use the correct code for the wlan button Signed-off-by: Daniel Gonzalez Cabanelas <dgcbueu@gmail.com>
* brcm2708: Move kmod-sound-soc-3dlab-nano-player to sound modulesHauke Mehrtens2019-01-271-0/+1
| | | | | | | kmod-sound-soc-3dlab-nano-player was in the global kernel menu before, add the dependency to sound to move it to the correct category. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* kernel: Fix kmod-regmap splitHauke Mehrtens2019-01-272-2/+3
| | | | | | | | Two regmap dependencies were wrong, this patch fixes them. This was detected by the build bots. Fixes: fd5c16870169 ("kernel: Build: Split kmod-regmap") Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* mbedtls: Kconfig option to enable/disable debug functionsMichael Heimpold2019-01-272-10/+28
| | | | | | | | | | | | | | | | | | | | | This introduces a new Kconfig option to switch on/off mbedtls' support for debug functions. The idea behind is to inspect TLS traffic with Wireshark for debug purposes. At the moment, there is no native or 'nice' support for this, but at https://github.com/Lekensteyn/mbedtls/commit/68aea15833e1ac9290b8f52a4223fb4585fb3986 an example implementation can be found which uses the debug functions of the library. However, this requires to have this debug stuff enabled in the library, but at the moment it is staticly patched out. So this patch removes the static part from the configuration patch and introduces a dynamic config file editing during build. When enabled, this heavily increases the library size, so I added a warning in the Kconfig help section. Signed-off-by: Michael Heimpold <mhei@heimpold.de>
* mbedtls: update to 2.16.0Deng Qingfang2019-01-272-27/+27
| | | | | | | | Refresh patch https://tls.mbed.org/tech-updates/releases/mbedtls-2.16.0-2.7.9-and-2.1.18-released Signed-off-by: Deng Qingfang <dengqf6@mail2.sysu.edu.cn>
* update uClibc-ng from 1.0.30 to 1.0.31protonesso2019-01-271-2/+2
| | | | Signed-off-by: protonesso <nagakamira@gmail.com>
* lantiq/led_dsl: Fix netdev led triggerMartin Schiller2019-01-271-1/+3
| | | | | | | | | | | In the upstream netdev led trigger the one mode file was replaced by 3 files named rx, tx and link. Fix the netdev trigger configuration code to use the modified API. This fix is based on 201058b35ce ("base-files: Fix netdev led trigger") Fixes: aa3b6a08c56 ("kernel: Replace ledtrig-netdev with upstream backport") Signed-off-by: Martin Schiller <ms@dev.tdt.de>
* sunxi: Add support for SY8106A voltage regulatorDaniel Engberg2019-01-272-1/+1
| | | | | | | | | Add support for Silergy SY8106A voltage regulator which is needed for cpufreq support on boards such as Orange Pi PC Signed-off-by: Daniel Engberg <daniel.engberg.lists@pyret.net> [Remove CONFIG_REGULATOR_SY8106A from cortexa7] Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* kernel: add kmod-usb-gadget-cdc-compositeKarl Pálsson2019-01-271-0/+16
| | | | | | This builds the "g_cdc" gadget module, providing ethernet+serial. Signed-off-by: Karl Pálsson <karlp@etactica.com>
* build: dtc: Disable noisy warnings by defaultPetr Štetiar2019-01-271-1/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | While helping with review and build testing of a few 4.19 pull requests, I've noticed, that dtc compiler in OpenWrt uses different options then upstream kernel, which is leading to a very noisy output[1]. It wouldn't be that bad per se, but a lot of such warnings aren't easily fixable so I think, that we should follow what upstream does and simply ignore^W silence those noisy warnings. So this patch tries to syncs dtc compiler flags with upstream kernel till version 4.19.13, disabling those warnings as they were added in upstream kernel: v4.6-rc1-2-gbc55398 dtc: turn off dtc unit address warnings by default The newly added dtc warning to check DT unit-address without reg property and vice-versa generates lots of warnings. Turn off the check unless building with W=1 or W=2. v4.11-rc2-11-g8654cb8 dtc: update warning settings for new bus and node/property dtc gained new warnings checking PCI and simple buses, unit address formatting, and stricter node and property name checking. Disable the new dtc warnings by default as there are 1000s. As before, warnings are enabled with W=1 or W=2. The strict node and property name checks are a bit subjective, so they are only enabled for W=2. v4.16-rc3-9-g4fd98e3 scripts: turn off some new dtc warnings by default The latest dtc update adds some new noisy warnings, so turn them off by default. Disable 'avoid_unnecessary_addr_size' and 'alias_paths'. They can be re-enabled by building with 'W=1'. v4.17-rc1-27-g74656b6 kbuild: disable new dtc graph and unit-address warnings dtc gained some new warnings for OF graphs and unique unit addresses, but they are currently much too noisy. So turn off 'graph_child_address', 'graph_port', and 'unique_unit_address' warnings by default. They can be enabled by building dtbs with W=1. Build tested on imx6 and ath79 with 4.14 and 4.19. 1. https://github.com/openwrt/openwrt/pull/1694#issuecomment-450864335 Signed-off-by: Petr Štetiar <ynezz@true.cz>
* mvebu: backport upstream fixes for armada 37xxTomasz Maciej Nowak2019-01-273-0/+158
| | | | | | | Upstream patches for processor frequency scaling, which fix possible system hard lockups. Signed-off-by: Tomasz Maciej Nowak <tomek_n@o2.pl>
* mvebu: espressobin: correct spi node in dtsTomasz Maciej Nowak2019-01-272-8/+77
| | | | | | | | Drop customizations in: 508-arm64-dts-armada-3720-espressobin-wire-up-spi-flash.patch and move them to separate patch, with broader explanation. Signed-off-by: Tomasz Maciej Nowak <tomek_n@o2.pl>
* mvebu: sort armada 37xx upstream patches chronologicallyTomasz Maciej Nowak2019-01-279-0/+0
| | | | Signed-off-by: Tomasz Maciej Nowak <tomek_n@o2.pl>
* mvebu: move HARDEN_BRANCH_PREDICTOR to common configTomasz Maciej Nowak2019-01-274-3/+1
| | | | | | | | This symbol is enabled in all subtargets, move it to common kernel config. Signed-off-by: Tomasz Maciej Nowak <tomek_n@o2.pl> Acked-by: Rosen Penev <rosenp@gmail.com>
* kernel: Build: Split kmod-regmapHauke Mehrtens2019-01-2713-79/+101
| | | | | | | | | | | | | | | | | | | | | | | This reduces the needed modifications to the mainline Linux kernel and also makes the regmap package work with an out of tree kernel which does not have these modifications. The regmap-core is only added when it is really build as a module. The regmap-core is normally bool so it cannot be built as a module in an unmodified kernel. When it is selected by on other kernel module it will always be selected as build in and it also does not show up in $(LINUX_DIR)/modules.builtin as it is not supposed to be a kernel module. When it is not in $(LINUX_DIR)/modules.builtin the build system expects it to be built as a .ko file. Just check if the module is really there and only add it in that case. This splits the regmap package into multiple packages, one for each bus type. This way only the bus maps which are really needed have to be added. This also splits the I2C, SPI and MMIO regmap into separate packages to not require all these subsystems to build them, on an unmodified upstream kernel this also causes problems in some situations. Signed-off-by: Hauke Mehrtens <hauke.mehrtens@intel.com>
* sunxi: spi flash dts changesOskari Lemmela2019-01-264-0/+226
| | | | | | | | Backport A64 SPI flash DTS changes to 4.14 kernel. Add Openwrt specific flash partitions to Sopine. Signed-off-by: Oskari Lemmela <oskari@lemmela.net>
* sunxi: add spi flash support to kernelOskari Lemmela2019-01-262-2/+16
| | | | | | | Some of sunxi devices have onboard SPI flash. Enable SPI NOR support and MTD fit split in kernel config. Signed-off-by: Oskari Lemmela <oskari@lemmela.net>
* sunxi: add a64 watchdog supportOskari Lemmela2019-01-261-0/+54
| | | | | | Backport A64 watchdog DTS change to 4.14 kernel. Signed-off-by: Oskari Lemmela <oskari@lemmela.net>
* e2fsprogs: Update to 1.44.5Rosen Penev2019-01-262-19/+27
| | | | | | | | | | | Added e4crypt tool for encrypting files and directories. To work properly requires kernel and work on keyutils. That will be done in a future commit Some top-level reorganization for consistency between packages. Tested on GnuBee PC1 (mt7621). Signed-off-by: Rosen Penev <rosenp@gmail.com>
* ath79: add support for Devolo WiFi Pro 1750eDjango Armstrong2019-01-264-1/+94
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Hardware -------- CPU: Qualcomm Atheros QCA9558 RAM: 128M DDR2 FLASH: 16MiB ETH: 1x Atheros AR8035 (PoE in) 1x Atheros AR8033 WiFi2: QCA9558 3T3R (SiGE SE2565T 2.4 GHz power amp x3) WiFi5: QCA9880 3T3R (Skyworks 5003L1 5 GHz power amp x3) BTN: 1x Reset 1x WPS 1x USB eject LED: 1x LED blue 1x LED red BEEP: 1x GPIO attached piezo beeper UART: 3.3V GND TX RX (115200-N-8) (3.3V is pin closest to rear ports) Dupont 4 pin header Rear RJ45 serial port non-functional USB: 1x v2.0 Installation ------------ Make sure you set a password for the root user as prompted on first setup! 1. Upload OpenWRT sysupgrade image via SSH to the device. Use /tmp as the destination folder on the device. User is root, password previously set in the web interface. 2. Install OpenWRT with > sysupgrade -n -F /tmp/<openwrt-image-name> Signed-off-by: Django Armstrong <iamdjango@hotmail.com>
* ramips: rt3883: drop jimage supportMathias Kresin2019-01-261-1/+0
| | | | | | The splitter isn't required by any of the boards in the subtarget. Signed-off-by: Mathias Kresin <dev@kresin.me>
* ramips: disable CONFIG_MTD_SPLIT_FIRMWAREMathias Kresin2019-01-265-5/+0
| | | | | | | It's no longer needed as all mt7621 devices use DT binding (supported by upstream mtd code) for specifying "firmware" part format explicitly. Signed-off-by: Mathias Kresin <dev@kresin.me>
* ramips: specify "firmware" partition format for remaining devicesRafał Miłecki2019-01-263-0/+3
| | | | | | | | | It results in calling the right MTD parser directly instead of trying them one by one. Signed-off-by: Rafał Miłecki <rafal@milecki.pl> [use the lzma splitter for the AR670W] Signed-off-by: Mathias Kresin <dev@kresin.me>
* gemini: Add a config for kernel v4.19Linus Walleij2019-01-261-0/+495
| | | | | | | This adds a config for kernel v4.19 to the Gemini target. Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
* gemini: Add v4.19 kernel patchesLinus Walleij2019-01-2618-0/+1631
| | | | | | | | | | This is the remainder of kernel patches for the v4.19 kernel. A whole slew of the previous patch stack is now upstream, so this mainly contains the stuff that was added upstream between v4.19 and v5.0-rc1, and then the USB FOTG201 patches from Hans. Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
* uboot-imx6: Bump to 2019.01Petr Štetiar2019-01-263-10/+10
| | | | | | | | | | | | Build tested: apalis, mx6sabresd, nitrogen6dl, nitrogen6dl2g, nitrogen6q, nitrogen6q2g, nitrogen6s, nitrogen6s1g, wandboard Run tested: apalis (pending PR #1595) Cc: Felix Fietkau <nbd@nbd.name> Cc: Vladimir Vid <vladimir.vid@sartura.hr> Cc: Koen Vandeputte <koen.vandeputte@ncentric.com> Signed-off-by: Petr Štetiar <ynezz@true.cz>
* u-boot.mk: Fix building of recent U-Boot sourcesPetr Štetiar2019-01-261-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch fixes following error with U-Boot 2019.01 on imx6: In file included from tools/lib/crc16.c:1:0: ./tools/../lib/crc16.c: In function 'crc16_ccitt': ./tools/../lib/crc16.c:70:2: error: 'for' loop initial declarations are only allowed in C99 mode for (int i = 0; i < len; i++) ^ ./tools/../lib/crc16.c:70:2: note: use option -std=c99 or -std=gnu99 to compile your code Code was introduced in the upstream v2019.01-rc1-154-g51c2345: commit 51c2345bd24837f9f67f16268da6dc71573f1325 Author: Philipp Tomsich <philipp.tomsich@theobroma-systems.com> Date: Sun Nov 25 19:22:19 2018 +0100 Roll CRC16-CCITT into the hash infrastructure Upstream has added -std=gnu11 host flag in v2018.07-rc2-1-gfa89399: commit fa893990e9b53425af5f5059e04a2bffde91ccf9 Author: Tom Rini <trini@konsulko.com> Date: Tue Jun 19 23:53:54 2018 -0400 Makefile: Ensure we build with -std=gnu11 Build tested on imx6: apalis, mx6sabresd, nitrogen6dl, nitrogen6dl2g, nitrogen6q, nitrogen6q2g, nitrogen6s, nitrogen6s1g, wandboard Run tested: apalis (pending PR #1595) Signed-off-by: Petr Štetiar <ynezz@true.cz>
* uboot-mxs: bump to v2019.01Michael Heimpold2019-01-262-9/+35
| | | | | | Also update the U-Boot BSP patch for I2SE Duckbill devices. Signed-off-by: Michael Heimpold <mhei@heimpold.de>
* ramips: add support for Archer C50 v4David Bauer2019-01-266-1/+211
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds support for the TP-Link Archer C50 v4. It uses the same hardware as the v3 variant, sharing the same FCC-ID. CPU: MediaTek MT7628 (580MHz) RAM: 64M DDR2 FLASH: 8M SPI WiFi: 2.4GHz 2x2 MT7628 b/g/n integrated WiFI: 5GHz 2x2 MT7612 a/n/ac ETH: 1x WAN 4x LAN LED: Power, WiFi2, WiFi5, LAN, WAN, WPS BTN: WPS/WiFi, RESET UART: Near ETH ports, 115200 8n1, TP-Link pinout Create Factory image -------------------- As all installation methods require a U-Boot to be integrated into the Image (and we do not ship one with the image) we are not able to create an image in the OpenWRT build-process. Download a TP-Link image from their Wesite and a OpenWRT sysupgrade image for the device and build yourself a factory image like following: TP-Link image: tpl.bin OpenWRT sysupgrade image: owrt.bin > dd if=tpl.bin of=boot.bin bs=131584 count=1 > cat owrt.bin >> boot.bin Installing via Web-UI --------------------- Upload the boot.bin via TP-Links firmware upgrade tool in the web-interface. Installing via Recovery ----------------------- Activate Web-Recovery by beginning the upgrade Process with a Firmware-Image from TP-Link. After starting the Firmware Upgrade, wait ~3 seconds (When update status is switching to 0%), then disconnect the power supply from the device. Upgrade flag (which activates Web-Recovery) is written before the OS-image is touched and removed after write is succesfull, so this procedure should be safe. Plug the power back in. It will come up in Recovery-Mode on 192.168.0.1. When active, all LEDs but the WPS LED are off. Remeber to assign yourself a static IP-address as DHCP is not active in this mode. The boot.bin can now be uploaded and flashed using the web-recovery. Installing via TFTP ------------------- Prepare an image like following (Filenames from factory image steps apply here) > dd if=/dev/zero of=tp_recovery.bin bs=196608 count=1 > dd if=tpl.bin of=tmp.bin bs=131584 count=1 > dd if=tmp.bin of=boot.bin bs=512 skip=1 > cat boot.bin >> tp_recovery.bin > cat owrt.bin >> tp_recovery.bin Place tp_recovery.bin in root directory of TFTP server and listen on 192.168.0.66/24. Connect router LAN ports with your computer and power up the router while pressing the reset button. The router will download the image via tftp and after ~1 Minute reboot into OpenWRT. U-Boot CLI ---------- U-Boot CLI can be activated by holding down '4' on bootup. Dual U-Boot ----------- This is the first TP-Link MediaTek device to feature a split-uboot design. The first (factory-uboot) provides recovery via TFTP and HTTP, jumping straight into the second (firmware-uboot) if no recovery needs to be performed. The firmware-uboot unpacks and executed the kernel. Web-Recovery ------------ TP-Link integrated a new Web-Recovery like the one on the Archer C7v4 / TL-WR1043v5. Stock-firmware sets a flag in the "romfile" partition before beginning to write and removes it afterwards. If the router boots with this flag set, bootloader will automatically start Web-recovery and listens on 192.168.0.1. This way, the vendor-firmware or an OpenWRT factory image can be written. By doing the same while performing sysupgrade, we can take advantage of the Web-recovery in OpenWRT. It is important to note that Web-Recovery is only based on this flag. It can't detect e.g. a crashing kernel or other means. Once activated it won't boot the OS before a recovery action (either via TFTP or HTTP) is performed. This recovery-mode is indicated by an illuminated WPS-LED on boot. Signed-off-by: David Bauer <mail@david-bauer.net>