openwrt/staging/wigyori.git
3 years agobcm4908: refresh patches
Adrian Schmutzler [Sat, 13 Feb 2021 20:01:14 +0000 (21:01 +0100)]
bcm4908: refresh patches

Our patch refresh tool creates quite a big diff for these patches,
as it does not use rename syntax.

Push the refresh separately so it does not pollute the next kernel
bump. This is a purely cosmetic change.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
3 years agoath79: fix chip used for Meraki MR12 caldata_extract
Martin Kennedy [Sat, 13 Feb 2021 05:38:52 +0000 (05:38 +0000)]
ath79: fix chip used for Meraki MR12 caldata_extract

The original setup fails to trigger ART calibration data
extraction for the AR9287. Instead, it would only have extracted
calibration data for an internal WMAC chip which is not present on
this board.

Fixes: 55d2db0e8ceb ("ath79: add support for Meraki MR12")
Signed-off-by: Martin Kennedy <hurricos@gmail.com>
[commit title/message facelift]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
3 years agoramips: remove factory image for TP-Link Archer C2 v1
Stijn Segers [Sat, 13 Feb 2021 09:39:42 +0000 (10:39 +0100)]
ramips: remove factory image for TP-Link Archer C2 v1

Initial commit 8375623a0640 ("ramips: add support for TP-Link Archer
C2") contains detailed installation instructions, which do not mention
a factory image. From what I can see, no support to install OpenWrt
through the vendor web interface has been added since. The factory
image is also conspicuously absent from the device page in the wiki.
Yet, it is available for download.

I bricked my Archer C2 loading the factory image through the web UI.
Serial showed this error during bootloop:

  Uncompressing Kernel Image ... LZMA ERROR 1 - must RESET board to recover

This patch disables the undocumented factory image so users won't get
tricked into thinking easy web UI flashing actually works.

Signed-off-by: Stijn Segers <foss@volatilesystems.org>
3 years agotrusted-firmware-a: fix project name spelling
Daniel Golle [Sat, 13 Feb 2021 20:10:04 +0000 (20:10 +0000)]
trusted-firmware-a: fix project name spelling

The version string generated for ARM Trusted-Firmware-A was stated as
"OpenWRT". Fix that by changing it to the exact spelling "OpenWrt"

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
3 years agoiwinfo: update to version 2021-01-31
Daniel Golle [Sat, 13 Feb 2021 19:20:19 +0000 (19:20 +0000)]
iwinfo: update to version 2021-01-31

 5a2dd18 iwinfo: add hardware description for MediaTek MT7622
 4a32b33 iwinfo: add PCI ID for MediaTek MT7613BE

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
3 years agohostapd: add patch for setting 4addr mode in multi_ap
Raphaël Mélotte [Tue, 9 Feb 2021 06:54:10 +0000 (07:54 +0100)]
hostapd: add patch for setting 4addr mode in multi_ap

This patch is required to be able to roam from one backhaul AP to
another one in the same ESS.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
(daniel@makrotopia.org: PKG_REVISION bump and refreshed patches)
Signed-off-by: Raphaël Mélotte <raphael.melotte@mind.be>
3 years agoglibc: update to latest 2.33 commit
Hans Dedecker [Sat, 13 Feb 2021 09:04:51 +0000 (10:04 +0100)]
glibc: update to latest 2.33 commit

c5e3545897 tunables: Disallow negative values for some tunables
905fdc7071 x86: Use SIZE_MAX instead of (long int)-1 for tunable range value
15afd6b8d8 tunables: Simplify TUNABLE_SET interface

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
3 years agobcm4908: fix handling Ethernet frames of size 1506 - 1514
Rafał Miłecki [Fri, 12 Feb 2021 15:28:57 +0000 (16:28 +0100)]
bcm4908: fix handling Ethernet frames of size 1506 - 1514

MTU needs to be explicitly set as default value is too low.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
3 years agobcm4908: use upstream accepted Ethernet driver patches
Rafał Miłecki [Fri, 12 Feb 2021 08:01:40 +0000 (09:01 +0100)]
bcm4908: use upstream accepted Ethernet driver patches

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
3 years agorealtek: add support for Netgear GS108T v3
Michael Mohr [Sat, 9 Jan 2021 05:35:47 +0000 (21:35 -0800)]
realtek: add support for Netgear GS108T v3

The Netgear GS108T v3 is an 8 port gigabit switch with PoE-PD support
on port 1.  The two prior versions were built using eCos and are not
currently compatible with OpenWRT.

The GS108T v3 is quite similar to both the GS110TPP v1 and GS110TP v3,
all of which use the same firmware image from Netgear.  For this reason,
the device tree is identical aside from the model and compatible values.

All of the above feature a dual firmware layout, referred to as Image0
and Image1 in the Netgear firmware.

Hardware specification
----------------------

 * RTL8380M SoC, 1 MIPS 4KEc core @ 500MHz
 * 128MB DDR3-1600 DRAM (Winbond W631GG8MB-12)
 * 32MB 3v NOR SPI Flash (Macronix MX25L25635F or Winbond W25Q256JVFIQ)
 * RTL8231 GPIO extender to control the LEDs and the reset button
 * 8 x 10/100/1000BASE-T ports, internal PHY (RTL8218B)
 * UART (115200 8N1) via unpopulated standard 0.1" pin header marked J1
 * Power is supplied via a 12V 1A barrel connector or 802.3af

UART pinout
-----------

J1 | [o]ooo
      ^ ||`------ GND
      | |`------- RX         [TX out of the serial adapter]
      | `-------- TX         [RX into the serial adapter]
      `---------- Vcc (3V3)  [the square pin]

The through holes are filled with PB-free solder which melts at 375C.
They can also be drilled using a 0.9mm bit.

Build configuration
-------------------

 * Target System: Realtek MIPS
 * Target Profile: Netgear GS108T v3
 * Target Images -> ramdisk -> Compression: lzma
 * Disable other target images

Boot initramfs image from U-Boot
--------------------------------

 1. Press the Escape key at the `Hit Esc key to stop autoboot` prompt
 2. Init network with `rtk network on` command
 3. Load image with `tftpboot 0x8f000000 openwrt-realtek-generic-netgear_gs108t-v3-initramfs-kernel.bin` command
 4. Boot the image with `bootm` command

The switch defaults to IP 192.168.1.1 and tries to fetch the image via
TFTP from 192.168.1.111.

Updating the installed firmware
-------------------------------

The OpenWRT ramdisk image can be flashed directly from the Netgear UI.
The Image0 slot should be used in order to enable sysupgrade.

As with similar switches, changing the active boot partition can be
accomplished in U-Boot as follows:

 1. Press the Escape key at the `Hit Esc key to stop autoboot` prompt
 2. Run `setsys bootpartition {0|1}` to select the boot partition
 3. Run `savesys` followed by `boota` to proceed with the boot process

Signed-off-by: Michael Mohr <akihana@gmail.com>
3 years agorealtek: refactor the Netgear GS110TPP v1 device tree
Michael Mohr [Sat, 9 Jan 2021 05:31:53 +0000 (21:31 -0800)]
realtek: refactor the Netgear GS110TPP v1 device tree

Move most of the GS110TPP v1 device tree into a dtsi so that it can be
shared with the GS108T v3.  Additionally:

  * Use macros to simplify the ethernet and switch definitions
  * Zero-pad the offsets and sizes in the partition map to 8 digits each

The spi-max-frequency value has been changed from 10MHz to 50MHz based
on an analysis of the relevant datasheets.  The current driver doesn't
use this property, as the clock speed is fixed. However, it's required
for this type of DT node, so that's why it's present here.

The firmware partition has been split in half, since this is how the
stock firmware uses it.  This can be used to easily revert to a stock
firmware if one is written to the second image area.

Signed-off-by: Michael Mohr <akihana@gmail.com>
3 years agorealtek: add and use netgear_nge for the GS110PP v1
Michael Mohr [Sat, 9 Jan 2021 05:21:15 +0000 (21:21 -0800)]
realtek: add and use netgear_nge for the GS110PP v1

The netgear_nge device will be shared between the GS108T v3 (to be added
in a later commit) and the GS110PP v1.  It also enables LZMA compression
for the ramdisk image.

Signed-off-by: Michael Mohr <akihana@gmail.com>
3 years agohostapd: reconfigure wps credentials on reload
Raphaël Mélotte [Thu, 4 Feb 2021 13:21:31 +0000 (14:21 +0100)]
hostapd: reconfigure wps credentials on reload

This patch fixes a bug that prevents updating Multi-AP credentials
after hostapd has started.

It was sent to upstream hostapd here:
https://patchwork.ozlabs.org/bundle/rmelotte/hostapd:%20update%20WPS%20credentials%20on%20SIGHUP/

Signed-off-by: Raphaël Mélotte <raphael.melotte@mind.be>
3 years agohostapd: add notifications for management frames
Raphaël Mélotte [Thu, 26 Nov 2020 14:20:52 +0000 (15:20 +0100)]
hostapd: add notifications for management frames

This patch allows other applications to get events management
frames (for example: association requests).

This is useful in Multi-AP context to be able to save association
requests from stations.

It has been sent to upstream hostapd in this series:
https://patchwork.ozlabs.org/project/hostap/list/?series=217500

'700-wifi-reload.patch' is updated due to the introduction of
'110-notify-mgmt-frames.patch'.

Signed-off-by: Raphaël Mélotte <raphael.melotte@mind.be>
3 years agoltq-ptm: Update VR9 PTM firmware
Antti Seppälä [Sun, 3 Jan 2021 15:09:39 +0000 (17:09 +0200)]
ltq-ptm: Update VR9 PTM firmware

After looking at various vendor GPL source code dumps I discovered that some
of them contain updated versions of ltq-ptm driver when compared to what
openwrt has.

The driver update is mostly cursory (simple changes to comments, whitespace,
formatting etc.) or adds debug features not used by openwrt.

However the updated driver also contains a later version of PTM firmware which
is extracted and included in this commit along with bits to correctly identify
its version when driver loads.

Signed-off-by: Antti Seppälä <a.seppala@gmail.com>
3 years agoath79: fix USB power GPIO for TP-Link TL-WR810N v1
Adrian Schmutzler [Sat, 2 Jan 2021 14:05:13 +0000 (15:05 +0100)]
ath79: fix USB power GPIO for TP-Link TL-WR810N v1

The TP-Link TL-WR810N v1 is known to cause soft-brick on ath79 and
work fine for ar71xx [1]. On closer inspection, the only apparent
difference is the GPIO used for the USB regulator, which deviates
between the two targets.

This applies the value from ar71xx to ath79.

Tested successfully by a forum user.

[1] https://forum.openwrt.org/t/tp-link-tl-wr810n-v1-ath79/48267

Fixes: cdbf2de77768 ("ath79: Add support for TP-Link WR810N")
Fixes: FS#3522
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
3 years agoramips: add support for ELECOM WRC-1167FS
INAGAKI Hiroshi [Fri, 13 Sep 2019 15:14:36 +0000 (00:14 +0900)]
ramips: add support for ELECOM WRC-1167FS

ELECOM WRC-1167FS is a 2.4/5 GHz band 11ac (WiFi-5) router, based on
MT7628AN.

Specification:

- SoC : MediaTek MT7628AN
- RAM : DDR2 64 MiB (NT5TU32M16FG-AC)
- Flash : SPI-NOR 16 MiB (W25Q128JVSIQ)
- WLAN : 2.4/5 GHz 2T2R
  - 2.4 GHz : MediaTek MT7628AN (SoC)
  - 5 GHz : MediaTek MT7612E
- Ethernet : 10/100 Mbps x2
  - Switch : MT7628AN (SoC)
- LEDs/Keys : 6x, 3x (2x buttons, 1x slide-switch)
- UART : through-hole on PCB
  - J1: 3.3V, GND, TX, RX from "J1" marking
  - 57600n8
- Power : 12 VDC, 1 A

Flash instruction using factory image:

1. Boot WRC-1167FS normally
2. Access to "http://192.168.2.1/" and open firmware update page
   ("ファームウェア更新")
3. Select the OpenWrt factory image and click apply ("適用") button to
   perform firmware update
4. Wait ~120 seconds to complete flashing

Notes:

- Last 0x800000 (8 MiB) in SPI-NOR flash is not used on stock firmware

- Additional padding in factory image is required to avoid incomplete
  flashing on stock firmware

MAC addresses:

- LAN : BC:5C:4C:xx:xx:68 (Config, ethaddr (text) / Factory, 0x28   (hex))
- WAN : BC:5C:4C:xx:xx:69 (Config, wanaddr (text) / Factory, 0x22   (hex))
- 2.4GHz: BC:5C:4C:xx:xx:6A (Config, rmac    (text) / Factory, 0x4    (hex))
- 5GHz : BC:5C:4C:xx:xx:6B (Config, rmac2   (text) / Factory, 0x8004 (hex))

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
3 years agokernel: bump 5.4 to 5.4.97
John Audia [Wed, 10 Feb 2021 16:20:24 +0000 (11:20 -0500)]
kernel: bump 5.4 to 5.4.97

Ran update_kernel.sh in a fresh clone without any existing toolchains.

Manually rebased:
 bcm27xx
  950-0267-xhci-add-quirk-for-host-controllers-that-don-t-updat.patch
 bcm53xx
  180-usb-xhci-add-support-for-performing-fake-doorbell.patch
 layerscape
  302-dts-0008-arm64-dts-ls1046a-accumulated-change-to-ls1046a-boar.patch
  820-usb-0016-MLK-16735-usb-host-add-XHCI_CDNS_HOST-flag.patch
  820-usb-0018-MLK-18794-1-usb-host-xhci-add-.bus_suspend-override.patch

Build system: x86_64
Build-tested: bcm27xx/bcm2711, ipq806x/R7800
Run-tested: ipq806x/R7800

No dmesg regressions/everything functional.

Signed-off-by: John Audia <graysky@archlinux.us>
[remove quilt comment, fix/adjust 820-usb-* layerscape patches]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
3 years agoarm-trusted-firmware-tools: add patch to pass LDFLAGS
Daniel Golle [Wed, 10 Feb 2021 19:18:04 +0000 (19:18 +0000)]
arm-trusted-firmware-tools: add patch to pass LDFLAGS

This should hopefully fix builds on the buildbot.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
3 years agoat91: use SPDX license identifiers on DTS files
Adrian Schmutzler [Wed, 10 Feb 2021 14:39:01 +0000 (15:39 +0100)]
at91: use SPDX license identifiers on DTS files

Use SPDX license tags to allow machines to check licenses.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
3 years agotarget: use SPDX license identifiers on scripts
Adrian Schmutzler [Wed, 10 Feb 2021 14:14:52 +0000 (15:14 +0100)]
target: use SPDX license identifiers on scripts

Use SPDX license tags to allow machines to check licenses.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
3 years agotarget: use SPDX license identifiers on Makefiles
Adrian Schmutzler [Wed, 10 Feb 2021 13:52:34 +0000 (14:52 +0100)]
target: use SPDX license identifiers on Makefiles

Use SPDX license tags to allow machines to check licenses.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
3 years agobcm4908: update Ethernet driver
Rafał Miłecki [Wed, 10 Feb 2021 10:27:44 +0000 (11:27 +0100)]
bcm4908: update Ethernet driver

Use the latest version sent upsteram.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
3 years agoarm-trusted-firmware-mediatek: mark @BROKEN until bromimage gets fixed
Daniel Golle [Wed, 10 Feb 2021 02:45:05 +0000 (02:45 +0000)]
arm-trusted-firmware-mediatek: mark @BROKEN until bromimage gets fixed

The 'bromimage' tool which is used to wrap bl2 with a MediaTek-specific
header is distributed in binary form only and unfortunately tries to
dynamically link against libopenssl, which fails on the buildbots.
Wait for MTK to provide a at least static executable instead, in the
meantime, mark the package as broken.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
3 years agoarm-trusted-firmware-tools: fix passing of CFLAGS
Daniel Golle [Wed, 10 Feb 2021 01:05:00 +0000 (01:05 +0000)]
arm-trusted-firmware-tools: fix passing of CFLAGS

HOST_CFLAGS were ignored as they were passed on incorrectly which lead
to build failure if OpenSSL wasn't present on the build host.
Fix that by properly passing HOST_CFLAGS when building each tool.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
3 years agowolfssl: Backport fix for CVE-2021-3336
Hauke Mehrtens [Mon, 8 Feb 2021 23:53:09 +0000 (00:53 +0100)]
wolfssl: Backport fix for CVE-2021-3336

This should fix CVE-2021-3336:
DoTls13CertificateVerify in tls13.c in wolfSSL through 4.6.0 does not
cease processing for certain anomalous peer behavior (sending an
ED22519, ED448, ECC, or RSA signature without the corresponding
certificate).

The patch is backported from the upstream wolfssl development branch.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 years agoarm-trusted-firmware-tools: remove tools which require libopenssl
Daniel Golle [Tue, 9 Feb 2021 20:20:32 +0000 (20:20 +0000)]
arm-trusted-firmware-tools: remove tools which require libopenssl

They are anyway not used for now, so only build fiptool and sptool.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
3 years agoglibc: update to 2.33
Curtis Deptuck [Mon, 8 Feb 2021 21:20:11 +0000 (14:20 -0700)]
glibc: update to 2.33

ChangeLog:
https://sourceware.org/pipermail/libc-alpha/2021-February/122207.html

Refresh patch:
None required

Signed-off-by: Curtis Deptuck <curtdept@me.com>
3 years agoramips: add support for Cudy WR1300
Andrew Pikler [Wed, 27 Jan 2021 17:35:49 +0000 (19:35 +0200)]
ramips: add support for Cudy WR1300

Specifications:
 - SoC: MediaTek MT7621AT
 - RAM: 128 MB (DDR3)
 - Flash: 16 MB (SPI NOR)
 - WiFi: MediaTek MT7603E, MediaTek MT7612E
 - Switch: 1 WAN, 4 LAN (Gigabit)
 - Ports: 1 USB 3.0
 - Buttons: Reset, WPS
 - LEDs: Power, System, Wan, Lan 1-4, WiFi 2.4G, WiFi 5G, WPS, USB
 - Power: DC 12V 1A tip positive

UART Serial:
  115200 baud
  Located on unpopulated 4 pin header near J4:

  J4
  [o] Rx
  [o] Tx
  [o] GND
  [ ] Vcc - Do not connect

Installation:

Download and flash the manufacturer's built OpenWRT image available at
http://www.cudytech.com/openwrt_software_download
Install the new OpenWRT image via luci (System -> Backup/Flash firmware)
Be sure to NOT keep settings. The force upgrade may need to be checked
due to differences in router naming conventions.

Recovery:
 - Loads only signed manufacture firmware due to bootloader RSA verification
 - serve tftp-recovery image as /recovery.bin on 192.168.1.88/24
 - connect to any lan ethernet port
 - power on the device while holding the reset button
 - wait at least 8 seconds before releasing reset button for image to
   download
 - See http://www.cudytech.com/newsinfo/547425.html

MAC addresses as verified by OEM firmware:

use   address   source
LAN   *:f0      label
WAN   *:f1      label + 1
2g    *:f0      label
5g    *:f2      label + 2

The label MAC address is found in bdinfo 0xde00.

Signed-off-by: Andrew Pikler <andrew.pikler@gmail.com>
3 years agoath79: add support for D-Link DAP-3662 A1
Sebastian Schaper [Tue, 1 Dec 2020 21:34:34 +0000 (22:34 +0100)]
ath79: add support for D-Link DAP-3662 A1

Specifications:
 * QCA9557, 16 MiB Flash, 128 MiB RAM, 802.11n 2T2R
 * QCA9882, 802.11ac 2T2R
 * 2x Gigabit LAN (1x 802.11af PoE)
 * IP68 pole-mountable outdoor case

Installation:
 * Factory Web UI is at 192.168.0.50
   login with 'admin' and blank password, flash factory.bin
 * Recovery Web UI is at 192.168.0.50
   connect network cable, hold reset button during power-on and keep it
   pressed until uploading has started (only required when checksum is ok,
   e.g. for reverting back to oem firmware), flash factory.bin

After flashing factory.bin, additional free space can be reclaimed by
flashing sysupgrade.bin, since the factory image requires some padding
to be accepted for upgrading via OEM Web UI.

Both ethernet ports are set to LAN by default, matching the labelling on
the case. However, since both GMAC Interfaces eth0 and eth1 are connected
to the switch (QCA8337), the user may create an additional 'wan' interface
as desired and override the vlan id settings to map br-lan / wan to either
the PoE or non-PoE port, depending on the individual scenario of use.

So, the LAN and WAN ports would then be connected to different GMACs, e.g.

config interface 'lan'
option ifname 'eth0.1'
...

config interface 'wan'
option ifname 'eth1.2'
...

config switch_vlan
        option device 'switch0'
        option vlan '1'
        option ports '1 0t'

config switch_vlan
        option device 'switch0'
        option vlan '2'
        option ports '2 6t'

Signed-off-by: Sebastian Schaper <openwrt@sebastianschaper.net>
[add configuration example]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
3 years agoramips: add support for JCG Y2
Chukun Pan [Mon, 8 Feb 2021 08:28:10 +0000 (16:28 +0800)]
ramips: add support for JCG Y2

JCG Y2 is an AC1300M router

Hardware specs:
  SoC: MediaTek MT7621AT
  Flash: Winbond W25Q128JVSQ 16MiB
  RAM: Nanya NT5CB128M16 256MiB
  WLAN: 2.4/5 GHz 2T2R (1x MediaTek MT7615)
  Ethernet: 10/100/1000 Mbps x5
  LED: POWER, INTERNET, 2.4G, 5G
  Button: Reset
  Power: DC 12V,1A

Flash instructions:
  Upload factory.bin in stock firmware's upgrade page.

MAC addresses map:
  0x0004  *:c8  wlan2g/wlan5g/label
  0xe000  *:c7  lan
  0xe006  *:c6  wan

Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
3 years agouboot-envtools: Update to version 2021.01
Hauke Mehrtens [Sun, 31 Jan 2021 16:08:05 +0000 (17:08 +0100)]
uboot-envtools: Update to version 2021.01

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 years agotools: mkimage: Update U-Boot to version 2021.01
Hauke Mehrtens [Wed, 6 Jan 2021 18:36:44 +0000 (19:36 +0100)]
tools: mkimage: Update U-Boot to version 2021.01

* The fit image is now created with 0666 permission in upstream U-Boot
  remove our patch switch creates it with 0744
* The generated/autoconf.h file is created now as an empty file, it is
  not needed to remove this include any more.
* Upstream lib/rsa/rsa-sign.c now includes stdlib.h instead of malloc.h
* ALIGN_MASK was moved to imagetool.h, own patch should not be needed
  any more.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 years agoltq-dsl-base: remove usused lantiq_dsl.sh
Andre Heider [Tue, 26 Jan 2021 08:00:52 +0000 (09:00 +0100)]
ltq-dsl-base: remove usused lantiq_dsl.sh

All users have been converted to ubus.

Signed-off-by: Andre Heider <a.heider@gmail.com>
Tested-by: Martin Schiller <ms@dev.tdt.de>
3 years agoltq-adsl-app: use ubus to provide metrics
Andre Heider [Tue, 26 Jan 2021 08:00:51 +0000 (09:00 +0100)]
ltq-adsl-app: use ubus to provide metrics

luci now uses ubus directly, so remove 'lucistat'.
For manual usage just print the ubus output, use luci for a pretty
version.

Signed-off-by: Andre Heider <a.heider@gmail.com>
3 years agoltq-vdsl-app: use ubus to provide metrics
Andre Heider [Tue, 26 Jan 2021 08:00:50 +0000 (09:00 +0100)]
ltq-vdsl-app: use ubus to provide metrics

luci now uses ubus directly, so remove 'lucistat'.
For manual usage just print the ubus output, use luci for a pretty
version.

Signed-off-by: Andre Heider <a.heider@gmail.com>
Tested-by: Martin Schiller <ms@dev.tdt.de>
3 years agoltq-adsl-app: add ubus support to get metrics
Andre Heider [Tue, 26 Jan 2021 08:00:49 +0000 (09:00 +0100)]
ltq-adsl-app: add ubus support to get metrics

As with ltq-vdsl-app, see previous commit.

Signed-off-by: Andre Heider <a.heider@gmail.com>
3 years agoltq-vdsl-app: add ubus support to get metrics
Andre Heider [Tue, 26 Jan 2021 08:00:48 +0000 (09:00 +0100)]
ltq-vdsl-app: add ubus support to get metrics

Add a 'dsl' ubus object with a 'metrics' function to replace the
expensive shell parsing done by /etc/init.d/dsl_control [dsl|luci]stat.

All metrics are gathered by using syscalls. An additional thread is started
to handle ubus events.

$ time /etc/init.d/dsl_control dslstat
real 0m 2.66s
user 0m 0.90s
sys 0m 1.76s

$ time ubus call dsl metrics
real 0m 0.02s
user 0m 0.00s
sys 0m 0.01s

Example output:
{
"api_version": "4.17.18.6",
"firmware_version": "5.8.1.5.0.7",
"chipset": "Lantiq-VRX200",
"driver_version": "1.5.17.6",
"state": "Showtime with TC-Layer sync",
"up": true,
"uptime": 3891,
"atu_c": {
"vendor_id": [
181,
0,
66,
68,
67,
77,
178,
26
],
"vendor": "Broadcom 178.26",
"system_vendor_id": [
181,
0,
66,
68,
67,
77,
0,
0
],
"system_vendor": "Broadcom",
"version": [
49,
57,
46,
48,
46,
51,
53,
46,
50,
32,
86,
69,
95,
49,
49,
95
],
"serial": [
65,
65,
49,
52,
52,
54,
70,
69,
48,
90,
87,
45,
48,
56,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
]
},
"power_state": "L0 - Synchronized",
"xtse": [
0,
0,
0,
0,
0,
0,
0,
2
],
"annex": "B",
"standard": "G.993.2",
"profile": "17a",
"mode": "G.993.2 (VDSL2, Profile 17a, with down- and upstream vectoring)",
"upstream": {
"vector": true,
"trellis": true,
"bitswap": true,
"retx": true,
"virtual_noise": false,
"interleave_delay": 0,
"data_rate": 31999000,
"latn": 8.500000,
"satn": 8.400000,
"snr": 12.700000,
"actps": -90.100000,
"actatp": 13.400000,
"attndr": 37180000
},
"downstream": {
"vector": true,
"trellis": true,
"bitswap": true,
"retx": true,
"virtual_noise": false,
"interleave_delay": 140,
"data_rate": 89998000,
"latn": 9.500000,
"satn": 9.600000,
"snr": 13.300000,
"actps": -90.100000,
"actatp": -1.600000,
"attndr": 116315372
},
"errors": {
"near": {
"es": 1,
"ses": 0,
"loss": 3,
"uas": 424,
"lofs": 0,
"fecs": 0,
"hec": 0,
"ibe": 0,
"crc_p": 0,
"crcp_p": 0,
"cv_p": 0,
"cvp_p": 0,
"rx_corrupted": 27740,
"rx_uncorrected_protected": 27010,
"rx_retransmitted": 0,
"rx_corrected": 730,
"tx_retransmitted": 16222
},
"far": {
"es": 242,
"ses": 71,
"loss": 0,
"uas": 424,
"lofs": 0,
"fecs": 22687,
"hec": 0,
"ibe": 0,
"crc_p": 0,
"crcp_p": 0,
"cv_p": 0,
"cvp_p": 0,
"rx_corrupted": 1383552,
"rx_uncorrected_protected": 1220215,
"rx_retransmitted": 0,
"rx_corrected": 163337,
"tx_retransmitted": 1574051
}
}
}

Signed-off-by: Andre Heider <a.heider@gmail.com>
Tested-by: Martin Schiller <ms@dev.tdt.de>
3 years agoltq-vdsl-app: shutdown upon sigterm
Andre Heider [Tue, 26 Jan 2021 08:00:47 +0000 (09:00 +0100)]
ltq-vdsl-app: shutdown upon sigterm

procd sends sigterm to stop daemons, hook it up.

This speeds up the shutdown sequence and gets rid of the following message:
daemon.info procd: Instance dsl_control::instance1 pid 15408 not stopped on SIGTERM, sending SIGKILL instead

Signed-off-by: Andre Heider <a.heider@gmail.com>
Tested-by: Martin Schiller <ms@dev.tdt.de>
3 years agoath79: use internal switch for EAP300 v2
Michael Pratt [Mon, 11 Jan 2021 08:34:33 +0000 (03:34 -0500)]
ath79: use internal switch for EAP300 v2

Have the port use GMAC1 with internal switch
which fixes the issue of the ethernet LED not functioning
The LED is triggered by the internal switch, not a GPIO.

The GPIO for the ethernet LED was added in ath79
as it was defined in the ar71xx target
but it was not functioning in ath79 for a previously unknown reason.

It is unknown why that GPIO was defined as an LED in ar71xx.

Signed-off-by: Michael Pratt <mcpratt@pm.me>
[drop unrelated changes: model property and SPI max frequency]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
3 years agoath79: make all eth ports LAN for Engenius APs
Michael Pratt [Fri, 1 Jan 2021 22:23:04 +0000 (17:23 -0500)]
ath79: make all eth ports LAN for Engenius APs

for:
 - ENH202 v1
 - ENS202EXT v1
 - EnstationAC v1
 - EWS511AP

For EWS511AP, have default behavior as static ip
to match the behavior of all other APs in ath79

These boards are sold as
Client Bridge or Point to Point or Access Point
so there is probably no benefit to have WAN by default
for one of the ports, to prevent user confusion.

Signed-off-by: Michael Pratt <mcpratt@pm.me>
3 years agokernel: bump 5.4 to 5.4.96
John Audia [Sun, 7 Feb 2021 17:36:29 +0000 (12:36 -0500)]
kernel: bump 5.4 to 5.4.96

Ran update_kernel.sh in a fresh clone without any existing toolchains.

Build system: x86_64
Build-tested: ipq806x/R7800, bcm27xx/bcm2711
Run-tested: ipq806x/R7800
Run-tested [*]: ramips/mt7621 (R6800, DIR-878 A1, EAP235-Wall)

Signed-off-by: John Audia <graysky@archlinux.us>
Tested-by: Stijn Segers <foss@volatilesystems.org> [*]
3 years agodnsmasq: Bump to v2.84
Kevin Darbyshire-Bryant [Sun, 24 Jan 2021 22:19:33 +0000 (22:19 +0000)]
dnsmasq: Bump to v2.84

dnsmasq v2.84rc2 has been promoted to release.

No functional difference between v2.83test3 and v2.84/v2.84rc2

Backport 2 patches to fix the version reporting

Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
3 years agobcm4908: add board.d network setup
Rafał Miłecki [Mon, 8 Feb 2021 11:05:04 +0000 (12:05 +0100)]
bcm4908: add board.d network setup

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
3 years agobcm4908: add Ethernet driver
Rafał Miłecki [Mon, 8 Feb 2021 10:45:03 +0000 (11:45 +0100)]
bcm4908: add Ethernet driver

This commit picks up pending netdev patches.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
3 years agodnsmasq: switch to ubus-based hotplug call
Daniel Golle [Fri, 1 Jan 2021 12:47:11 +0000 (12:47 +0000)]
dnsmasq: switch to ubus-based hotplug call

Use new ubus-based hotplug call in dhcp-script.sh
As sysntpd now makes use of the new ubus-based hotplug calls, dnsmasq
no longer needs to ship ACL to cover ntpd-hotplug.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
3 years agobusybox: sysntpd: make use of new ubus hotplug.ntp object
Daniel Golle [Fri, 1 Jan 2021 12:45:48 +0000 (12:45 +0000)]
busybox: sysntpd: make use of new ubus hotplug.ntp object

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
3 years agoprocd: add hotplug-call dispatcher ubus objects
Daniel Golle [Mon, 21 Dec 2020 23:05:19 +0000 (23:05 +0000)]
procd: add hotplug-call dispatcher ubus objects

Add per-subsystem ubus objects exposing hotplug-call.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
3 years agoacx-mac80211: replace dead URLs with OpenWrt CDN
Ilya Lipnitskiy [Sat, 6 Feb 2021 05:11:20 +0000 (21:11 -0800)]
acx-mac80211: replace dead URLs with OpenWrt CDN

erley.org no longer exists; attempting to connect to it during package
download results in lengthy timeouts. Use the new OpenWrt CDN alias to
download from reliable OpenWrt mirrors.

Signed-off-by: Ilya Lipnitskiy <ilya.lipnitskiy@gmail.com>
3 years agoramips: disable default build for HooToo HT-TM02
Szabolcs Hubai [Tue, 15 Dec 2020 00:46:54 +0000 (01:46 +0100)]
ramips: disable default build for HooToo HT-TM02

While the latest version of 19.07 release is usable,
the current master is unbootable on the device in a normal way.

"Normal way" installations includes:
- sysupgrade (e.g. from 19.07)
- RESET button recovery with Ron Curry's (Wingspinner) UBoot image
  (10.10.10.3 + "Kernal.bin")
- RESET button recovery with original U-Boot
  (10.10.10.254 + "kernel")

One could flash and boot the latest master sysupgrade image successfully
with serial access to the device. But a sysupgrade from this state still
breaks the U-Boot and soft-bricks the device.

Signed-off-by: Szabolcs Hubai <szab.hu@gmail.com>
3 years agoramips: mt7621: use preferred logic in lib/upgrade/iodata.sh
Adrian Schmutzler [Sun, 7 Feb 2021 20:42:19 +0000 (21:42 +0100)]
ramips: mt7621: use preferred logic in lib/upgrade/iodata.sh

shellcheck recommends || and && over "-a" and "-o" because the
latter are not well defined.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
3 years agoramips: add support for I-O DATA WN-DX1200GR
INAGAKI Hiroshi [Tue, 26 Jan 2021 14:50:51 +0000 (23:50 +0900)]
ramips: add support for I-O DATA WN-DX1200GR

I-O DATA WN-DX1200GR is a 2.4/5 GHz band 11ac (WiFi-5) router, based on
MT7621A.

Specification:

- SoC : MediaTek MT7621A
- RAM : DDR3 128 MiB
- Flash : raw NAND 128 MiB
- WLAN : 2.4/5 GHz 2T2R
  - 2.4 GHz : MediaTek MT7603E
  - 5 GHz : MediaTek MT7613BE
- Ethernet : 10/100/1000 Mbps x5
  - Switch : MediaTek MT7530 (SoC)
- LEDs/keys : 2x/3x (2x buttons, 1x slide-switch)
- UART : through-hole on PCB
  - J5: 3.3V, TX, RX, NC, GND from triangle-mark
  - 57600n8
- Power : 12 VDC, 1 A

Flash instruction using initramfs image:

1. Boot WN-DX1200GR normally
2. Access to "http://192.168.0.1/" and open firmware update page
   ("ファームウェア")
3. Select the OpenWrt initramfs image and click update ("更新") button
   to perform firmware update
4. On the initramfs image, perform sysupgrade with the
   squashfs-sysupgrade image
5. Wait ~120 seconds to complete flashing

Notes:

- currently, mt7615e driver in mt76 doesn't fully support MT7613
  (MT7663) wifi chip
  - the eeprom data in flash is not used by mt7615e driver and the
    driver reports the tx-power up to 3dBm
  - the correct MAC address for MT7613BE in eeprom data cannot be
    assigned to the phy

- last 0x80000 (512 KiB) in NAND flash is not used on stock firmware

- stock firmware requires "customized uImage header" (called as "combo
  image") by MSTC (MitraStar Technology Corp.), but U-Boot doesn't

  - uImage magic ( 0x0 - 0x3 ) : 0x434F4D43 ("COMC")
  - header crc32 ( 0x4 - 0x7 ) : with "data length" and "data crc32"
  - image name   (0x20 - 0x37) : model ID and firmware versions
  - data length  (0x38 - 0x3b) : kernel + rootfs
  - data crc32   (0x3c - 0x3f) : kernel + rootfs

MAC addresses:

LAN: 50:41:B9:xx:xx:08 (Ubootenv, ethaddr (text) / Factory, 0x1E000 (hex))
WAN: 50:41:B9:xx:xx:0A (Factory,  0x1E006 (hex))
2.4GHz: 50:41:B9:xx:xx:08 (Factory,  0x4     (hex))
5GHz: 50:41:B9:xx:xx:09 (Factory,  0x8004  (hex))

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
[add check whether dflag_offset is set]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
3 years agobcm63xx: kernel: reenable the TRNG
Daniel González Cabanelas [Sun, 7 Feb 2021 16:37:47 +0000 (17:37 +0100)]
bcm63xx: kernel: reenable the TRNG

The hardware random number generator driver for bcm63xx was merged with
the one used by the Raspberry Pi. Now this driver is lost.

Reenable the HW_RANDOM kernel config with the new driver.

Signed-off-by: Daniel González Cabanelas <dgcbueu@gmail.com>
[refresh kernel config]
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
3 years agompc85xx: refresh kernel config
Pawel Dembicki [Sun, 10 Jan 2021 20:12:44 +0000 (21:12 +0100)]
mpc85xx: refresh kernel config

Simple "make kernel_oldconfig" was done.

Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
3 years agotreewide: unify OpenWrt hosted source via @OPENWRT
Paul Spooren [Sat, 30 Jan 2021 20:54:44 +0000 (10:54 -1000)]
treewide: unify OpenWrt hosted source via @OPENWRT

Multiple sources are hosted on OpenWrts source server only. The source
URLs to point to the server vary based on different epochs in OpenWrts
history.

Replace all by @OPENWRT which is an "empty" mirror, therefore using the
fallback servers sources.cdn.openwrt.org and sources.openwrt.org.

Signed-off-by: Paul Spooren <mail@aparcar.org>
3 years agokirkwood: use 3 temperature sensors for Zyxel NSA310B
Thomas Beckler [Sat, 30 May 2020 21:40:03 +0000 (23:40 +0200)]
kirkwood: use 3 temperature sensors for Zyxel NSA310B

Instead of taking the input of one temperature sensor (temp1), the
script takes into account three temperature sensors to control the
PWM of the cooling fan.

temp1 -> placed on main board
temp2 -> placed on main board
temp3 -> placed on or close to chipset

All three temperatures give valid input for the PWM of the fan on
NSA310 and are actually changing.

Tested on two NSA310.

Signed-off-by: Thomas Beckler <thomas.beckler@hotmail.com>
Reviewed-by: Alberto Bursi <bobafetthotmail@gmail.com>
[commit title/message facelift, code cleanup]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
3 years agotplink-safeloader: add support for TP-Link Archer A7 v5 (RU)
Alexey Kunitskiy [Sun, 13 Dec 2020 16:48:58 +0000 (18:48 +0200)]
tplink-safeloader: add support for TP-Link Archer A7 v5 (RU)

Although provided in separate zip archives, the firmwares for EU
and RU version are byte-identical. This adds the missing ID compared
to the support-list in the vendor firmware.

Note (since I checked it anyway):

Partitions and support list are unchanged for all three existing
firmware versions:

  * 20200721-rel40773
  * 20201029-rel43238
  * 20201120-rel50399

Signed-off-by: Alexey Kunitskiy <alexey.kv@gmail.com>
[rewrite commit message]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
3 years agoath79: wrap ucidef_add_switch in 02_network
Adrian Schmutzler [Fri, 5 Feb 2021 19:53:26 +0000 (20:53 +0100)]
ath79: wrap ucidef_add_switch in 02_network

Wrap line to be consistent with all other definitions.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
3 years agobuild: move elx-header into image-commands.mk
Yanase Yuki [Thu, 5 Nov 2020 10:59:06 +0000 (19:59 +0900)]
build: move elx-header into image-commands.mk

ELECOM WAB-I1750-PS will need this in ath79, so move it to common
Makefile.

Signed-off-by: Yanase Yuki <dev@zpc.sakura.ne.jp>
3 years agokirkwood: refresh kernel config
Sungbo Eo [Fri, 25 Dec 2020 11:16:41 +0000 (20:16 +0900)]
kirkwood: refresh kernel config

Refresh config with make kernel_oldconfig.

Signed-off-by: Sungbo Eo <mans0n@gorani.run>
3 years agolantiq: change phy-mode to mii for FRITZ!Box 7412
Aleksander Jan Bajkowski [Tue, 3 Nov 2020 20:29:21 +0000 (21:29 +0100)]
lantiq: change phy-mode to mii for FRITZ!Box 7412

FRITZ!Box 7412 loads the firmware for fast ethernet PHY and mii is
more accurate in this case.
Gmii is used by Gigabit ethernet PHYs.

Signed-off-by: Aleksander Jan Bajkowski <A.Bajkowski@stud.elka.pw.edu.pl>
Reviewed-by: Mathias Kresin <dev@kresin.me>
[minor commit title/message adjustments]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
3 years agoipq806x: replace full-text BSC license by SPDX identifier
Adrian Schmutzler [Fri, 5 Feb 2021 17:28:30 +0000 (18:28 +0100)]
ipq806x: replace full-text BSC license by SPDX identifier

This replaces a full-text BSD clause by the corresponding SPDX
identifier.

This should make it easier to identify the license both by humans
and machines.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
3 years agoramips: replace full-text licenses by SPDX identifier
Adrian Schmutzler [Fri, 5 Feb 2021 17:18:00 +0000 (18:18 +0100)]
ramips: replace full-text licenses by SPDX identifier

This replaces several full-text and abbreviated licenses found in
DTS files by the corresponding SPDX identifiers.

This should make it easier to identify the license both by humans
and machines.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
3 years agoramips: add support for UniElec U7621-01
David Bentham [Sat, 21 Nov 2020 14:04:49 +0000 (14:04 +0000)]
ramips: add support for UniElec U7621-01

UniElec U7621-01 is a router platform board, the smaller model of
the U7621-06.
The device has the following specifications:

- MT7621AT (880 MHz)
- 256 of RAM (DDR3)
- 16 MB of FLASH (SPI NOR)
- 5x 1 Gbps Ethernet (MT7621 built-in switch)
- 1x 2.4Ghz MT7603E
- 1x 5Ghz MT7612
- 1x miniPCIe slots (PCIe bus only)
- 1x miniSIM slot
- 1x USB 2.0 (uses the usb 3.0 driver)
- 8x LEDs (1x GPIO-controlled)
- 1x reset button
- 1x UART header (4-pins)
- 1x GPIO header (30-pins)
- 1x DC jack for main power (12 V)

The following has been tested and is working:

- Ethernet switch
- 1x 2.4Ghz MT7603E (wifi)
- 1x 5Ghz MT7612 (wifi)
- miniPCIe slots (tested with Wi-Fi cards and LTE modem cards)
- miniSIM slot (works with normal size simcard)
- sysupgrade
- reset button

Installation:

This board has no locked down bootloader. The seller can be asked to
install openwrt v18.06, so upgrades are standard sysupgrade method.

Recovery:

This board contains a Chinese, closed-source bootloader called Breed
(Boot and Recovery Environment for Embedded Devices). Breed supports web
recovery and to enter it, you keep the reset button pressed for around
5 seconds during boot. Your machine will be assigned an IP through DHCP
and the router will use IP address 192.168.1.1. The recovery website is
in Chinese, but is easy to use. Click on the second item in the list to
access the recovery page, then the second item on the next page is where
you select the firmware. In order to start the recovery, you click the
button at the bottom.

LEDs list (left to right):

- ESW_P0_LED_0
- ESW_P1_LED_0
- ESW_P2_LED_0
- ESW_P3_LED_0
- ESW_P4_LED_0
- CTS2_N (GPIO10, configured as "status" LED)
- LED_WLAN# (connected with pin 44 in wifi1 slot)

Signed-off-by: David Bentham <db260179@gmail.com>
[add DEVICE_VARIANT, fix DEVICE_PACKAGES, remove &gpio]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
3 years agoath79: add support for Meraki MR12
Martin Kennedy [Sat, 28 Nov 2020 02:03:32 +0000 (02:03 +0000)]
ath79: add support for Meraki MR12

Port device support for Meraki MR12 from the ar71xx target to ath79.

Specifications:

  - SoC: AR7242-AH1A CPU
  - RAM: 64MiB (NANYA NT5DS32M16DS-5T)
  - NOR Flash: 16MiB (MXIC MX25L12845EMI-10G)
  - Ethernet: 1 x PoE Gigabit Ethernet Port (SoC MAC + AR8021-BL1E PHY)
  - Ethernet: 1 x 100Mbit port (SoC MAC+PHY)
  - Wi-Fi: Atheros AR9283-AL1A (2T2R, 11n)

Installation:

  1. Requires TFTP server at 192.168.1.101, w/ initramfs & sysupgrade .bins
  2. Open shell case
  3. Connect a USB->TTL cable to headers furthest from the RF shield
  4. Power on the router; connect to U-boot over 115200-baud connection
  5. Interrupt U-boot process to boot Openwrt by running:
       setenv bootcmd bootm 0xbf0a0000; saveenv;
       tftpboot 0c00000 <filename-of-initramfs-kernel>.bin;
       bootm 0c00000;
  6. Copy sysupgrade image to /tmp on MR12
  7. sysupgrade /tmp/<filename-of-sysupgrade>.bin

Notes:

  - kmod-owl-loader is still required to load the ART partition into the
    driver.

  - The manner of storing MAC addresses is updated from ar71xx; it is
    at 0x66 of the 'config' partition, where it was discovered that the
    OEM firmware stores it. This is set as read-only. If you are
    migrating from ar71xx and used the method mentioned above to
    upgrade, use kmod-mtd-rw or UCI to add the MAC back in. One more
    method for doing this is described below.

  - Migrating directly from ar71xx has not been thoroughly tested, but
    one method has been used a couple of times with good success,
    migrating 18.06.2 to a full image produced as of this commit. Please
    note that these instructions are only for experienced users, and/or
    those still able to open their device up to flash it via the serial
    headers should anything go wrong.

    1) Install kmod-mtd-rw and uboot-envtools
    2) Run `insmod mtd-rw.ko i_want_a_brick=1`
    3) Modify /etc/fw_env.config to point to the u-boot-env partition.
       The file /etc/fw_env.config should contain:

       # MTD device   env offset  env size    sector size
       /dev/mtd1      0x00000     0x10000     0x10000

       See https://openwrt.org/docs/techref/bootloader/uboot.config
       for more details.

    4) Run `fw_printenv` to verify everything is correct, as per the
       link above.
    5) Run `fw_setenv bootcmd bootm 0xbf0a0000` to set a new boot address.
    6) Manually modify /lib/upgrade/common.sh's get_image function:
       Change ...

       cat "$from" 2>/dev/null | $cmd

       ... into ...

       (
         dd if=/dev/zero bs=1 count=$((0x66)) ; # Pad the first 102 bytes
         echo -ne '\x00\x18\x0a\x12\x34\x56'  ; # Add in MAC address
         dd if=/dev/zero bs=1 count=$((0x20000-0x66-0x6)) ; # Pad the rest
         cat "$from" 2>/dev/null
       ) | $cmd

       ... which, during the upgrade process, will pad the image by
       128K of zeroes-plus-MAC-address, in order for the ar71xx's
       firmware partition -- which starts at 0xbf080000 -- to be
       instead aligned with the ath79 firmware partition, which
       starts 128K later at 0xbf0a0000.

    7) Copy the sysupgrade image into /tmp, as above
    8) Run `sysupgrade -F /tmp/<sysupgrade>.bin`, then wait

    Again, this may BRICK YOUR DEVICE, so make *sure* to have your
    serial cable handy.

