6 months agoramips: add support for Netgear R6020
Tim Thorpe [Thu, 9 Jul 2020 03:07:35 +0000 (22:07 -0500)]
ramips: add support for Netgear R6020

This adds support for the Netgear R6020, aka Netgear AC750.

The R6020 appears to be the same hardware as the Netgear R6080,
aka Netgear AC1000, but it has a slightly different flash layout,
and no USB ports.


SoC: MediaTek MT7628 (580 MHz)
Flash: 8 MiB
RAM: 64 MiB
Wireless: 2.4Ghz (builtin) and 5Ghz (MT7612E)
LAN speed: 10/100
LAN ports: 4
WAN speed: 10/100
WAN ports: 1
UART (57600 8N1) on PCB

MAC addresses based on vendor firmware:
LAN      *:88   0x4
WAN      *:89
WLAN2    *:88   0x4
WLAN5    *:8a   0x8004

The factory partition might have been corrupted beforehand. However,
the comparison of vendor firmware and OpenWrt still allowed to retrieve
a meaningful assignment that also matches the other similar devices.


Flashing OpenWRT from stock firmware requires nmrpflash. Use an ethernet
cable to connect to LAN port 1 of the R6020, and power the R6020 off.
From the connected workstation, run
`nmrpflash -i eth0 -f openwrt-ramips-mt76x8-netgear_r6020-squashfs-factory.img`,
replacing eth0 with the appropriate interface (can be identified by
running `nmrpflash -L`). Then power on the R6020. After flashing has finished,
power cycle the R6020, and it will boot into OpenWRT. Once OpenWRT has been
installed, subsequent flashes can use the web interface and sysupgrade files.

Signed-off-by: Tim Thorpe <>
[slightly extend commit message, fix whitespaces in DTS, align From:
with Signed-off-by]
Signed-off-by: Adrian Schmutzler <>
6 months agolantiq: set correct gphy pins for Zyxel P-2812
Willem van den Akker [Thu, 9 Jul 2020 12:51:19 +0000 (14:51 +0200)]
lantiq: set correct gphy pins for Zyxel P-2812

