openwrt/staging/wigyori.git
3 years agoramips: fix input type for TL-MR3020 v3
David Bauer [Thu, 19 Aug 2021 21:31:41 +0000 (23:31 +0200)]
ramips: fix input type for TL-MR3020 v3

The modec{1,2} keys are actually switches.

Add the respective DTS properties to avoid accidental activation of
failsafe mode.

Signed-off-by: David Bauer <mail@david-bauer.net>
3 years agohostapd: enable proxy-arp support for hostapd-full
David Bauer [Wed, 18 Aug 2021 10:39:33 +0000 (12:39 +0200)]
hostapd: enable proxy-arp support for hostapd-full

The hostapd.sh script already has support for configuring proxy-ARP,
however no built variant has support for it enabled.

Enable proxy-ARP support for hostapd-full builds in order to allow users
to actually use this feature.

Signed-off-by: David Bauer <mail@david-bauer.net>
3 years agohostapd: fix Proxy-ARP with Hotspot 2.0 disabled
David Bauer [Wed, 18 Aug 2021 22:58:19 +0000 (00:58 +0200)]
hostapd: fix Proxy-ARP with Hotspot 2.0 disabled

The disable_dgaf config fiels is only available in case Hostapd is
compiled with Hotspot 2.0 support, however Proxy-ARP does not depend on
Hotspot 2.0.

Only add the code related to this config field when Hotspot 2.0 is
enabled to fix compilation with the aformentioned preconditions.

Signed-off-by: David Bauer <mail@david-bauer.net>
3 years agohostapd: refresh patches
David Bauer [Wed, 18 Aug 2021 22:59:55 +0000 (00:59 +0200)]
hostapd: refresh patches

Signed-off-by: David Bauer <mail@david-bauer.net>
3 years agokernel: properly handle paging errors in fit partition parser
Daniel Golle [Fri, 27 Aug 2021 20:30:32 +0000 (21:30 +0100)]
kernel: properly handle paging errors in fit partition parser

The uImage.FIT partition uses page mapping without properly handling
paging errors. This can lead to Kernel Oops in case of read errors
while trying to parse uImage.FIT partitions.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
3 years agomediatek: mt7623: replace kconfig symbol for snand driver
Chuanhong Guo [Fri, 27 Aug 2021 14:22:29 +0000 (22:22 +0800)]
mediatek: mt7623: replace kconfig symbol for snand driver

this change was missing during the spi-nand driver replacement, causing
build failure.

Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
3 years agomediatek: mt7629: manually add missing kconfig
Chuanhong Guo [Fri, 27 Aug 2021 07:40:27 +0000 (15:40 +0800)]
mediatek: mt7629: manually add missing kconfig

These options doesn't show up unless some kernel packages are selected,
so they are not covered by kernel_menuconfig.
Manually add them so that a build with all kmods can pass without user
interaction.

Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
3 years agomediatek: mt7629: build with linux 5.10
Chuanhong Guo [Tue, 24 Aug 2021 12:03:52 +0000 (20:03 +0800)]
mediatek: mt7629: build with linux 5.10

Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
3 years agomediatek: bmt: set default bmt oob offset to 0
Chuanhong Guo [Tue, 24 Aug 2021 03:23:21 +0000 (11:23 +0800)]
mediatek: bmt: set default bmt oob offset to 0

there's no driver level remapping of oob data in the new spi-nand
driver and bmt oob signature starts at 0x0 of the dumped oob data.
change the default value to 0 for the new spi-nand driver.

Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
3 years agomediatek: mtk-snand: check request size against chip info
Chuanhong Guo [Mon, 23 Aug 2021 16:31:17 +0000 (00:31 +0800)]
mediatek: mtk-snand: check request size against chip info

mtd->size will be overrided by BMT which makes all mtd requests made by
bmt fail in request size checking.
this commit changes the driver to check against actual chip size in chip
info as a workaround.

Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
3 years agomediatek: attach bmt to the new snand driver
Chuanhong Guo [Fri, 20 Aug 2021 07:21:40 +0000 (15:21 +0800)]
mediatek: attach bmt to the new snand driver

Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
3 years agomediatek: change dts to use the new snand driver
Chuanhong Guo [Tue, 24 Aug 2021 04:04:51 +0000 (12:04 +0800)]
mediatek: change dts to use the new snand driver

Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
3 years agomediatek: remove spi-nand hacks from 5.10
Chuanhong Guo [Fri, 20 Aug 2021 06:23:38 +0000 (14:23 +0800)]
mediatek: remove spi-nand hacks from 5.10

we now have a standalone mtd driver and the old spi-mem driver along
with the hack in spi-nand core can be removed.

Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
3 years agomediatek: enable new spi-nand driver for kernel 5.10
Weijie Gao [Tue, 25 May 2021 13:26:09 +0000 (21:26 +0800)]
mediatek: enable new spi-nand driver for kernel 5.10

This patch enables new spi-nand driver for mt7622 and mt7629.

Signed-off-by: Weijie Gao <hackpascal@gmail.com>
Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
3 years agomediatek: add a new spi-nand driver for kernel 5.10
Weijie Gao [Tue, 25 May 2021 13:25:14 +0000 (21:25 +0800)]
mediatek: add a new spi-nand driver for kernel 5.10

This patch adds a new spi-nand driver which implements the SNFI of mt7622
and mt7629.

Unlike the existing snfi driver which makes use of the spi-mem framework
and the spi-nand framework with modified ecc support, this driver is
implemented directly on the mtd framework with other components untouched,
and provides better performance, and behaves exactly the same as the nand
framework.

Signed-off-by: Weijie Gao <hackpascal@gmail.com>
3 years agoopenssl: bump to 1.1.1l
Eneas U de Queiroz [Thu, 26 Aug 2021 17:34:28 +0000 (14:34 -0300)]
openssl: bump to 1.1.1l

This version fixes two vulnerabilities:
  - SM2 Decryption Buffer Overflow (CVE-2021-3711)
    Severity: High

  - Read buffer overruns processing ASN.1 strings (CVE-2021-3712)
    Severity: Medium

Signed-off-by: Eneas U de Queiroz <cotequeiroz@gmail.com>
3 years agoath9k: owl-loader: remove obsolete AR71XX patch
Christian Lamparter [Fri, 20 Aug 2021 22:39:47 +0000 (00:39 +0200)]
ath9k: owl-loader: remove obsolete AR71XX patch

this is no longer necessary as the AR71XX target
was superseded by ath79.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
3 years agoath79: remove obsolete pci-ath9k-fixup.[c,h] files
Christian Lamparter [Sun, 22 Aug 2021 09:27:08 +0000 (11:27 +0200)]
ath79: remove obsolete pci-ath9k-fixup.[c,h] files

This was old code from the AR71XXs target days that
doesn't get compiled and used anymore.

Bringing up AR92xx and earlier chips from their
OWL-Emulator state is currently done by the upstream
ath9k-pci-owl-loader module. (see the kmod-owl-loader
package).

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
3 years agogpio-button-hotplug: convert to gpio descriptor (gpiod_) API
Christian Lamparter [Thu, 5 Aug 2021 13:29:25 +0000 (15:29 +0200)]
gpio-button-hotplug: convert to gpio descriptor (gpiod_) API

OpenWrt's special gpio-button-hotplug driver is still using
exclusively the legacy GPIO Subsystem gpio_ API.