Signed-off-by: Martin Kennedy <hurricos@gmail.com>
[add LED migration and extend compat message]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
3 years agoramips: add support for Hi-Link HLK-7688A
Ewan Parker [Sat, 31 Oct 2020 09:29:54 +0000 (09:29 +0000)]
ramips: add support for Hi-Link HLK-7688A

Specifications:

  - SoC: MediaTek MT7688AN
  - RAM: 128 MB
  - Flash: 32 MB
  - Ethernet: 5x 10/100 (1x WAN, 4x LAN)
  - Wireless: built in 2.4GHz (bgn)
  - USB: 1x USB 2.0 port
  - Buttons: 1x Reset
  - LEDs: 1x (WiFi)

Flash instructions:

  - Configure TFTP server with IP address 10.10.10.3
  - Name the firmware file as firmware.bin
  - Connect any Ethernet port to the TFTP server's LAN
  - Choose option 2 in U-Boot
  - Alternatively choose option 7 to upload firmware to the built-in
    web server

MAC addresses as verified by OEM firmware:

  use   address   source
  2g    *:XX      factory 0x4
  LAN   *:XX+1    factory 0x28
  WAN   *:XX+1    factory 0x2e

Notes:

This board is ostensibly a module containing the MediaTek MT7688AN SoC,
128 MB DDR2 SDRAM and 32 MB flash storage.  The SoC can be operated in
IoT Gateway Mode or IoT Device Mode.

