Thats all happening due to '' was passed as an argument, which got later
expanded to http://.
In the context of a list constructor '' is not nothing, it is an empty
string element. So fix it by using () as it will yield "nothing" and
thus not introduce an empty string element.
Remove flags from wget and curl instructing them to ignore bad server
certificates. Although other mechanisms can protect against malicious
modifications of downloads, other vectors of attack may be available
to an adversary.
TLS certificate verification can be disabled by turning oof the
"Enable TLS certificate verification during package download" option
enabled by default in the "Global build settings" in "make menuconfig"
Signed-off-by: Josh Roys <roysjosh@gmail.com>
[ add additional info on how to disable this option ] Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit 90c6e3aedf167b0ae1baf376e7800a631681e69a)
Petr Štetiar [Tue, 30 Aug 2022 06:45:39 +0000 (08:45 +0200)]
build: provide xxd -i with scripts/xxdi.pl
Dependency on xxd was added in commit c4dd2441e787 ("tools: add xxd
(from vim)") as U-Boot requires xxd to create the default environment
from an external file.
Later in commit 2b94aac7a128 ("tools: xxd: use more convenient source
tarball"), xxd from another source was used instead, but that source is
currently unavailable, so let's fix it by using simple xxdi.pl Perl
script instead.
Petr Štetiar [Tue, 30 Aug 2022 06:34:26 +0000 (08:34 +0200)]
scripts: xxdi.pl: add xxd -i compat mode
So it can serve as a standalone drop in replacement for xxd utility used
currently mostly in U-Boot packages with `xxd -i` mode which outputs C
include file style, with aim for byte to byte identical output, so the
eventual difference in the generated output is easily spottable.
Fixes: #10555 Signed-off-by: Petr Štetiar <ynezz@true.cz> Signed-off-by: Jo-Philipp Wich <jo@mein.io> [perl-fu]
(cherry picked from commit 06e01e817ec6643a35beb9e6946689e9cc7d020a)
David Bauer [Fri, 9 Sep 2022 23:01:57 +0000 (01:01 +0200)]
rockchip: ensure NanoPi R4S has unique MAC address
Ensure the MAC address for all NanoPi R4S boards is assigned unique for
each board.
FriendlyElec ship two versions of the R4S: The standard as well as the
enterprise edition with only the enterprise edition including the EEPROM
chip that stores the unique MAC address.
In order to assign both board types unique MAC addresses, fall back on
the same method used for the NanoPi R2S in case the EEPROM chip is not
present by generating the board MAC from the SD card CID.
The WWAN card is running a modified version of OpenWrt and handles
power-management as well as the LED controller (AW9523). A root shell
can be acquired by installing adb using opkg and executing "adb shell".
Commit dc9cc0d3e2a1 ("realtek: add QoS and rate control") replaced a
16 bit reserved field in the RTL83xx packet header with the initial
cpu_tag word, shifting the real cpu_tag fields by one. Adjusting for
this new shift was partially forgotten in the new RX tag decoders.
This caused the switch to block IGMP, effectively blocking IPv4
multicast.
The bug was partially fixed by commit 9d847244d9fd ("realtek: fix
RTL839X receive tag decoding")
Fix on RTL838x too, including correct NIC_RX_REASON_SPECIAL_TRAP value.
Suggested-by: Jan Hoffmann <jan@3e8.eu> Fixes: dc9cc0d3e2a1 ("realtek: add QoS and rate control") Signed-off-by: Bjørn Mork <bjorn@mork.no>
(cherry picked from commit 545c6113c93bbf7de1b0e515141a4565f7e6cece)
Felix Fietkau [Tue, 6 Sep 2022 10:12:12 +0000 (12:12 +0200)]
hostapd: rename hostapd multicast_to_unicast option to multicast_to_unicast_all
There are two feature currently altered by the multicast_to_unicast option.
1. bridge level multicast_to_unicast via IGMP snooping
2. hostapd/mac80211 config multicast_to_unicast setting
The hostapd/mac80211 setting has the side effect of converting *all* multicast
or broadcast traffic into per-station duplicated unicast traffic, which can
in some cases break expectations of various protocols.
It also has been observed to cause ARP lookup failure between stations
connected to the same interface.
The bridge level feature is much more useful, since it only covers actual
multicast traffic managed by IGMP, and it implicitly defaults to 1 already.
Renaming the hostapd/mac80211 option to multicast_to_unicast_all should avoid
unintentionally enabling this feature
Daniel Golle [Sat, 3 Sep 2022 00:57:08 +0000 (01:57 +0100)]
uboot-mediatek: backport fix for unstable UART on MT7622
Import pending patch "arm: dts: mt7622: force high-speed mode for uart"
from Weijie Gao <weijie.gao@mediatek.com> fixing the UART problems on
MT7622 which made it hard to use the U-Boot menu on devices with this
SoC.
This patch is also contained in commit c09eb08dad ("uboot-mediatek: add support for MT798x platforms")
in the development branch.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Daniel Golle [Mon, 15 Aug 2022 11:19:15 +0000 (13:19 +0200)]
uboot-mediatek: no compression means IH_COMP_NONE
Treat missing compression node in FIT image as IH_COMP_NONE.
This is implicentely already happening in most places, but for now
was still triggering an annoying warning about initramfs compression
being obsolete despite compression note being absent.
Fix this.
Daniel Golle [Sun, 28 Aug 2022 15:07:05 +0000 (16:07 +0100)]
uboot-envtools: mt7622: use 4k sectors for UniFi 6 LR (ubootmod)
Use 4k sectors when accessing the U-Boot environment on the 64MiB
SPI-NOR flash chip found in the UniFi 6 LR. The speeds up environment
write access as only 4kB instead of 64kB have to be written.
Martin Kennedy [Tue, 30 Aug 2022 00:47:24 +0000 (20:47 -0400)]
mpc85xx: Drop pci aliases to avoid domain changes
As of upstream Linux commit 0fe1e96fef0a ("powerpc/pci: Prefer PCI
domain assignment via DT 'linux,pci-domain' and alias"), the PCIe
domain address is no longer numbered by the lowest 16 bits of the PCI
register address after a fallthrough. Instead of the fallthrough, the
enumeration process accepts the alias ID (as determined by
`of_alias_scan()`). This causes e.g.:
... which then causes the sysfs path of the netdev to change,
invalidating the `wifi_device.path`s enumerated in
`/etc/config/wireless`.
One other solution might be to migrate the uci configuration, as was
done for mvebu in commit 0bd5aa89fcf2 ("mvebu: Migrate uci config to
new PCIe path"). However, there are concerns that the sysfs path will
change once again once some upstream patches[^2][^3] are merged and
backported (and `CONFIG_PPC_PCI_BUS_NUM_DOMAIN_DEPENDENT` is enabled).
Instead, remove the aliases and allow the fallthrough to continue for
now. We will provide a migration in a later release.
Fixes: #10530 Tested-by: Martin Kennedy <hurricos@gmail.com>
[Tested on the Aerohive HiveAP 330 and Extreme Networks WS-AP3825i] Signed-off-by: Martin Kennedy <hurricos@gmail.com>
(cherry picked from commit 7f4b4c29f3489697dca7495216460d0ed5023e02)
at91bootstrap: use sdmmc0 as booting media for sama5d27_som1_ek
Commit 0b7c66c ("at91bootstrap: add sama5d27_som1_eksd1_uboot as
default defconfig") changed default booting media for sama5d27_som1_ek
board w/o any reason. Changed it back to sdmmc0 as it is for all the
other Microchip supported distributions for this board (Buildroot,
Yocto Project). The initial commit cannot be cleanly reverted.
uboot-at91: use sdmmc0 as booting media for sama5d27_som1_ek
Commit adc69fe (""uboot-at91: changed som1 ek default defconfigs")
changed the booting media to sdmmc1 as default booting w/o any reason.
The Microchip releases for the rest of supported distributions (Buildroot,
Yocto Project) uses sdmmc0 as default booting media for this board.
Thus change it back to sdmmc0. With this remove references to sdmmc1
config. The initial commit cannot be cleanly reverted.
Without packet steering NAT masquarade speed on BCM4908 /jumps/ between
two speeds:
1. 826 Mb/s (±3 Mb/s)
2. 909 Mb/s (±8 Mb/s)
and it never reaches ~940 Mb/s.
Proper packet steering can improve it. Below are testing results for
running iperf TCP traffic from LAN to WAN. They were used to pick up
golden values.
f5fcdcf cli: introduce test mode and refuse firewall restart on errors a540f6d fw4: fix cosmetic issue with per-ruleset and per-table include paths 695e821 doc: fix swapped include positions in nftables.d README
Felix Fietkau [Tue, 30 Aug 2022 08:57:26 +0000 (10:57 +0200)]
mac80211: disable ft-over-ds by default
Testing has shown it to be very unreliable in variety of configurations.
It is not mandatory, so let's disable it by default until we have a better
solution.
Hauke Mehrtens [Sun, 28 Aug 2022 13:09:23 +0000 (15:09 +0200)]
kernel: Refresh on 5.10.138
Refresh all patches on top of kernel 5.10.138.
The following patches were applied upstream:
bcm27xx/patches-5.10/950-0311-drm-vc4-Adopt-the-dma-configuration-from-the-HVS-or-.patch
bcm27xx/patches-5.10/950-0317-vc4_hdmi-Remove-firmware-logic-for-MAI-threshold-set.patch
bcm27xx/patches-5.10/950-0346-drm-vc4-A-present-but-empty-dmas-disables-audio.patch
bcm27xx/patches-5.10/950-0354-drm-vc4-Add-the-2711-HVS-as-a-suitable-DMA-node.patch
bcm27xx/patches-5.10/950-0413-drm-vc4-hdmi-Don-t-access-the-connector-state-in-res.patch
bcm27xx/patches-5.10/950-0505-vc4-drm-Avoid-full-hdmi-audio-fifo-writes.patch
bcm27xx/patches-5.10/950-0512-vc4-drm-vc4_plane-Remove-subpixel-positioning-check.patch
bcm27xx/patches-5.10/950-0560-drm-vc4-drv-Remove-the-DSI-pointer-in-vc4_drv.patch
bcm27xx/patches-5.10/950-0561-drm-vc4-dsi-Use-snprintf-for-the-PHY-clocks-instead-.patch
bcm27xx/patches-5.10/950-0562-drm-vc4-dsi-Introduce-a-variant-structure.patch
bcm27xx/patches-5.10/950-0565-drm-vc4-Correct-pixel-order-for-DSI0.patch
bcm27xx/patches-5.10/950-0566-drm-vc4-Register-dsi0-as-the-correct-vc4-encoder-typ.patch
bcm27xx/patches-5.10/950-0567-drm-vc4-Fix-dsi0-interrupt-support.patch
bcm27xx/patches-5.10/950-0568-drm-vc4-Add-correct-stop-condition-to-vc4_dsi_encode.patch
bcm27xx/patches-5.10/950-0647-drm-vc4-Fix-timings-for-interlaced-modes.patch
bcm27xx/patches-5.10/950-0695-drm-vc4-Fix-margin-calculations-for-the-right-bottom.patch
Upstream sets the pixel clock to 340MHz now, do not set it to 600MHz any more.
bcm27xx/patches-5.10/950-0576-drm-vc4-hdmi-Raise-the-maximum-clock-rate.patch
Fixes: 89956c653252 ("kernel: bump 5.10 to 5.10.138") Fixes: 4209c33ae27d ("kernel: bump 5.10 to 5.10.137") Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Hauke Mehrtens [Sat, 27 Aug 2022 21:11:30 +0000 (23:11 +0200)]
mbedtls: update to version 2.28.1
Changelog: https://github.com/Mbed-TLS/mbedtls/releases/tag/v2.28.1
This release of Mbed TLS provides bug fixes and minor enhancements. This
release includes fixes for security issues.
The build problem was reported upstream:
https://github.com/Mbed-TLS/mbedtls/issues/6243
Change switch port labels to ethblack & ethblue.
Change lan1 & lan2 LEDs to ethblack_act & ethblue_act and fix GPIO pins.
Add the external phy with ethyellow label on the GB-PC2 devicetree.
Do not claim rgmii2 as gpio, it's used for ethernet with rgmii2 function.
Enable ICPlus PHY driver for IP1001 which GB-PC2 has got.
Update interface name and change netdev function.
Enable lzma compression to make up for the increased size of the kernel.
Make spi flash bindings on par with mainline Linux to fix read errors.
Tested on GB-PC2 by Petr.
Tested-by: Petr Louda <petr.louda@outlook.cz> Signed-off-by: Arınç ÜNAL <arinc.unal@arinc9.com>
(cherry picked from commit 4807bd6a00bcf44dd821047db76a2a799f403cd4)
Joerg Werner [Sun, 26 Jun 2022 15:18:39 +0000 (17:18 +0200)]
hostapd: fix WPA3 enterprise keys and ciphers
WPA3 enterprise requires group_mgmt_cipher=BIP-GMAC-256 and if 802.11r is
active also wpa_key_mgmt FT-EAP-SHA384. This commit also requires
corresponding changes in netifd.
Hauke Mehrtens [Tue, 16 Aug 2022 21:38:52 +0000 (23:38 +0200)]
iproute2: Fix KERNEL_INCLUDE in SDK
In the SDK the folder $(LINUX_DIR)/user_headers/include does not exist,
but it more or less contains the same content as
$(LINUX_DIR)/include/uapi which also exists in the SDK.
Since iproute2 commit 1d819dcc741e ("configure: fix parsing issue on
include_dir option") it checks if this folder exists and aborts the
build if it does not exists.
https://git.kernel.org/pub/scm/network/iproute2/iproute2.git/commit/?id=1d819dcc741e25958190e31f8186c940713fa0a8
With this commit the KERNEL_INCLUDE variable points to a valid folder
with the kernel include headers. I am not sure if they are actually
needed because the build worked before even with an invalid path.
Petr Štetiar [Wed, 24 Aug 2022 11:10:37 +0000 (13:10 +0200)]
rpcd: bump version to 2022-08-24
gcc 10 with -O2 reports following:
In function ‘strncpy’,
inlined from ‘rpc_sys_packagelist’ at /opt/devel/openwrt/c-projects/rpcd/sys.c:244:4:
/usr/include/x86_64-linux-gnu/bits/string_fortified.h:106:10: error: ‘__builtin_strncpy’ specified bound 128 equals destination size [-Werror=stringop-truncation]
106 | return __builtin___strncpy_chk (__dest, __src, __len, __bos (__dest));
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In function ‘strncpy’,
inlined from ‘rpc_sys_packagelist’ at /opt/devel/openwrt/c-projects/rpcd/sys.c:227:4:
/usr/include/x86_64-linux-gnu/bits/string_fortified.h:106:10: error: ‘__builtin_strncpy’ specified bound 128 equals destination size [-Werror=stringop-truncation]
106 | return __builtin___strncpy_chk (__dest, __src, __len, __bos (__dest));
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Since it is not possible to avoid truncation by strncpy, it is necessary
to make sure the result of strncpy is properly NUL-terminated and the
NUL must be inserted explicitly, after strncpy has returned.
References: #10442 Reported-by: Alexey Smirnov <s.alexey@gmail.com> Signed-off-by: Petr Štetiar <ynezz@true.cz>
(cherry picked from commit 34ddd2e545f068e4684ecce98c1da3a6c7c9b04a)
Jo-Philipp Wich [Fri, 12 Aug 2022 19:24:26 +0000 (21:24 +0200)]
uhttpd: update to latest Git HEAD
e3395cd ucode: initialize search path before VM init 8cb3f85 ucode: initialize default library search path 188dea2 utils: accept '?' as path terminator in uh_path_match() c5eac5d file: support using dynamic script handlers as error pages 290ff88 relay: trigger close if in header read state with pending data f9db538 ucode: ignore exit exceptions 8ba0b64 cmake: use variables and find_library for dependency
Jo-Philipp Wich [Wed, 24 Aug 2022 21:04:45 +0000 (23:04 +0200)]
firewall4: update to latest Git HEAD
a4484d4 fw4: support automatic includes ca7e3a1 fw4: honour enabled option of include sections 5a02f74 tests: add missing fs.stat) mock data for `nf_conntrack_dummy` 111a7f7 fw4: don't inherit zone family from ct helpers
ipq806x: add missing scaling_available_frequencies for dedicated cpufreq
Add missing scaling_available_frequencies sysfs entry for dedicated
cpufreq driver.
This sysfs entry is not standard and each cpufreq driver needs to
provide it and declare it in the cpufreq driver struct attr.
Fixes: 5dbbefcbccc0 ("ipq806x: introduce dedicated krait cpufreq") Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
[ fix conflict by dropping 5.15 patch not present in openwrt-22.03 ]
(cherry picked from commit d6994c53cd0e5334478d2aab424674da438804e2)
Sultan Alsawaf [Fri, 22 Jul 2022 06:36:31 +0000 (23:36 -0700)]
mac80211: parse the correct set of HE capabilities for AP mode
It is common for 802.11ax NICs to support more than just AP mode, which
results in there being a distinct set of HE capabilities for each mode. As
(bad) luck would have it, iw prints out info for each HE mode in sequential
order according to `enum nl80211_iftype`, and AP mode isn't always first.
As a result, the wrong set of HE capabilities can be parsed if an AP NIC
supports station (managed) mode or any other mode preceding AP mode, since
only the first set of HE capabilities printed by iw is parsed from awk's
output.
This has a noticeable impact on beamforming for example, since managed mode
usually doesn't have beamformer capabilities enabled, while AP mode does.
Hostapd won't be set up with the configs to enable beamformer capabilities
in this scenario, causing hostapd to disable beamforming to HE stations
even when it's supported by the AP.
Always parse the correct set of HE capabilities for AP mode to fix this.
This is achieved by trimming all of iw's output prior to the AP mode
capabilities, which ensures that the first set of HE capabilities are
always for AP mode.
ramips: get MAC addr from the encrypted partition (WG4хх223)
This commit resolves #10062. Adds decryption of the Arcadyan WG4xx223
configuration partition (board_data)to get base MAC address from it.
As a result, after this change the hack with saving MAC addressees to
u-boot-env before installation of OpenWrt is no longer necessary.
This is necessary for the following devices:
- Beeline Smartbox Flash (Arcadyan WG443223)
- MTS WG430223 (Arcadyan WG430223)
Collected statistic shows that the 2-4th bits of the 7th byte of the
WLAN_5g MAC are the constant (see #10062 for more details):
- Beeline Smartbox Flash - 100
- MTS WG430223 - 010
base-files: add mtd_get_mac_encrypted_arcadyan function
Some Arcadyan devices (e.g. MTS WG430223) keep their config in encrypted
mtd. This adds mtd_get_mac_encrypted_arcadyan() function to get the MAC
address from the encrypted partition. Function uses uencrypt utility for
decryption (and openssl if the uencrypt wasn't found).
This adds a simple AES-128-CBC encryption/decryption program using
either wolfSSL or OpenSSL as backend to decrypt Arcadyan WG4xx223
configuration partitions. The ipk size is 3,355 bytes.
This commit:
1. Renames beeline-trx recipe in mt7621.mk to arcadyan-trx. The recipe
is necessary for:
- MTS WG430223 (Arcadyan WG430223)
- Beeline Smartbox Flash (Arcadyan WG443223)
2. Allows specify custom trx magic which is different for the routers
mentined above.
Signed-off-by: Mikhail Zhilkin <csharper2005@gmail.com>
(cherry picked from commit 109c503bee9aed34ffb485a29af1e2ec6f3bb6b1)
[fix merging conflict in mt7621.mk] Signed-off-by: Mikhail Zhilkin <csharper2005@gmail.com>
Installation
------------
1. Login to the router web interface (superadmin:serial number)
2. Navigate to Administration -> Miscellaneous -> Access control lists &
enable telnet & enable "Remote control from any IP address"
3. Connect to the router using telnet (default admin:admin)
4. Place *factory.trx on any web server (192.168.1.2 in this example)
5. Connect to the router using telnet shell (no password required)
6. Save MAC adresses to U-Boot environment:
uboot_env --set --name eth2macaddr --value $(ifconfig | grep eth2 | \
awk '{print $5}')
uboot_env --set --name eth3macaddr --value $(ifconfig | grep eth3 | \
awk '{print $5}')
uboot_env --set --name ra0macaddr --value $(ifconfig | grep ra0 | \
awk '{print $5}')
uboot_env --set --name rax0macaddr --value $(ifconfig | grep rax0 | \
awk '{print $5}')
7. Ensure that MACs were saved correctly:
uboot_env --get --name eth2macaddr
uboot_env --get --name eth3macaddr
uboot_env --get --name ra0macaddr
uboot_env --get --name rax0macaddr
8. Download and write the OpenWrt images:
cd /tmp
wget http://192.168.1.2/factory.trx
mtd_write erase /dev/mtd4
mtd_write write factory.trx /dev/mtd4
9. Set 1st boot partition and reboot:
uboot_env --set --name bootpartition --value 0
Back to Stock
-------------
1. Run in the OpenWrt shell:
fw_setenv bootpartition 1
reboot
2. Optional step. Upgrade the stock firmware with any version to
overwrite the OpenWrt in Slot 1.
MAC addresses
-------------
+-----------+-------------------+----------------+
| Interface | MAC | Source |
+-----------+-------------------+----------------+
| label | A4:xx:xx:51:xx:F4 | No MACs was |
| LAN | A4:xx:xx:51:xx:F6 | found on Flash |
| WAN | A4:xx:xx:51:xx:F4 | [1] |
| WLAN_2g | A4:xx:xx:51:xx:F5 | |
| WLAN_5g | A6:xx:xx:21:xx:F5 | |
+-----------+-------------------+----------------+
[1]:
a. Label wasb't found neither in factory nor in other places.
b. MAC addresses are stored in encrypted partition "glbcfg". Encryption
key hasn't known yet. To ensure the correct MACs in OpenWrt, a hack
with saving of the MACs to u-boot-env during the installation was
applied.
c. Default Ralink ethernet MAC address (00:0C:43:28:80:A0) was found in
"Factory" 0xfff0. It's the same for all MTS WG430223 devices. OEM
firmware also uses this MAC when initialazes ethernet driver. In
OpenWrt we use it only as internal GMAC (eth0), all other MACs are
unique. Therefore, there is no any barriers to the operation of several
MTS WG430223 devices even within the same broadcast domain.
Stock firmware image format
---------------------------
The same as Beeline Smartbox Flash but with another trx magic
+--------------+---------------+----------------------------------------+
| Offset | | Description |
+==============+===============+========================================+
| 0x0 | 31 52 48 53 | TRX magic "1RHS" |
+--------------+---------------+----------------------------------------+
Chuncheng Chen [Tue, 14 Jun 2022 06:11:52 +0000 (14:11 +0800)]
ramips: add support for ASUS RT-AX53U
Specifications:
- Device: ASUS RT-AX53U
- SoC: MT7621AT
- Flash: 128MB
- RAM: 256MB
- Switch: 1 WAN, 3 LAN (10/100/1000 Mbps)
- WiFi: MT7905 2x2 2.4G + MT7975 2x2 5G
- Ports: USB 3.0
- LEDs: 1x POWER (blue, configurable)
3x LAN (blue, configurable)
1x WAN (blue, configurable)
1x USB (blue, not configurable)
1x 2.4G (blue, not configurable)
1x 5G (blue, not configurable)
Flash by U-Boot TFTP method:
- Configure your PC with IP 192.168.1.2
- Set up TFTP server and put the factory.bin image on your PC
- Connect serial port(rate:115200) and turn on AP, then interrupt "U-Boot Boot Menu" by hitting any key
Select "2. Upgrade firmware"
Press enter when show "Run firmware after upgrading? (Y/n):"
Select 0 for TFTP method
Input U-Boot's IP address: 192.168.1.1
Input TFTP server's IP address: 192.168.1.2
Input IP netmask: 255.255.255.0
Input file name: openwrt-ramips-mt7621-asus_rt-ax53u-squashfs-factory.bin
- Restart AP aftre see the log "Firmware upgrade completed!"
Signed-off-by: Chuncheng Chen <ccchen1984@gmail.com>
(replaced led label, added key-* prefix to buttons, added note about
BBT) Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
(cherry picked from commit 8c00fd9b4519bf0ef8fb3470a6df421b9f38c03c)
Josef Schlehofer [Tue, 26 Jul 2022 12:32:37 +0000 (14:32 +0200)]
mvebu: backport pending Turris Omnia LEDs improvements
It backports this patch series, which is currently on review:
https://lore.kernel.org/linux-leds/20220704105955.15474-1-kabel@kernel.org/T/#rb89a4ca5a836f17bdcc53d65549e0b1779bb6a18
It allows being able to configure LEDs in userspace.
This fixes issue described in Turris Build repository
https://gitlab.nic.cz/turris/os/build/-/issues/354
It happens in OpenWrt as well.
- Before
```
root@turris:/# ls /sys/class/leds/
ath10k-phy0 ath9k-phy1 mmc0::
```
Josef Schlehofer [Tue, 26 Jul 2022 12:31:26 +0000 (14:31 +0200)]
mvebu: backport DTS changes for Turris Omnia from mvebu/dt
My commit backported patches from the following links:
- https://lore.kernel.org/linux-arm-kernel/20220704113622.18887-1-kabel@kernel.org/
- https://lore.kernel.org/linux-arm-kernel/20220704113622.18887-2-kabel@kernel.org/
According to the links, they are applied in repository mvebu in branch dt,
so it should be included in upcoming Linux version soon.
In subtarget p2020, there wasn't enabled nand support, and because of
that there weren't available tools from mtd-utils package, which has
utilities for NAND flash memory even though reference board, which
is the only currently supported device in p2020 subtarget has NAND [1].
All subtargets in mpc85xx has already enabled nand support, let's do it
globally.
Add support for LEDs of the CZ.NIC Turris Omnia using the upstream
driver.
There is no generic way to control the LEDs in UCI manner, however
the kernel module is the first step to actually use the RGB LEDs in
custom logic.
Signed-off-by: Stefan Kalscheuer <stefan@stklcode.de>
(removed DMARC notice, added driver to Turris Omnia, moved module
recipe to target/linux/mvebu/modules.mk) Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
(cherry picked from commit f8fa38c13fcc3b4ce9a4dfc56d98e5188353afac) Reviewed-by: Robert Marko <robimarko@gmail.com>
Hauke Mehrtens [Sat, 6 Aug 2022 21:12:56 +0000 (23:12 +0200)]
toolchain: Update glibc 2.34 to recent HEAD
This adds the following changes: 71326f1f2f nptl: Fix pthread_cancel cancelhandling atomic operations 3e0a91b79b scripts: Add glibcelf.py module f0c71b34f9 Default to --with-default-link=no (bug 25812) ca0faa140f misc: Fix rare fortify crash on wchar funcs. [BZ 29030] 0d477e92c4 INSTALL: Rephrase -with-default-link documentation bc56ab1f4a dlfcn: Do not use rtld_active () to determine ld.so state (bug 29078) 83cc145830 scripts/glibcelf.py: Mark as UNSUPPORTED on Python 3.5 and earlier 16245986fb x86-64: Optimize load of all bits set into ZMM register [BZ #28252] b5a44a6a47 x86: Modify ENTRY in sysdep.h so that p2align can be specified 5ec3416853 x86: Optimize memcmp-evex-movbe.S for frontend behavior and size 6d18a93dbb x86: Optimize memset-vec-unaligned-erms.S baf3ece634 x86: Replace sse2 instructions with avx in memcmp-evex-movbe.S f35ad30da4 x86-64: Improve EVEX strcmp with masked load a182bb7a39 x86-64: Remove Prefer_AVX2_STRCMP 2e64237a87 x86-64: Replace movzx with movzbl a7392db2ff x86: Optimize memmove-vec-unaligned-erms.S cecbac5212 x86: Double size of ERMS rep_movsb_threshold in dl-cacheinfo.h 7cb126e7e7 x86: Shrink memcmp-sse4.S code size 4bbd0f866a x86-64: Use notl in EVEX strcmp [BZ #28646] f3a99b2216 x86: Don't set Prefer_No_AVX512 for processors with AVX512 and AVX-VNNI c796418d00 x86: Optimize L(less_vec) case in memcmp-evex-movbe.S 9681691402 linux: Fix missing internal 64 bit time_t stat usage 55640ed3fd i386: Regenerate ulps 88a8637cb4 linux: Fix fchmodat with AT_SYMLINK_NOFOLLOW for 64 bit time_t (BZ#29097) c66c92181d posix/glob.c: update from gnulib bc6fba3c80 Add PF_MCTP, AF_MCTP from Linux 5.15 to bits/socket.h fd5dbfd1cd Update kernel version to 5.15 in tst-mman-consts.py 5146b73d72 Add ARPHRD_CAN, ARPHRD_MCTP to net/if_arp.h 6af165658d Update syscall lists for Linux 5.17 81181ba5d9 Update kernel version to 5.16 in tst-mman-consts.py 0499c3a95f Update kernel version to 5.17 in tst-mman-consts.py f858bc3093 Add SOL_MPTCP, SOL_MCTP from Linux 5.16 to bits/socket.h c108e87026 aarch64: Add HWCAP2_ECV from Linux 5.16 97cb8227b8 Add HWCAP2_AFP, HWCAP2_RPRES from Linux 5.17 to AArch64 bits/hwcap.h 31af92b9c8 manual: Clarify that abbreviations of long options are allowed 0d5b36c8cc x86: Optimize strcmp-avx2.S c41a66767d x86: Optimize strcmp-evex.S d299032743 x86-64: Fix strcmp-avx2.S 53ddafe917 x86-64: Fix strcmp-evex.S ea19c490a3 x86: Improve vec generation in memset-vec-unaligned-erms.S 190ea5f7e4 x86: Remove SSSE3 instruction for broadcast in memset.S (SSE2 Only) 5cb6329652 x86-64: Optimize bzero 70509f9b48 x86: Set .text section in memset-vec-unaligned-erms 5373c90f2e x86: Fix bug in strncmp-evex and strncmp-avx2 [BZ #28895] e123f08ad5 x86: Fix fallback for wcsncmp_avx2 in strcmp-avx2.S [BZ #28896] e4a2fb76ef manual: Document the dlinfo function 91c2e6c3db dlfcn: Implement the RTLD_DI_PHDR request type for dlinfo b72bbba236 fortify: Ensure that __glibc_fortify condition is a constant [BZ #29141] 8de6e4a199 x86: Improve L to support L(XXX_SYMBOL (YYY, ZZZ)) 6cba46c858 x86_64/multiarch: Sort sysdep_routines and put one entry per line 37f373e334 x86-64: Remove bzero weak alias in SS2 memset dd457606ca x86_64: Remove bcopy optimizations 3c55c20756 x86: Code cleanup in strchr-avx2 and comment justifying branch dd6d3a0bbc x86: Code cleanup in strchr-evex and comment justifying branch 0ae1006967 x86: Optimize strcspn and strpbrk in strcspn-c.c 0a2da01110 x86: Optimize strspn in strspn-c.c 0dafa75e3c x86: Remove strcspn-sse2.S and use the generic implementation 3811544655 x86: Remove strpbrk-sse2.S and use the generic implementation a4b1cae068 x86: Remove strspn-sse2.S and use the generic implementation 5997011826 x86: Optimize str{n}casecmp TOLOWER logic in strcmp.S 3605c74407 x86: Optimize str{n}casecmp TOLOWER logic in strcmp-sse42.S 3051cf3e74 x86: Add AVX2 optimized str{n}casecmp b13a2e68eb x86: Add EVEX optimized str{n}casecmp 80883f4354 x86: Remove AVX str{n}casecmp 4ff6ae069b x86: Small improvements for wcslen ffe75982cc x86: Remove memcmp-sse4.S df5de87260 x86: Cleanup page cross code in memcmp-avx2-movbe.S 0a11305416 x86: Optimize {str|wcs}rchr-sse2 00f09a14d2 x86: Optimize {str|wcs}rchr-avx2 596c9a32cc x86: Optimize {str|wcs}rchr-evex 1f83d40dfa elf: Remove unused NEED_DL_BASE_ADDR and _dl_base_addr b0bd6a1323 elf: Merge dl-sysdep.c into the Linux version 2139b1848e Linux: Remove HAVE_AUX_SECURE, HAVE_AUX_XID, HAVE_AUX_PAGESIZE 458733fffe Linux: Remove DL_FIND_ARG_COMPONENTS 08728256fa Linux: Assume that NEED_DL_SYSINFO_DSO is always defined 4b9cd5465d Linux: Consolidate auxiliary vector parsing 1cc4ddfeeb Revert "Linux: Consolidate auxiliary vector parsing" 28bdb03b1b Linux: Include <dl-auxv.h> in dl-sysdep.c only for SHARED ff900fad89 Linux: Consolidate auxiliary vector parsing (redo) be9240c84c elf: Remove __libc_init_secure 1e7b011f87 i386: Remove OPTIMIZE_FOR_GCC_5 from Linux libc-do-syscall.S 1a5b9d1a23 i386: Honor I386_USE_SYSENTER for 6-argument Linux system calls b38c9cdb58 Linux: Define MMAP_CALL_INTERNAL b2387bea84 ia64: Always define IA64_USE_NEW_STUB as a flag macro e7ca2a475c Linux: Implement a useful version of _startup_fatal 43d77ef9b8 Linux: Introduce __brk_call for invoking the brk system call ede8d94d15 csu: Implement and use _dl_early_allocate during static startup 89b638f48a S390: Enable static PIE c73c79af7d rtld: Use generic argv adjustment in ld.so [BZ #23293] b2585cae28 linux: Add a getauxval test [BZ #23293] 14770f3e04 string.h: fix __fortified_attr_access macro call [BZ #29162] 83ae8287c1 x86: Fallback {str|wcs}cmp RTM in the ncmp overflow case [BZ #29127] ff450cdbde Fix deadlock when pthread_atfork handler calls pthread_atfork or dlclose b349fe0722 misc: Use 64 bit stat for daemon (BZ# 29203) aa8a87f51d misc: Use 64 bit stat for getusershell (BZ# 29204) 9db6a597ef posix: Use 64 bit stat for posix_fallocate fallback (BZ# 29207) f9c3e57ac2 posix: Use 64 bit stat for fpathconf (_PC_ASYNC_IO) (BZ# 29208) 61fd3e0e74 socket: Use 64 bit stat for isfdtype (BZ# 29209) 34422108f4 inet: Use 64 bit stat for ruserpass (BZ# 29210) 52431199b5 catgets: Use 64 bit stat for __open_catalog (BZ# 29211) b3f935940e iconv: Use 64 bit stat for gconv_parseconfdir (BZ# 29213) 9947f2df19 socket: Fix mistyped define statement in socket/sys/socket.h (BZ #29225) 4c92a10412 powerpc: Fix VSX register number on __strncpy_power9 [BZ #29197] a7ec6363a3 nptl: Fix __libc_cleanup_pop_restore asynchronous restore (BZ#29214) 96944f0f81 hppa: Remove _dl_skip_args usage (BZ# 29165) bb4148283f nios2: Remove _dl_skip_args usage (BZ# 29187) 368c5c3e00 nss: add assert to DB_LOOKUP_FCT (BZ #28752) 94ab2088c3 nss: handle stat failure in check_reload_and_get (BZ #28752) 4b246b2bbd linux: Fix mq_timereceive check for 32 bit fallback code (BZ 29304) 7789a84923 nptl: Fix ___pthread_unregister_cancel_restore asynchronous restore 8d324019e6 x86_64: Remove end of line trailing spaces eb9aa96fac x86_64: Remove bzero optimization 8ab861d295 x86_64: Implement evex512 version of strlen, strnlen, wcslen and wcsnlen f6bc52f080 x86-64: Ignore r_addend for R_X86_64_GLOB_DAT/R_X86_64_JUMP_SLOT 82a707aeb7 x86_64: Add strstr function with 512-bit EVEX 70be93d1c5 x86: Create header for VEC classes in x86 strings library e805606193 x86: Add COND_VZEROUPPER that can replace vzeroupper if no `ret` 4901009dad x86: Optimize memrchr-sse2.S 83a986e9fb x86: Optimize memrchr-evex.S b05bd59823 x86: Optimize memrchr-avx2.S a910d7e164 x86: Shrink code size of memchr-avx2.S 3c87383a20 x86: Shrink code size of memchr-evex.S 820504e3ed x86: ZERO_UPPER_VEC_REGISTERS_RETURN_XTEST expect no transactions fc54e1fae8 x86: Align varshift table to 32-bytes 6e008c884d x86: Fix misordered logic for setting `rep_movsb_stop_threshold` 9d50e162ee x86: Add sse42 implementation to strcmp's ifunc 94b0dc9419 x86: Add bounds `x86_non_temporal_threshold` ba1c3f23d9 x86: Cleanup bounds checking in large memcpy case c51d8d383c x86: Add BMI1/BMI2 checks for ISA_V3 check d201c59177 x86: Align entry for memrchr to 64-bytes. aadd0a1c7c x86: Put wcs{n}len-sse4.1 in the sse4.1 text section f4598f0351 x86: Add definition for __wmemset_chk AVX2 RTM in ifunc impl list 7079931c51 x86: Move and slightly improve memset_erms 35f9c72c8b x86: Move mem{p}{mov|cpy}_{chk_}erms to its own file ccc54bd61c x86: Add missing IS_IN (libc) check to strncmp-sse4_2.S b991af5063 Update syscall-names.list for Linux 5.18 b2f32e7464 malloc: Simplify implementation of __malloc_assert 875b2414cd dlfcn: Pass caller pointer to static dlopen implementation (bug 29446) 4ab59ce4e5 Update syscall lists for Linux 5.19
Oscar Molnar [Sat, 6 Aug 2022 15:13:41 +0000 (16:13 +0100)]
build: add support for python3.11 and higher
python3.11 beta is out but fails to run the makefile currently
this supports python versions from 3.6 to 3.99 with the python3 binary
it also checks specifically for 3.11 as it is the latest version out
Lech Perczak [Tue, 9 Aug 2022 23:10:57 +0000 (01:10 +0200)]
ath25: fix initramfs image generation
Commit 21f460a5dbef ("ath25: fix duplicate LZMA compression") changed
the way kernel images are generated, affecting initramfs images instead.
Initramfs images were previously ELF images, and by mistake this change
caused the raw kernel image to be used as a source. This caused them to
be non-loadable by bootloaders.
Restore the previous KERNEL_INITRAMFS recipe and adjust
KERNEL_INITRAMFS_NAME to point at the correct source artifact.
While at that, adjust KERNEL_INITRAMFS_SUFFIX to -kernel.elf,
so it matches the suffix of non-initramfs kernel artifact.
Lech Perczak [Tue, 9 Aug 2022 23:06:24 +0000 (01:06 +0200)]
ath25: fix ELF image generation
Commit 21f460a5dbef ("ath25: fix duplicate LZMA compression"), when
attempting to restore ELF artifact generation, copiedover the raw
kernel image twice. Because of that, the .elf artifact was actually a
duplicate of raw image.
Fix that by copying over .elf suffixed kernel image instead.
Hauke Mehrtens [Sat, 5 Mar 2022 18:08:27 +0000 (19:08 +0100)]
kernel: Backport upstream flowtable patches from 5.15
This backports some patches from kernel 5.15 to fix issues with
flowtable offloading in kernel 5.10. OpenWrt backports most of the
patches related to flowtable offloading from kernel 5.15 already, but we
are missing some of the extra fixes.
This fixes some connection tracking problems when a flow gets removed
from the offload and added to the normal SW path again.
The patch 614-v5.18-netfilter-flowtable-fix-TCP-flow-teardown.patch was
extended manually with the nf_conntrack_tcp_established() function.
Hauke Mehrtens [Sun, 7 Aug 2022 12:06:14 +0000 (14:06 +0200)]
kernel: kmod-nft-nat6: Remove package
The nft NAT packages for IPv4 and IPv6 were merged into the common
packages with kernel 5.1. The kmod-nft-nat6 package was empty in our
build, remove it.
Multiple kernel configuration options were also removed, remove them
from our generic kernel configuration too.
Thomas Langer [Fri, 29 Jul 2022 16:35:57 +0000 (18:35 +0200)]
kernel: netsupport: kmod-sched: explicitly define included modules
Change SCHED_MODULES_EXTRA to an explicit list of modules
instead of taking everything that is not filtered out.
This removes the need of updating the filter each time an extra
sch_*, act_* or similar is added with an own kmod definition.
Signed-off-by: Thomas Langer <tlanger@maxlinear.com> Signed-off-by: Hauke Mehrtens <hmehrtens@maxlinear.com>
(cherry picked from commit 1b956e66ccafc962033260567c2f1e845f71683f)