While it still does work fine for most devices, upstream
linux is starting to convert platform support like that of
the APU2/3/4 to the new GPIOD LOOKUP tables that are not
supported by it.

Hence, this patch replaces the gpio_ calls present in
gpio-button-hotplug with gpiod_ equivalent wherever
it's possible. This allows the driver to use the
gpiod lookup tables and still have a fallback for
legacy platform data code that just sets button->gpio
set to the real button/switch GPIO.

As a bonus: the active_low logic is now being handled
by the linux's gpio subsystem too. Another issue that
was address is the of_handle leak in the dt parser
error path.

Tested with legacy platform data: x86_64: APU2, MX-100
Tested on OF: ATH79; MR18, APM821xx: Netgear WNDR4700,
      RAMIPS: WL-330N3G
      LANTIQ: AVM FritzBox 7360v1

Reported-by: Chris Blake <chrisrblake93@gmail.com>
Tested-by: Chris Blake <chrisrblake93@gmail.com>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
3 years agoath79: add support for onion omega
Jan-Niklas Burfeind [Mon, 23 Aug 2021 13:07:38 +0000 (15:07 +0200)]
ath79: add support for onion omega

The Onion Omega is a hardware development platform with built-in WiFi.

https://onioniot.github.io/wiki/

Specifications:
 - QCA9331 @ 400 MHz (MIPS 24Kc Big-Endian Processor)
 - 64MB of DDR2 RAM running at 400 MHz
 - 16MB of on-board flash storage
 - Support for USB 2.0
 - Support for Ethernet at 100 Mbps
 - 802.11b/g/n WiFi at 150 Mbps
 - 18 digital GPIOs
 - A single Serial UART
 - Support for SPI
 - Support for I2S

Flash instructions:
The device is running OpenWrt upon release using the ar71xx target.
Both a sysupgrade
and uploading the factory image using u-boots web-UI do work fine.

Depending on the ssh client, it might be necessary to enable outdated
KeyExchange methods e.g. in the clients ssh-config:

Host 192.168.1.1
        KexAlgorithms +diffie-hellman-group1-sha1

The stock credentials are: root onioneer

For u-boots web-UI manually configure `192.168.1.2/24` on your computer,
connect to `192.168.1.1`.

MAC addresses as verified by OEM firmware:
2G       phy0      label
LAN      eth0      label - 1

LAN is only available in combination with an optional expansion dock.

Based on vendor acked commit:
commit 5cd49bb067ca ("ar71xx: add support for Onion Omega")

Partly reverts:
commit fc553c7e4c8e ("ath79: drop unused/incomplete dts")

Signed-off-by: Jan-Niklas Burfeind <git@aiyionpri.me>
3 years agoustp: add OpenWrt STP/RSTP daemon
Felix Fietkau [Tue, 24 Aug 2021 15:40:28 +0000 (17:40 +0200)]
ustp: add OpenWrt STP/RSTP daemon

This integrates with netifd in order to provide STP/RSTP protocol support
in user space. It defaults to using RSTP for bridges with stp enabled.
This daemon has no config files, it uses the configuration passed from
netifd via ubus

Signed-off-by: Felix Fietkau <nbd@nbd.name>
3 years agofstools: update to git HEAD
Daniel Golle [Wed, 25 Aug 2021 21:49:00 +0000 (22:49 +0100)]
fstools: update to git HEAD

 50e6b20 libfstools: handle open() return value properly in F2FS check
 e1b6811 blockd: include missing libubox/utils.h

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
3 years agobmips: backport accepted watchdog patch
Álvaro Fernández Rojas [Wed, 25 Aug 2021 08:24:33 +0000 (10:24 +0200)]
bmips: backport accepted watchdog patch

This patch has been accepted for linux v5.14.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
3 years agoramips: expose ephy leds for miwifi-mini
David Yang [Sun, 11 Jul 2021 15:17:43 +0000 (23:17 +0800)]
ramips: expose ephy leds for miwifi-mini

Give users more control by exposing ephy leds.

Signed-off-by: David Yang <mmyangfl@gmail.com>
[remove execute bit on 01_leds, add status for gpio2]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
3 years agoramips: lock u-boot partition and unlock u-boot-env for miwifi-mini
David Yang [Sun, 11 Jul 2021 14:16:54 +0000 (22:16 +0800)]
ramips: lock u-boot partition and unlock u-boot-env for miwifi-mini

Generally u-boot should keep read-only to avoid mis-overwriting and
bricking the device, but u-boot-env could be safely modified with u-boot
setenv tool.

Signed-off-by: David Yang <mmyangfl@gmail.com>
3 years agoramips: increase flash freq for miwifi-mini
David Yang [Sun, 11 Jul 2021 14:13:21 +0000 (22:13 +0800)]
ramips: increase flash freq for miwifi-mini

The flash is Winbond 25Q128. As it has large rom, better to increase flash
frequency to 70MHz according to the flash spec and enable fast-read.

Signed-off-by: David Yang <mmyangfl@gmail.com>
3 years agoramips: add support for D-Link DAP-1325-A1
Giovanni Cascione [Thu, 8 Jul 2021 16:30:53 +0000 (18:30 +0200)]
ramips: add support for D-Link DAP-1325-A1

This patch adds support for D-Link DAP-1325-A1 (Range Extender Wi-Fi N300)

Specifications:
- SoC: 580Mhz MT7628NN
- RAM: 64MB, DDR2 SDRAM
- Storage: 8MB, SPI (W25Q64JVSSIQ)
- Ethernet: 1x 10/100 LAN port
- WIFI: 2.4 GHz 802.11bgn
- LED: Status (2x to provide 3 colors), Wi-Fi Signal Strength (4x)
- Buttons: Reset, WPS
- UART: Serial console (57600, 8n1)
Row of 4 holes near LAN port, starting from square hole:
3.3V, TX,RX,GND
- FCC ID: fccid.io/KA2AP1325A1/

Installation:

Failsafe UI
Firmware can be uploaded with Failsafe UI web page:
- turn device off
- press and hold reset button
- turn device on
- keep holding reset until red wifi strength led turns on (ab. 10sec)
- connect to device through LAN port
PC must be configured with static ip (192.168.0.x)
- connect to 192.168.0.50
- select image to be flashed and upload.
Device will reboot after successful update

Serial port/TFTP server
- Connect through serial connectors on PCB (e.g. with teraterm)
- Set up a TFTP server, and connect through LAN with static IP
- Put image file in the root of the server
- Boot the device and select '2' at U-Boot startup
- Set device IP, server IP and image file name
- Start upload and flash

Signed-off-by: Giovanni Cascione <ing.cascione@gmail.com>
[fix whitespaces in DTS, convert to nvmem, add mtd-eeprom]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
3 years agoath79: add support for Compex WPJ558 (16M)
Romain Mahoux [Tue, 8 Jun 2021 09:52:18 +0000 (11:52 +0200)]
ath79: add support for Compex WPJ558 (16M)

Specifications:
- SoC: QCA9558
- DRAM: 128MB DDR2
- Flash: 16MB SPI-NOR
- Wireless: on-board abgn 2×2 2.4GHz radio
- Ethernet: 2x 10/100/1000 Mbps (1x 802.11af PoE)
- miniPCIe slot

Flash instruction:
- From u-boot

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

