Commit Graph

6713 Commits

Author SHA1 Message Date
Christian Lamparter
0c2d984fca 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>
2021-08-29 12:05:17 +08:00
Tianling Shen
917cec8cc0
Merge Mainline 2021-08-29 00:53:33 +08:00
David Bauer
c728938f99 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>
2021-08-28 12:25:27 +08:00
David Bauer
6b8d00f674 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>
2021-08-28 12:25:12 +08:00
David Bauer
d9761d1591 hostapd: refresh patches
Signed-off-by: David Bauer <mail@david-bauer.net>
2021-08-28 12:24:57 +08:00
Christian Lamparter
4e639108a3 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>
2021-08-27 12:31:33 +08:00
Petr Štetiar
b0f313aa6f gpio-button-hotplug: remove duplicate logging text
Removes one of the duplicate `gpio-keys` words found in the logs:

 gpio-keys gpio-keys: gpio-keysdoes not support key code:143

Signed-off-by: Petr Štetiar <ynezz@true.cz>
2021-08-27 12:30:16 +08:00
Chuanhong Guo
e0ffeee947 gpio-button-hotplug: add volume button handling
This is used by PISEN WMB001N.

Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
2021-08-27 12:29:48 +08:00
David Bauer
9cf12ba1d3 gpio-button-hotplug: unify polled and interrupt code
This patch unifies the polled and interrupt-driven gpio_keys code
paths as well implements consistent handling of the debounce
interval set for the GPIO buttons and switches.

Hotplug events will only be fired if

1. The input changes its state and remains stable for the duration
   of the debounce interval (default is 5 ms).

2. In the initial stable (no state-change for duration of the
   debounce interval) state once the driver module gets loaded.

   Switch type inputs will always report their stable state.
   Unpressed buttons will not trigger an event for the initial
   stable state. Whereas pressed buttons will trigger an event.
   This is consistent with upstream's gpio-key driver that uses
   the input subsystem (and dont use autorepeat).

Prior to this patch, this was handled inconsistently for interrupt-based
an polled gpio-keys. Hence this patch unifies the shared logic into the
gpio_keys_handle_button() function and modify both implementations to
handle the initial state properly.

The changes described in 2. ) . can have an impact on the
failsafe trigger. Up until now, the script checked for button
state changes. On the down side, this allowed to trigger the
failsafe by releasing a held button at the right time. On the
plus side, the button's polarity setting didn't matter.

Now, the failsafe will only engage when a button was pressed
at the right moment (same as before), but now it can
theoretically also trigger when the button was pressed the
whole time the kernel booted and well into the fast-blinking
preinit phase. However, the chances that this can happen are
really small. This is because the gpio-button module is usually
up and ready even before the preinit state is entered. So, the
initial pressed button event gets lost and most devices behave
as before.

Bisectors: If this patch causes a device to permanently go into
failsafe or experience weird behavior due to inputs, please
check the following:
 - the GPIO polarity setting for the button
 - the software-debounce value

Run-tested for 'gpio-keys' and 'gpio-keys-polled' on

 - devolo WiFi pro 1200e
 - devolo WiFi pro 1750c
 - devolo WiFi pro 1750x
 - Netgear WNDR4700
 - Meraki MR24
 - RT-AC58U

Signed-off-by: David Bauer <mail@david-bauer.net>
Signed-off-by: Christian Lamparter <chunkeey@gmail.com> [further
cleanups, simplification and unification]
2021-08-27 12:29:23 +08:00
Petr Štetiar
53d9afc41a gpio-button-hotplug: fix 4.19 build breakage on malta/be64
While testing 4.19 build on malta/be64, I've encountered following
error:

 gpio-button-hotplug/gpio-button-hotplug.c:529:18: error: implicit
 declaration of function 'gpio_to_desc'

which is caused by the missing include fixed by this patch.