This fixes the gphy LED pins for Zyxel P-2812 devices. The have
been accidentally altered during a tidy-up operation (see Fixes:

No ports were available, dmesg reported:

[ 0.658577] pinctrl-xway 1e100b10.pinmux: pin io5 already requested by
            1e100bb0.stp; cannot claim for 1e108000.eth
[ 0.667566] pinctrl-xway 1e100b10.pinmux: pin-5 (1e108000.eth) status -22
[ 0.685238] lantiq,xrx200-net 1e108000.eth: Error applying setting,
            reverse things back
[ 0.693270] lantiq,xrx200-net: probe of 1e108000.eth failed with error -22

Fixes: FS#3188
Fixes: 660200e53d62 ("lantiq: dts: assign the GPHY LED pins to the
Ethernet controller node")

Suggested-by: Mathias Kresin <>
Signed-off-by: Willem van den Akker <>
[commit message facelift]
Signed-off-by: Adrian Schmutzler <>
6 months agomediatek: fix bashism in
David Woodhouse [Thu, 9 Jul 2020 08:56:18 +0000 (09:56 +0100)]
mediatek: fix bashism in

There was a bashism in the script. This fixes the script so that it
doesn't actually require bash, and can be run with any POSIX shell as
its shebang suggests.

Signed-off-by: David Woodhouse <>
6 months agokernel: iscsi-initator: fix kernel config symbols
Lucian Cristian [Wed, 8 Jul 2020 19:49:57 +0000 (22:49 +0300)]
kernel: iscsi-initator: fix kernel config symbols

Enable SCSI low-level drivers on targets that don't have it already in
order to fix following build failures on few platforms:

  .config:4739:warning: symbol value 'm' invalid for SCSI_LOWLEVEL
 * Restart config...
 * SCSI low-level drivers
 SCSI low-level drivers (SCSI_LOWLEVEL) [Y/n] (NEW) aborted!

Fixes: b88f8202c4ce ("kernel: add iscsi-initator support")
Signed-off-by: Lucian Cristian <>
[commit subject and description facelift]
Signed-off-by: Petr Štetiar <>
6 months agomediatek: re-add u3phy2 phy-switch patch
Sungbo Eo [Fri, 29 May 2020 13:06:35 +0000 (22:06 +0900)]
mediatek: re-add u3phy2 phy-switch patch

This patch is required for pcie@2,0 in mt7623 to work. The patch was originally
added in kernel 4.14, but it has not been ported to 4.19 and later.

Fixes: FS#3217
Tested-by: David Woodhouse <>
Signed-off-by: Sungbo Eo <>
6 months agomediatek: do not create device nodes in uci-defaults script
Sungbo Eo [Fri, 29 May 2020 11:51:01 +0000 (20:51 +0900)]
mediatek: do not create device nodes in uci-defaults script

Since commit 298814e6be76 ("base-files: config_generate: split macaddr with
multiple ifaces") uci MAC address setup will create a device node for each
member iface. But this script might override the device nodes and interfere
with the MAC address setup.

Signed-off-by: Sungbo Eo <>
6 months agotreewide: kernel: drop redundant USB_EHCI_HCD=n config symbol
Petr Štetiar [Thu, 9 Jul 2020 07:04:54 +0000 (09:04 +0200)]
treewide: kernel: drop redundant USB_EHCI_HCD=n config symbol

Commit e53ec043bae1 ("kirkwood: move usb support to modules") has moved
this config symbol into generic configs, so it could be removed from
other configs.

Suggested-by: Aleksander Jan Bajkowski <>
Signed-off-by: Petr Štetiar <>
6 months agoath79: add support for D-Link DAP-1330/DAP-1365 A1
Sebastian Schaper [Wed, 3 Jun 2020 19:15:09 +0000 (21:15 +0200)]
ath79: add support for D-Link DAP-1330/DAP-1365 A1

Port device support for DAP-1330 from the ar71xx target to ath79.

Additionally, images are generated for the European through-socket
case variant DAP-1365. Both devices run the same vendor firmware, the
only difference being the DAP_SIGNATURE field in the factory header.
The vendor's Web UI will display a model string stored in the flash.


 * QCA9533, 8 MiB Flash, 64 MiB RAM
 * One Ethernet Port (10/100)
 * Wall-plug style case (DAP-1365 with additional socket)
 * LED bargraph RSSI indicator


 * Web UI: (or different address obtained via DHCP)
   There is no password set by default
 * Recovery Web UI: Keep reset button pressed during power-on
   until LED starts flashing red, upgrade via
 * Some modern browsers may have problems flashing via the Web UI,
   if this occurs consider booting to recovery mode and flashing via:
   curl -F \
     files=@openwrt-ath79-generic-dlink_dap-1330-a1-squashfs-factory.bin \

The device will use the same MAC address for both wired and wireless
interfaces, however it is stored at two different locations in the flash.

Signed-off-by: Sebastian Schaper <>
6 months agoath79: add support for Arduino Yun
Sungbo Eo [Sun, 12 Jan 2020 12:36:23 +0000 (21:36 +0900)]
ath79: add support for Arduino Yun

Arduino Yun is a microcontroller development board, based on Atmel
ATmega32u4 and Atheros AR9331.

- MCU: ATmega32U4
- SoC: AR9331
- RAM: DDR2 64MB
- Flash: SPI NOR 16MB
- WiFi:
  - 2.4GHz: SoC internal
- Ethernet: 1x 10/100Mbps
- USB: 1x 2.0
- MicroSD: 1x SDHC

- Stock firmware is based on OpenWrt AA.
- The SoC UART can be accessed only through the MCU.
  YunSerialTerminal is recommended for access to serial console.
- Stock firmware uses non-standard 250000 baudrate by default.
- The MCU can be reprogrammed from the SoC with avrdude linuxgpio.

1.  Update U-Boot environment variables to adapt to new partition scheme.
    > setenv bootcmd "run addboard; run addtty; run addparts; run addrootfs; bootm 0x9f050000 || bootm 0x9fea0000"
    > setenv mtdparts "spi0.0:256k(u-boot)ro,64k(u-boot-env),15936k(firmware),64k(nvram),64k(art)ro"
    > saveenv
2.  Boot into stock firmware normally and perform sysupgrade with
    sysupgrade image.
    # sysupgrade -n -F /tmp/sysupgrade.bin

Signed-off-by: Sungbo Eo <>
6 months agobase-files: add functions to set or clear bit in MAC address
Sungbo Eo [Sat, 25 Jan 2020 14:06:07 +0000 (23:06 +0900)]
base-files: add functions to set or clear bit in MAC address

Some devices (e.g. Arduino Yun) need bitwise operations during MAC address
setup. This commit adds generalized versions of macaddr_setbit_la(), which
are helpful when manipulating a single bit in a MAC address.

Signed-off-by: Sungbo Eo <>
6 months agomediatek: Implement sysupgrade support for Banana Pi R2
David Woodhouse [Mon, 15 Jun 2020 16:48:19 +0000 (17:48 +0100)]
mediatek: Implement sysupgrade support for Banana Pi R2

Based on work by Alexey Loukianov <> and others.

Signed-off-by: David Woodhouse <>
6 months agomediatek: store MAC address in boot partition on Banana Pi R2
David Woodhouse [Sun, 14 Jun 2020 13:20:36 +0000 (14:20 +0100)]
mediatek: store MAC address in boot partition on Banana Pi R2

Like many boards, the Banana Pi R2 doesn't have permanant storage of
its MAC address, and we store the first random one that the kernel
generates in order to use it later and at least be consistent.

Store it in the FAT boot partition, just as the U7623 board (and others)

Signed-off-by: David Woodhouse <>
6 months agomediatek: add SD card image creation for Banana Pi R2
David Woodhouse [Fri, 12 Jun 2020 10:06:38 +0000 (11:06 +0100)]
mediatek: add SD card image creation for Banana Pi R2

Based on work by Alexey Loukianov <> and others.

Signed-off-by: David Woodhouse <>
6 months agomediatek: use U-Boot FAT environment support for Banana Pi R2
David Woodhouse [Fri, 19 Jun 2020 22:11:48 +0000 (23:11 +0100)]
mediatek: use U-Boot FAT environment support for Banana Pi R2

Instead of building in a default environment which loads our environment
from the FAT partition....  just ask U-Boot to do it.

Submitted upstream at

Signed-off-by: David Woodhouse <>
6 months agomediatek: fix U-Boot pinctrl setup for mt7623 eMMC
David Woodhouse [Fri, 19 Jun 2020 11:43:10 +0000 (12:43 +0100)]
mediatek: fix U-Boot pinctrl setup for mt7623 eMMC

The U-Boot pinctrl driver for mt7623 was incomplete and didn't handle the
settings required for eMMC to work.

Submitted upstream at

Signed-off-by: David Woodhouse <>
6 months agomediatek: add mt7623 u-boot build for Banana Pi R2
David Woodhouse [Thu, 11 Jun 2020 18:32:12 +0000 (19:32 +0100)]
mediatek: add mt7623 u-boot build for Banana Pi R2

For building full SD/eMMC images for Banana Pi R2 we'll want a u-boot
image built for that platform.

Signed-off-by: David Woodhouse <>
6 months agomediatek: new mt7623n preloader package for Banana Pi
David Woodhouse [Thu, 11 Jun 2020 18:33:42 +0000 (19:33 +0100)]
mediatek: new mt7623n preloader package for Banana Pi

Download the boot preloader code from the Banana Pi github repo and make
it available for bootable SD card image creation.

Supports only Banana Pi R2 for now.

Based on work by Alexey Loukianov <> and others.

Signed-off-by: David Woodhouse <>
6 months agomediatek: enable SATA for mt7623
David Woodhouse [Wed, 10 Jun 2020 15:23:04 +0000 (16:23 +0100)]
mediatek: enable SATA for mt7623

The MT7623 SoC has the same SATA block as the MT7622, so enable it in
MT7623 builds too and add it to the DEVICE_PACKAGES for those boards.

Signed-off-by: David Woodhouse <>
6 months agomediatek/mt7623: unify features and packages, add ext4 and usb
David Woodhouse [Mon, 15 Jun 2020 08:47:09 +0000 (09:47 +0100)]
mediatek/mt7623: unify features and packages, add ext4 and usb

The supported MT7623 boards are mostly identical (what with being a
System-on-Chip and all), so unify the DEVICE_PACKAGES for them, and add
ext4 and usb support for them.

Signed-off-by: David Woodhouse <>
6 months agofirmware-utils/ptgen: allow explicit placement of partitions
David Woodhouse [Sat, 13 Jun 2020 22:39:15 +0000 (23:39 +0100)]
firmware-utils/ptgen: allow explicit placement of partitions

For Banana Pi R2 we need to place the U-Boot partition at precisely 0x50000.

Signed-off-by: David Woodhouse <>
6 months agomediatek: mt7623: refresh 5.4 kernel config
David Woodhouse [Wed, 17 Jun 2020 21:04:46 +0000 (22:04 +0100)]
mediatek: mt7623: refresh 5.4 kernel config

Some options were not explicitly specified, causing the kernel build to
drop to interactive mode. Set the missing options.

Signed-off-by: David Woodhouse <>
6 months agofstools: update to the latest version
David Woodhouse [Wed, 17 Jun 2020 21:31:59 +0000 (22:31 +0100)]
fstools: update to the latest version

d34ea8e Use autoclear for overlay loopback device

Signed-off-by: David Woodhouse <>
6 months agoath79: add support for D-Link DCH-G020 Rev. A1
Sebastian Schaper [Wed, 13 May 2020 15:37:31 +0000 (17:37 +0200)]
ath79: add support for D-Link DCH-G020 Rev. A1

The DCH-G020 is a Smart Home Gateway for Z-Wave devices.


 * QCA9531, 16 MiB Flash, 64 MiB RAM
 * On-Board USB SD3503A Z-Wave dongle
 * GL850 USB 2.0 Hub (one rear port, internal Z-Wave)
 * Two Ethernet Ports (10/100)


 * Web UI: (or different address obtained via DHCP)
   Login with 'admin' and the 6-digit PIN Code from the bottom label
 * Recovery Web UI: Keep reset button pressed during power-on
   until LED starts flashing red, upgrade via
 * Some modern browsers may have problems flashing via the Web UI,
   if this occurs consider booting to recovery mode and flashing via:
   curl -F \
     files=@openwrt-ath79-generic-dlink_dch-g020-a1-squashfs-factory.bin \

Known issues:

 * Real-Time-Clock is not working as there is currently no matching driver
   It is still included in the dts as compatible = "pericom,pt7c43390";
 * openzwave was tested on v19.07 (running MinOZW as a proof-of-concept),
   but the package grew too big as lots of device pictures were included,
   thus any use of Z-Wave is up to the user (e.g. extroot and domoticz)

The device will use the same MAC address for both wired and wireless
interfaces, however it is stored at two different locations in the flash.

Signed-off-by: Sebastian Schaper <>
6 months change i386 CPU type to pentium-mmx
Rosen Penev [Sun, 12 Jan 2020 04:44:34 +0000 (20:44 -0800)] change i386 CPU type to pentium-mmx

f4f8f4a180366ee90fd8e153213db2cb746ca361 broke ffmpeg compilation with x86

The reason is that ffmpeg's x86 assembly requires at least MMX, which the
pentium CPU_TYPE was preventing.

Fixes ffmpeg compilation on x86_legacy and x86_geode.

Signed-off-by: Rosen Penev <>
6 months agoipq806x: compile in schedutil governor
John Audia [Wed, 8 Jul 2020 18:43:04 +0000 (14:43 -0400)]
ipq806x: compile in schedutil governor

Gives users a third option to augment ondemand and performance. Kernel
docs[1] explain differences and this PR empowers users w/ the choice to
select between the older ondemand and newer and more simplistic schedutil
should they wish to use one that is not the performance governor.

1. Documentation/admin-guide/pm/cpufreq.rst

Signed-off-by: John Audia <>
[fixed From: to match SoB:]
Signed-off-by: Petr Štetiar <>
6 months agoramips: mt7621: use lzma-loader for ra21s & rg21s
Furkan Alaca [Fri, 3 Jul 2020 05:51:03 +0000 (01:51 -0400)]
ramips: mt7621: use lzma-loader for ra21s & rg21s

The rg21s fails to boot if the kernel is larger than about
2,376 KiB. The ra21s is virtually identical hardware.
Enabling lzma-loader resolves the issue on both the rg21s
and ra21s (see FS#3057 on the issue tracker).

Fixes: FS#3057
Signed-off-by: Furkan Alaca <>
6 months agoramips: add support for ZyXEL Keenetic Lite Rev.B
Sergei Burakov [Thu, 28 May 2020 18:24:55 +0000 (21:24 +0300)]
ramips: add support for ZyXEL Keenetic Lite Rev.B

Device specification:

SoC: RT5350
CPU Frequency: 360 MHz
Flash Chip: Macronix MX25L6406E (8192 KiB)
RAM: Winbond W9825G6JH-6 (32768 KiB)
5x 10/100 Mbps Ethernet (4x LAN, 1x WAN)
1x external antenna
UART (J1) header on PCB (57800 8n1)
Wireless: SoC-intergated: 2.4GHz 802.11bgn
USB: None
8x LED, 2x button

Flash instruction:

Configure PC with static IP and start TFTP server.
Rename "openwrt-ramips-rt305x-zyxel_keenetic-lite-b-squashfs-sysupgrade.bin"
to "rt305x_firmware.bin" and place it in TFTP server directory.
Connect PC with one of LAN ports, press the reset button, power up
the router and keep button pressed until power LED start blinking.
Router will download file from TFTP server, write it to flash and reboot.

Signed-off-by: Sergei Burakov <>
6 months agoramips: move adslr_g7 in image/ to keep sorting
Adrian Schmutzler [Wed, 8 Jul 2020 19:18:12 +0000 (21:18 +0200)]
ramips: move adslr_g7 in image/ to keep sorting

Move this device to the top to maintain alphabetic sorting in the

Signed-off-by: Adrian Schmutzler <>
6 months agoramips: add missing kmod-mt7615-firmware for TP-Link RE500 v1
Adrian Schmutzler [Wed, 8 Jul 2020 19:12:27 +0000 (21:12 +0200)]
ramips: add missing kmod-mt7615-firmware for TP-Link RE500 v1

Adding this has been overlooked when rebasing the commit prior to

Fixes: ba0f4f0cfddc ("ramips: add support for TP-Link RE500 v1")

Signed-off-by: Adrian Schmutzler <>
6 months agokernel: iscsi-initator: fix missing dependency
Petr Štetiar [Wed, 8 Jul 2020 19:11:40 +0000 (21:11 +0200)]
kernel: iscsi-initator: fix missing dependency

Fixes following issue:

 Package kmod-iscsi-initiator is missing dependencies for the following libraries:

Fixes: b88f8202c4ce ("kernel: add iscsi-initator support")
Signed-off-by: Petr Štetiar <>
6 months agoipq40xx: fix patches on dts Makefile
Adrian Schmutzler [Wed, 8 Jul 2020 15:48:15 +0000 (17:48 +0200)]
ipq40xx: fix patches on dts Makefile

The patches for arch/arm/boot/dts/Makefile have not been updated
in a syntactically correct way (just body was changed). Fix it.

Fixes: 4a77a060ab62 ("ipq40xx: add support for Buffalo WTR-M2133HP")

Signed-off-by: Adrian Schmutzler <>
6 months agoramips: add support for ZyXEL WAP6805 (Altibox WiFi+)
Bjørn Mork [Wed, 18 Apr 2018 19:57:52 +0000 (21:57 +0200)]
ramips: add support for ZyXEL WAP6805 (Altibox WiFi+)

SoC:   MediaTek MT7621ST
WiFi:  MediaTek MT7603
       Quantenna QT3840BC
Flash: 128M NAND
RAM:   64M
LED:   Dual colour red and green
BTN:   Reset
Eth:   4 x 10/100/1000 connected to MT7621 internal switch
       MT7621 RGMII port connected to Quantenna module
GPIO:  Power/reset of Quantenna module

Quantenna module

The Quantenna QT3840BC (or QV840) is a separate SoC running
another Linux installation.  It is mounted on a wide mini-PCIe
form factor module, but is connected to the RGMII port of
the MT7621.  It loads both a second uboot stage and an os
image from the MT7621 using tftp.  The module is configured
using Quantenna specific RPC calls over IP, using 802.1q
over the RGMII link to support multiple SSIDs.

There is no support for using this module as a WiFi device
in OpenWrt. A package with basic firmware and management
tools is being prepared.

Serial ports

Two serial ports with headers:

RRJ1 - 115200 8N1 - Connected to the Quantenna console
J1   -  57600 8N1 - Connected to the MT7621 console

Both share pinout with many other Zyxel/Mitrastar devices:

1 - NC (VDD)
2 - TX
3 - RX
4 - NC (no pin)
5 - GND

Dual system partitions

The vendor firmware and boot loader use a dual partition
scheme storing a counter in the header of each partition. The
partition with the highest number will be selected for boot.

OpenWrt does not support this scheme and will always use the
first OS partition.  It will reset both counters to zero the
first time sysupgrade is run, making sure the first partition
is selected by the boot loader.

Installation from vendor firmware

1. Run a DHCP server. The WAP6805 is configured as a client device
   and does not have a default static IP address. Make a note of
   which address it is assigned

2. tftp the OpenWrt initramfs-kernel.bin image to this address.
   Wait for the WAP6805 to reboot.

3. ssh to the OpenWrt initramfs system on Make a
   backup of all mtd partitions now.  The last used OEM image is
   still present in either "Kernel" or "Kernel2" at this point,
   and can be restored later if you save a copy.

4. sysupgrade to the OpenWrt sysupgrade.bin image.

Installation from U-Boot

This requires serial console access

1. Copy the OpenWrt initramfs-kernel.bin image as "ras.bin" to
   your tftp server directory.  Configure the server address as

2. Hit ESC when the message "Hit ESC key to stop autoboot"

3. Type "ATGU" + Enter, and then "2" immediately after pressing enter.

4. Answer Y to the question "Erase Linux in Flash then burn new
   one. Are you sure?", and answer the address/filename questions.
        Input device IP (
        Input server IP (
        Input Linux Kernel filename ("ras.bin")

5. Wait until after you see the message "Done!" and power cycle
   the device.  It will hang after flashing.

6. Continue with step 3 and 4 from the vendor firmware procedure.

Notes on the WAP6805 U-Boot
The bootloader has been modified with both ZyXELs zyloader and the
device specific dual partition scheme.  These changes appear to have
broken a few things.  The zyloader shell claims to support a number
of ZyXEL AT commands, but not all of them work.  The image selection
scheme is unreliable and inconsistent.  A limited U-Boot menu is
available - and used by the above U-Boot install procedure.  But
direct booting into an uploaded image does not work, neither with
ram nor with flash.  Flashing works, but requires a hard reset after
it is finished.

Reverting to OEM firmware

The OEM firmware can be restored by using mtd write from OpenWrt,
flashing it to the "Kernel" partition. E.g.

  ssh root@ "mtd -r -e Kernel write - Kernel" < oem.bin

OEM firmwares for the WAP6805 are not avaible for public download,
so a backup of the original installation is required.  See above.

Alternatively, firmware for the WAP6806 (Armor X1) may be used. This
is exactly the same hardware.  But the branding features do obviously

LED controller

Hardware implementation is unknown.  The dual-color LED is controlled
by 3 GPIOs:

  4: red
  7: blinking green
 13: green

Enabling both red and green makes the LED appear yellow.

The boot loader enables hardware blinking, causing the green LED to blink
slowly on power-on, until the OpenWrt boot mode starts a faster software

Signed-off-by: Bjørn Mork <>
[fix alphabetic sorting for image build statement]
Signed-off-by: Petr Štetiar <>
6 months agomt7621-qtn-rgmii: enable RGMII connected Quantenna QV840
Bjørn Mork [Sun, 5 Apr 2020 14:17:11 +0000 (16:17 +0200)]
mt7621-qtn-rgmii: enable RGMII connected Quantenna QV840

Write a magic value to a magic destination.  This might
be specific to the Mitrastar designed ZyXEL WAP6805.

Signed-off-by: Bjørn Mork <>
6 months agoipq806x: add support for Linksys EA7500 V1
Pawel Dembicki [Tue, 26 May 2020 19:14:11 +0000 (21:14 +0200)]
ipq806x: add support for Linksys EA7500 V1

This patch adds support for the Linksys EA7500 V1 router.

 - CPU: Qualcomm IPQ8064
 - RAM: 256MB
 - Flash: NAND 128MB
 - WiFi: QCA9982 an+ac + QCA9983 bgn
 - Ethernet: 5 GBE Ports (WAN+ 4xLAN) (QCA8337)
 - USB: 1x USB 3.0 1x USB2.0
 - Serial console: RJ-45 115200 8n1 (1V8 Voltage level)
 - 2 Buttons
 - 1 LED

Known issues:
 - Some devices won't flash via web gui

- Newer stock images doesn't allow to install custom firmware.
- Please downgrade software to 1.1.2 version. Official firmware:
- Do it two times to downgrade all stored images.
- Apply factory image via web-gui.

Serial + TFTP method:
 - downgrade to 1.1.2 two times
 - connect ehternet and serial cable
 - set ip address of tftp server to
 - put openwrt factory image to tftp folder and rename it to macan.bin
 - stop device while booting in u-boot
 - run command: "run flashimg"
 - run command: "setenv boot_part 1"
 - run command "saveenv"
 - reset

Back to stock:
- Please use old non-gpg image like this 1.1.2:
- ssh to router and copy image to tmp
- use sysupgrade -n -F

Tested by github users: @jack338c and @grzesiczek1

Signed-off-by: Pawel Dembicki <>
[removed i2c4_pins, mdio0_pins, nand_pins, rgmii2_pins from DTSI]
Signed-off-by: Adrian Schmutzler <>
6 months agofirmware-utils/hcsmakeimage: fix possible memory leak and resource leaks
Andrea Dalla Costa [Sat, 11 Jan 2020 21:57:58 +0000 (22:57 +0100)]
firmware-utils/hcsmakeimage: fix possible memory leak and resource leaks

Add missing calls to `free` for variable `filebuffer`.
Add missing calls to `fclose` for variables `fd` and `fd_out`.

Signed-off-by: Andrea Dalla Costa <>
6 months agoipq40xx: add support for Buffalo WTR-M2133HP
Yanase Yuki [Wed, 29 Jan 2020 10:27:25 +0000 (19:27 +0900)]
ipq40xx: add support for Buffalo WTR-M2133HP

Buffalo WTR-M2133HP is a Tri-Band router based on IPQ4019.

- SoC: Qualcomm IPQ4019
- RAM: 512MiB
- Flash Memory: NAND 128MiB (MXIC MX30LF1G18AC)
- Wi-Fi: Qualcomm IPQ4019 (2.4GHz, 1ch - 13ch)
- Wi-Fi: Qualcomm IPQ4019 (5GHz, 36ch - 64ch)
- Wi-Fi: Qualcomm QCA9984 (2T2R, 5GHz, 100ch - 140ch)
- Ethernet: 4x 10/100/1000 Mbps (1x WAN, 3x LAN)
- LED: 4x white LED, 4x orange LED, 1x blue LED
- USB: 1x USB 3.0 port
- Input: 2x tactile switch, 2x slide switch (2x SP3T)
- Serial console: 115200bps, pinheader JP5 on PCB
- Power: DC 12V 2A

Flash instruction
1. Set up a TFTP server (IP address:
2. Rename "initramfs-fit-uImage.itb" to "WTR-M2133HP-initramfs.uImage"
   and put it into the TFTP server directory.
3. Connect the TFTP server and WTR-M2133HP.
4. Hold down the AOSS button, then power on the router.
5. After booting OpenWrt initramfs image, connect to the router by SSH.
6. Transfer "squashfs-nand-factory.ubi" to the router.
7. Execute the following commands.
    # ubidetach -p /dev/mtd15
    # ubiformat /dev/mtd15 -f /tmp/openwrt-ipq40xx-generic-buffalo_wtr-m2133hp-squashfs-nand-factory.ubi
    # fw_setenv bootcmd bootipq
8. Perform reboot.

Recover to stock firmware
1. Execute the following command.
    # fw_setenv bootcmd bootbf
2. Reboot and wait several minutes.

Signed-off-by: Yanase Yuki <>
6 months agokirkwood: add support for Zyxel NSA310S
Pawel Dembicki [Sat, 2 May 2020 13:33:14 +0000 (15:33 +0200)]
kirkwood: add support for Zyxel NSA310S

Zyxel NSA310S is a NAS based on Marvell kirkwood SoC.

 - Processor Marvell 88F6702 1 GHz
 - 256MB RAM
 - 128MB NAND
 - 1x GBE LAN port (PHY: Marvell 88E1318)
 - 2x USB 2.0
 - 1x SATA
 - 3x button
 - 7x leds
 - serial on J1 connector (115200 8N1) (GND-NOPIN-RX-TX-VCC)

Known issues:
 - no kernel module for RTC. [*]
 - buzzer (connected to MPP43) need to be drived by 1kHz signal
 - no kernel module for internal MCU connected via I2C[**]

Karoly Pocsi made simple, unofficial driver for HT1382.
It can be found here:

Karoly Pocsi found how CPU talk with MCU:
It is possible to query the MCU-controlled fan speed and temperature:
i2cget -y 0x0 0x0a 0x07
i2cget -y 0x0 0x0a 0x08
The first value (0x07) is the temperature in ° C, the second (0x08) is
the time in milliseconds to complete one fan revolution (rpm = 60,000 / value).
Info translated from:


1. Run serial console and go to u-boot.
2. Copy u-boot via tftp and write to NAND:
=> mw 0x0800000 0xffff 0x100000
=> nand erase 0x0 100000
=> setenv ipaddr
=> setenv serverip
=> tftp 0x0800000 nsa310s-u-boot.kwb
=> nand write 0x0800000 0x0 0x100000
=> reset
3. Run new u-Boot, repair bootcmd and restore MAC address from sticker
=> setenv ethaddr AA:BB:CC:DD:EE:FF
=> saveenv
4. Copy and run initramfs image
=> setenv ipaddr
=> setenv serverip
=> tftpboot zyxel_nsa310s-initramfs-uImage
=> bootm 0x800000
5. Download sysupgrade image and perform sysupgrade


1. Prepare usb fat32 drive with u-boot.kwb and initramfs image.
   Stick it to USB 2.0 port.
2. Run serial console and go to u-boot.
3. Copy u-boot from usb and write to NAND:
=> mw 0x0800000 0xffff 0x100000
=> nand erase 0x0 100000
=> usb start
=> fatload usb 0 0x0800000 u-boot.kwb
=> nand write 0x0800000 0x0 0x100000
=> reset
4. Run new u-Boot, repair bootcmd and restore MAC address from sticker
=> setenv ethaddr AA:BB:CC:DD:EE:FF
=> saveenv
5. Copy and run initramfs image:
=> usb start
=> fatload usb 0 0x0800000 initramfs-uImage
=> bootm 0x800000
6. Download sysupgrade image and perform sysupgrade.

Based on work ThBexx <>
DTS based on dropped support in 0ebdf0c.

Tested-by: Lech Perczak <>
Reviewed-by: Lech Perczak <>
Signed-off-by: Pawel Dembicki <>
[NSA310s -> NSA310S in DEVICE_MODEL]
Signed-off-by: Petr Štetiar <>
6 months agouboot-kirkwood: add support for Zyxel NSA310S
Pawel Dembicki [Sat, 9 May 2020 20:08:02 +0000 (22:08 +0200)]
uboot-kirkwood: add support for Zyxel NSA310S

This patch modifies the u-boot config for the Zyxel NSA310S to work with

Signed-off-by: Pawel Dembicki <>
6 months agoath79: add support for 8devices Lima board
Andrey Bondar [Wed, 8 Jul 2020 10:51:34 +0000 (13:51 +0300)]
ath79: add support for 8devices Lima board


  • 650/600/216 MHz (CPU/DDR/AHB)
  • 64 MB of RAM (DDR2)
  • 32 MB of FLASH
  • 2T2R 2.4 GHz
  • 2x 10/100 Mbps Ethernet
  • 1x USB 2.0 Host socket
  • 1x miniPCIe slot
  • UART for serial console
  • 14x GPIO

Flash instructions:

Upgrading from ar71xx target:

  • Upload image into the board:
    scp openwrt-ath79-generic-8dev_lima-squashfs-sysupgrade.bin
  • Run sysupgrade
    sysupgrade -F /tmp/openwrt-ath79-generic-8dev_lima-squashfs-sysupgrade.bin

Upgrading from u-boot:

  • Set up tftp server with
  • Go to u-boot (reboot and press ESC when prompted)
  • Set TFTP server IP
    setenv serverip
  • Set device ip from the same subnet
    setenv ipaddr
  • Copy new firmware to board
    tftpboot 0x82000000 initramfs.bin
  • Boot OpenWRT
    bootm 0x82000000
  • Upload image openwrt-ath79-generic-8dev_lima-squashfs-sysupgrade.bin into
    the board
  • Run sysupgrade.

Signed-off-by: Andrey Bondar <>
6 months agocomgt: add new script to send ussd request and get the answer
Kirill Lukonin [Fri, 20 Mar 2020 09:08:52 +0000 (14:08 +0500)]
comgt: add new script to send ussd request and get the answer

New script for comgt. Should help to fetch balance or any additional information with USSD.
This script uses the standard AT command which should be supported by all modems.

Run-tested on: Mikrotik wAP LTE KIT

Signed-off-by: Kirill Lukonin <>
[fixed from/sob]
Signed-off-by: Petr Štetiar <>
6 months agobuild: add 'make kernel_xconfig' command
Sergio E. Nemirowski [Wed, 1 Apr 2020 23:21:37 +0000 (02:21 +0300)]
build: add 'make kernel_xconfig' command

This adds the kernel_xconfig make target.

Signed-off-by: Sergio E. Nemirowski <>
6 months agoipq40xx: add support for GL.iNet GL-S1300
Dongming Han [Wed, 8 Apr 2020 08:43:51 +0000 (16:43 +0800)]
ipq40xx: add support for GL.iNet GL-S1300

SOC:        Qualcomm IPQ4029 (DAKOTA) ARM Quad-Core
RAM:        512 MiB
FLASH1:     16 MiB NOR - SPI0
FLASH2:     8 GiB eMMC
ETH:        Qualcomm QCA8075
WLAN1:      Qualcomm Atheros QCA4029 2.4GHz 802.11b/g/n 2x2
WLAN2:      Qualcomm Atheros QCA4029 5GHz 802.11n/ac W2 2x2
INPUT:      Reset, WPS
LED:        Power, Mesh, WLAN
UART1:      On board pin header near to LED (3.3V, TX, RX, GND), 3.3V without pin - 115200 8N1
UART2:      On board with BLE module
SPI1:       On board socket for Zigbee module

Install via tftp
- NB: need to flash transition image firstly

Firstly install transition image:
(IPQ40xx) # tftpboot 0x84000000 s1300-factory-to-openwrt.img
(IPQ40xx) # sf probe && imgaddr=0x84000000 && source :script

Secondly install openwrt sysupgrade bin:
(IPQ40xx) # run lf

Revert to factory image:
(IPQ40xx) # tftpboot 0x84000000 s1300-openwrt-to-factory.img
(IPQ40xx) # sf probe && imgaddr=0x84000000 && source :script

The kernel and rootfs of factory firmware are on eMMC, and openwrt
firmware is on NOR flash. The transition image includes U-boot
and partition table, which decides where to load kernel and rootfs.
After you firstly install openwrt image, you can switch between
factory and openwrt firmware by flashing transition image.

Signed-off-by: Dongming Han <>
6 months agokernel: add iscsi-initator support
Lucian Cristian [Sun, 12 Apr 2020 14:45:41 +0000 (17:45 +0300)]
kernel: add iscsi-initator support

Module is needed for using iscsi-initiator userspace applications

Signed-off-by: Lucian Cristian <>
[added missing newline between kernel modules]
Signed-off-by: Petr Štetiar <>
6 months agouclibc++: make verbosity affect uClibc++ build
Wren Turkal [Mon, 25 May 2020 21:05:51 +0000 (14:05 -0700)]
uclibc++: make verbosity affect uClibc++ build

Before this change, setting the verbosity to anything with V=blah would
cause uclibc++ build to print errors to the screen. Now, it the
clibc++ build verbosity will be altered in the following manners:
* V=s will set V=1 in the uclibc++ build
* V=sc will set V=2 in the uclibc++ build

Signed-off-by: Wren Turkal <>
6 months agoramips: Add support for Xiaomi Mi Router(Black,R2100)
Emir Efe Kucuk [Sat, 30 May 2020 09:18:50 +0000 (12:18 +0300)]
ramips: Add support for Xiaomi Mi Router(Black,R2100)

The Xiaomi Mi Router AC2100 is a *black* cylindrical router that shares many
characteristics (apart from its looks and the GPIO ports) with the 6-antenna
*white* "Xiaomi Redmi Router AC2100"

See the visual comparison of the two routers here:

Specification of R2100:
- CPU: MediaTek MT7621A
- RAM: 128 MB DDR3
- WIFI: 2x2 802.11bgn (MT7603)
- WIFI: 4x4 802.11ac (MT7615)
- ETH: 3xLAN+1xWAN 1000base-T
- LED: Power, WAN in Yellow and Blue
- UART: On board (Don't know where is should be confirmed by anybody else)
- Modified u-boot

Hacking of official firmware process is same at both RM2100 and R2100.
Thanks to @namidairo

Here is the detailed guide Hack:
Guide is written for MacOS but it will work at linux.
needed packages: python3(with scapy), netcat, http server, telnet client

1. Run PPPoE&exploit to get nc and wget busybox, get telnet and wget firmware
2. mtd write openwrt-ramips-mt7621-xiaomi_mi-router-ac2100-kernel1.bin kernel1
3. nvram set uart_en=1
4. nvram set bootdelay=5
5. nvram set flag_try_sys1_failed=1
6. nvram commit
7. mtd -r write openwrt-ramips-mt7621-xiaomi_mi-router-ac2100-rootfs0.bin rootfs0

other than these I specified in here. Everything is same with:
Thanks for all community and especially for this device:
@Ilyas @scp07 @namidairo @Percy @thorsten97 @impulse (

MAC Locations:
WAN *:b5 = factory 0xe006
LAN *:b6 = factory 0xe000
WIFI 5ghz *:b8 = factory 0x8004
WIFI 2.4ghz *:b7 = factory 0x0004

Signed-off-by: Emir Efe Kucuk <>
[refactored common image bits into Device/xiaomi-ac2100, fixed From:]
Signed-off-by: Petr Štetiar <>
6 months agogeneric: platform/mikrotik: add partial AR71xx cpufreq support
Thibaut VARÈNE [Sun, 21 Jun 2020 10:59:56 +0000 (12:59 +0200)]
generic: platform/mikrotik: add partial AR71xx cpufreq support

This patch adds cpu frequency setting for AR724x and AR7161.
It is unknown if all the AR71xx devices support the same value range,
so support is only enabled for AR7161 at this stage.

Signed-off-by: Thibaut VARÈNE <>
6 months agogeneric: platform/mikrotik: add board_revision tag
Thibaut VARÈNE [Sat, 6 Jun 2020 13:46:08 +0000 (15:46 +0200)]
generic: platform/mikrotik: add board_revision tag

Tag was discovered exploring the hard_config of a "r2" board.

Signed-off-by: Thibaut VARÈNE <>
6 months agogeneric: platform/mikrotik: graceful fallback for cpufreq_index
Thibaut VARÈNE [Fri, 5 Jun 2020 13:56:15 +0000 (15:56 +0200)]
generic: platform/mikrotik: graceful fallback for cpufreq_index

The current code would return an error on ath79 when the SoC isn't known
to the driver. Return the raw hex value instead, as happens with non
supported targets.
Also return the correctly incremented value from

Signed-off-by: Thibaut VARÈNE <>
6 months agogeneric: platform/mikrotik: match RouterBOOT nomenclature
Thibaut VARÈNE [Fri, 5 Jun 2020 12:06:02 +0000 (14:06 +0200)]
generic: platform/mikrotik: match RouterBOOT nomenclature

RouterBOOT cpu frequency settings are letter-indexed. Follow the
same logic for the sysfs interface.

Signed-off-by: Thibaut VARÈNE <>
6 months agogeneric: platform/mikrotik: fix routerboot_tag_show_u32s()
Thibaut VARÈNE [Fri, 5 Jun 2020 11:59:41 +0000 (13:59 +0200)]
generic: platform/mikrotik: fix routerboot_tag_show_u32s()

The routine would only accurately print out the first word.

Signed-off-by: Thibaut VARÈNE <>
Fixes: 5ecf7d96 ("generic: routerboot sysfs platform driver")

6 months agoramips: add support for Edimax Gemini RE23S
Davide Fioravanti [Tue, 19 May 2020 23:27:56 +0000 (01:27 +0200)]
ramips: add support for Edimax Gemini RE23S

SoC:   Mediatek MT7621AT (880 MHz, 2 cores 4 threads)
RAM:   128MB
FLASH: 16MB NOR (Macronix MX25L12805D)
ETH:   1x 10/100/1000 Mbps Ethernet (MT7530)
  - 2.4GHz: 1x MT7615 (4x4:4)
  - 5GHz:   1x MT7615 (4x4:4)
  - 4 antennas: 2 external detachable and 2 internal
  - 1x Reset button
  - 1x WPS button
  - 1x Green led (Power)
  - 1x Green-Amber-Red led (Wifi)
  - 57600-8-N-1

Everything works correctly.

Flash the factory image directly from OEM web interface.
(You can login using these credentials: admin/1234)

Restore OEM Firmware
Flash the OEM "bin" firmware directly from LUCI.
The firmware is downloadable from the OEM web page.
Warning: Remember to not keep settings!
Warning2: Remember to force the flash.

Restoring procedure tested with RE23_1.08.bin

MAC addresses
factory 0x4     *:24
factory 0x8004  *:25
Cimage  0x07    *:24
Cimage  0x0D    *:24
Cimage  0x13    *:24
Cimage  0x19    *:25

No other addresses were found in factory partition.

Since the label contains both the 2.4GHz and 5GHz mac address I decided
to set the 5GHz one as label-mac-device. Moreover it also corresponds
to the lan mac address.

The wifi led in the OEM firmware changes colour depending on the signal
strength. This can be done in OpenWrt but just for one interface.
So for now will not be any default action for this led.

If you want to open the case, pay attention to the antenna placed on
the bottom part of the front cover.
The wire is a bit short and it breaks easily. (I broke it)

Signed-off-by: Davide Fioravanti <>
[fix two typos and add extended MAC address section to commit message]
Signed-off-by: Adrian Schmutzler <>
6 months agoar71xx: Fix mikrotik NAND compile problem
Hauke Mehrtens [Tue, 7 Jul 2020 21:38:10 +0000 (23:38 +0200)]
ar71xx: Fix mikrotik NAND compile problem

This Fixes the folowing compile error:
drivers/mtd/nand/rb91x_nand.c: In function 'rb91x_nand_remove':
drivers/mtd/nand/rb91x_nand.c:445:16: error: 'rbni' undeclared (first use in this function)

Fixes: ce958dd88a7e ("kernel: Update kernel 4.14 to version 4.14.187")
Signed-off-by: Hauke Mehrtens <>
6 months agocurl: bump to 7.71.1
Hans Dedecker [Tue, 7 Jul 2020 19:51:36 +0000 (21:51 +0200)]
curl: bump to 7.71.1

For changes in 7.71.1; see

Signed-off-by: Hans Dedecker <>
6 months agonat46: fix translation of ICMP protocol unreachable
Hans Dedecker [Tue, 7 Jul 2020 19:39:36 +0000 (21:39 +0200)]
nat46: fix translation of ICMP protocol unreachable

Refresh patch

1182f30 nat46-core: Fix translation of ICMP protocol unreachable

Signed-off-by: Hans Dedecker <>
6 months agobuild: fix compatibility with python 3.6
Huangbin Zhan [Mon, 6 Jul 2020 23:14:42 +0000 (07:14 +0800)]
build: fix compatibility with python 3.6

On a system python3 is linked to python3.6, fail to perform json_overview_image_info
 and got `TypeError: __init__() got an unexpected keyword argument 'capture_output'`.
This patch emulate the behaviour on python 3.7+.

Signed-off-by: Huangbin Zhan <>
6 months agobuild: mconf readme update
Sergio E. Nemirowski [Mon, 15 Jun 2020 17:58:15 +0000 (20:58 +0300)]
build: mconf readme update

This updates mconf.c readme message to maintain less changes with
upstream and consistency with nconf.c

Signed-off-by: Sergio E. Nemirowski <>
6 months agobuild: add nconfig
Sergio E. Nemirowski [Wed, 10 Jun 2020 01:33:21 +0000 (04:33 +0300)]
build: add nconfig

Add support for make target nconfig (ncurses)

Reviewed-by: Eneas U de Queiroz <>
Signed-off-by: Sergio E. Nemirowski <>
Signed-off-by: Petr Štetiar <>
6 months agoath79: nand: disable images for glinet_gl-ar750s
Petr Štetiar [Wed, 20 May 2020 10:11:12 +0000 (12:11 +0200)]
ath79: nand: disable images for glinet_gl-ar750s

Fixes following build failures:

 WARNING: Image file glinet_gl-ar750s-nor-kernel.bin is too big
 WARNING: Image file glinet_gl-ar750s-nor-nand-kernel.bin is too big

Signed-off-by: Petr Štetiar <>
6 months agoath79: add support for 8devices Rambutan board
Andrey Bondar [Fri, 26 Jun 2020 08:16:00 +0000 (11:16 +0300)]
ath79: add support for 8devices Rambutan board

Rambutan is a Wifi module based on QCA9550/9557


- 720/600/200 MHz (CPU/DDR/AHB)
- 128 MB of DDR2 RAM
- 128 MB of NAND Flash
- 1x 100Mbps Ethernet
- 1x 1000Mbps Ethernet (PHY on dev-kit)
- 1x Wifi radio 2x2 MIMO, dualband 2.4 and 5 GHz
- 2x U.FL connectors on module, chip antennas on dev-kit
- 1x miniPCIe slot
- 2x USB2.0 host
- 2x UART

Flash instructions:

Upgrade from ar71xx target:
 sysupgrade -F /tmp/openwrt-ath79-nand-8dev_rambutan-squashfs-sysupgrade.tar
or upgrade from GUI (don't save config)

Use factory image to flash from U-Boot:
 tftpboot 80060000 openwrt-ath79-nand-8dev_rambutan-squashfs-factory.ubi
 nand erase.part ubi
 nand write 80060000 ubi ${filesize}

Signed-off-by: Petr Štetiar <> [copy&pasted missing commit description]
Signed-off-by: Andrey Bondar <>
6 months agodropbear: make rsa-sha2-256 pubkeys usable again
Petr Štetiar [Wed, 1 Jul 2020 10:29:44 +0000 (12:29 +0200)]
dropbear: make rsa-sha2-256 pubkeys usable again

Upstream in commit 972d723484d8 ("split signkey_type and signature_type
for RSA sha1 vs sha256") has added strict checking of pubkey algorithms
which made keys with SHA-256 hashing algorithm unusable as they still
reuse the `ssh-rsa` public key format. So fix this by disabling the
check for `rsa-sha2-256` pubkeys.

Fixes: d4c80f5b172e ("dropbear: bump to 2020.80")
Tested-by: Russell Senior <>
Signed-off-by: Petr Štetiar <>
6 months agoramips: use WiFi LED DT triggers for TP-Link RE650 v1
Adrian Schmutzler [Tue, 7 Jul 2020 09:49:36 +0000 (11:49 +0200)]
ramips: use WiFi LED DT triggers for TP-Link RE650 v1

This moves WiFi LED triggers from 01_leds to device tree.

While at it, convert the labels there to lower case; this is
more commonly used and the change will actually remove competition
between DT trigger and leftover uci config on already installed

Suggested-by: Georgi Vlaev <>
Signed-off-by: Adrian Schmutzler <>
6 months agoath79: switch to kernel 5.4
David Bauer [Thu, 2 Apr 2020 19:53:59 +0000 (21:53 +0200)]
ath79: switch to kernel 5.4

As the reported major bugs are ironed out, switch to the new kernel to
begin testing with a broader audience.

Signed-off-by: David Bauer <>
Acked-by: Hauke Mehrtens <>
6 months agobuild: conditionally enable testing-kernel feature
David Bauer [Tue, 7 Jul 2020 08:32:09 +0000 (10:32 +0200)]
build: conditionally enable testing-kernel feature

Only enable the testing-kernel feature for the target when the testing
kernel version does not match the stable kernel version.

This way, the option for building the testing kernel in the build config
menu is only exposed when there's a testing kernel available.

Signed-off-by: David Bauer <>
Acked-by: Adrian Schmutzler <>
6 months agolantiq: set port numbers corresponding to reg value
Aleksander Jan Bajkowski [Sun, 17 May 2020 10:33:56 +0000 (12:33 +0200)]
lantiq: set port numbers corresponding to reg value

Fix inconsistencies found in DTS files and sort ethernet ports based on
updated names.

Signed-off-by: Aleksander Jan Bajkowski <>
[squash two separate patches, rephrase commit title/message]
Signed-off-by: Adrian Schmutzler <>
6 months agolantiq: remove redundant includes from fritz736x DTS files
Aleksander Jan Bajkowski [Sun, 17 May 2020 10:32:07 +0000 (12:32 +0200)]
lantiq: remove redundant includes from fritz736x DTS files

The removed lines are already included in vr9_avm_fritz736x.dtsi

Signed-off-by: Aleksander Jan Bajkowski <>
[rephrase commit title/message]
Signed-off-by: Adrian Schmutzler <>
6 months agoramips: add support for TP-Link RE500 v1
Christoph Krapp [Mon, 6 Jul 2020 21:05:25 +0000 (23:05 +0200)]
ramips: add support for TP-Link RE500 v1

This device uses the same hardware as RE650 v1 which got supported in

Hardware specification:

- SoC 880 MHz - MediaTek MT7621AT
- 128 MB of DDR3 RAM
- 16 MB - Winbond 25Q128FVSG
- 4T4R 2.4 GHz - MediaTek MT7615E
- 4T4R 5 GHz - MediaTek MT7615E
- 1x 1 Gbps Ethernet - MT7621AT integrated
- 7x LEDs (Power, 2G, 5G, WPS(x2), Lan(x2))
- 4x buttons (Reset, Power, WPS, LED)
- UART header (J1) - 2:GND, 3:RX, 4:TX
  Serial console @ 57600,8n1

Flash instructions:

from the RE500 web interface.

TFTP recovery to stock firmware:

Unfortunately, I can't find an easy way to recover the RE
without opening the device and using modified binaries. The
TFTP upload will only work if selected from u-boot, which
means you have to open the device and attach to the serial
console. The TFTP update procedure does *not* accept the
published vendor firmware binaries. However, it allows to
flash kernel + rootfs binaries, and this works if you have
a backup of the original contents of the flash. It's probably
possible to create special image out of the vendor binaries
and use that as recovery image.

Signed-off-by: Christoph Krapp <>
[remove dts-v1 in DTSI, do not touch WiFi LEDs for RE650, keep
state_default in DTS files, fix label-mac-device, use lower case
for WiFi LEDs]
Signed-off-by: Adrian Schmutzler <>
6 months agolantiq: dts: Move the &usb_vbus nodes out of &gpio
Martin Blumenstingl [Mon, 6 Jul 2020 17:46:34 +0000 (19:46 +0200)]
lantiq: dts: Move the &usb_vbus nodes out of &gpio

Move the USB VBUS regulator nodes out of the GPIO controller node. This
fixes a problem where the "regulator-fixed" driver wasn't probed for
these regulators because the GPIO driver doesn't scan the child-nodes
and based on the dt-bindings documentation it's not supposed to.

This fixed the following error reported by Luca Olivetti:
  dwc2 1e101000.usb: DWC OTG Controller
  dwc2 1e101000.usb: new USB bus registered, assigned bus number 1
  dwc2 1e101000.usb: irq 62, io mem 0x1e101000
  dwc2 1e101000.usb: startup error -517
  dwc2 1e101000.usb: USB bus 1 deregistered
  dwc2 1e101000.usb: dwc2_hcd_init() FAILED, returning -517

Fixes: FS#1634
Cc: Luca Olivetti <>
Signed-off-by: Martin Blumenstingl <>
6 months agoravpower-mcu: add missing PKG_RELEASE
David Bauer [Mon, 6 Jul 2020 14:02:15 +0000 (16:02 +0200)]
ravpower-mcu: add missing PKG_RELEASE

This fixes the imagebuilder for this device.

Signed-off-by: David Bauer <>
6 months agokernel/pcengines-apu2: detect apuv4 board
Matthew Gyurgyik [Fri, 3 Jul 2020 21:08:25 +0000 (14:08 -0700)]
kernel/pcengines-apu2: detect apuv4 board

Upstream commit 3d00da1de3 ("platform/x86: pcengines-apuv2: detect apuv4

On 5.4, this module fails on APUv4 due to non-matching DMI data. With this
patch, the module will match DMI data for the APUv4.

Signed-off-by: Matthew Gyurgyik <>
[include upstream patch description]
Signed-off-by: David Bauer <>
6 months agolantiq: added switch-config for ARV752DPW
Lars Wessels [Sat, 4 Jul 2020 12:05:18 +0000 (14:05 +0200)]
lantiq: added switch-config for ARV752DPW

Add missing switch config (4 LAN-Ports + CPU).

Grey WAN port (used for ADSL) is not part of the switch.

Signed-off-by: Lars Wessels <>
[rework commit message]
Signed-off-by: David Bauer <>
6 months agolantiq: wifi mac fix for ARV752DPW
Lars Wessels [Sat, 4 Jul 2020 11:59:17 +0000 (13:59 +0200)]
lantiq: wifi mac fix for ARV752DPW

Set wifi mac from flash partition 'board_config' to
match the label on the device (Easybox 802).

Currently the wifi mac is always set to 00:0c:43:28:60:00.
eth0 and WiFi will now share the same mac (as in original firmware).

Signed-off-by: Lars Wessels <>
[improve commit message]
Signed-off-by: David Bauer <>
6 months agomac80211: allow ACS restriction with fixed channel
Jan Hoffmann [Fri, 3 Jul 2020 11:53:47 +0000 (13:53 +0200)]
mac80211: allow ACS restriction with fixed channel

This can be useful when a DFS channel is configured, as the ACS channel
list is taken into account when switching channels after a radar event.
For example, this allows to prevent the SRD channels from being used in
that case.

Signed-off-by: Jan Hoffmann <>
[reorder structure]
Signed-off-by: David Bauer <>
6 months agoramips: reduce spi-max-frequency for ipTIME A8004T
Sunguk Lee [Thu, 2 Jul 2020 09:32:43 +0000 (18:32 +0900)]
ramips: reduce spi-max-frequency for ipTIME A8004T

Reduce spi-max-frequency for ipTIME A8004T and disable
m25p,fast-read option.

A8004T uses `en25qh128` for the MTD.
This flash memory would allow 80MHz, sometimes kernel received
wrong id value in initramfs installed router.
(kernel expected `1c 70 18 1c 70 18`, but one of cases, it
was `9c 70 18 1c 70 18`)

In this case, openwrt can't detect the partition information,
it would write the inccorect data to the firmware partition and
also it would occur the bootlooping after sysupgrade.

Signed-off-by: Sunguk Lee <>
[minor commit title/message adjustments]
Signed-off-by: Adrian Schmutzler <>
6 months agoipq806x: move serial0 to DTSI files
Adrian Schmutzler [Fri, 3 Jul 2020 13:46:31 +0000 (15:46 +0200)]
ipq806x: move serial0 to DTSI files

All device DTS files in the target set the serial0 property to the
same value (*). So, let's move the definitions to the DTSI files.

That's also where the kernel defines it (qcom-ipq8064-v1.0.dtsi).

* The only exception is ipq8064-db149, which defines
  "serial0 = &uart2;", but inside a block called "alias" instead of
  "aliases". It must be assumed that this is broken anyway, so we
  don't touch it here.

Signed-off-by: Adrian Schmutzler <>
6 months agoipq806x: move stdout-path to DTSI files
Adrian Schmutzler [Fri, 3 Jul 2020 13:35:03 +0000 (15:35 +0200)]
ipq806x: move stdout-path to DTSI files

All device DTS files in the target set the stdout-path to the same
value. So, let's move the definitions to the DTSI files.

That's also where the kernel defines it (qcom-ipq8064-v1.0.dtsi).

Signed-off-by: Adrian Schmutzler <>
6 months agoipq806x: disentangle and clean up SoC DTSI files
Adrian Schmutzler [Fri, 3 Jul 2020 13:00:58 +0000 (15:00 +0200)]
ipq806x: disentangle and clean up SoC DTSI files

So far, the DTSI files on ipq806x had a linear inheritance:


This poses problems when one wants to set something that is specific
to an architecture closer to the top of the tree.

In this patch, we remove the chain-like inheritance and have all
other files derived from qcom-ipq8064.dtsi (changing this name to
something more generic is not possible due to upstream use).

The removal of inheritance will require a few entries to be copied
from qcom-ipq8064-v2.0.dtsi to qcom-ipq8065.dtsi. However, it also
opens an opportunity for some clean-up:

- Many definitions can be improved by just using the innermost labels.

- Instead of disabling the CPU_SPC node for ipq8065, it is now off by
  default and enabled where needed.

- Instead of patching phy-tx0-term-offset into qcom-ipq8064.dtsi and
  then having it changed for qcom-ipq8064-v2.0/qcom-ipq8065, just have
  the appropriate settings done in the lower DTSI files directly.

- For the opp_table0 adjustments for ipq8065, just redefine what's
  changed, but don't add all the untouched properties again.

Signed-off-by: Adrian Schmutzler <>
6 months agoipq806x: move common pinmux nodes to SoC DTSI
Sungbo Eo [Thu, 2 Jul 2020 16:38:09 +0000 (01:38 +0900)]
ipq806x: move common pinmux nodes to SoC DTSI

As almost same pinmux nodes are repeated in each device dts,
let's define them once in the ipq8064 dtsi and remove the rest.

* uart0_pins : Did not touch.
* i2c4_pins  : This node seems to be not used at all in dts.
               Added the most common form in the dtsi. Did not touch rpm_pins.
* spi_pins   : The common mux node is already present in the dtsi.
               Removed the duplicate nodes from dts.
* nand_pins  : Moved the entire node.
* mdio0_pins : Moved the common mux node.
* rgmii2_pins: Moved the common mux node. "pins" property is overrided in ap161.

Signed-off-by: Sungbo Eo <>
6 months agoar71xx: Fix mikrotik NAND compile problem
Hauke Mehrtens [Sun, 5 Jul 2020 17:27:23 +0000 (19:27 +0200)]
ar71xx: Fix mikrotik NAND compile problem

There is one closing bracket too much.

Fixes: ce958dd88a7e ("kernel: Update kernel 4.14 to version 4.14.187")
Signed-off-by: Hauke Mehrtens <>
6 months agolinux-firmware: Update linux-firmware to 20200619
John Audia [Mon, 29 Jun 2020 10:37:46 +0000 (06:37 -0400)]
linux-firmware: Update linux-firmware to 20200619

git log --pretty=oneline --abbrev-commit 20200122..20200619

e96c121 (tag: 20200619, origin/main) amdgpu: update renoir firmware from 20.20 release
db0402e amdgpu: update picasso firmware from 20.20 release
c4e6e8f amdgpu: update raven2 firmware from 20.20 release
1967282 amdgpu: update raven firmware from 20.20 release
f73f82c amdgpu: add vega20 TA firmware from 20.20 release
9ecaba8 amdgpu: update vega20 firmware from 20.20 release
3866af1 amdgpu: update vega12 firmware from 20.20 release
adba945 amdgpu: update vega10 firmware from 20.20 release
3c5eef0 amdgpu: update navi10 firmware from 20.20 release
152c929 amdgpu: update navi14 firmware from 20.20 release
3890db3 (HEAD -> master, origin/master, origin/HEAD) rtl_nic: add firmware for RTL8125B
887d2a1 linux-firmware: Update firmware file for Intel Bluetooth AX200
3914943 linux-firmware: Update firmware file for Intel Bluetooth AX201
4966923 linux-firmware: Update firmware file for Intel Bluetooth 9560
5ee82c0 linux-firmware: Update firmware file for Intel Bluetooth 9260
d9880b1 Mellanox: Add new mlxsw_spectrum firmware xx.2007.1168
c2e313b rtw88: RTL8822C: update firmware version to v9.9
4d91664 Merge branch 'mrvl-prestera' of
a54dfbe Merge branch 'for-upstream' of git://
51a773d cxgb4: Update firmware to revision
5611000 mrvl: add firmware for Prestera ASIC devices
8ba6fa6 (tag: 20200519) Merge tag 'iwlwifi-fw-2020-05-19' of git://
5ee1c7d iwlwifi: update and add new FWs from core50-70 and core52-81 releases
401bd6d rtw88: RTL8821C: add firmware file v24.5
2ae9974 iwlwifi: update FWs to core47-142 release
50c1340 iwlwifi: update 8265 FW
f8d32e4 rtw88: update firmware information and README
412f95a linux-firmware: add firmware for MT7915E
619d339 QCA: Add Bluetooth firmware for QCA9377
1392591 linux-firmware: add rebb firmware for mt7663
b2cad6a linux-firmware: Update firmware file for Intel Bluetooth AX200
c5ac1ad linux-firmware: Update firmware file for Intel Bluetooth AX201
642d115 linux-firmware: Update firmware file for Intel Bluetooth 9560
dc3047c linux-firmware: Update firmware file for Intel Bluetooth 9260
78c0348 (tag: 20200421) Use Link function for brcmfmac43362-sdio.lemaker,bananapro.txt
f2df706 Add symlink for Dell XPS 15 9550 Broadcom Bluetooth patch-ram file
87dcb0e rtl_bt: Update RTL8822C BT FW to 0x0999_3AA1
3aa3ae4 Merge branch 'for-upstream' of git://
8aa36f5 cxgb4: Update T6 config file
6314fa0 amdgpu: update vega20 firmware for 20.10
1f308f1 amdgpu: update vega12 firmware for 20.10
1ffd569 amdgpu: update vega10 firmware for 20.10
9a0b0f4 amdgpu: update renoir firmware for 20.10
428a747 amdgpu: update raven2 firmware for 20.10
624ecdf amdgpu: update raven firmware for 20.10
7532f50 amdgpu: update picasso firmware for 20.10
75e352e amdgpu: update navi10 firmware for 20.10
3c175d1 amdgpu: update navi14 firmware for 20.10
8d7ac32 amdgpu: add navi14 TA firmware from 20.10
dd6b4db Merge branch 'for-upstream' of git://
3afe520 cxgb4: Update firmware to revision
64dba0f Merge branch 'a630-zap' of
236ec45 linux-firmware: add firmware for MT7663 Wifi/BT combo device
107b9a2 Merge
5b240e5 Merge
47533bc linux-firmware: Update firmware file for Intel Bluetooth AX200
677930a linux-firmware: Update firmware file for Intel Bluetooth AX201
e6ff1e7 qcom: Add SDM845 Adreno ZAP shader firmware
1a8b0dc qca: Enable transparent WBS for WCN3991
4921f73 QCA: Add Bluetooth firmware for QCA6390
edf390c Merge branch 'v12573.77' of
3c213aa mediatek: Add mt8183 SCP firmware
8eb0b28 (tag: 20200316) linux-firmware: Update firmware file for Intel Bluetooth AX200
b9f720f linux-firmware: Update firmware file for Intel Bluetooth AX201
426db50 linux-firmware: Update firmware file for Intel Bluetooth 9560
9361709 linux-firmware: Update firmware file for Intel Bluetooth 9260
3b3dd5a amdgpu: update vega20 firmware from 19.50
4871e7a amdgpu: update vega12 firmware from 19.50
4e7f0f8 amdgpu: update vega10 firmware from 19.50
fce60a9 rtl_bt: Add firmware and configuration files for RTL8822C BT UART chip
d553c05 Merge branch 'tgl_huc_7.0.12_dmc_2.06' of git://
fb83402 i915: Add DMC firmware v2.06 for TGL
45d36b5 i915: add HuC firmware v7.0.12 for TGL
0148cfe Merge
94cb0a6 check_whence: python3/utf-8 support
7fa32bc Makefile: improve `make check` usefulness
4bb6805 mediatek: Remove in-tree symlinks
6f50efe Merge branch 'v1.1.4' of
2db3978 qca: Fix blueooth firmware name for QCA6174
a8a18d1 mediatek: move MT8173 VPU FW to subfolder
efcfa03 linux-firmware: Update firmware file for Intel Bluetooth AX201
83cb43e Merge
54b017d qca: Add firmware files for BT chip wcn3991.
2277987 nvidia: add TU116/117 signed firmware
f63922d drm/amdgpu: update to latest 19.50 firmware for raven
1168a90 Merge branch 'v1.1.4' of
0bd965d mediatek: update MT8173 VPU firmware to v1.1.4
6f89735 rtl_nic: update firmware for RTL8153A
5351afe rtl_bt: Update RTL8822C BT FW to V0x0998_C2B4
83a7c50 linux-firmware: add firmware for MT7622
feb91a4 linux-firmware: add version 2 for MT7615E
b791e15 amdgpu: update to latest navi10 firmware from 19.50
0ff2f37 Revert "radeon: update oland rlc microcode from amdgpu"
c2df39a Merge branch 'amlogic-vdec' of
fb505a6 amlogic: update video decoder firmwares
6d9f399 amdgpu: add renoir firmware for 19.50
2c08b38 amdgpu: update raven2 firmware for 19.50
8846543 Merge commit '779514ec044a75ee6c9c20e52a2bf291f80d7d4e' of
74d71b6 Merge branch 'bt-20200122' of git://
779514e nfp: update Agilio SmartNIC flower firmware to rev AOTC-2.12.A.13
3055060 qca: update bluetooth firmware for QCA6174

Signed-off-by: John Audia <>
6 months agomvebu: config define i2c pxa slave
Scott Roberts [Tue, 30 Jun 2020 19:55:16 +0000 (13:55 -0600)]
mvebu: config define i2c pxa slave

We are setting CONFIG_I2C_PXA is not set
If you do set pxa to y then you have issues if you do not have

Fixes: dd13add3ceed ("kernel: i2c-pxa: remove slave")
Signed-off-by: Scott Roberts <>
6 months agomvebu: LS421DE: use automatic fan control with thermal zones
Daniel González Cabanelas [Sun, 28 Jun 2020 21:52:10 +0000 (23:52 +0200)]
mvebu: LS421DE: use automatic fan control with thermal zones

The Buffalo Linkstation LS421DE has a chassis fan for cooling two internal
hard drives. Currently there is no control over this fan, running always
at fixed medium speed.

With the recent jump to the kernel 5.4, now we can monitor the hard drive
temperature and control the fan with thermal zones.

Install the kmod-hwmon-drivetemp module and wire up a thermal zone on the
dts file to allow automatic fan control by the kernel.

Tested succesfully using a single Crucial BX500 SSD drive.

Signed-off-by: Daniel González Cabanelas <>
6 months agokernel: Update kernel 5.4 to version 5.4.50
Hauke Mehrtens [Sat, 4 Jul 2020 13:16:27 +0000 (15:16 +0200)]
kernel: Update kernel 5.4 to version 5.4.50

Run tested: ath79, ipq40xx
Build tested: ath79, ipq40xx

Signed-off-by: Hauke Mehrtens <>
6 months agokernel: Update kernel 4.19 to version 4.19.131
Hauke Mehrtens [Fri, 3 Jul 2020 23:34:26 +0000 (01:34 +0200)]
kernel: Update kernel 4.19 to version 4.19.131

- CVE-2020-10757

The "mtd: rawnand: Pass a nand_chip object to nand_release()" commit was
backported which needed some adaptations to other code.

Run tested: ath79
Build tested: ath79

Signed-off-by: Hauke Mehrtens <>
6 months agokernel: Update kernel 4.14 to version 4.14.187
Hauke Mehrtens [Fri, 3 Jul 2020 22:54:41 +0000 (00:54 +0200)]
kernel: Update kernel 4.14 to version 4.14.187

- CVE-2020-10757

The "mtd: rawnand: Pass a nand_chip object to nand_release()" commit was
backported which needed some adaptations to other code.

Build tested: ramips

Signed-off-by: Hauke Mehrtens <>
6 months agolibjson-c: update to 0.14
DENG Qingfang [Thu, 18 Jun 2020 06:20:15 +0000 (14:20 +0800)]
libjson-c: update to 0.14

Update libjson-c to 0.14

Switch to CMake because the upstream build system was changed

ipk size increased by 2KB

Signed-off-by: DENG Qingfang <>
6 months agokernel: Fix ath79 DSP exception at bootup
Hauke Mehrtens [Thu, 2 Jul 2020 22:54:38 +0000 (00:54 +0200)]
kernel: Fix ath79 DSP exception at bootup

This resolves a hazard between a mtc0 and a mfc0 instruction after
activating the DSP support. Without this fix the CPU could use the old
value again and the DSP support would not be active.

Fixes: FS#2928, FS#2899
Signed-off-by: Hauke Mehrtens <>
Tested-by: Stefan Lippers-Hollmann <> [ath79/tl-wdr3600; ath79/tl-wdr4300]
Tested-by: David Bauer <> [ocedo_koala/ocedo_raccoon]
6 months agobuild,json: fix build failure in case no data is found
Daniel Golle [Fri, 3 Jul 2020 20:57:52 +0000 (21:57 +0100)]
build,json: fix build failure in case no data is found

Only collect arch_packages if actually generating any output.

Fixes: commit f09b9319 ("build,json: store arch_packages in profiles.json"(
Signed-off-by: Daniel Golle <>
Signed-off-by: Paul Spooren <>
6 months agoath79: add support for GL.iNet GL-MiFi
Antti Seppälä [Thu, 2 Jul 2020 07:53:02 +0000 (10:53 +0300)]
ath79: add support for GL.iNet GL-MiFi

Add support for the ar71xx supported GL.iNet GL-MiFi to ath79.

 - Atheros AR9331
 - 64 MB of RAM
 - 16 MB of FLASH (SPI NOR)
 - 2x 10/100/1000 Mbps Ethernet
 - 2.4GHz (AR9330), 802.11b/g/n
 - 1x USB 2.0 (vbus driven by GPIO)
 - 4x LED, driven by GPIO
 - 1x button (reset)
 - 1x mini pci-e slot (vcc driven by GPIO)

Flash instructions:

Vendor software is based on openwrt so you can flash the sysupgrade
image via the vendor GUI or using command line sysupgrade utility.
Make sure to not save configuration over reflash as uci settings
differ between versions.

Note on MAC addresses:

Even though the platform is capable to providing separate MAC addresses
to the interfaces vendor firmware does not seem to take advantage of
that. It appears that there is only single unique pre-programmed
address in the art partition and vendor firmware uses that for
every interface (eth0/eth1/wlan0). Similar behaviour has also been
implemented in this patch.

Note on GPIOs:

In vendor firmware the gpio controlling mini pci-e slot is named
3gcontrol while it actually controls power supply to the entire mini
pci-e slot. Therefore a more descriptive name (minipcie) was chosen.
Also during development of this patch it became apparent that the
polarity of the signal is actually active low rather than active high
that can be found in vendor firmware.


This patch is based on earlier work[1] done by Kyson Lok. Since the
initial mailing-list submission the patch has been modified to comply
with current openwrt naming schemes and dts conventions.


Signed-off-by: Antti Seppälä <>
6 months agoipq806x: refresh config
John Audia [Sun, 28 Jun 2020 10:24:46 +0000 (06:24 -0400)]
ipq806x: refresh config

Based on "make kernel_menuconfig CONFIG_TARGET=generic" and 5.4.49

CONFIG_LEDS_TRIGGER_DISK has been removed by the refresh and added
back manually in order to not revert f93fcf8923aa ("ipq806x: enable
disk-activity LED trigger").

Signed-off-by: John Audia <>
[extend commit message]
Signed-off-by: Adrian Schmutzler <>
6 months agokirkwood: support for button in Pogoplug V4
Sungbo Eo [Fri, 3 Jul 2020 16:15:52 +0000 (01:15 +0900)]
kirkwood: support for button in Pogoplug V4

Pogoplug V4 has a reset button on a GPIO pin.
To use it, kmod-gpio-button-hotplug package needs to be installed.

Signed-off-by: Sungbo Eo <>
6 months agoath79: drop redundant status for gpio target-wide
Adrian Schmutzler [Fri, 3 Jul 2020 15:33:10 +0000 (17:33 +0200)]
ath79: drop redundant status for gpio target-wide

All definitions of gpio in SoC DTSI files do not set status, i.e.
have it enabled. This drops all remaining redundant "status = okay"
definitions in descendent files (mostly older ones).

Signed-off-by: Adrian Schmutzler <>
6 months agoath79: enable gpio on ar933x by default
Adrian Schmutzler [Fri, 3 Jul 2020 15:21:12 +0000 (17:21 +0200)]
ath79: enable gpio on ar933x by default

All other SoC DTSI files have gpio enabled by default, only
ar9330/ar9331 disable it by default, only to have it enabled again
afterwards for each individual device.

So, do not disable it in the first place, and drop all device-specific
status statements afterwards.

Signed-off-by: Adrian Schmutzler <>
6 months agoath79: add support for Compex WPJ344
Leon M. George [Fri, 26 Jul 2019 18:32:55 +0000 (20:32 +0200)]
ath79: add support for Compex WPJ344


SoC: AR9344
Flash: 16MB SPI-NOR
2 Gigabit ethernet ports
2×2 2.4GHz on-board radio
miniPCIe slot that supports 5GHz radio
PoE 48V IEEE 802.3af/at - 24V passive optional
USB 2.0 header


To install, either start tftp in bin/targets/ath79/generic/ and use
the u-boot prompt over UART:

tftpboot 0x80500000 openwrt-ath79-generic-compex_wpj344-16m-squashfs-sysupgrade.bin
erase 0x9f030000 +$filesize
erase 0x9f680000 +1
cp.b $fileaddr 0x9f030000 $filesize

The cpximg file can be used with sysupgrade in the stock firmware (add
SSH key in luci for root access) or with the built-in cpximg loader.
The cpximg loader can be started either by holding the reset button
during power up or by entering the u-boot prompt and entering 'cpximg'.
Once it's running, a TFTP-server under will accept the image
appropriate for the board revision that is etched on the board.

For example, if the board is labelled '6A08':

tftp -v -m binary -c put openwrt-ath79-generic-compex_wpj344-16m-squashfs-cpximg-6a08.bin

MAC addresses:

<&uboot 0x2e010>  *:99  (label)
<&uboot 0x2e018>  *:9a
<&uboot 0x2e020>  *:9b
<&uboot 0x2e028>  *:9c

Only the first two are used (for ethernet), the WiFi modules have
separate (valid) addresses. The latter two addresses are not used.

Signed-off-by: Leon M. George <>
[minor commit message adjustments, drop gpio in DTS, DTS style fixes,
sorting, drop unused cpximg recipe]
Signed-off-by: Adrian Schmutzler <>
6 months agobuild,json: store arch_packages in profiles.json
Paul Spooren [Wed, 1 Jul 2020 02:00:25 +0000 (16:00 -1000)]
build,json: store arch_packages in profiles.json

The `arch_packages` contains the supported package architecture.

Previously it was necessary to parse the `Packages` index for the line
`Architecture:`, requiring both an additional parser and file download.

Signed-off-by: Paul Spooren <>
6 months agoodhcpd: bump to latest git HEAD
Hans Dedecker [Thu, 2 Jul 2020 20:24:39 +0000 (22:24 +0200)]
odhcpd: bump to latest git HEAD

5da5299 odhcpd: fix compilation with GCC10

Signed-off-by: Hans Dedecker <>
6 months agoath79: rearrange nand node by register address
Sungbo Eo [Thu, 2 Jul 2020 12:50:08 +0000 (21:50 +0900)]
ath79: rearrange nand node by register address

All other nodes in the DTS are placed in order of address space. Harmonize
the nand nodes as well.

Signed-off-by: Sungbo Eo <>
6 months agocurl: bump to 7.71.0
Hans Dedecker [Tue, 30 Jun 2020 20:21:24 +0000 (22:21 +0200)]
curl: bump to 7.71.0

For changes in 7.71.0; see

Signed-off-by: Hans Dedecker <>
6 months agoath10k-ct: update to version 2020-06-30
Álvaro Fernández Rojas [Wed, 1 Jul 2020 09:46:48 +0000 (11:46 +0200)]
ath10k-ct: update to version 2020-06-30

Backports commit "a1769bb68a850508a492e3674ab1e5e479b11254", which reverts
upstream commit "76d164f582150fd0259ec0fcbc485470bcd8033e" (ath10k: fix DMA
related firmware crashes on multiple devices).

Signed-off-by: Álvaro Fernández Rojas <>
6 months agobuild: store default/device packages in JSON
Paul Spooren [Tue, 30 Jun 2020 11:02:43 +0000 (01:02 -1000)]
build: store default/device packages in JSON

With this commit the `profiles.json` contain both the target specific
`default_packages` as well as the device specific `device_packages` as a
array of strings.

This information is required for downstream projects like the various
web-based interactive firmware generators.

Signed-off-by: Daniel Golle <>
Signed-off-by: Paul Spooren <>
6 months agodropbear: bump to 2020.80
Hans Dedecker [Tue, 30 Jun 2020 20:02:20 +0000 (22:02 +0200)]
dropbear: bump to 2020.80

- drop patches (applied upstream)
 * 001-backport_GNU_SOURCE-for-random.patch
 * 002-backport-move-GNU_SOURCE-earlier.patch
 * 010-backport-disable-toom-and-karatsuba.patch

Signed-off-by: Hans Dedecker <>