openwrt/staging/linusw.git
4 years agox86: fix missing squashfs and ext4 rootfs images
Paul Spooren [Wed, 25 Mar 2020 19:25:10 +0000 (09:25 -1000)]
x86: fix missing squashfs and ext4 rootfs images

The previous rework of x86 image creation done in commit cb007a7bf619
("x86: switch image generation to new code") removed images of separate
squashfs and ext4 filesystems which are handy for example in testing
under QEMU.

So this patch adds back creation of those missing rootfs images for ext4
and squashfs based filesystems.

Fixes: cb007a7bf619 ("x86: switch image generation to new code")
Signed-off-by: Paul Spooren <mail@aparcar.org>
[commit subject and description tweaks]
Signed-off-by: Petr Štetiar <ynezz@true.cz>
4 years agox86: fix padding in images
Paul Spooren [Wed, 25 Mar 2020 07:06:57 +0000 (21:06 -1000)]
x86: fix padding in images

The previous rework of x86 image creation done in commit  cb007a7bf619
("x86: switch image generation to new code") broke the padding in
images.

 sda: p2 size 212992 extends beyond EOD, enabling native capacity
 sda: p2 size 212992 extends beyond EOD, truncated
 sd 0:0:0:0: [sda] Attached SCSI disk
 SQUASHFS error: squashfs_read_data failed to read block 0x2cc556
 unable to read id index table
 VFS: Cannot open root device "PARTUUID=ac5c9cd8-02" or unknown-block(8,2): error -5
 Please append a correct "root=" boot option; here are the available partitions:
 0800           19761 sda
  driver: sd
   0801           16384 sda1 ac5c9cd8-01

   0802            2865 sda2 ac5c9cd8-02

 Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(8,2)

Tested with x86/64 with Docker (squashfs), qemustart (ext4/squashfs) and
virtualbox (ext4/squashfs).

Ref: FS#2935
Fixes: cb007a7bf619 ("x86: switch image generation to new code")
Suggested-by: Russell Senior <russell@personaltelco.net>
Signed-off-by: Paul Spooren <mail@aparcar.org>
[commit subject and description tweaks]
Signed-off-by: Petr Štetiar <ynezz@true.cz>
4 years agokernel: package gpio-f7188x driver
Nick Bowler [Wed, 25 Mar 2020 02:00:30 +0000 (22:00 -0400)]
kernel: package gpio-f7188x driver

This driver enables support for the GPIO capabilities found in many
Fintek Super-IO chips.

Signed-off-by: Nick Bowler <nbowler@draconx.ca>
4 years agokernel: package f71808e-wdt driver
Nick Bowler [Wed, 25 Mar 2020 02:00:29 +0000 (22:00 -0400)]
kernel: package f71808e-wdt driver

This driver enables support for the watchdog timers found in many
Fintek Super-IO chips.

Signed-off-by: Nick Bowler <nbowler@draconx.ca>
4 years agokernel: package f71882fg hwmon driver
Nick Bowler [Wed, 25 Mar 2020 02:00:28 +0000 (22:00 -0400)]
kernel: package f71882fg hwmon driver

This driver enables hardware monitoring support using the sensors
found in many Fintek Super-IO chips.

Signed-off-by: Nick Bowler <nbowler@draconx.ca>
4 years agoopenssl: revert EOF detection change in 1.1.1
Eneas U de Queiroz [Fri, 27 Mar 2020 02:20:08 +0000 (23:20 -0300)]
openssl: revert EOF detection change in 1.1.1

This adds patches to avoid possible application breakage caused by a
change in behavior introduced in 1.1.1e.  It affects at least nginx,
which logs error messages such as:
nginx[16652]: [crit] 16675#0: *358 SSL_read() failed (SSL: error:
4095126:SSL routines:ssl3_read_n:unexpected eof while reading) while
keepalive, client: xxxx, server: [::]:443

Openssl commits db943f4 (Detect EOF while reading in libssl), and
22623e0 (Teach more BIOs how to handle BIO_CTRL_EOF) changed the
behavior when encountering an EOF in SSL_read().  Previous behavior was
to return SSL_ERROR_SYSCALL, but errno would still be 0.  The commits
being reverted changed it to SSL_ERRO_SSL, and add an error to the
stack, which is correct.  Unfortunately this affects a number of
applications that counted on the old behavior, including nginx.

The reversion was discussed in openssl/openssl#11378, and implemented as
PR openssl/openssl#11400.

Signed-off-by: Eneas U de Queiroz <cotequeiroz@gmail.com>
4 years agoar71xx: Fix gigabit switch support for Mikrotik RB951G-2HnD
Baptiste Jonglez [Thu, 26 Mar 2020 18:03:42 +0000 (19:03 +0100)]
ar71xx: Fix gigabit switch support for Mikrotik RB951G-2HnD

Without this patch, when using rev 3 of the Atheros AR9344 SoC, the
gigabit switch (AR8327) does not work or works very erratically.

This is a re-spin of http://patchwork.ozlabs.org/patch/419857/ with a
different PLL value, according to the feedback from several users
(including myself) as shown here:

  https://openwrt.org/toh/mikrotik/rb2011uias#tracking_reported_experience_with_suggested_patch_for_the_5_gige_ports

Performance is acceptable: testing L3 forwarding without NAT yields a
performance of 370 Mbit/s (iperf3 TCP) and 41 Kpps (iperf3 UDP with 64
bytes payload). Both tests show that 100% of CPU time is spent on softirq.

A similar fix for a different device (RB2011) was added in e457d22261
("Make GBit switch work on RB2011").

Signed-off-by: Baptiste Jonglez <git@bitsofnetworks.org>
4 years agokernel: bump 5.4 to 5.4.28
Petr Štetiar [Thu, 26 Mar 2020 14:19:42 +0000 (15:19 +0100)]
kernel: bump 5.4 to 5.4.28

Changelog since 5.4.24 mentions CVE-2019-19769, CVE-2020-8648,
CVE-2020-8649 and CVE-2020-8647.

Removed upstreamed:

 generic: 507-v5.6-iio-chemical-sps30-fix-missing-triggered-buffer-depe.patch
 generic: 600-ipv6-addrconf-call-ipv6_mc_up-for-non-Ethernet-inter.patch
 bcm27xx: 950-0435-ASoC-pcm512x-Fix-unbalanced-regulator-enable-call-in.patch
 ipq806x: 701-stmmac-fix-notifier-registration.patch
 lantiq: 002-pinctrl-falcon-fix-syntax-error.patch
 octeontx: 0002-net-thunderx-workaround-BGX-TX-Underflow-issue.patch

Run tested: apu2, qemu-x86-64, apalis, a64-olinuxino, nbg6617
Build tested: sunxi/a53, imx6, x86/64, ipq40xx

Tested-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk> [apu2]
Signed-off-by: Petr Štetiar <ynezz@true.cz>
4 years agoipq40xx: switch to 5.4 kernel
Petr Štetiar [Tue, 24 Mar 2020 10:09:41 +0000 (11:09 +0100)]
ipq40xx: switch to 5.4 kernel

5.4.24 seems to be working fine on my zyxel,nbg6617, so let's start
wider userbase testing.

Signed-off-by: Petr Štetiar <ynezz@true.cz>
4 years agoipq40xx: wpj428: fix missing MDIO GPIO reset and pinmux
Leon M. George [Mon, 11 Nov 2019 13:10:50 +0000 (14:10 +0100)]
ipq40xx: wpj428: fix missing MDIO GPIO reset and pinmux

The bootloader does not always initialize the MDIO pins before booting
Linux. E.g. on version "U-Boot 2012.07 [Chaos Calmer 15.05.1,r35193] (Jul
25 2017 - 11:36:26)" this is the case when booting automatically without
activating the U-Boot console.

Without this change, the kernel boot will complain about missing PHYs:

 libphy: ipq40xx_mdio: probed
 ar40xx c000000.ess-switch: Probe failed - Missing PHYs!
 libphy: Fixed MDIO Bus: probed