Signed-off-by: Petr Štetiar <ynezz@true.cz>
2021-08-27 12:29:04 +08:00
Petr Štetiar
03410673fb gpio-button-hotplug: gpio-keys: fix always missing first event
Commit afc056d7dc ("gpio-button-hotplug: support interrupt
properties") changed the gpio-keys interrupt handling logic in a way,
that it always misses first event, which causes issues with rc.button
scripts, so this patch restores the previous behaviour.

Fixes: afc056d7dc ("gpio-button-hotplug: support interrupt properties")
Reported-by: Kristian Evensen <kristian.evensen@gmail.com>
Tested-by: Kuan-Yi Li <kyli.tw@gmail.com>
Signed-off-by: Petr Štetiar <ynezz@true.cz>
Signed-off-by: Christian Lamparter <chunkeey@gmail.com> [drop state check]
2021-08-27 12:28:53 +08:00
Petr Štetiar
2f51547027 gpio-button-hotplug: fix wrong initial seen value
Currently the generated event contains wrong seen value, when the button
is pressed for the first time:

 rmmod gpio_button_hotplug; modprobe gpio_button_hotplug
 [ pressing the wps key immediately after modprobe ]
 gpio-keys: create event, name=wps, seen=1088, pressed=1

So this patch adds a check for this corner case and makes seen=0 if the
button is pressed for the first time.

Tested-by: Kuan-Yi Li <kyli.tw@gmail.com>
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2021-08-27 12:28:30 +08:00
Petr Štetiar
eadfebdef1 gpio-button-hotplug: use pr_debug and pr_err
pr_debug can be used with dynamic debugging.

Tested-by: Kuan-Yi Li <kyli.tw@gmail.com>
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2021-08-27 12:28:20 +08:00
Christian Lamparter
26a8d4f516 gpio-button-hotplug: support interrupt properties
Upstream Linux's input gpio-keys driver supports
specifying a external interrupt for a gpio via the
'interrupts' properties as well as having support
for software debounce.

This patch ports these features to OpenWrt's event
version. Only the "pure" interrupt-driven support is
left behind, since this goes a bit against the "gpio"
in the "gpio-keys" and I don't have a real device to
test this with.

This patch also silences the generated warnings showing
up since 4.14 due to the 'constification' of the
struct gpio_keys_button *buttons variable in the
upstream struct gpio_keys_platform_data declaration.

gpio-button-hotplug.c: In function 'gpio_keys_get_devtree_pdata':
gpio-button-hotplug.c:392:10: warning: assignment discards 'const'
	qualifier from pointer target type [-Wdiscarded-qualifiers]
   button = &pdata->buttons[i++];
          ^
gpio-button-hotplug.c: In function 'gpio_keys_button_probe':
gpio-button-hotplug.c:537:12: warning: assignment discards 'const'
	qualifier from pointer target type [-Wdiscarded-qualifiers]
   bdata->b = &pdata->buttons[i];
            ^
gpio-button-hotplug.c: In function 'gpio_keys_probe':
gpio-button-hotplug.c:563:37: warning: initialization discards 'const'
	qualifier from pointer target type [-Wdiscarded-qualifiers]
   struct gpio_keys_button *button = &pdata->buttons[i];
                                   ^
Acked-by: Petr Štetiar <ynezz@true.cz>
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2021-08-27 12:28:05 +08:00
Alan Swanson
1cadb448f9 gpio-button-hotplug: add KEY_POWER2 handling
For devices such as BTHOMEHUBV5A with both reset and restart buttons,
its easily accessible restart button has been assigned to KEY_POWER
power script to poweroff preventing accidental (or malicious) factory
resets by KEY_RESTART reset script. However an easily accessible button
immediately powering off the device is also undesirable.

As KEY_RESTART is already used for reset script (and there's no
KEY_REBOOT in Linux input events), use KEY_POWER2 for rebooting via new
reboot script with 5 second seen delay.

Fixes: FS#1965
Signed-off-by: Alan Swanson <reiver@improbability.net>
Signed-off-by: Petr Štetiar <ynezz@true.cz> [long line wrap]
2021-08-27 12:27:55 +08:00
Eneas U de Queiroz
3089ff4e46 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>
2021-08-27 12:23:23 +08:00
Felix Fietkau
477a813a36 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>
2021-08-27 12:23:11 +08:00
AmadeusGhost
e8d4bf9c52 openssl: bump to 1.1.1l
This version fixes 2 security vulnerabilities:
 - CVE-2021-3711
 - CVE-2021-3712
2021-08-26 18:40:52 +08:00
Felix Fietkau
e223dc2705 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>
2021-08-25 12:07:13 +08:00
Felix Fietkau
d8898a096d mac80211: add missing change for encap offload on devices with sw rate control
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2021-08-25 12:04:04 +08:00
Felix Fietkau
bb5ff4bd43 mac80211: refresh patch
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2021-08-25 12:03:52 +08:00
Felix Fietkau
4c6aef9b8e hostapd: enable ht40 in wpa_supplicant when using wider HE modes
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2021-08-25 12:03:34 +08:00
Felix Fietkau
031d9c0777 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>
2021-08-25 12:03:16 +08:00
Stijn Tintel
f9e9f43d89 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>
2021-08-25 12:02:37 +08:00
Stijn Tintel
ae1a7f8dbf 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: 57807f50de ("base-files: add option to make /var persistent")

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2021-08-24 12:08:02 +08:00
Stijn Tintel
0ade173016 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>
2021-08-23 12:05:51 +08:00
Stijn Tintel
88d6f4e433 lldpd: bump to 1.0.12
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2021-08-23 12:05:26 +08:00
Álvaro Fernández Rojas
eed8b5c118 bcm27xx-gpu-fw: update to latest version
Multiple firmware fixes needed for kernel updates.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2021-08-22 12:19:31 +08:00
Álvaro Fernández Rojas
d0f11fa652 bcm27xx-userland: update to latest version
Properly recognise all BCM2711 variants

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2021-08-22 12:19:20 +08:00
Jan Hoffmann
19d7a3e353 ltq-vdsl: add missing backslash
This error was introduced with the recent cleanup.

Signed-off-by: Jan Hoffmann <jan@3e8.eu>
2021-08-22 12:17:53 +08:00
Jan Hoffmann
50cce31561 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>
2021-08-22 12:17:32 +08:00
Fritz D. Ansel
ca2e7ef60b 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>
2021-08-22 12:15:33 +08:00
Rosen Penev
378c7aee44 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>
2021-08-22 12:15:19 +08:00
Daniel Golle
bcab270269 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>
2021-08-21 12:18:04 +08:00
Hauke Mehrtens
31b15ece4f at91bootstrap: Fix compile with binutils 2.36
This fixes a build problem seen after binutils 2.36 is used by default.

Fixes: 3f41153b1c ("toolchain/binutils: switch to version 2.36.1 by default")
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2021-08-21 12:15:52 +08:00
Hauke Mehrtens
57bb2557ff 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>
2021-08-21 12:15:40 +08:00
Stijn Tintel
1ab7f30ede 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>
2021-08-21 12:10:26 +08:00
Daniel Golle
a5ba541bc2 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>
2021-08-21 12:10:03 +08:00
Michael Heimpold
306d8bb733 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>
2021-08-19 12:11:01 +08:00
Stijn Tintel
2d504e55bc 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>
2021-08-19 12:10:01 +08:00
Stijn Tintel
4d0613353f 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>
2021-08-19 12:08:52 +08:00
ElonH
1fe42b3bbe kmod-qlcnic: add missing deps 2021-08-18 22:13:40 +08:00
Tianling Shen
301489a8d9
uboot-rockchip: fix typo error of patch name
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2021-08-15 18:08:20 +08:00
Tianling Shen
c65d6afc2a
uboot-rockchip: drop DDR patch for NanoPi R4S
As used rockchip's proprietary DDRloader, this hack is useless.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2021-08-15 18:04:14 +08:00
David Bauer
540d2be9f1 uboot-rockchip: update to v2021.07
Tested on NanoPi R2S

Signed-off-by: David Bauer <mail@david-bauer.net>
2021-08-15 18:02:18 +08:00
Ansuel Smith
b1c576dadb 6in4: delete tunnel on interface teardown
Delete tunnel on 6in4 interface teardown.
Should solve problem related to tunnel stuck on restart loop
with "Unknown Command" on tunnel restart due to wan connection drop.
Fixes: FS#3690

Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
2021-08-13 12:00:58 +08:00
Tianling Shen
2f1747a51f
uboot-rockchip: add NanoPi R2C support
Add support for the FriendlyARM NanoPi R2C.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2021-08-13 03:04:05 +08:00
Tianling Shen
50484ffe5c
arm-trusted-firmware-rockchip-vendor: workaround for VARIANT issue
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit 751967e121)
2021-08-13 00:36:15 +08:00
Tianling Shen
96c509e504
arm-trusted-firmware-rockchip-vendor: rework multiple devices building
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit 4262a83d1d)
2021-08-12 23:54:49 +08:00
Felix Fietkau
07a7fa998e hostapd: fix broken check in radar detection notification
This check was accidentally left in after reworking the code,
causing a segfault

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2021-08-12 12:01:56 +08:00