- From cpximg loader

The cpximg loader can be started either by holding the reset button
during power up. Once it's running, a TFTP-server under 192.168.1.1 will accept
the image appropriate for the board revision that is etched on the board.

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

tftp -v -m binary 192.168.1.1 -c put openwrt-ath79-generic-compex_wpj558-16m-squashfs-cpximg-6a07.bin

Signed-off-by: Romain Mahoux <romain@mahoux.fr>
[convert to nvmem, remove redundant lan_mac in 02_network]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
3 years agoipq806x: Askey RT4230W REV6: use usual writing for pcie part
Chukun Pan [Tue, 8 Jun 2021 15:10:18 +0000 (23:10 +0800)]
ipq806x: Askey RT4230W REV6: use usual writing for pcie part

The problem has been fixed in f47cb405cafd ("ipq806x: fix pci broken
on bootm command"), now the pcie part can be written in the usual way.

Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
Reviewed-by: Ansuel Smith <ansuelsmth@gmail.com>
3 years agoramips: add support for DomyWifi DM202/DM203/DW22D
Shiji Yang [Tue, 27 Jul 2021 04:32:00 +0000 (12:32 +0800)]
ramips: add support for DomyWifi DM202/DM203/DW22D

Specifications:
* SOC: MT7620A + MT7610E
* ROM: 16 MiB spi flash (W25Q128FVSG)
* RAM: 128 MiB DDR2 (W971GG6KB-25)
* WAN: 10/100M *1
* LAN: 10/100M *4
* USB: Type-A USB2.0 *1
* SD: MicroSD *1
* Button: Reset *1
* Antennas: 2.4 GHz *2 + 5 GHz *1
* TTL Baudrate: 57600
* U-Boot Recovery: IP: 10.10.10.123, Server: 10.10.10.3

Installation:
* Web UI Update
  1. Open http://192.168.10.1/upgrade.html in the browser.
  2. Rename firmware to a short name like firmware.bin and then upload it.
  3. Fill in the password column with the following content:
  password | mtd -x mIp2osnRG3qZGdIlQPh1 -r write /tmp/firmware.bin firmware
* TFTP + U-Boot
  1. Connect device with a TTL cable.
  2. Press "2" when booting to select "Load system code then write to Flash via TFTP".
  3. Upload firmware by tftpd64, it will boot when write instruction is executed.

Signed-off-by: Shiji Yang <yangshiji66@qq.com>
3 years agoramips: add support for Motorola MWR03
Shiji Yang [Tue, 24 Aug 2021 14:59:59 +0000 (22:59 +0800)]
ramips: add support for Motorola MWR03

Specifications:
* SOC: MT7628AN + MT7612E
* ROM: 8 MiB Flash
* RAM: 64 MiB DDR2
* WAN: 10/100M *1
* LAN: 10/100M *3
* Button: Reset *1
* LEDs: orange *1, white *1
* Antennas: 2.4 GHz *2 + 5 GHz *2
* TTL Baudrate: 57600
* TFTP Upgrade: IP: 192.168.51.1, Server: 192.168.51.100

MAC addresses as verified by OEM firmware:

use   address   source
2g    *:d8      factory 0x0004 (label)
5g    *:d9      factory 0x8004
LAN   *:d7      factory $label -1
WAN   *:da      factory $label +2

Installation (TFTP + U-Boot):
 * Connect device with a TTL cable and open a serial session by
   PuTTY.
 * Press "2" when booting to select "Load system code then write
   to Flash via TFTP".
 * Configure the IP of local host server.
 * Upload firmware by tftpd64, it will boot when write instruction
   is executed.

Signed-off-by: Shiji Yang <yangshiji66@qq.com>
[fix DTS line endings, fix label MAC address, adjust status LED
 names, convert mtd-mac-address-increment to mac-address-increment]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
3 years agoipq806x: Askey RT4230W REV6: fix caldata script
Chukun Pan [Mon, 7 Jun 2021 15:35:15 +0000 (23:35 +0800)]
ipq806x: Askey RT4230W REV6: fix caldata script

The partition name in the device dts is '0:ART'.
Be independent to prevent this part from becoming
incorrect once the kernel v5.4 gone.

Fixes: da8428d277cd ("ipq806x: add support for Askey RT4230W REV6")
Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
3 years agoramips: add new flash layout support to Phicomm K2
Shiji Yang [Tue, 27 Jul 2021 04:45:05 +0000 (12:45 +0800)]
ramips: add new flash layout support to Phicomm K2

Descriptions:
Phicomm K2 (PSG1218) got a new "permanent_config" partition after
update firmware to v22.5. This partition located in front of the
firmware partition, same as The Phicomm K2P and K2G. Due to this
change the new bootloader can't load previous firmware any more.
This commit is aimed at add support for Phicomm K2 which official
firmware version is 22.5.x or newer. For which runs old firmware
version, just update OpenWrt that has a prefix of "k2-v22.4".
For uniform naming, this commit also changed the model name
PSG1218 to a more recognizable name K2, refer to Phicomm K2G,
K2P K2T.

OpenWrt selection table:
official firmware version           OpenWrt
v22.4.x.x or older              phicomm_k2-v22.4
v22.5.x.x or newer              phicomm_k2-v22.5

Installation:
Same as Phicomm K2G, K2P, PSG1208.
a. TFTP + U-Boot
b. Open telnet by some web page vulnerability (Search Baidu by key
   words "K2 telnet"), and then we can upload firmware image to
   /tmp and write it to firmware partition with mtd instruction.

Signed-off-by: Shiji Yang <yangshiji66@qq.com>
[rebase, add/harmonize version in model variables, fix version typo
 in commit message, wrap commit message properly]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
3 years agoramips: mt7620: move Phicomm MAC address setup to DTSI
Adrian Schmutzler [Tue, 24 Aug 2021 13:46:16 +0000 (15:46 +0200)]
ramips: mt7620: move Phicomm MAC address setup to DTSI

The setup is the same for all devices, so move it up one level.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
3 years agoprocd: update to git HEAD
Daniel Golle [Tue, 24 Aug 2021 17:48:35 +0000 (18:48 +0100)]
procd: update to git HEAD

 8a8306d uxc.c: fix coverity resource leak warning
 7f2398e jail: devices: create parent folder when creating devices
 0603c8d jail: return to hook callback instead of just calling it
 3edb7eb jail: check return value when opening console
 af048a3 jail: use portable sizeof(void *)
 6010bd3 utils: make sure read() string is 0 terminated
 f6daca3 uxc: free string returned by blobmsg_format_json_indent()
 51f1cd2 trace: free string returned by blobmsg_format_json_indent()
 d716cb5 trace: handle open() return value and make sure string is terminated
 b824a89 jail: preload: avoid NULL-dereference in case things go wrong
 167dc24 jail: protect against strcat buffer overflows

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
3 years agonetifd: update to the latest version
Felix Fietkau [Tue, 24 Aug 2021 11:22:15 +0000 (13:22 +0200)]
netifd: update to the latest version

94170ae24bc9 device: extend device settings flags to 64 bit
1eb0fafaa986 device: add support for configuring device link speed/duplex
ed84473b7af9 bridge: memset bst->config by default to avoid stale config values
6519cf31e4b0 bridge: add support for an external STP daemon
454e9c33c906 bridge: tune default stp parameters

Signed-off-by: Felix Fietkau <nbd@nbd.name>
3 years agolibubox: update to the latest version
Felix Fietkau [Tue, 24 Aug 2021 11:16:58 +0000 (13:16 +0200)]
libubox: update to the latest version

d716ac4bc423 list.h: add a few missing iterator macros

Signed-off-by: Felix Fietkau <nbd@nbd.name>
3 years agomac80211: add missing change for encap offload on devices with sw rate control
Felix Fietkau [Mon, 16 Aug 2021 12:10:19 +0000 (14:10 +0200)]
mac80211: add missing change for encap offload on devices with sw rate control

Signed-off-by: Felix Fietkau <nbd@nbd.name>
3 years agomac80211: refresh patch
Felix Fietkau [Mon, 16 Aug 2021 12:09:46 +0000 (14:09 +0200)]
mac80211: refresh patch

Signed-off-by: Felix Fietkau <nbd@nbd.name>
3 years agohostapd: enable ht40 in wpa_supplicant when using wider HE modes
Felix Fietkau [Mon, 16 Aug 2021 08:07:55 +0000 (10:07 +0200)]
hostapd: enable ht40 in wpa_supplicant when using wider HE modes

Signed-off-by: Felix Fietkau <nbd@nbd.name>
3 years agomac80211: fix HT40 mode for 6G band
Felix Fietkau [Mon, 16 Aug 2021 08:05:14 +0000 (10:05 +0200)]
mac80211: fix HT40 mode for 6G band

The channel offset used for VHT segment calculation was missing for HT

Signed-off-by: Felix Fietkau <nbd@nbd.name>
3 years agouhttpd: add config option for json_script
Stijn Tintel [Fri, 20 Aug 2021 11:33:51 +0000 (14:33 +0300)]
uhttpd: add config option for json_script

Add a config option for json_script instead of unconditionally including
all json files in /etc/uhttpd in every uhttpd instance. This makes it
possible to configure a single instance with an unconditional redirect,
which currently renders all other uhttpd instances unusable.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
Acked-by: Felix Fietkau <nbd@nbd.name>
3 years agoodhcpd: update to latest git HEAD
Hans Dedecker [Mon, 23 Aug 2021 19:48:06 +0000 (21:48 +0200)]
odhcpd: update to latest git HEAD

01b4e60 dhcpv4: fix uninitialized hostname in some ubus events
1666769 dhcpv6-ia: allow up to 64 bit wide hostid

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
3 years agobase-files: fix option to make /var persistent
Stijn Tintel [Mon, 23 Aug 2021 11:06:35 +0000 (14:06 +0300)]
base-files: fix option to make /var persistent

The option was initially named TARGET_ROOTFS_LN_VAR_TMP, and the check
was correct. When renaming the option to something more suitable, the
check was changed to check for n, but when an option is not set, it's
not n but empty. This results in the check always evaluating to false.
Fix the check by checking for y with ifneq.

Fixes: 57807f50ded6 ("base-files: add option to make /var persistent")
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
3 years agoath79: add support for Atheros DB120 reference board
Zoltan HERPAI [Mon, 7 Sep 2020 16:52:31 +0000 (18:52 +0200)]
ath79: add support for Atheros DB120 reference board

Atheros DB120 reference board.

Specifications:

SoC:    QCA9344
DRAM:   128Mb DDR2
Flash:  8Mb SPI-NOR, 128Mb NAND flash
Switch: 5x 10/100Mbps via AR8229 switch (integrated into SoC),
        5x 10/100/1000Mbps via QCA8237 via RGMII
WLAN:   AR9300 (SoC, 2.4G+5G) + AR9340 (PCIe, 5G-only)
USB:    1x 2.0
UART:   standard QCA UART header
JTAG:   yes
Button: 1x reset
LEDs:   a lot
Slots:  2x mPCIe + 1x mini-PCI, but using them requires
        additional undocumented changes.
Misc:   The board allows to boot off NAND, and there is
        I2S audio support as well - also requiring
        additional undocumented changes.

Installation:

1. Original bootloader

   Connect the board to ethernet
   Set up a server with an IP address of 192.168.1.10
   Make the openwrt-ath79-generic-atheros_db120-squashfs-factory.bin
   available via TFTP

   tftpboot 0x80060000 openwrt-ath79-generic-atheros_db120-squashfs-factory.bin
   erase 0x9f050000 +$filesize
   cp.b $fileaddr 0x9f050000 $filesize

2. pepe2k's u-boot_mod

   Connect the board to ethernet
   Set up a server with an IP address of 192.168.1.10
   Make the openwrt-ath79-generic-atheros_db120-squashfs-factory.bin
   available via TFTP, as "firmware.bin"

   run fw_upg

   Reboot the board.

Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
[explicit factory recipe in generic.mk, sorting in 10-ath9k-eeprom,
 convert to nvmem, use fwconcat* names in DTS, remove unneeded DT
 labels, remove redundant uart node]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
3 years agoath79: add support for Ubiquiti PowerBeam M2 (XW)
Russell Senior [Fri, 13 Aug 2021 05:57:41 +0000 (22:57 -0700)]
ath79: add support for Ubiquiti PowerBeam M2 (XW)

This patch adds support for the Ubiquiti PowerBeam M2 (XW), e.g. PBE-M2-400,
a 802.11n wireless with a feed+dish form factor. This device was previously
supported by the ar71xx loco-m-xw firmware.

Specifications:
 - Atheros AR9342 SoC
 - 64 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:
 - Downgrade to AirOS v5.5.x (latest available is 5.5.10-u2) first (see
   https://openwrt.org/toh/ubiquiti/powerbeam installation instructions)
 - Upload the factory image via AirOS web GUI.

Flashing via TFTP:
 - Use a pointy tool (e.g., unbent paperclip) 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-ubnt_powerbeam-m2-xw-squashfs-factory.bin

WARNING: so far, no non-destructive method has been discovered for
opening the enclosure to reach the serial console. Internal photos
are available here: https://fcc.io/SWX-NBM2HP

Signed-off-by: Russell Senior <russell@personaltelco.net>
3 years agoath79: rename Ubiquiti PowerBeam M (XW) to PowerBeam M5 (XW)
Russell Senior [Fri, 13 Aug 2021 05:57:39 +0000 (22:57 -0700)]
ath79: rename Ubiquiti PowerBeam M (XW) to PowerBeam M5 (XW)

The commit [1] added support for Ubiquiti PowerBeam M (XW), tested
on the PBE-M5-400. But, it turns out the PBE-M2-400 has a different
ethernet configuration, so make the support specific to the m5 version
in anticipation of adding specific support for the m2 in a separate
commit.

[1] 12eb5b2384a6 ("ath79: add support for Ubiquiti PowerBeam M (XW)")

Signed-off-by: Russell Senior <russell@personaltelco.net>
[fix model name in DTS, format commit reference in commit message]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
3 years agobase-files: add option to make /var persistent
Stijn Tintel [Mon, 25 Feb 2019 13:05:07 +0000 (15:05 +0200)]
base-files: add option to make /var persistent

In OpenWrt, /var is symlinked to /tmp by default. This is done to reduce
the amount of writes to the flash chip, which often have not the
greatest durability. As a result, things like DHCP or UPnP lease files,
are not persistent across reboots.

Since OpenWrt can run on devices with more durable storage, it makes
sense to have an option for a persistent /var. Add an option to make
/var persistent. When enabled, /var will no longer be symlinked to /tmp,
but /var/run will be symlink to /tmp/run, as it should contains only
files that should not be kept during reboot. The option is off by
default, to maintain the current behaviour.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
3 years agolldpd: bump to 1.0.12
Stijn Tintel [Sun, 22 Aug 2021 14:57:39 +0000 (17:57 +0300)]
lldpd: bump to 1.0.12

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
3 years agomediatek: mt7623: enable clock drivers for Mali-450 and audio
Daniel Golle [Sun, 22 Aug 2021 13:32:44 +0000 (14:32 +0100)]
mediatek: mt7623: enable clock drivers for Mali-450 and audio

Built clock drivers for G3DSYS and AUDSYS into the kernel to allow
multimedia features (GPU and audio) to work if they exist.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
3 years agoipq806x: fix min<>target opp-microvolt DTS mixup
Shane Synan [Thu, 19 Aug 2021 18:22:48 +0000 (14:22 -0400)]
ipq806x: fix min<>target opp-microvolt DTS mixup

Rearrange all voltage triplets for "opp_table0" to match the
specifications.  "opp-microvolt" and "opp-microvolt-<name>" triplets
are in order of <target min max>, and NOT <min target max>.

Previously, the CPU would *always* spend its time at the "minimum"
voltage, ignoring the actual intended target.  This is a regression
from previous behavior.

On an NBG6817 with a Qualcomm CPU of PVS bin #2...
(see &opp_table0 -> opp-1725000000 -> opp-microvolt-speed0-pvs2-v0)

* Before:
/usr/bin/tail -n +1 /sys/kernel/debug/opp/cpu0/opp\:1725000000/supply-0/u_volt_*
==> /sys/kernel/debug/opp/cpu0/opp:1725000000/supply-0/u_volt_max <==
1260000

==> /sys/kernel/debug/opp/cpu0/opp:1725000000/supply-0/u_volt_min <==
1200000

==> /sys/kernel/debug/opp/cpu0/opp:1725000000/supply-0/u_volt_target <==
1140000

* After:
/usr/bin/tail -n +1 /sys/kernel/debug/opp/cpu0/opp\:1725000000/supply-0/u_volt_*
==> /sys/kernel/debug/opp/cpu0/opp:1725000000/supply-0/u_volt_max <==
1260000

==> /sys/kernel/debug/opp/cpu0/opp:1725000000/supply-0/u_volt_min <==
1140000

==> /sys/kernel/debug/opp/cpu0/opp:1725000000/supply-0/u_volt_target <==
1200000

To check voltages and frequencies at run time, use...
/bin/cat /sys/kernel/debug/regulator/regulator_summary &&
  /bin/cat /sys/kernel/debug/clk/clk_summary | grep "hfpll"

See
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/tree/Documentation/devicetree/bindings/opp/opp.txt?h=v5.4.142#n91

Fixes: 1e25423be8ac ("ipq806x: refresh dtsi patches")
Signed-off-by: Shane Synan <digitalcircuit36939@gmail.com>
Reviewed-by: Ansuel Smith <ansuelsmth@gmail.com>
[commit message style cleanup, another kernel refresh]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
3 years agoramips: add label MAC address for Onion Omega 2(+)
Adrian Schmutzler [Sat, 21 Aug 2021 21:38:12 +0000 (23:38 +0200)]
ramips: add label MAC address for Onion Omega 2(+)

Thanks to a hint from Michael Siegenthaler in 4b4fa2f9fed7 ("ramips:
fix ethernet MAC address on Omega2"), the label MAC address of
the Onion Omega 2(+) can be set based on its documentation [1].

[1] https://docs.onion.io/omega2-docs/mac-address.html

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
3 years agofirmware-utils: fix build on not Linux
Kevin Darbyshire-Bryant [Sat, 21 Aug 2021 19:08:07 +0000 (20:08 +0100)]
firmware-utils: fix build on not Linux

Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
3 years agoltq-vdsl: add missing backslash
Jan Hoffmann [Sat, 21 Aug 2021 16:25:14 +0000 (18:25 +0200)]
ltq-vdsl: add missing backslash

This error was introduced with the recent cleanup.

Signed-off-by: Jan Hoffmann <jan@3e8.eu>
3 years agobcm27xx: switch to kernel 5.10
Álvaro Fernández Rojas [Sat, 21 Aug 2021 08:56:42 +0000 (10:56 +0200)]
bcm27xx: switch to kernel 5.10

After testing it on RPi B+ and RPi 4B it seems stable enough to enable it on
OpenWrt master.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
3 years agobcm27xx: add kernel 5.10 support
Álvaro Fernández Rojas [Sat, 21 Aug 2021 08:54:34 +0000 (10:54 +0200)]
bcm27xx: add kernel 5.10 support

Rebased RPi foundation patches on linux 5.10.59, removed applied and reverted
patches, wireless patches and defconfig patches.

bcm2708: boot tested on RPi B+ v1.2
bcm2709: boot tested on RPi 4B v1.1 4G
bcm2711: boot tested on RPi 4B v1.1 4G

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
3 years agogeneric: fix debloat dma-buf 5.10 patch
Álvaro Fernández Rojas [Sat, 21 Aug 2021 08:50:21 +0000 (10:50 +0200)]
generic: fix debloat dma-buf 5.10 patch

The current patch produces the following error when CONFIG_DMABUF_HEAPS is
enabled:
drivers/built-in.a: member drivers/dma-buf/heaps in archive is not an object

Fixes: b10d6044599d ("kernel: add linux 5.10 support")
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
3 years agogeneric: add missing 5.10 config symbols
Álvaro Fernández Rojas [Sat, 21 Aug 2021 08:48:07 +0000 (10:48 +0200)]
generic: add missing 5.10 config symbols

These symbols are needed for bcm27xx 5.10 kernel support.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
3 years agobcm27xx-gpu-fw: update to latest version
Álvaro Fernández Rojas [Sat, 21 Aug 2021 17:05:14 +0000 (19:05 +0200)]
bcm27xx-gpu-fw: update to latest version

Multiple firmware fixes needed for kernel updates.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
3 years agobcm27xx-userland: update to latest version
Álvaro Fernández Rojas [Sat, 21 Aug 2021 17:03:24 +0000 (19:03 +0200)]
bcm27xx-userland: update to latest version

Properly recognise all BCM2711 variants

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
3 years agomediatek: mt7623: backport musb, improve HDMI console
Daniel Golle [Sat, 21 Aug 2021 14:32:13 +0000 (15:32 +0100)]
mediatek: mt7623: backport musb, improve HDMI console

Backport support for dual-role USB 2.0 as that's what is actually
built-into MT7623.
Improve HDMI console by enabling VT and setting up tty1..tty6.
Re-add accidentally removed CONFIG_ARM_ARCH_TIMER.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
3 years agoprereq-build: require python3-distutils
Andre Heider [Tue, 10 Aug 2021 10:22:17 +0000 (12:22 +0200)]
prereq-build: require python3-distutils

Debian and Ubuntu ship a python3-minimal package which does not include
the distutils module. This is not supported by upstream and can be
considered a broken python distribution.

In practice, many scripts depend on said module, and this is a reoccuring
pain point for building various OpenWrt packages.

Require and check for said module, enough time has been wasted on this.

A list of just the most recent issues:
https://github.com/openwrt/packages/pull/16304
https://github.com/openwrt/packages/pull/16027
https://github.com/openwrt/packages/pull/15443
https://github.com/openwrt/packages/pull/14394
https://github.com/openwrt/packages/pull/12909
https://github.com/openwrt/packages/issues/12443
https://github.com/openwrt/packages/pull/11035
https://github.com/openwrt/packages/issues/10993

Signed-off-by: Andre Heider <a.heider@gmail.com>
3 years agoramips: fix ethernet MAC address on Omega2
Michael Siegenthaler [Thu, 19 Aug 2021 00:58:56 +0000 (17:58 -0700)]
ramips: fix ethernet MAC address on Omega2

According to https://docs.onion.io/omega2-docs/mac-address.html, 0x28 is
the correct location to read the address on Onion Omega 2(+) devices.

This fixes a regression introduced by commit 77e850fe76e3 ("ramips: tidy up
MAC address setup for Linkit Smart and Omega2"), which was a cleanup that
intended to preserve existing behavior. In my testing with v19.07.7,
however, the MAC address determined from the device tree takes precedence
over the one set by 02_network, so the aforementioned commit actually
changed the behavior.

Signed-off-by: Michael Siegenthaler <msiegen@google.com>
[Adapt patch to nvmem usage]
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 years agoltq-vdsl/ltq-vdsl-app: clean up configure args
Jan Hoffmann [Thu, 19 Aug 2021 16:51:45 +0000 (18:51 +0200)]
ltq-vdsl/ltq-vdsl-app: clean up configure args

The userspace application now uses the model=full option to match the
configuration of the kernel module. The source no longer contains SOAP
support, which was the primary reason to build only typical instead
of full before.

This makes several CLI commands, which were already supported in the
kernel module, available in the userspace application. For example, this
includes bbsg which allows to get information about VDSL2 bands.

Some previously applied build options were redundant. Disabling ADSL MIB
support is unnecessary, as it only applies to Danube. ADSL LED support
is no longer included in the source. ReTx counters are already included
with model type full.

This increases the size of the userspace application by approximately
15 kB (uncompressed). The kernel module does not change at all.

Signed-off-by: Jan Hoffmann <jan@3e8.eu>
3 years agofirmware-utils: add support for ZyXEL ZLD firmware
Vincent Wiemann [Mon, 2 Aug 2021 22:21:46 +0000 (00:21 +0200)]
firmware-utils: add support for ZyXEL ZLD firmware

This commit adds a tool for extracting and creating firmware archives for:
- ZyXEL NWA5121-N
- ZyXEL NWA5121-NI
- ZyXEL NWA5123-NI
- ZyXEL NWA5123-AC
- ZyXEL NWA5301
- ZyXEL NWA3560N v2
- ZyXEL WAC6100
- ZyXEL WAC6500

And maybe others...

Signed-off-by: Vincent Wiemann <vincent.wiemann@ironai.com>
3 years agodropbear: allow to use with xinetd
Fritz D. Ansel [Mon, 2 Aug 2021 18:38:31 +0000 (20:38 +0200)]
dropbear: allow to use with xinetd

with xinetd allowed+blocked (ipv6) hosts could be set
what is not possible with stock dropbear package

The file size increased 12 Bytes, so this "opimisation" did not really helped.
Within a compressed storage format it is 0..

ipk: 111.171 -> 111.361 = 190 bytes
bin: 215.128 -> 215.140 =  12 bytes

Signed-off-by: Fritz D. Ansel <fdansel@yandex.ru>
3 years agokernel: bump 5.4 to 5.4.142
John Audia [Wed, 18 Aug 2021 12:06:08 +0000 (08:06 -0400)]
kernel: bump 5.4 to 5.4.142

Removed upstreamed:
  hack-5.4/991-platform-x86-pcengines-apuv2-revert-simswitch.patch

All other patches automatically rebased.

Build system: x86_64
Build-tested: ipq806x/R7800
Run-tested: ipq806x/R7800

No dmesg regressions, everything functional

Signed-off-by: John Audia <graysky@archlinux.us>
3 years agokernel: bump 5.4 to 5.4.141
John Audia [Sun, 15 Aug 2021 13:13:34 +0000 (09:13 -0400)]
kernel: bump 5.4 to 5.4.141

All patches automatically rebased.

Build system: x86_64
Build-tested: ipq806x/R7800
Run-tested: ipq806x/R7800

No dmesg regressions, everything functional

Signed-off-by: John Audia <graysky@archlinux.us>
3 years agokernel: bump 5.10 to 5.10.60
Rui Salvaterra [Wed, 18 Aug 2021 23:19:24 +0000 (00:19 +0100)]
kernel: bump 5.10 to 5.10.60

No deleted or manually refreshed patches.

Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
3 years agogdb: update to 10.2
Rosen Penev [Sat, 28 Mar 2020 23:55:45 +0000 (16:55 -0700)]
gdb: update to 10.2

Replace some OpenWrt patches with openembedded ones for easier
maintainability. Remove several outdated ones as well.

Replace PKG_RELEASE with AUTORELEASE to avoid manual bumps.

Remove !arc dependency as it is supported upstream now.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years agomediatek: mt7623: enable more hardware features
Daniel Golle [Sat, 21 Aug 2021 03:34:15 +0000 (04:34 +0100)]
mediatek: mt7623: enable more hardware features

In order to make HDMI console available on the BananaPi BPi-R2 select
various Kconfig symbols which are useful for systems with graphics.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
3 years agouboot-mediatek: pass console=tty1 for BPi-R2
Daniel Golle [Sat, 21 Aug 2021 03:31:57 +0000 (04:31 +0100)]
uboot-mediatek: pass console=tty1 for BPi-R2

BananaPi BPi-R2 comes with HDMI and MIPI-DSI. Use dislpay facility in
Linux by add "console=tty1" boot argument.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
3 years agokernel: Do not deactivate staging drivers
Hauke Mehrtens [Sun, 15 Aug 2021 15:39:40 +0000 (17:39 +0200)]
kernel: Do not deactivate staging drivers

Do not deactivate the kernel configuration symbol CONFIG_STAGING in the
target configurations any more. This prevented the build of the exfat.ko
for example.

Fixes: FS#3979
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 years agolayerscape: Do not activate ext2 and ext3 driver options
Hauke Mehrtens [Sat, 14 Aug 2021 12:04:02 +0000 (14:04 +0200)]
layerscape: Do not activate ext2 and ext3 driver options

The ext3 driver was already removed, the kernel config options are only
there for backwards compatibility. The eth4 driver takes care of ext3
file systems. The ext4 driver also handled ext2 file systems.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 years agoarchs38: Do not activate ext3 driver options
Hauke Mehrtens [Sat, 14 Aug 2021 12:02:41 +0000 (14:02 +0200)]
archs38: Do not activate ext3 driver options

The ext3 driver was already removed, the kernel config options are only
there for backwards compatibility. The eth4 driver takes care of ext3
file systems.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 years agoat91bootstrap: Fix compile with binutils 2.36
Hauke Mehrtens [Fri, 20 Aug 2021 22:08:42 +0000 (00:08 +0200)]
at91bootstrap: Fix compile with binutils 2.36

This fixes a build problem seen after binutils 2.36 is used by default.

Fixes: 3f41153b1c28 ("toolchain/binutils: switch to version 2.36.1 by default")
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 years agouboot-at91: fix dtc compilation on host gcc 10
Hauke Mehrtens [Fri, 20 Aug 2021 22:07:54 +0000 (00:07 +0200)]
uboot-at91: fix dtc compilation on host gcc 10

Backport a patch from upstream U-Boot to fix the compile with host GCC 10.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 years agowolfssl: fix build with GCC 10 on 32 x86 targets
Stijn Tintel [Fri, 20 Aug 2021 20:45:20 +0000 (23:45 +0300)]
wolfssl: fix build with GCC 10 on 32 x86 targets

Backport upstream patch to fix build with GCC 10 on 32 x86 targets.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
3 years agomediatek: convert mtd-mac-address to nvmem for MT7629 RFB
Adrian Schmutzler [Fri, 20 Aug 2021 12:42:56 +0000 (14:42 +0200)]
mediatek: convert mtd-mac-address to nvmem for MT7629 RFB

This conversion appears to have been overlooked since it's in a
kernel patch.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
3 years agolantiq: convert mtd-mac-address to nvmem for Fritz!Box 736x
Adrian Schmutzler [Fri, 20 Aug 2021 12:27:13 +0000 (14:27 +0200)]
lantiq: convert mtd-mac-address to nvmem for Fritz!Box 736x

Convert this series by moving the definitions to the individual
devices.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
3 years agoramips: convert mtd-mac-address to nvmem for UniElec devices
Adrian Schmutzler [Thu, 19 Aug 2021 22:18:12 +0000 (00:18 +0200)]
ramips: convert mtd-mac-address to nvmem for UniElec devices

Convert this series by moving the definitions to the individual
devices.

Now all devices on ramips are converted.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
3 years agoath79: remove redundant nvmem definitions
Adrian Schmutzler [Thu, 19 Aug 2021 22:09:58 +0000 (00:09 +0200)]
ath79: remove redundant nvmem definitions

Due to use of a script when migrating from mtd-mac-address, a few
of the definitions are redundant in DTSI and DTS files. Remove
those and consolidate the definitions in parent DTSI files in a
few cases.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
3 years agoramips: remove redundant nvmem definitions
Adrian Schmutzler [Wed, 18 Aug 2021 23:50:27 +0000 (01:50 +0200)]
ramips: remove redundant nvmem definitions

Due to use of a script when migrating from mtd-mac-address, a few
of the definitions are redundant in DTSI and DTS files. Remove
those.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
3 years agoramips: fix indent in DTS for GL.iNet VIXMINI/microuter-N300
Adrian Schmutzler [Wed, 18 Aug 2021 23:32:56 +0000 (01:32 +0200)]
ramips: fix indent in DTS for GL.iNet VIXMINI/microuter-N300

Use correct indent.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
3 years agoramips: convert mtd-mac-address to nvmem for D-Link DIR-8xx
Adrian Schmutzler [Wed, 18 Aug 2021 23:16:39 +0000 (01:16 +0200)]
ramips: convert mtd-mac-address to nvmem for D-Link DIR-8xx

Convert this series by moving the definitions to the individual
devices.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
3 years agoselinux-policy: update to version 0.9
Daniel Golle [Fri, 20 Aug 2021 00:46:14 +0000 (01:46 +0100)]
selinux-policy: update to version 0.9

 592ac0f add a note
 4bacd14 sslcertfile: list /etc/ssl
 7bdefa4 example: indicate that skip is an option
 d1e9a85 wifi: sys pipe usage
 eb903e1 README: add note about policycoreutils-setfiles weak dependency
 762e011 ttyd: signull all subjects
 fbfc079 acme: add basic support for acme_cleanup.sh and acme_setup.sh
 9ac7592 acme: transition to sys.subj on generic initscript execution
 f3dd1ba acme: missing rules related to sys.subj trans on file.initscriptfile
 ae273fa odhcp6c/netifd: support drop-in directories
 5fa9b41 subj: do not encourage misconfiguration
 44722b6 blockd, logd, odhcpc6, ubiutil, mtdstordev
 a775d93 21.02 related
 a473691 rcboot runs rcuhttpd which creates /tmp/etc for /tmp/etc/uhttpd
 290e9fb rcuhttpd: related to rcboot and uci-defaults
 3fc0d8b rcuhttpd: lists /etc/uci-defaults
 1f5ef48 removes ubvol.lock policy and adds move mtd/ubi partitions

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
3 years agoimage: fix build with SELinux
Daniel Golle [Thu, 19 Aug 2021 00:23:41 +0000 (01:23 +0100)]
image: fix build with SELinux

The option '-xattr' for mksquashfs4 should be '-xattrs' which lead to
build failure with SELinux enabled. Add the missing 's'.

Fixes: 4baf47b9a8 ("images: squashfs: xattrs should not depend on buld host")
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
3 years agoath79: convert remaining mtd-mac-address cases to nvmem
Adrian Schmutzler [Wed, 18 Aug 2021 18:06:29 +0000 (20:06 +0200)]
ath79: convert remaining mtd-mac-address cases to nvmem

Since the nvmem-based approach for retrieving MAC addresses
appears to depend on the addresses being set up after the
partitions, it is no longer possible to keep the MAC address
setup in shared DTSI files while the partitions itself are
set up in DTS files for the individual devices.

In ath79 the firmware partition is typically located somewhere
"in the middle" of the partition table. Thus, it's not trivial
to share the partitions containing MAC address information in
a common DTSI (like we did in some cases on ramips).

In this commit, MAC address setup is thus moved to the relevant
partitions, and in most cases needs to be duplicated. While
the duplication is not really nice, it eventually provides a
cleaner and more tidy setup, making the DTS(I) file
fragmentation a bit more logical. This should also help
with adding new devices, as information is distributed across
less locations.

For consistency, this commit also moves the mtd-cal-data property
"down" together with the MAC address setup, so it's not based
on a partition before the latter is defined either. (This is
only done for those files touched due to nvmem conversion.)

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
3 years agoramips: convert most mtd-mac-address cases in DTSI to nvmem
Adrian Schmutzler [Tue, 17 Aug 2021 18:53:27 +0000 (20:53 +0200)]
ramips: convert most mtd-mac-address cases in DTSI to nvmem

Convert most of the cases from mtd-mac-address to nvmem where
MAC addresses are set in the DTSI, but the partitions are only
located in the device DTS. This posed some problems earlier, since
in these cases we are using partitions before they are defined,
and the nvmem system did not seem to like that.

There have been a few different resolution approaches, based on
the different tradeoffs of deduplication vs. maintainability:

 1. In many cases, the partition tables were identical except for
    the firmware partition size, and the firmware partition was
    the last in the table.
    In these cases, the partition table has been moved to the
    DTSI, and only the firmware partition's "reg" property has
    been kept in the DTS files. So, the updated nvmem definition
    could stay in the DTSI files as well.

 2. For all other cases, splitting up the partition table would
    have introduced additional complexity. Thus, the nodes to be
    converted to nvmem have been moved to the DTS files where the
    partitioning was defined.

 3. For Netgear EX2700 and WN3000RP v3, the remaining DTSI file
    was completely dissolved, as it was quite small and the name
    was not really nice either.

 4. The D-Link DIR-853 A3 was converted to nvmem as well, though
    it is just a plain DTS file not taken care of in the first
    wave.

In addition, some minor rearrangements have been made for tidyness.

Not covered (yet) by this patch are:

 * Various unielec devices
 * The D-Link DIR-8xx family

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
3 years agobcm27xx-userland: factor out a -dev package
Michael Heimpold [Sat, 27 Mar 2021 19:48:30 +0000 (20:48 +0100)]
bcm27xx-userland: factor out a -dev package

Installing headers and static libraries to the target system seems
to be not required for most use cases, so let's factor them
out into a dedicated -dev package.

This cuts down to disk usage to around 50% of the original
package to ~ 2MB - not that disk space is an issue normally,
but when using inside an initramfs only project, it counts.

Signed-off-by: Michael Heimpold <mhei@heimpold.de>
3 years agotoolchain/gcc: switch to version 10 by default
Stijn Tintel [Thu, 13 May 2021 16:45:48 +0000 (19:45 +0300)]
toolchain/gcc: switch to version 10 by default

Runtime-tested on:
* ath79
* bcm27xx/bcm2708
* bcm27xx/bcm2709
* bcm27xx/bcm2711
* mvebu/cortexa53
* octeon
* realtek
* x86/64

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
Acked-by: Hauke Mehrtens <hauke@hauke-m.de>
3 years agotoolchain/binutils: switch to version 2.36.1 by default
Stijn Tintel [Thu, 13 May 2021 16:54:34 +0000 (19:54 +0300)]
toolchain/binutils: switch to version 2.36.1 by default

Runtime-tested on:
* ath79
* bcm27xx/bcm2708
* bcm27xx/bcm2709
* bcm27xx/bcm2711
* mvebu/cortexa53
* octeon
* realtek
* x86/64

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
Acked-by: Hauke Mehrtens <hauke@hauke-m.de>
3 years agoumbim: bump to git HEAD
Stijn Tintel [Wed, 18 Aug 2021 17:45:14 +0000 (20:45 +0300)]
umbim: bump to git HEAD

 de56231 umbim: fix compilation with GCC 10

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
Acked-by: Hauke Mehrtens <hauke@hauke-m.de>
3 years agobusybox: fix compilation with GCC 10
Stijn Tintel [Thu, 13 May 2021 13:23:26 +0000 (16:23 +0300)]
busybox: fix compilation with GCC 10

When compiling busybox with GCC 10 and CONFIG_PKG_ASLR_PIE_ALL=y, there
are hundreds of errors like:

relocation R_MIPS16_26 against `xzalloc' cannot be used when making a
shared object; recompile with -fPIC

Simply solve this by no longer disabling PKG_ASLR_PIE, so that $(FPIC)
is properly added to the CFLAGS and LDFLAGS.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
Acked-by: Hauke Mehrtens <hauke@hauke-m.de>
3 years agoipq40xx: fix Edgecore ECW5211 boot
Stijn Tintel [Wed, 18 Aug 2021 13:11:11 +0000 (16:11 +0300)]
ipq40xx: fix Edgecore ECW5211 boot

The bootloader will look for a configuration section named ap.dk01.1-c2
in the FIT image. If this doesn't exist, the device won't boot.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
3 years agoramips: add WPS button for newifi d1
David Yang [Sun, 25 Jul 2021 13:21:02 +0000 (21:21 +0800)]
ramips: add WPS button for newifi d1

This device has a WPS button under WiFi antenna cover, add it to dts.

Signed-off-by: David Yang <mmyangfl@gmail.com>
3 years agoramips: mt7628: move mtd-eeprom out of root DTSI
Adrian Schmutzler [Tue, 17 Aug 2021 12:07:57 +0000 (14:07 +0200)]
ramips: mt7628: move mtd-eeprom out of root DTSI

The mt76x8 subtarget is the only one in ramips that stores the
mediatek,mtd-eeprom property directly in the "root" mt7628an.dtsi.

This is not optimal for a few different reasons:

 * If you don't really know it or are used to other (sub)targets,
   the property will be set somewhat magically.
 * The property is set based on &factory partition before (if at all)
   this partition is defined.
 * There are several devices that have different offset or even
   different partitions to read from, which will then be overwritten
   in the DTS files. Thus, definitions are scattered between root
   DTSI and individual files.

Based on these circumstances, the "root" definition is removed and
the property is added to the device-based DTS(I) files where needed
and applicable. This should be easier to grasp for unexperienced
developers and will move the property closer to the partition
definitions.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
3 years agokernel: bump 5.10 to 5.10.59
Rui Salvaterra [Sun, 15 Aug 2021 22:54:28 +0000 (23:54 +0100)]
kernel: bump 5.10 to 5.10.59

No deleted or manually refreshed patches.

Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
3 years agobase-files: rename 'sdcard' to 'legacy-sdcard'
Daniel Golle [Sat, 7 Aug 2021 13:30:53 +0000 (14:30 +0100)]
base-files: rename 'sdcard' to 'legacy-sdcard'

While an image layout based on MBR and 'bootfs' partition may be easy
to understand for users who are very used to the IBM PC and always have
the option to access the SD card outside of the device (and hence don't
really depend on other recovery methods or dual-boot), in my opinion
it's a dead end for many desirable features on embedded systems,
especially when managed remotely (and hence without an easy option to
access the SD card using another device in case things go wrong, for
example).

Let me explain:

* using a MSDOS/VFAT filesystem to store kernel(s) is problematic, as a
  single corruption of the bootfs can render the system into a state
  that it no longer boots at all. This makes dual-boot useless, or at
  least very tedious to setup with then 2 independent boot partitions
  to avoid the single point of failure on a "hot" block (the FAT index
  of the boot partition, written every time a file is changed in
  bootfs). And well: most targets even store the bootloader environment
  in a file in that very same FAT filesystem, hence it cannot be used
  to script a reliable dual-boot method (as loading the environment
  itself will already fail if the filesystem is corrupted).

* loading the kernel uImage from bootfs and using rootfs inside an
  additional partition means the bootloader can only validate the
  kernel -- if rootfs is broken or corrupted, this can lead to a reboot
  loop, which is often a quite costly thing to happen in terms of
  hardware lifetime.

* imitating MBR-boot behavior with a FAT-formatted bootfs partition
  (like IBM PC in the 80s and 90s) is just one of many choices on
  embedded targets. There are much better options with modern U-Boot
  (which is what we use and build from source for all targets booting
  off SD cards), see examples in mediatek/mt7622 and mediatek/mt7623.

Hence rename the 'sdcard' feature to 'legacy-sdcard', and prefix
functions with 'legacy_sdcard_' instead of 'sdcard_'.

Tested-by: Stijn Tintel <stijn@linux-ipv6.be>
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
3 years agoprocd: add missing dependency and fix empty mount triggers
Daniel Golle [Sun, 15 Aug 2021 16:41:59 +0000 (17:41 +0100)]
procd: add missing dependency and fix empty mount triggers

procd.sh:
 Instead of triggering on every mount.add event, there should be no
 mount trigger at all in case none of the directories passed to
 procd_add_*_mount_trigger() are located on a mountpoint configured in
 /etc/config/fstab.

uxc:
 add missing dependency on rpcd.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>