From some vendors the U-Boot that comes installed operates on UART 2
which is inaccessible in gateway mode and operates unreliably in the
Linux kernel when using more than 64 MB of RAM.  For those, updating
U-Boot is recommended.

Signed-off-by: Ewan Parker <ewan@ewan.cc>
[add WLAN to 01_leds]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
3 years agobuild: use SPDX license tags
Paul Spooren [Tue, 22 Sep 2020 02:48:37 +0000 (16:48 -1000)]
build: use SPDX license tags

The license folder is a core part of OpenWrt and all GPL-2.0 licensed.
Use SPDX license tags to allow machines to check licenses.

Signed-off-by: Paul Spooren <mail@aparcar.org>
[rebase, keep some Copyright lines, sharpen commit message]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
3 years agoselinux-policy: update to version 0.6
Daniel Golle [Fri, 5 Feb 2021 13:16:21 +0000 (13:16 +0000)]
selinux-policy: update to version 0.6

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
3 years agokernel: add defaults for new SELinux options
Daniel Golle [Tue, 2 Feb 2021 12:56:16 +0000 (12:56 +0000)]
kernel: add defaults for new SELinux options

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
3 years agokernel: bump 5.4 to 5.4.95
John Audia [Thu, 4 Feb 2021 02:09:56 +0000 (21:09 -0500)]
kernel: bump 5.4 to 5.4.95