With this change it will work as expected:

 libphy: ipq40xx_mdio: probed
 ESS reset ok!
 ESS reset ok!
 libphy: Fixed MDIO Bus: probed

Ref: GH-2835
Tested-by: Fredrik Olofsson <fredrik.olofsson@anyfinetworks.com>
Signed-off-by: Leon M. George <leon@georgemail.eu>
[commit description from Fredrik, subject facelift]
Signed-off-by: Petr Štetiar <ynezz@true.cz>
4 years agosunxi: switch to 5.4 kernel
Petr Štetiar [Thu, 26 Mar 2020 12:14:32 +0000 (13:14 +0100)]
sunxi: switch to 5.4 kernel

Seems to be working fine on my a64-olinuxino, it's 99.9% upstream stuff
anyway. Lets start wider userbase testing.

Signed-off-by: Petr Štetiar <ynezz@true.cz>
4 years agosunxi: a53: fix ethernet on a64-olinuxino
Petr Štetiar [Thu, 26 Mar 2020 12:06:12 +0000 (13:06 +0100)]
sunxi: a53: fix ethernet on a64-olinuxino

a64-olinuxino board has Micrel KSZ9031 Gigabit PHY so add support for
this PHY into kernel.

Signed-off-by: Petr Štetiar <ynezz@true.cz>
4 years agosunxi: 5.4: dts: a64: olinuxino: add bank supply regulators
Petr Štetiar [Wed, 18 Mar 2020 23:43:14 +0000 (00:43 +0100)]
sunxi: 5.4: dts: a64: olinuxino: add bank supply regulators

This is backport of v5.6 patch.

Allwinner A64 SoC has separate supplies for PC, PD, PE, PG and PL. This
patch adds regulators for them to the pinctrl node.

Exception is PL which is used by the RSB bus. To avoid circular
dependencies, VCC-PL is omitted.

On boards with eMMC, VCC-PC is supplied by ELDO1, instead of DCDC1.

Signed-off-by: Petr Štetiar <ynezz@true.cz>
4 years agosunxi: 5.4: a64-olinuxino: use red LED for status signalization
Petr Štetiar [Thu, 26 Mar 2020 09:13:57 +0000 (10:13 +0100)]
sunxi: 5.4: a64-olinuxino: use red LED for status signalization

There is a red LED marked as `GPIO_LED1` on the silkscreen and connected
to PE17, so use this LED for status signalization.

Signed-off-by: Petr Štetiar <ynezz@true.cz>
4 years agosunxi: a53: add support for Olimex A64-Olinuxino eMMC
Petr Štetiar [Mon, 16 Mar 2020 09:57:50 +0000 (10:57 +0100)]
sunxi: a53: add support for Olimex A64-Olinuxino eMMC

Specifications:

 SoC: Allwinner A64 (1.2 GHz Quad-Core ARM Cortex-A53 64-bit)
 RAM: 1GB or 2GB RAM DDR3L @ 672Mhz
 Flash: 0/4/16GB eMMC flash memory for storage and boot
 MicroSD card connector for cards up to 32GB
 Debug: serial UART debug header with 0.1" pins
 Wired connectivity: 10/100/1000Mbps GbE Ethernet
 Wireless connectivity: on-board RTL8723BS 1T1R 802.11bgn WiFi and
                        Bluetooth 4.0 module with built-in antenna
                        (only available in the A64-OLinuXino-1G4GW)

Flashing instructions:

 Standard sunxi SD card installation procedure - copy eMMC image to SD
 card, insert in into SD card slot on the device and boot. You should see
 something like following if the eMMC is detected correctly:

  mmcblk2: mmc2:0001 P1XXXX 3.60 GiB
  mmcblk2boot0: mmc2:0001 P1XXXX partition 1 16.0 MiB
  mmcblk2boot1: mmc2:0001 P1XXXX partition 2 16.0 MiB

 Then flash SD card eMMC image straight into the mmcblk2 device:

  dd if=/mnt/openwrt...a64-olinuxino-emmc-squashfs-sdcard.img of=/dev/mmcblk2

 It also possible to boot from boot0 partition[1]:

  1. Compile U-Boot with CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR=0x40
     otherwise the U-Boot will get stuck in bootloop
  2. Configure eMMC to boot from boot0 partition inside U-Boot:

     mmc bootbus 1 1 0 0; mmc partconf 1 1 1 0

  3. echo 0 > /sys/block/mmcblk2boot0/force_ro
  4. Write U-Boot from offset 0 (not offset 8k as with SD card) into
     boot0 partition

     dd if=u-boot-sunxi-with-spl.bin of=/dev/mmcblk2boot0

Known issues:

 Wireless doesn't work properly via netifd.

1. https://linux-sunxi.org/index.php?title=Bootable_eMMC

Signed-off-by: Petr Štetiar <ynezz@true.cz>
4 years agosunxi: a53: add support for Olimex A64-Olinuxino
Petr Štetiar [Mon, 16 Mar 2020 09:57:50 +0000 (10:57 +0100)]
sunxi: a53: add support for Olimex A64-Olinuxino

Specifications:

 SoC: Allwinner A64 (1.2 GHz Quad-Core ARM Cortex-A53 64-bit)
 RAM: 1GB or 2GB RAM DDR3L @ 672Mhz
 Flash: 0/4/16GB eMMC flash memory for storage and boot
 MicroSD card connector for cards up to 32GB
 Debug: serial UART debug header with 0.1" pins
 Wired connectivity: 10/100/1000Mbps GbE Ethernet
 Wireless connectivity: on-board RTL8723BS 1T1R 802.11bgn WiFi and
                        Bluetooth 4.0 module with built-in antenna
                        (only available in the A64-OLinuXino-1G4GW)

Flashing instructions:

 Standard sunxi SD card installation procedure - copy image to SD card,
 insert in into SD card slot on the device and boot.

Known issues:

 Wireless doesn't work properly via netifd.

Signed-off-by: Petr Štetiar <ynezz@true.cz>
4 years agosunxi: a53: image: make it DRY
Petr Štetiar [Mon, 16 Mar 2020 09:56:01 +0000 (10:56 +0100)]
sunxi: a53: image: make it DRY

Replace same copy&pasted lines with the appropriate reusable bits.

Signed-off-by: Petr Štetiar <ynezz@true.cz>
4 years agouboot-sunxi: a64: allow booting directly from eMMC
Petr Štetiar [Wed, 18 Mar 2020 14:00:22 +0000 (15:00 +0100)]
uboot-sunxi: a64: allow booting directly from eMMC

Current boot script uses hardcoded bootdevice, which allows booting from
SD card only, so this patch allows booting directly from eMMC as well.
While at it, replace fixed root device with more flexible UUID based
probing, so from now on probing order of MMC device doesn't matter.

Signed-off-by: Petr Štetiar <ynezz@true.cz>
4 years agouboot-sunxi: add support for Olimex A64-Olinuxino eMMC
Petr Štetiar [Mon, 16 Mar 2020 14:37:54 +0000 (15:37 +0100)]
uboot-sunxi: add support for Olimex A64-Olinuxino eMMC

Adding U-Boot image for Olimex A64-Olinuxino eMMC, including patch which
adds eMMC boot partition configuration commands.

Signed-off-by: Petr Štetiar <ynezz@true.cz>
4 years agouboot-sunxi: add support for Olimex A64-Olinuxino
Petr Štetiar [Mon, 16 Mar 2020 14:37:54 +0000 (15:37 +0100)]
uboot-sunxi: add support for Olimex A64-Olinuxino

Adding U-Boot image for Olimex A64-Olinuxino.

Signed-off-by: Petr Štetiar <ynezz@true.cz>
4 years agouboot-sunxi: rename Sinovoip BPI M2 Plus to Bananapi M2 Plus H3
Petr Štetiar [Wed, 25 Mar 2020 11:55:45 +0000 (12:55 +0100)]
uboot-sunxi: rename Sinovoip BPI M2 Plus to Bananapi M2 Plus H3

Rename the board as done in upstream commit 268ae6548779 ("sunxi: Rename
Sinovoip BPI M2 Plus to Bananapi M2 Plus H3") which backs the rename
with the following reasoning:

 The brand Sinovoip is used for Sinovoip's original VOIP products, while
 the Bananapi brand is for the single board computers they produce.  This
 has been verified by Bananapi. Rename the board from "Sinovoip BPI M2
 Plus" to "Bananapi M2 Plus". For the defconfig file, all lowercase is
 used.

 To support the H5 variant of this board, the "H3" suffix is added to
 the defconfig name.

This has to be done in order to allow building U-Boot past v2019.04
release where this change was introduced.

Ref: https://github.com/openwrt/openwrt/pull/2849#discussion_r396401489
Suggested-by: Pawel Dembicki <paweldembicki@gmail.com>
Signed-off-by: Petr Štetiar <ynezz@true.cz>
4 years agouboot-sunxi: Banana Pi M2 Ultra switch to mainline defconfig
Aleksander Jan Bajkowski [Sun, 9 Feb 2020 17:27:48 +0000 (18:27 +0100)]
uboot-sunxi: Banana Pi M2 Ultra switch to mainline defconfig

U-boot also have defconfig for this board. In 2019.01 branch they are identical.

Signed-off-by: Aleksander Jan Bajkowski <A.Bajkowski@stud.elka.pw.edu.pl>
4 years agouboot-sunxi: bump to 2020.01
Petr Štetiar [Mon, 16 Mar 2020 13:47:07 +0000 (14:47 +0100)]
uboot-sunxi: bump to 2020.01

Refreshed patches, removed following, probably obsolete patches:

 221-compatible-old-dtc.patch
 240-sun50i-h5-Orange-Pi-Zero-Plus-Fix-SdCard-detection.patch

Signed-off-by: Petr Štetiar <ynezz@true.cz>
4 years agolinux-firmware: add firmware for RTL8723BS SDIO modules
Petr Štetiar [Wed, 18 Mar 2020 15:51:13 +0000 (16:51 +0100)]
linux-firmware: add firmware for RTL8723BS SDIO modules

Adds firmware package for Realtek RTL8723BS SDIO Wireless LAN NIC driver
available in the staging.

Signed-off-by: Petr Štetiar <ynezz@true.cz>
4 years agomac80211: realtek: add staging driver for RTL8723BS SDIO module
Petr Štetiar [Wed, 18 Mar 2020 15:54:03 +0000 (16:54 +0100)]
mac80211: realtek: add staging driver for RTL8723BS SDIO module

Adds kernel module for Realtek RTL8723BS SDIO Wireless LAN NIC driver
available in the staging.

Signed-off-by: Petr Štetiar <ynezz@true.cz>
4 years agobcm27xx: 5.4: add support for Sensirion SPS30 in i2c-sensor overlay
Petr Štetiar [Sun, 8 Mar 2020 21:33:11 +0000 (22:33 +0100)]
bcm27xx: 5.4: add support for Sensirion SPS30 in i2c-sensor overlay

Add support for Sensirion SPS30 particulate matter sensor with fixed
address 0x69.

Signed-off-by: Petr Štetiar <ynezz@true.cz>
4 years agoath79: rename Mikrotik RB 922UAGS-5HPacD mtd partition
Thibaut VARÈNE [Tue, 17 Mar 2020 16:53:44 +0000 (17:53 +0100)]
ath79: rename Mikrotik RB 922UAGS-5HPacD mtd partition

In RouterBOARD parlance there never was an "art" partition.
This partition has always been named 'hard_config' on ar71xx.

This partition contains more than just ART (Atheros Radio Test) data. It
includes the hardware description (product code, serial, board
identifier, name, hardware options, MAC address), as well as other bits
affecting the operation of RouterBoot.
To avoid confusion with regular ART data, this partition is renamed in
line with historical ar71xx and ramips nomenclature as 'hard_config'.

Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
[minor commit title/message adjustments]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agoath79: fix Mikrotik wAP G-5HacT2HnD mtd partitions
Thibaut VARÈNE [Tue, 17 Mar 2020 16:53:43 +0000 (17:53 +0100)]
ath79: fix Mikrotik wAP G-5HacT2HnD mtd partitions

In RouterBOARD parlance there never was an "art" partition.
This partition has always been named 'hard_config' on ar71xx.

This partition contains more than just ART (Atheros Radio Test) data. It
includes the hardware description (product code, serial, board
identifier, name, hardware options, MAC address), as well as other bits
affecting the operation of RouterBoot.
To avoid confusion with regular ART data, this partition is renamed in
line with historical ar71xx and ramips nomenclature as 'hard_config'.

This commit fixes the previous support files and implements the nested
RouterBoot partition scheme as already used by ramips-based SPI-NOR
RouterBOARD DTSes, as previously reviewed and implemented in
bbe2cf657ca7 ("ramips: fix RBM11G partitioning").

Tested-by: Roger Pueyo Centelles <roger.pueyo@guifi.net>
Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
[minor commit title/message adjustments]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agokirkwood: fix DTS partitions for Pogoplug E02
Alberto Bursi [Fri, 27 Mar 2020 11:21:30 +0000 (12:21 +0100)]
kirkwood: fix DTS partitions for Pogoplug E02

The Pogoplug E02 was not using the correct partitions
in device tree, but used the ones from upstream and
thus could not boot OpenWrt images.

In contrast, uboot-kirkwood is using the correct
partitions since d3fc4fbd74dc ("uboot-kirkwood: re-add
Pogoplug E02 support").

This patch corrects the partitions in DTS for kernels
4.14, 4.19 and 5.4.

Fixes: 2b0fa00da8fc ("kirkwood: add Pogoplug E02 Kernel support")
Signed-off-by: Alberto Bursi <bobafetthotmail@gmail.com>
Reviewed-by: Pawel Dembicki <paweldembicki@gmail.com>
Reviewed-by: Sungbo Eo <mans0n@gorani.run>
[commit title/message facelift, refresh 4.14 patch]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agomediatke: add support for elecom-wrc-2533gent
John Crispin [Fri, 27 Mar 2020 15:13:06 +0000 (16:13 +0100)]
mediatke: add support for elecom-wrc-2533gent

This commit adds support for the MT7622-based Elecom WRC-2533gent router,
with spi-nand storage and 512MB RAM.

The device has the following specifications:

* MT7622 (arm64 dual-core)
* 512MB RAM (DDR3)
* 4GB storage (spi-nand)
* 5x 1Gbps Ethernet (RTL8337C switch)
* 1x UART header
* 1x USB 3.0 port
* 5x LEDs
* 1x reset button
* 1x WPS button
* 1x slider switch
* 1x DC jack for main power (12V)

The following has been tested and is working:
* Ethernet switch
* 2.4g and 5g wifi
* USB 3.0 port
* sysupgrade
* buttons/leds

Not working:
* bluetooth firmware does not load even though it is present int he rootfs

Signed-off-by: John Crispin <john@phrozen.org>
4 years agomediatek: more v5.4 mtd fixes
John Crispin [Fri, 27 Mar 2020 14:34:33 +0000 (15:34 +0100)]
mediatek: more v5.4 mtd fixes

Signed-off-by: John Crispin <john@phrozen.org>
4 years agohostapd: fix no_reload logic
John Crispin [Fri, 27 Mar 2020 11:40:23 +0000 (12:40 +0100)]
hostapd: fix no_reload logic

the code would unconditionally tear down all interfaces upon a reconf.
This should only be done when the reconf call fails.

Signed-off-by: John Crispin <john@phrozen.org>
4 years agomac80211: fix brcmfmac monitor interface crash
Rafał Miłecki [Fri, 27 Mar 2020 13:55:58 +0000 (14:55 +0100)]
mac80211: fix brcmfmac monitor interface crash

This fixes bug in brcmfmac *exposed* by ipv6/addrconf fix.

Fixes: ec8e8e2ef082 ("kernel: backport out-of-memory fix for non-Ethernet devices")
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
4 years agoath10k-firmware: update ath10k-ct firmware images
Álvaro Fernández Rojas [Thu, 26 Mar 2020 07:44:43 +0000 (08:44 +0100)]
ath10k-firmware: update ath10k-ct firmware images

Release notes for 017:

Wave-1:

 *  March 19, 2020:  Fix problem where power-save was not enabled when going off-channel to scan.
                     The problem was a boolean logic inversion in the chmgr code, a regression I introduced
                     a long time ago.

 *  March 19, 2020:  When scanning only on current working channel, do not bother with disable/enable
                     powersave.  This should make an on-channel scan less obtrusive than it was previously.

 *  March 23, 2020:  Fix channel-mgr use-after-free problem that caused crashes in some cases.  The crash
                     was exacerbated by recent power-save changes.

 *  March 23, 2020:  Fix station-mode power-save related crash:  backported the fix from 10.2 QCA firmware.

 *  March 23, 2020:  Attempt to better clean up power-save objects and state, especially in station mode.

Release notes for 016:

Wave-1 changes, some debugging code for a crash someone reported, plus:

*  February 28, 2020:  Fix custom-tx path when sending in 0x0 for rate-code.  Have tries == 0 mean
                        one try but NO-ACK (similar to how wave-2 does it).

wave-2:

 * Fixed some long-ago regressions related to powersave and/or multicast.  Maybe fix some
   additional multicast and/or tx-scheduling bugs.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
Acked-by: Petr Štetiar <ynezz@true.cz>
4 years agoath10k-ct: update to version 2020-03-25
Álvaro Fernández Rojas [Thu, 19 Mar 2020 10:36:13 +0000 (11:36 +0100)]
ath10k-ct: update to version 2020-03-25

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
Acked-by: Petr Štetiar <ynezz@true.cz>
4 years agonetifd: fix compilation with musl 1.2.0
Hans Dedecker [Thu, 26 Mar 2020 20:55:52 +0000 (21:55 +0100)]
netifd: fix compilation with musl 1.2.0

1e8328 system-linux: fix compilation with musl 1.2.0

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
4 years agoodhcp6c: fix compilation with musl 1.2.0
Hans Dedecker [Thu, 26 Mar 2020 20:50:54 +0000 (21:50 +0100)]
odhcp6c: fix compilation with musl 1.2.0

49305e6 odhcp6c: fix compilation with musl 1.2.0

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
4 years agoar71xx: use status led for GL.iNet GL-AR750S
Jan Alexander [Tue, 24 Mar 2020 12:36:57 +0000 (13:36 +0100)]
ar71xx: use status led for GL.iNet GL-AR750S

Use power led for device status.

The status led behavior has already been fixed in af28d8a539fe
("ath79: add support for GL.iNet GL-AR750S") when porting the
device to ath79. This fixes it for ar71xx as well.

Signed-off-by: Jan Alexander <jan@nalx.net>
[minor commit title/message adjustments]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agoath79: add support for TP-Link TL-WA860RE v1
Adrian Schmutzler [Mon, 9 Dec 2019 14:00:55 +0000 (15:00 +0100)]
ath79: add support for TP-Link TL-WA860RE v1

This ports support for the TL-WA860RE v1 range extender from ar71xx
to ath79.

Specifications:
  Board: AP123 / AR9341 rev. 3
  Flash/RAM: 4/32 MiB
  CPU: 535 MHz
  WiFi: 2.4 GHz b/g/n
  Ethernet: 1 port (100M)
  Two external antennas

Flashing instructions:
  Upload the factory image via the vendor firmware upgrade option.

Recovery:
  Note that this device does not provide TFTP via ethernet like many
  other TP-Link devices do. You will have to open the case if you
  require recovery beyond failsafe.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Tested-by: Sebastian Knapp <sebastian4842@outlook.com>
4 years agoath79: add support for TP-Link TL-WDR4310 v1
Adrian Schmutzler [Mon, 9 Dec 2019 12:44:03 +0000 (13:44 +0100)]
ath79: add support for TP-Link TL-WDR4310 v1

This device seems to be identical to the TL-WDR4300, just with
different release date/region and TPLINK_HWID.

Support is added based on the ar71xx implementation.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agodnsmasq: fix dnssec+ntp chicken-and-egg workaround (FS#2574)
Henrique de Moraes Holschuh [Sun, 1 Mar 2020 03:08:43 +0000 (00:08 -0300)]
dnsmasq: fix dnssec+ntp chicken-and-egg workaround (FS#2574)

Fix the test for an enabled sysntp initscript in dnsmasq.init, and get
rid of "test -o" while at it.

Issue reproduced on openwrt-19.07 with the help of pool.ntp.br and an
RTC-less ath79 router.  dnssec-no-timecheck would be clearly missing
from /var/etc/dnsmasq.conf.* while the router was still a few days in
the past due to non-working DNSSEC + DNS-based NTP server config.

The fix was tested with the router in the "DNSSEC broken state": it
properly started dnsmasq in dnssec-no-timecheck mode, and eventually ntp
was able to resolve the server name to an IP address, and set the system
time.  DNSSEC was then enabled by SIGINT through the ntp hotplug hook,
as expected.

A missing system.ntp.enabled UCI node is required for the bug to show
up.  The reasons for why it would be missing in the first place were not
investigated.

Signed-off-by: Henrique de Moraes Holschuh <henrique@nic.br>
Signed-off-by: Hans Dedecker <dedeckeh@gmail.com> [PKG_RELEASE increase]
4 years agodnsmasq: init: get rid of test -a and test -o
Henrique de Moraes Holschuh [Sun, 1 Mar 2020 02:31:45 +0000 (23:31 -0300)]
dnsmasq: init: get rid of test -a and test -o

Refer to shellcheck SC2166.  There are just too many caveats that are
shell-dependent on test -a and test -o to use them.

Signed-off-by: Henrique de Moraes Holschuh <henrique@nic.br>
4 years agouclient: update mirror hash
Jo-Philipp Wich [Wed, 25 Mar 2020 18:34:34 +0000 (19:34 +0100)]
uclient: update mirror hash

Fixes: 98017228dd ("uclient: bump to latest Git HEAD")
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
4 years agouclient: bump to latest Git HEAD
Jo-Philipp Wich [Wed, 25 Mar 2020 18:32:18 +0000 (19:32 +0100)]
uclient: bump to latest Git HEAD

af585db uclient-fetch: support specifying advertised TLS ciphers

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
4 years agouhttpd: bump to latest Git HEAD
Jo-Philipp Wich [Wed, 25 Mar 2020 18:22:10 +0000 (19:22 +0100)]
uhttpd: bump to latest Git HEAD

5e9c23c client: allow keep-alive for POST requests
5fc551d tls: support specifying accepted TLS ciphers

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
4 years agoustream-ssl: bump to latest Git HEAD
Jo-Philipp Wich [Wed, 25 Mar 2020 18:16:19 +0000 (19:16 +0100)]
ustream-ssl: bump to latest Git HEAD

5e1bc34 ustream-openssl: clear error stack before SSL_read/SSL_write
f7f93ad add support for specifying usable ciphers

Also bump the ABI version since the layout of `struct ustream_ssl_ops`
changed.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
4 years agobuild: prereq: tidy gcc version checks
Kevin Darbyshire-Bryant [Tue, 24 Mar 2020 11:05:27 +0000 (11:05 +0000)]
build: prereq: tidy gcc version checks

There is a restriction in the number of parameters(10)  that may be passed to
the SetupHostCommand macro so continually adding explicit gcc'n' version
checks ends up breaking the compiler check for the later versions and
oddballs like Darwin as was done in 835d1c68a0 which added gcc10.

Drop all the explicitly specified gcc version checks.  If a suitable gcc
compiler is not found, it may be specified at the dependency checking
stage after which that version will be symlinked into the build staging
host directory.

eg. 'CC=gccfoo CXX=g++foo make prereq'

Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
Acked-by: Jo-Philipp Wich <jo@mein.io>
4 years agonftables: bump to 0.9.3
Kevin Darbyshire-Bryant [Tue, 24 Mar 2020 09:51:36 +0000 (09:51 +0000)]
nftables: bump to 0.9.3

Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
4 years agolibnftnl: drop unsupported configure option
Kevin Darbyshire-Bryant [Mon, 23 Mar 2020 15:04:51 +0000 (15:04 +0000)]
libnftnl: drop unsupported configure option

--without-json-parsing is not a supported configure option.

Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
4 years agox86/geode: fixup FEATURE inheritance
Paul Spooren [Mon, 23 Mar 2020 18:53:46 +0000 (08:53 -1000)]
x86/geode: fixup FEATURE inheritance

In the geode subtarget all default x86 features were overwritten via :=
instead of extending them via +=.

This patch fixes the inheritance and thereby the compilation of
x86/geode target.

Compile tested x86/geode.

Signed-off-by: Paul Spooren <mail@aparcar.org>
4 years agox86/geode: add missing include after rebase
Paul Spooren [Mon, 23 Mar 2020 10:25:33 +0000 (00:25 -1000)]
x86/geode: add missing include after rebase

The x86 image generation was refacted via cb007a7bf6 and accidently not
included `geode.mk` when selected as subtarget.

Now the file is included and image compilation for x86/geode works
again.

Thanks to Russell Senior <russell@personaltelco.net> for reporting the
problem and suggesting a patch!

Signed-off-by: Paul Spooren <mail@aparcar.org>
4 years agobcm27xx: refresh linux 5.4 configs
Álvaro Fernández Rojas [Mon, 23 Mar 2020 08:14:36 +0000 (09:14 +0100)]
bcm27xx: refresh linux 5.4 configs

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
4 years agobcm27xx-userland: update to latest version
Álvaro Fernández Rojas [Mon, 23 Mar 2020 08:06:49 +0000 (09:06 +0100)]
bcm27xx-userland: update to latest version

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
4 years agobcm27xx-gpu-fw: update to latest version
Álvaro Fernández Rojas [Mon, 23 Mar 2020 07:55:14 +0000 (08:55 +0100)]
bcm27xx-gpu-fw: update to latest version

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
4 years agobcm27xx: sync 5.4 patches with RPi Foundation
Álvaro Fernández Rojas [Mon, 23 Mar 2020 07:48:08 +0000 (08:48 +0100)]
bcm27xx: sync 5.4 patches with RPi Foundation

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
4 years agobuild: add GCC 10 version detection
Robert Marko [Wed, 18 Mar 2020 18:39:43 +0000 (19:39 +0100)]
build: add GCC 10 version detection

Lets add GCC 10 detection to the build system as distributions like Fedora 32 have started shipping with it.
Some tools like mtd-utils need work to compile under GCC10, but that will be next step.

Signed-off-by: Robert Marko <robert.marko@sartura.hr>
4 years agoapm821xx: switch to 5.4 kernel
Christian Lamparter [Sat, 21 Mar 2020 19:56:57 +0000 (20:56 +0100)]
apm821xx: switch to 5.4 kernel

This patch switches the APM821XX target to the linux kernel 5.4 variant.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
4 years agoapm821xx: wndr4700: add preliminary drivetemp sensor
Christian Lamparter [Sat, 21 Mar 2020 20:40:15 +0000 (21:40 +0100)]
apm821xx: wndr4700: add preliminary drivetemp sensor

This patch prepares the WNDR4700 to use the HDD sensor for
the thermal zone. While the kernel's thermal.txt device-tree
binding documentation files talks about supporting multiple
sensors for a zone. This sadly is NOT the case. Even the most
current upstream kernels (5.6-rc) supports just >one< sensor
per zone: (driver/base/of-thermal.c:886)
| * REVIST: for now, the thermal framework supports only
| * one sensor per thermal zone. Thus, we are considering
| * only the first two values as slope and offset.

I do hope that this warning will prevent others wasteing time
on trying to figure out why their multi-sensor thermal-zones
definitions are not working as specified.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
4 years agoapm821xx: add drivetemp sensor for the WD MyBook Series
Christian Lamparter [Sat, 21 Mar 2020 19:58:16 +0000 (20:58 +0100)]
apm821xx: add drivetemp sensor for the WD MyBook Series

This patch adds the hwmon-drivetemp to the device.
It also adds device-tree bindings. This can be useful to
automate external fans which can be controlled for example
by either an unused sata-port or by the usb-power regulator.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
4 years agox86: geode/legacy: fix missing watchdog core dependencies
Christian Lamparter [Sun, 22 Mar 2020 19:39:16 +0000 (20:39 +0100)]
x86: geode/legacy: fix missing watchdog core dependencies

This patch follows the other patches that added the watchdog
core to various (armvirt, malta, ath79, ...) targets that
have been hit by the following build error:

Package kmod-hwmon-sch5627 is missing dependencies for the following libraries:
watchdog.ko

In theory, we could have just added the CONFIG_WATCHDOG_CORE=y
to the Kconfig variable of kmod-hwmon-sch5627's package definition.
This would have forced the watchdog core to be builtin and less
architectures would need to be updated. But we might as well follow
through here.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
4 years agodnsmasq: add 'scriptarp' option
Jordan Sokolic [Thu, 19 Mar 2020 12:23:22 +0000 (14:23 +0200)]
dnsmasq: add 'scriptarp' option

Add option 'scriptarp' to uci dnsmasq config to enable --script-arp functions.
The default setting is false, meaning any scripts in `/etc/hotplug.d/neigh` intended
to be triggered by `/usr/lib/dnsmasq/dhcp-script.sh` will fail to execute.

Also enable --script-arp if has_handlers returns true.

Signed-off-by: Jordan Sokolic <oofnik@gmail.com>
Signed-off-by: Hans Dedecker <dedeckeh@gmail.com> [PKG_RELEASE increase]
4 years agoath79: fix missing return statement in ar934x_nand
David Bauer [Sun, 22 Mar 2020 19:06:23 +0000 (20:06 +0100)]
ath79: fix missing return statement in ar934x_nand

The reset assert and deassert methods currently miss
a return value, leading to a compilation warning.

Return the return-value of reset_control_assert and
reset_control_deassert to fix these warnings.

Suggested-by: Michal Cieslakiewicz <michal.cieslakiewicz@wp.pl>
Signed-off-by: David Bauer <mail@david-bauer.net>
4 years agoath79: fix NAND driver compilation for kernel 5.4
David Bauer [Tue, 17 Mar 2020 20:59:27 +0000 (21:59 +0100)]
ath79: fix NAND driver compilation for kernel 5.4

This fixes the compilation of the AR934x NAND controller
driver for kernel 5.4 while leaving it untouched for
kernel 4.19.

This change is currently not run-tested, as i do not have such
a device at hand.

CC: Michal Cieslakiewicz <michal.cieslakiewicz@wp.pl>
CC: André Valentin <avalentin@marcant.net>
CC: WeiDong Jia <jwdsccd@gmail.com>
Signed-off-by: David Bauer <mail@david-bauer.net>
Tested-by: Michal Cieslakiewicz <michal.cieslakiewicz@wp.pl>
4 years agooxnas: yet another irqchip related patch
Daniel Golle [Sun, 22 Mar 2020 13:30:22 +0000 (13:30 +0000)]
oxnas: yet another irqchip related patch

This time DTS fix, again from Sungbo Eo <mans0n@gorani.run>
  ARM: dts: oxnas: Fix clear-mask property

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
4 years agoiwinfo: update to latest Git HEAD
David Bauer [Sun, 22 Mar 2020 00:34:56 +0000 (01:34 +0100)]
iwinfo: update to latest Git HEAD

9f5a7c4 iwinfo: add missing HT modename for HT-None
06a03c9 Revert "iwinfo: add BSS load element to scan result"
9a4bae8 iwinfo: add device id for Qualcomm Atheros QCA9990
eba5a20 iwinfo: add device id for BCM43602
a6914dc iwinfo: add BSS load element to scan result
bb21698 iwinfo: add device id for Atheros AR9287
7483398 iwinfo: add device id for MediaTek MT7615E

Signed-off-by: David Bauer <mail@david-bauer.net>
4 years agoath79: align Ubiquiti AC Pro ethernet map to factory
David Bauer [Thu, 19 Mar 2020 09:33:20 +0000 (10:33 +0100)]
ath79: align Ubiquiti AC Pro ethernet map to factory

The Uniquiti AC Pro and Ubiquiti AC Mesh Pro currently have the
"Primary" and "Secondary" ethernet ports configured to offer LAN as well
as WAN. However, Uiquiti describes the following behavior for the
devices Ethernet ports:

 > Secondary UniFi Access Point (UAP) Ethernet ports don't
 > provide PoE passthrough (to run current to a second powered
 > device), but they do support data passthrough.
 > It serves as a bridged interface between main / secondary
 > Ethernet port.

To reduce confusion for users (as LAN and WAN functionality is not
visible on the device itself), configure both ports to offer LAN
functionality. Users can still configure a WAN interface on a port they
are able to choose.

CC: Lucian Cristian <lucian.cristian@gmail.com>
Reported-by: Florian Klink <flokli@flokli.de>
Signed-off-by: David Bauer <mail@david-bauer.net>
4 years agotools: squashfskit4: fix build with GCC10
Robert Marko [Thu, 19 Mar 2020 11:22:07 +0000 (12:22 +0100)]
tools: squashfskit4: fix build with GCC10

In order to build squashfskit with GCC10, this backport from upstream is needed.

Signed-off-by: Robert Marko <robert.marko@sartura.hr>
[increase PKG_RELEASE]
Signed-off-by: Alexander Couzens <lynxis@fe80.eu>
4 years agosquashfskit4/Makefile: introduce PKG_RELEASE=1
Alexander Couzens [Sun, 22 Mar 2020 01:03:19 +0000 (02:03 +0100)]
squashfskit4/Makefile: introduce PKG_RELEASE=1

When adding patches, the PKG_RELEASE should be increased.

Signed-off-by: Alexander Couzens <lynxis@fe80.eu>
4 years agoath79: add support for Ubiquiti NanoBridge M (XM)
Roger Pueyo Centelles [Sun, 15 Mar 2020 17:20:03 +0000 (18:20 +0100)]
ath79: add support for Ubiquiti NanoBridge M (XM)

This patch adds support for the Ubiquiti NanoBridge M (XM), a
802.11n wireless with a feed+dish form factor, with the same board
definition as the Bullet M (XM).

Specifications:
 - Atheros AR7241 SoC
 - 32 MB RAM
 - 8 MB SPI flash
 - 1x 10/100 Mbps Ethernet port, 24 Vdc PoE-in
 - Power and LAN green LEDs
 - 4x RSSI LEDs (red, orange, green, green)
 - UART (115200 8N1)

Flashing via stock GUI:
 - WARNING: flashing OpenWrt from AirOS v5.6 or newer will brick your
   device! Read the wiki for more info.
 - Downgrade to AirOS v5.5.x (latest available is 5.5.11) first.
 - Upload the factory image via AirOS web GUI.

Flashing via TFTP:
 - WARNING: flashing OpenWrt from AirOS v5.6 or newer will brick your
   device! Read the wiki for more info.
 - Downgrade to AirOS v5.5.x (latest available is 5.5.11) first.
 - Use a pointy tool (e.g., pen cap, slotted screwdriver) to keep the
   reset button pressed.
 - Power on the device (keep reset button pressed).
 - Keep pressing until LEDs flash alternatively LED1+LED3 =>
   LED2+LED4 => LED1+LED3, etc.
 - Release reset button.
 - The device starts a TFTP server at 192.168.1.20.
 - Set a static IP on the computer (e.g., 192.168.1.21/24).
 - Upload via tftp the factory image:
    $ tftp 192.168.1.20
    tftp> bin
    tftp> trace
    tftp> put openwrt-ath79-generic-xxxxx-ubnt_nanobridge-m-squashfs-factory.bin

Signed-off-by: Roger Pueyo Centelles <roger.pueyo@guifi.net>
[rebase, fix includes in DTS, add label MAC address, add SOC and
fix sorting in generic-ubnt.mk]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agosamba36: log error if getting device info failed
Rafał Miłecki [Mon, 30 Dec 2019 06:54:53 +0000 (07:54 +0100)]
samba36: log error if getting device info failed

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
4 years agobcm53xx: sysupgrade: optimize building UBI image
Rafał Miłecki [Thu, 20 Feb 2020 12:40:55 +0000 (13:40 +0100)]
bcm53xx: sysupgrade: optimize building UBI image

Use "truncate" to adjust size of existing file instead of "dd" which
required creating a copy. This saves space on tmpfs. It may be as low
as 2.1 MiB when using OpenWrt default user space and way more (20+ MiB)
when flashing vendor firmware.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
4 years agobusybox: enable truncate on bcm53xx target
Rafał Miłecki [Thu, 20 Feb 2020 12:40:54 +0000 (13:40 +0100)]
busybox: enable truncate on bcm53xx target

It's needed for optimized sysupgrade. On host machine this change
increased busybox size by 4096 B.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
4 years agotreewide: omit IMAGE_SIZE argument from check-size
Sungbo Eo [Tue, 10 Mar 2020 13:58:27 +0000 (22:58 +0900)]
treewide: omit IMAGE_SIZE argument from check-size

Now that check-size uses IMAGE_SIZE by default, we can skip the argument from
image recipes to reduce redundancy.

Signed-off-by: Sungbo Eo <mans0n@gorani.run>
[do not touch ar71xx]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agobuild: image: set default parameter for check-size
Sungbo Eo [Tue, 10 Mar 2020 13:58:00 +0000 (22:58 +0900)]
build: image: set default parameter for check-size

In most cases check-size is used with IMAGE_SIZE and vice versa. Let check-size
use IMAGE_SIZE by default.

Signed-off-by: Sungbo Eo <mans0n@gorani.run>
4 years agotreewide: gather DEVICE_VARS into one place
Sungbo Eo [Tue, 10 Mar 2020 06:41:09 +0000 (15:41 +0900)]
treewide: gather DEVICE_VARS into one place

Place DEVICE_VARS assignments at the top of the file or above Device/Default
to make them easier to find.

For ramips, remove redundant values already present in parent file.

Signed-off-by: Sungbo Eo <mans0n@gorani.run>
[do not touch ar71xx, extend commit message]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agoath79: add support for ubnt_bullet-m-ar7240 variant
Russell Senior [Thu, 19 Mar 2020 11:27:28 +0000 (04:27 -0700)]
ath79: add support for ubnt_bullet-m-ar7240 variant

This adds support for the Ubiquiti Bullet M (AR7240).

Specifications:
- AR7240 SoC @ 400 MHz
- 32 MB RAM
- 8 MB SPI flash
- 1x 10/100 Mbps Ethernet, 24 Vdc PoE-in
- External antenna
- POWER/LAN green LEDs
- 4x RSSI LEDs (red, orange, green, green)
- UART (115200 8N1) on PCB

Flashing via WebUI:
  Upload the factory image via the stock firmware web UI.

  Attention: airOS firmware versions >= 5.6 have a new bootloader with
  an incompatible partition table!

  Please downgrade to <= 5.5 _before_ flashing OpenWrt!
  Refer to the device's Wiki page for further information.

Flashing via TFTP:
  Same procedure as other Ubiquiti M boards.

- Use a pointy tool (e.g., pen cap, paper clip) and keep the reset
  button on the device or on the PoE supply pressed
- Power on the device via PoE (keep reset button pressed)
- Keep pressing until LEDs flash alternatively LED1+LED3 =>
  LED2+LED4 => LED1+LED3, etc.
- Release reset button
- The device starts a TFTP server at 192.168.1.20
- Set a static IP on the computer (e.g., 192.168.1.21/24)
- Upload via tftp the factory image:
  $ tftp 192.168.1.20
  tftp> bin
  tftp> trace
  tftp> put openwrt-ath79-generic-xxxxx-ubnt_bullet-m-ar7240-squashfs-factory.bin

The "fixed-link" section of the device tree is needed to avoid errors like this:

  Generic PHY mdio.0:1f:04: Master/Slave resolution failed, maybe conflicting manual settings?

With "fixed-link", the errors go away and eth0 comes up reliably.

Signed-off-by: Russell Senior <russell@personaltelco.net>
[fix SUPPORTED_DEVICES]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agogemini: Bump kernel to v5.4
Linus Walleij [Sat, 21 Mar 2020 13:05:55 +0000 (14:05 +0100)]
gemini: Bump kernel to v5.4

The v5.4 kernel already works much better than v4.19
as so many things got upstreamed so let's just bump
it to kernel v5.4.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
4 years agogemini: Add kernel config for kernel v5.4
Linus Walleij [Sat, 21 Mar 2020 13:05:54 +0000 (14:05 +0100)]
gemini: Add kernel config for kernel v5.4

This adds a kernel config file for the v5.4 gemini
kernel.

No major changes compared to v4.19, mainly
CONFIG_MTD_PHYSMAP_OF_GEMINI was renamed to
CONFIG_MTD_PHYSMAP_GEMINI.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
[select UNWINDER_ARM, set CONFIG_DRM_FBDEV_OVERALLOC, drop
dropped 4.19 symbols, kernel config refreshed]
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
4 years agogemini: Add v5.4 kernel patches
Linus Walleij [Sat, 21 Mar 2020 13:05:53 +0000 (14:05 +0100)]
gemini: Add v5.4 kernel patches

This adds the kernel patches needed for the Gemini.
Just 7 patches, 5 of them are already upstream.

Notably we incorperate the temperature sensor on the
hard drive to drive temperature control of the NAS
chassis. This is required for the DIR-685 which has
no external temperature sensor.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
[use the drivetemp package over the backport]
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
4 years agokernel: 5.4: disable more symbols
Christian Lamparter [Sat, 21 Mar 2020 15:39:40 +0000 (16:39 +0100)]
kernel: 5.4: disable more symbols

These have been discovered by the gemini 5.4 patches.
This is because one of the devices uses the FBDEV emulation.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
4 years agokernel: backport and package drivetemp hwmon from v5.5
Christian Lamparter [Fri, 28 Feb 2020 22:42:50 +0000 (23:42 +0100)]
kernel: backport and package drivetemp hwmon from v5.5

This patch backports the hwmon drivetemp sensor module from vanilla
linux 5.5 to be available on OpenWrt's 5.4 kernel.

Extract from The upstream commit by Guenter Roeck <linux@roeck-us.net>:
hwmon: Driver for disk and solid state drives with temperature sensors

"Reading the temperature of ATA drives has been supported for years
by userspace tools such as smarttools or hddtemp. The downside of
such tools is that they need to run with super-user privilege, that
the temperatures are not reported by standard tools such as 'sensors'
or 'libsensors', and that drive temperatures are not available for use
in the kernel's thermal subsystem.

This driver solves this problem by adding support for reading the
temperature of ATA drives from the kernel using the hwmon API and
by adding a temperature zone for each drive.

With this driver, the hard disk temperature can be read [...]
using sysfs:

$ grep . /sys/class/hwmon/hwmon9/{name,temp1_input}
/sys/class/hwmon/hwmon9/name:drivetemp
/sys/class/hwmon/hwmon9/temp1_input:23000

If the drive supports SCT transport and reports temperature limits,
those are reported as well.

drivetemp-scsi-0-0
Adapter: SCSI adapter
temp1:        +27.0<C2><B0>C (low  =  +0.0<C2><B0>C, high = +60.0<C2><B0>C)
                             (crit low = -41.0<C2><B0>C, crit = +85.0<C2><B0>C)
                             (lowest = +23.0<C2><B0>C, highest = +34.0<C2><B0>C)

The driver attempts to use SCT Command Transport to read the drive
temperature. If the SCT Command Transport feature set is not available,
or if it does not report the drive temperature, drive temperatures may
be readable through SMART attributes. Since SMART attributes are not well
defined, this method is only used as fallback mechanism."

This patch incorperates a patch made by Linus Walleij:
820-libata-Assign-OF-node-to-the-SCSI-device.patch
This patch is necessary in order to wire-up the drivetemp
sensor into the device tree's thermal-zones.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
4 years agoopenssl: update to 1.1.1e
Eneas U de Queiroz [Thu, 19 Mar 2020 19:12:15 +0000 (16:12 -0300)]
openssl: update to 1.1.1e

This version includes bug and security fixes, including medium-severity
CVE-2019-1551, affecting RSA1024, RSA1536, DSA1024 & DH512 on x86_64.

Signed-off-by: Eneas U de Queiroz <cotequeiroz@gmail.com>
4 years agoopenssl: add configuration example for afalg-sync
Eneas U de Queiroz [Thu, 19 Mar 2020 19:12:14 +0000 (16:12 -0300)]
openssl: add configuration example for afalg-sync

This adds commented configuration help for the alternate, afalg-sync
engine to /etc/ssl/openssl.cnf.

Signed-off-by: Eneas U de Queiroz <cotequeiroz@gmail.com>
4 years agooxnas: backport another fix for irqchip
Daniel Golle [Sat, 21 Mar 2020 14:25:09 +0000 (14:25 +0000)]
oxnas: backport another fix for irqchip

Sungbo Eo <mans0n@gorani.run> submitted another patch fixing an error
on reboot:
  irqchip/versatile-fpga: Apply clear-mask earlier

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
4 years agoscripts: fixup qemustart for new x86 image names
Paul Spooren [Fri, 20 Mar 2020 10:10:59 +0000 (00:10 -1000)]
scripts: fixup qemustart for new x86 image names

qemustart allows easy testing of created images via `qemu`. The script
automatically selects created images and can setup e.g. networks.

As the x86 target now uses the generic image.mk the profile appears also
in the image name, this is *generic*.

Add the profile name to the qemustart script so it still finds the file.

Signed-off-by: Paul Spooren <mail@aparcar.org>
4 years agox86: allow non gzipped images
Paul Spooren [Fri, 20 Mar 2020 10:10:58 +0000 (00:10 -1000)]
x86: allow non gzipped images

The previous image generation code would always gzipped images.

This patch changes the behaviour and only compresses images when
selected in menuconfig.

Signed-off-by: Paul Spooren <mail@aparcar.org>
4 years agox86: use qemu-image command from image-commands.mk
Paul Spooren [Fri, 20 Mar 2020 10:10:57 +0000 (00:10 -1000)]
x86: use qemu-image command from image-commands.mk

The `qemu-image` command converts images to the specified type and
reduces redundant code.

Adaption from Alexander Couzens <lynxis@fe80.eu> work[0].

[0]: https://git.openwrt.org/?p=openwrt/staging/lynxis.git;a=blob;f=target/linux/x86/image/Makefile;h=83b8140b7aefbe708fd09c9c61827e7e39bda8b4;hb=416cccf398e9589e3de386e05b61b1c46cace20d#l51

Signed-off-by: Paul Spooren <mail@aparcar.org>
4 years agox86: remove obsolete legacy profiles
Paul Spooren [Fri, 20 Mar 2020 10:10:56 +0000 (00:10 -1000)]
x86: remove obsolete legacy profiles

Rely on device profiles instead for packages selection.

Signed-off-by: Tomasz Maciej Nowak <tomek_n@o2.pl>
[rebase, adjusted commit title]
Signed-off-by: Paul Spooren <mail@aparcar.org>
4 years agox86: switch image generation to new code
Paul Spooren [Fri, 20 Mar 2020 10:10:55 +0000 (00:10 -1000)]
x86: switch image generation to new code

This commit introduces few related changes which need to be done in
single commit to keep images buildable between git revisions. In result
it retains all previous image creation possibilities with slight name
change of generated images. Brief summary of the commit:

* Split up image generation recipe to smaller chunks to make it more
  generic and reusable.

* Make iso images x86 specific and drop their definition as root
  filesystem.

* Convert image creation process to generic code specified in image.mk.

* Make geode subtarget inherit features from the main target instead of
  redefining them.

* For subtargets create device definitions with basic packages set.

Signed-off-by: Tomasz Maciej Nowak <tomek_n@o2.pl>
[rebased]
Signed-off-by: Paul Spooren <mail@aparcar.org>
4 years agox86/grub2: move grub2 image creation to package
Paul Spooren [Fri, 20 Mar 2020 10:10:54 +0000 (00:10 -1000)]
x86/grub2: move grub2 image creation to package

Let the grub2 package take care of creating installable grub2 images,
this will allow creating grub2 images without first calling x86 image
generation recipe. Also as side effect, since those images are now
shared, it'll reduce the number of calling grub-mkimage.

Signed-off-by: Tomasz Maciej Nowak <tomek_n@o2.pl>
[rebase, adjusted commit title]
Signed-off-by: Paul Spooren <mail@aparcar.org>
4 years agokernel: connmark set-dscpmark fix build on 5.4
Kevin Darbyshire-Bryant [Sat, 21 Mar 2020 09:25:49 +0000 (09:25 +0000)]
kernel: connmark set-dscpmark fix build on 5.4

Fix header change that was done for kernel but 4.19 got missed for 5.4.

Solves nasty errors like:

8.4.0_musl/include/linux/netfilter/xt_CONNMARK.h:5,
                from connmark_listener.c:30:
/builder/shared-workdir/build/sdk/staging_dir/toolchain-aarch64_cortex-a53_gcc-8.4.0_musl/include/linux/netfilter/xt_connmark.h:23:2: error: enumerator value for 'XT_CONNMARK_VALUE' is not an integer constant
 XT_CONNMARK_VALUE = BIT(0),
 ^~~~~~~~~~~~~~~~~
/builder/shared-workdir/build/sdk/staging_dir/toolchain-aarch64_cortex-a53_gcc-8.4.0_musl/include/linux/netfilter/xt_connmark.h:25:1: error: enumerator value for 'XT_CONNMARK_DSCP' is not an integer constant
};

Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
4 years agowireguard: bump to 0.0.20200318
Jason A. Donenfeld [Sat, 21 Mar 2020 02:12:53 +0000 (20:12 -0600)]
wireguard: bump to 0.0.20200318

WireGuard had a brief professional security audit. The auditors didn't find
any vulnerabilities, but they did suggest one defense-in-depth suggestion to
protect against potential API misuse down the road, mentioned below. This
compat snapshot corresponds with the patches I just pushed to Dave for
5.6-rc7.

* curve25519-x86_64: avoid use of r12

This buys us 100 extra cycles, which isn't much, but it winds up being even
faster on PaX kernels, which use r12 as a RAP register.

* wireguard: queueing: account for skb->protocol==0

This is the defense-in-depth change. We deal with skb->protocol==0 just fine,
but the advice to deal explicitly with it seems like a good idea.

* receive: remove dead code from default packet type case

A default case of a particular switch statement should never be hit, so
instead of printing a pretty debug message there, we full-on WARN(), so that
we get bug reports.

* noise: error out precomputed DH during handshake rather than config

All peer keys will now be addable, even if they're low order. However, no
handshake messages will be produced successfully. This is a more consistent
behavior with other low order keys, where the handshake just won't complete if
they're being used anywhere.

* send: use normaler alignment formula from upstream

We're trying to keep a minimal delta with upstream for the compat backport.

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
4 years agowireguard-tools: bump to 1.0.20200319
Jason A. Donenfeld [Sat, 21 Mar 2020 02:12:17 +0000 (20:12 -0600)]
wireguard-tools: bump to 1.0.20200319

* netlink: initialize mostly unused field
* curve25519: squelch warnings on clang

Code quality improvements.

* man: fix grammar in wg(8) and wg-quick(8)
* man: backlink wg-quick(8) in wg(8)
* man: add a warning to the SaveConfig description

Man page improvements. We hope to rewrite our man pages in mdocml at some
point soon.

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
4 years agomediatek: move mt76 and wpad-bacic to mt7622 subtarget
Chuanhong Guo [Fri, 20 Mar 2020 12:58:49 +0000 (20:58 +0800)]
mediatek: move mt76 and wpad-bacic to mt7622 subtarget

mt76 is a target default package for mt7622-wmac only.
mt7623 doesn't have integrated wireless support and wifi drivers for
pcie cards should be added as device specific package.
mt7629-wmac isn't supported by mt76 yet.

Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
4 years agomediatek: mt7629: fix firmware partition
Chuanhong Guo [Fri, 20 Mar 2020 11:36:30 +0000 (19:36 +0800)]
mediatek: mt7629: fix firmware partition

rename "kernel" partition in upstream dts to "firmware" and add
denx,fit as compatible string for mtdsplit.

Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
4 years agomediatek: backport spi-mem based mtk spinor driver
Chuanhong Guo [Fri, 20 Mar 2020 11:26:45 +0000 (19:26 +0800)]
mediatek: backport spi-mem based mtk spinor driver

This new driver has full quadspi and DMA support, providing way better
reading performance.

Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
4 years agomediatek: mt7629: refresh config for linux 5.4
Chuanhong Guo [Fri, 20 Mar 2020 11:23:01 +0000 (19:23 +0800)]
mediatek: mt7629: refresh config for linux 5.4

Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
4 years agomediatek: mt7629: fix ethernet default config
Chuanhong Guo [Fri, 20 Mar 2020 10:08:00 +0000 (18:08 +0800)]
mediatek: mt7629: fix ethernet default config

1. fix typo: ucidef_set_interfaces_wan -> ucidef_set_interface_wan
2. change board name to mt7629-rfb to match upstream dts

Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
4 years agokernel: load rtl8366_smi and rtl8367b on boot
Luiz Angelo Daros de Luca [Sat, 1 Feb 2020 03:51:59 +0000 (00:51 -0300)]
kernel: load rtl8366_smi and rtl8367b on boot

This external switch driver should be loaded on boot for network support
in failsafe mode.

Signed-off-by: Luiz Angelo Daros de Luca <luizluca@gmail.com>
[alter commit message]
Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
4 years agokernel: rtl8367b: add configuration for extif2
Serge Vasilugin [Mon, 16 Mar 2020 08:28:38 +0000 (16:28 +0800)]
kernel: rtl8367b: add configuration for extif2

Both rtl8367b and rtl8367s have two extended interface
rtl8367rb: 5 port + 2*RGMII/MII
rtl8367s:  5 port + SGMII/HSGMI + RGMII/MII
(?)rtl8367sb:  5 port + 2*RGMII/MII
These interfaces correspond to EXT1 and EXT2 (ports 6 and 7 respectivly).

This patch allow to configure EXT2 in dts-file:

rtl8367rb {
compatible = "realtek,rtl8367b";
cpu_port = <7>;
realtek,extif2 = <1 0 1 1 1 1 1 1 2>;
mii-bus = <&mdio0>;
phy_id = <29>;
};

Signed-off-by: Serge Vasilugin <vasilugin@yandex.ru>
[fix indent, replace magic value, alter commit message]
Signed-off-by: Chuanhong Guo <gch981213@gmail.com>