Ran update_kernel.sh in a fresh clone without any existing toolchains.

Removed upstreamed patches:
 imx6: 303-ARM-dts-imx6qdl-gw52xx-fix-duplicate-regulator-namin.patch

Build system: x86_64
Build-tested: ipq806x/R7800, bcm27xx/bcm2711
Run-tested: ipq806x/R7800

No dmesg regressions, everything functional

Signed-off-by: John Audia <graysky@archlinux.us>
3 years agohostapd: add forgotten patch for P2P vulnerability fix
Petr Štetiar [Thu, 4 Feb 2021 08:10:05 +0000 (09:10 +0100)]
hostapd: add forgotten patch for P2P vulnerability fix

Commit 7c8c4f1be648 ("hostapd: fix P2P group information processing
vulnerability") was missing the actual patch for the vulnerability.

Fixes: 7c8c4f1be648 ("hostapd: fix P2P group information processing vulnerability")
Signed-off-by: Petr Štetiar <ynezz@true.cz>
3 years agohostapd: fix P2P group information processing vulnerability
Daniel Golle [Thu, 4 Feb 2021 01:01:36 +0000 (01:01 +0000)]
hostapd: fix P2P group information processing vulnerability

A vulnerability was discovered in how wpa_supplicant processing P2P
(Wi-Fi Direct) group information from active group owners.
This issue was discovered by fuzz testing of wpa_supplicant by Google's
OSS-Fuzz.

https://w1.fi/security/2020-2/wpa_supplicant-p2p-group-info-processing-vulnerability.txt

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
3 years agotrusted-firmware-a.mk: add PKG_CPE_ID
Daniel Golle [Wed, 3 Feb 2021 15:38:14 +0000 (15:38 +0000)]
trusted-firmware-a.mk: add PKG_CPE_ID

Vulnerabilities of Trusted Firmware A are tracked as
cpe:/a:arm:arm_trusted_firmware

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
3 years agoarm-trusted-firmware-mediatek: make use of trusted-firmware-a.mk
Daniel Golle [Wed, 3 Feb 2021 14:48:45 +0000 (14:48 +0000)]
arm-trusted-firmware-mediatek: make use of trusted-firmware-a.mk

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
3 years agotfa-layerscape: don't build fiptool
Daniel Golle [Wed, 3 Feb 2021 14:42:51 +0000 (14:42 +0000)]
tfa-layerscape: don't build fiptool

tfa-fiptool is now provided by an extra package. Use that instead.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
3 years agoarm-trusted-firmware-tools: add package
Daniel Golle [Wed, 3 Feb 2021 14:41:50 +0000 (14:41 +0000)]
arm-trusted-firmware-tools: add package

Package ARM Trusted Firmware host tools separately.
(instead of building tfa-fiptool as part of tfa-layerscape)

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
3 years agoiptables: update to 1.8.7
Curtis Deptuck [Mon, 1 Feb 2021 21:03:47 +0000 (14:03 -0700)]
iptables: update to 1.8.7

ChangeLog:
https://netfilter.org/projects/iptables/files/changes-iptables-1.8.7.txt

Refresh patch:
None required

Signed-off-by: Curtis Deptuck <curtdept@me.com>
3 years agobcm63xx: sprom: override the PCI device ID
Daniel González Cabanelas [Tue, 2 Feb 2021 11:11:09 +0000 (12:11 +0100)]
bcm63xx: sprom: override the PCI device ID

The PCI device ID detected by the wifi drivers on devices using a fallback
SPROM is wrong. Currently the chipnum is used for this parameter.

Most SSB based Broadcom wifi chips are 2.4 and 5GHz capable. But on
devices without a physical SPROM, the only one way to detect if the device
suports both bands or only the 5GHz band, is by reading the device ID from
the fallback SPROM.

In some devices, this may lead to a non working wifi on a 5GHz-only card,
or in the best case a working 2.4GHz-only in a dual band wifi card.

The offset for the deviceid in SSB SPROMs is 0x0008, whereas in BCMA is
0x0060. This is true for any SPROM version.

Override the PCI device ID with the one defined at the fallback SPROM, to
detect the correct wifi card model and allow using the 5GHz band if
supported.

The patch has been tested with the following wifi radios:

BCM43222: b43: both 2.4/5GHz working
          brcm-wl: both 2.4/5GHz working

BCM43225: b43: 2.4GHz, working
 brcmsmac: working
 brcm-wl: it lacks support

BCM43217: b43: 2.4GHz, working
 brcmsmac: it lacks support
 brcm-wl: it lacks support

Signed-off-by: Daniel González Cabanelas <dgcbueu@gmail.com>
[amend commit description, rework patch to avoid using a new global variable
and keep ssb sprom extraction code as close to ssb/pci.c as possible]
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
3 years agobcm63xx: backport upstream SSB SPROM extraction
Álvaro Fernández Rojas [Tue, 2 Feb 2021 10:02:39 +0000 (11:02 +0100)]
bcm63xx: backport upstream SSB SPROM extraction

New upstream changes extract more SPROM values and fix the antenna gain.
These changes can be found in linux drivers/ssb/pci.c.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
3 years agoarm-trusted-firmware-mediatek: add ATF builds for MT7622
Daniel Golle [Tue, 2 Feb 2021 18:04:33 +0000 (18:04 +0000)]
arm-trusted-firmware-mediatek: add ATF builds for MT7622

ATF bl2 comes in 4 variants for MT7622 depending on the boot media:
 * nor
 * snand
 * emmc
 * sdmmc

Additional binary headers needed for emmc and sdmmc are downloaded as
well and provided along with bl2*.bin and bl31.bin to allow building
images including ATF for MT7622.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
3 years agoprocd: update to git HEAD
Daniel Golle [Tue, 2 Feb 2021 13:28:09 +0000 (13:28 +0000)]
procd: update to git HEAD

 0aee1c3 hotplug.c: set nl_pid to zero
 d6dda31 procd: fix compiler warning
 92c8e8f jail: remove duplicate check for hook file permissions
 0a74c06 jail: only output BPF instr. table header if debugging
 fd18379 jail: cgroups: fix uninitialized variabl

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
3 years agokernel: bump 5.4 to 5.4.94
John Audia [Sat, 30 Jan 2021 14:37:13 +0000 (09:37 -0500)]
kernel: bump 5.4 to 5.4.94

All modification made by update_kernel.sh in a fresh clone without
existing toolchains.

Build-tested: bcm27xx/bcm2711, ipq806x/R7800,
Run-tested: ipq806x/R7800

No dmesg regressions, everything functional

Signed-off-by: John Audia <graysky@archlinux.us>
3 years agomac80211: fix station rate table updates on assoc
Felix Fietkau [Mon, 1 Feb 2021 08:59:49 +0000 (09:59 +0100)]
mac80211: fix station rate table updates on assoc

If the driver uses .sta_add, station entries are only uploaded after the sta
is in assoc state. Fix early station rate table updates by deferring them
until the sta has been uploaded

Signed-off-by: Felix Fietkau <nbd@nbd.name>
3 years agomac80211: fix incorrect parameter
David Bauer [Tue, 19 Jan 2021 01:36:14 +0000 (02:36 +0100)]
mac80211: fix incorrect parameter

he_mu_beamformer only accepts values of 0 and 1 according to the hostapd
documentation.

Signed-off-by: David Bauer <mail@david-bauer.net>
3 years agoath79: ag71xx: add ethtool statistics support
Leon Leijssen [Tue, 12 Jan 2021 09:56:36 +0000 (10:56 +0100)]
ath79: ag71xx: add ethtool statistics support

Add statistics to ethtool. The statistics can be useful to
debug network issues.

The code is backported from mainline ag71xx.c driver.

Signed-off-by: Leon Leijssen <leon.git@leijssen.info>
3 years agouboot-rockchip: fix RockPro64 boot from eMMC
Marty Jones [Sat, 23 Jan 2021 16:10:36 +0000 (11:10 -0500)]
uboot-rockchip: fix RockPro64 boot from eMMC

With upstream commit f81f9f0ebac5 ("rockchip: rockpro64: initialize USB in
preboot") CONFIG_USE_PREBOOT was enabled on the RockPro64, which is causing
boot issues when a eMMC is used, as a workaround will temporarily disable
this option.

Signed-off-by: Marty Jones <mj8263788@gmail.com>
[Improve patch description]
Signed-off-by: David Bauer <mail@david-bauer.net>
3 years agoath79: add support for Ubiquiti UniFi AP Outdoor+
David Bauer [Wed, 9 Dec 2020 21:18:43 +0000 (22:18 +0100)]
ath79: add support for Ubiquiti UniFi AP Outdoor+

Hardware
--------
Atheros AR7241
16M SPI-NOR
64M DDR2
Atheros AR9283 2T2R b/g/n
2x Fast Ethernet (built-in)

Installation
------------

Transfer the Firmware update to the device using SCP.

Install using fwupdate.real -m <openwrt.bin> -d

Signed-off-by: David Bauer <mail@david-bauer.net>
3 years agomac80211: convert UniFi Outdoor+ HSR support to OF
David Bauer [Thu, 7 Jan 2021 00:03:05 +0000 (01:03 +0100)]
mac80211: convert UniFi Outdoor+ HSR support to OF

Enable support for the Ubiquiti UniFi Outdoor+ RF filter via
device-tree. The old way of using platform data is not required anymore,
as it was only used on the now removed ar71xx target.

Signed-off-by: David Bauer <mail@david-bauer.net>
3 years agoutil-linux: remove custom pkgconfig patch
Rosen Penev [Thu, 28 Jan 2021 05:17:07 +0000 (21:17 -0800)]
util-linux: remove custom pkgconfig patch

Replace with sed as done elsewhere.

Fixes error with at least btrfs-progs:

Package '@LIBSELINUX@', required by 'mount', not found
Package '@LIBCRYPTSETUP@', required by 'mount', not foun

Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years agoselinux-policy: update to git tag v0.5
Daniel Golle [Sun, 31 Jan 2021 14:01:19 +0000 (14:01 +0000)]
selinux-policy: update to git tag v0.5

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
3 years agoglibc: update to latest 2.32 commit (bug 27256)
Hans Dedecker [Sun, 31 Jan 2021 11:13:14 +0000 (12:13 +0100)]
glibc: update to latest 2.32 commit (bug 27256)

760e1d2878 gconv: Fix assertion failure in ISO-2022-JP-3 module (bug 27256)

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
3 years agomvebu: omnia: make initramfs image usable out of the box
Petr Štetiar [Sat, 30 Jan 2021 12:32:43 +0000 (13:32 +0100)]
mvebu: omnia: make initramfs image usable out of the box

Currently it's not possible to boot the device with just initramfs image
without additional effort as the initramfs image doesn't contain device
tree.  Fix it by producing FIT based image which could be booted with
following commands:

 setenv bootargs earlyprintk console=ttyS0,115200
 tftpboot ${kernel_addr_r} openwrt-mvebu-cortexa9-cznic_turris-omnia-initramfs-kernel.bin
 bootm ${kernel_addr_r}

Acked-by: Klaus Kudielka <klaus.kudielka@gmail.com>
Reviewed-by: Tomasz Maciej Nowak <tmn505@gmail.com>
Signed-off-by: Petr Štetiar <ynezz@true.cz>
3 years agotools/zstd: compile with cmake
Rosen Penev [Thu, 21 Jan 2021 04:54:58 +0000 (20:54 -0800)]
tools/zstd: compile with cmake

It's faster and more reliable.

Removed ccache cmake build dependency as it's now implicit.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years agotools/zstd: update to 1.4.8
Rosen Penev [Thu, 21 Jan 2021 04:54:57 +0000 (20:54 -0800)]
tools/zstd: update to 1.4.8

Switch to the normal tarball instead of the codeload generated one. The
latter has the potential to change hashes based on changes in the repo.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years agorules: fix empty COMMITCOUNT/AUTORELEASE
Paul Spooren [Fri, 29 Jan 2021 09:17:10 +0000 (23:17 -1000)]
rules: fix empty COMMITCOUNT/AUTORELEASE

Packages that are in-tree only often lack a PKG_VERSION and only use the
PKG_RELEASE to mark changes. Using COMMITCOUNT/AUTORELEASE variables
causes an issue as both variables are empty during the metadata DUMP
phase.

Instead of leaving these variables empty and causing an error message
like below, set the variables to 0 during dumping. On actual building
the variable is evaluated causing in a value above 0.

ERROR: please fix package/utils/px5g-wolfssl/Makefile - \
see logs/package/utils/px5g-wolfssl/dump.txt for details

Makefile:48: *** Package/px5g-wolfssl is missing the VERSION field.  Stop.

Reported-by: Daniel Golle <daniel@makrotopia.org>
Reported-by: Stijn Segers <foss@volatilesystems.org>
Reported-by: Stijn Tintel <stijn@linux-ipv6.be>
Signed-off-by: Paul Spooren <mail@aparcar.org>
3 years agoodhcpd: update to latest git HEAD
Hans Dedecker [Sat, 30 Jan 2021 20:21:13 +0000 (21:21 +0100)]
odhcpd: update to latest git HEAD

8d8a8cd dhcpv6-ia: apply prefix_filter on dhcpv6

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
3 years agotrusted-firmware-a.mk: pass package version as version identifier
Andre Heider [Fri, 22 Jan 2021 13:44:08 +0000 (14:44 +0100)]
trusted-firmware-a.mk: pass package version as version identifier

Upon boot it now prints:
NOTICE:  BL1: v2.4(release):OpenWRT v2.4-1 (espressobin-v3-v5-1gb-2cs) (Marvell-devel-18.12.0)

Signed-off-by: Andre Heider <a.heider@gmail.com>
3 years agoarm-trusted-firmware-mvebu: pass commit ids to a3700-utils/mv-ddr-marvell
Andre Heider [Mon, 18 Jan 2021 15:54:26 +0000 (16:54 +0100)]
arm-trusted-firmware-mvebu: pass commit ids to a3700-utils/mv-ddr-marvell

The two required tools fail to identify their version when not compiling
from a git clone, patch that in and pass on the used commit hashes.

Upon boot it now prints "WTMI-devel-18.12.1-5598e150".

Signed-off-by: Andre Heider <a.heider@gmail.com>
3 years agoarm-trusted-firmware-mvebu: bump espressobin boards to CPU_1000_DDR_800
Andre Heider [Sun, 17 Jan 2021 07:38:53 +0000 (08:38 +0100)]
arm-trusted-firmware-mvebu: bump espressobin boards to CPU_1000_DDR_800

The cpufreq issue has been identified and a fix is in the process of beeing
upstreamed [0].

Bump the boards to the default 1000MHz so they can run at that frequency
once the fix is merged. Until then the boards are stuck at 800MHz (just
claiming to run 1000Hz, which is a lie).

[0] https://lore.kernel.org/linux-arm-kernel/20210114124032.12765-1-pali@kernel.org/

Signed-off-by: Andre Heider <a.heider@gmail.com>
3 years agoarm-trusted-firmware-mvebu: update to v2.4
Andre Heider [Sun, 17 Jan 2021 07:37:58 +0000 (08:37 +0100)]
arm-trusted-firmware-mvebu: update to v2.4

Signed-off-by: Andre Heider <a.heider@gmail.com>