Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

sync 2109 #158

Merged
Merged

Conversation

rmandrad
Copy link
Owner

Thanks for your contribution to OpenWrt!

To help keep the codebase consistent and readable,
and to help people review your contribution,
we ask you to follow the rules you find in the wiki at this link
https://openwrt.org/submitting-patches

Please remove this message before posting the pull request.

dhewg and others added 30 commits September 16, 2024 00:19
Bring it in line with all the other targets.

Signed-off-by: Andre Heider <[email protected]>
Link: openwrt#16099
Signed-off-by: Hauke Mehrtens <[email protected]>
This is an automatically generated commit.

When doing `git bisect`, consider `git bisect --skip`.

Signed-off-by: Andre Heider <[email protected]>
Link: openwrt#16099
Signed-off-by: Hauke Mehrtens <[email protected]>
This is an automatically generated commit which aids following Kernel patch
history, as git will see the move and copy as a rename thus defeating the
purpose.

For the original discussion see:
https://lists.openwrt.org/pipermail/openwrt-devel/2023-October/041673.html

Signed-off-by: Andre Heider <[email protected]>
Link: openwrt#16099
Signed-off-by: Hauke Mehrtens <[email protected]>
.dts files were moved to the 'ti/omap' sub-directory.

Signed-off-by: Andre Heider <[email protected]>
Link: openwrt#16099
Signed-off-by: Hauke Mehrtens <[email protected]>
Unset CONFIG_CRYPTO_MANAGER_DISABLE_TESTS and
CONFIG_CRYPTO_MANAGER_EXTRA_TESTS manually to fix these linker errors:
crypto/crypto_engine.o: in function `crypto_engine_register_akcipher': undefined reference to `crypto_register_akcipher'
crypto/crypto_engine.o: in function `crypto_engine_unregister_akcipher': undefined reference to `crypto_unregister_akcipher'
crypto/crypto_engine.o: in function `crypto_engine_register_kpp': undefined reference to `crypto_register_kpp'
crypto/crypto_engine.o: in function `crypto_engine_unregister_kpp': undefined reference to `crypto_unregister_kpp'

Signed-off-by: Andre Heider <[email protected]>
Link: openwrt#16099
Signed-off-by: Hauke Mehrtens <[email protected]>
Switch to Linux 6.6.

Signed-off-by: Andre Heider <[email protected]>
Link: openwrt#16099
Signed-off-by: Hauke Mehrtens <[email protected]>
We switched to 6.6, so lets remove 6.1 support now.

Signed-off-by: Andre Heider <[email protected]>
Link: openwrt#16099
Signed-off-by: Hauke Mehrtens <[email protected]>
Specifications:
- Device: DNA Valokuitu Plus EX400
- SoC: MT7621A
- Flash: 256MB NAND
- RAM: 256MB
- Ethernet: Built-in, 2 x 1GbE
- Wifi: MT7603 2.4 GHz, MT7615 5 GHz (4x internal antennas)
- USB: 1x 3.0
- LED: 1x green/red, 1x green
- Buttons: Reset

MAC addresses:
- LAN:     u-boot 'ethaddr' (label)
- WAN:     label + 1
- 2.4 GHz: label + 6
- 5 GHz:   label + 7

Serial:
 There is a black block connector next to the red ethernet connector. It
 is accessible also through holes in the casing.

Pinout (TTL 3.3V)
 +---+---+
 |Tx |Rx |
 +---+---+
 |Vcc|Gnd|
 +---+---+

Firmware:
 The vendor firmware is a fork of OpenWrt (Reboot) with a kernel version
 4.4.93. The flash is arranged as below and there is a dual boot
 mechanism alternating between rootfs_0 and rootfs_1.

 +-------+------+------+-----------+-----------+
 |       | env1 | env2 | rootfs_0  |  rootfs_1 |
 |       +------+------+-----------+-----------+
 |       |         UBI volumes                 |
 +-------+-------------------------------------+
 |U-Boot |             UBI                     |
 +-------+-------------------------------------+
 |mtd0   |             mtd1                    |
 +-------+-------------------------------------+
 |                     NAND                    |
 +---------------------------------------------+

 In OpenWrt rootfs_0 will be used as a boot partition that will contain the
 kernel and the dtb. The squashfs rootfs and overlay are standard OpenWrt
 behaviour.

 +-------+------+------+-----------+--------+------------+
 |       | env1 | env2 | rootfs_0  | rootfs | rootfs_data|
 |       +------+------+-----------+--------+------------+
 |       |         UBI volumes                           |
 +-------+-----------------------------------------------+
 |U-Boot |             UBI                               |
 +-------+-----------------------------------------------+
 |mtd0   |             mtd1                              |
 +-------+-----------------------------------------------+
 |                     NAND                              |
 +-------------------------------------------------------+

U-boot:
 With proper serial access booting can be halted to U-boot by pressing any
 key. TFTP and flash writes are available, but only the first one has been
 tested.

 NOTE: Recovery mode can be accessed by holding down the reset button while
 powering on the device. The led 'Update' will show a solid green light
 once ready. A web server will be running at 192.168.1.1:80 and it will
 allow flashing a firmware package. You can cycle between rootfs_0 and
 rootfs_1 by pressing the reset button once.

Root password:
 With the vendor web UI create a backup of your settings and download the
 archive to your computer. Within the archive in the file
 /etc/shadow replace the password hash for root with that of a password you
 know. Restore the configuration with the vendor web UI and you will have
 changed the root password.

SSH access:
 You might need to enable the SSH service for LAN interface as by default
 it's enabled for WAN only.

Installing OpenWrt:
 With the vendor web UI install the OpenWrt factory image. Alternatively,
 ssh to the device and use sysupgrade -n from cli.

 Finalize by installing the OpenWrt sysupgrade image to get a fully
 functioning system.

Reverting to the vendor firmware:

 Boot with OpenWrt initramfs image
  - Remove volumes rootfs_0, rootfs and rootfs_data and create vendor
    volumes.

    ubirmvol /dev/ubi0 -n 2
    ubirmvol /dev/ubi0 -n 3
    ubirmvol /dev/ubi0 -n 4
    ubimkvol /dev/ubi0 -N rootfs_0 -S 990
    ubimkvol /dev/ubi0 -N rootfs_1 -S 990

 Power off and enter to the U-boot recovery to install the vendor
 firmware.

Known issues:
 - MACs for wifi are stored in currently unknown place but it seems
   to persist over power-off. They might be stored on the chip.

Signed-off-by: Mauri Sandberg <[email protected]>
[rmilecki: try NVMEM for MACs]
Signed-off-by: Rafał Miłecki <[email protected]>
Release 2.11 has been quite a few new features and fixes since the 2.10
release. The following ChangeLog entries highlight some of the main
changes:

* Wi-Fi Easy Connect
  - add support for DPP release 3
  - allow Configurator parameters to be provided during config exchange
* HE/IEEE 802.11ax/Wi-Fi 6
  - various fixes
* EHT/IEEE 802.11be/Wi-Fi 7
  - add preliminary support
* SAE: add support for fetching the password from a RADIUS server
* support OpenSSL 3.0 API changes
* support background radar detection and CAC with some additional
  drivers
* support RADIUS ACL/PSK check during 4-way handshake (wpa_psk_radius=3)
* EAP-SIM/AKA: support IMSI privacy
* improve 4-way handshake operations
  - use Secure=1 in message 3 during PTK rekeying

...and many more

Remove upstreamed patches:
  023-ndisc_snoop-call-dl_list_del-before-freeing-ipv6-add.patch
  030-driver_nl80211-rewrite-neigh-code-to-not-depend-on-l.patch
  040-mesh-allow-processing-authentication-frames-in-block.patch
  181-driver_nl80211-update-drv-ifindex-on-removing-the-fi.patch
  182-nl80211-move-nl80211_put_freq_params-call-outside-of.patch
  183-hostapd-cancel-channel_list_update_timeout-in-hostap.patch
  210-build-de-duplicate-_DIRS-before-calling-mkdir.patch
  253-qos_map_set_without_interworking.patch
  751-qos_map_ignore_when_unsupported.patch
  800-SAE-Check-for-invalid-Rejected-Groups-element-length.patch
  801-SAE-Check-for-invalid-Rejected-Groups-element-length.patch
  802-SAE-Reject-invalid-Rejected-Groups-element-in-the-pa.patch

Other patches has been updated.

Signed-off-by: Ivan Pavlov <[email protected]>
Link: openwrt#16338
Signed-off-by: Robert Marko <[email protected]>
Remove upstreamed from 2.11 release:
  060-nl80211-fix-crash-when-adding-an-interface-fails.patch

Rebase all other patches

Signed-off-by: Ivan Pavlov <[email protected]>
Link: openwrt#16338
Signed-off-by: Robert Marko <[email protected]>
On the XGS1210-12 the RTL8218D is attached via XGMII. Add this to the
supported list in the DSA driver.

Signed-off-by: Markus Stockhausen <[email protected]>
Link: openwrt#16391
Signed-off-by: Robert Marko <[email protected]>
With commit a22d359 VLAN handling was fixed for kernel 6.6.
This restored network connectivity of the devices. For easy testing
backport the fix for 5.15 too.

Signed-off-by: Markus Stockhausen <[email protected]>
Link: openwrt#16391
Signed-off-by: Robert Marko <[email protected]>
Merging of the realtek 6.6 series forgot to include some final fixes
for the new MDIO driver. What was changed in last second?

1. The MDIO driver used wrong constants to make use of the raw
page (for direct register access). Provide a rawpage variable in
the bus private structure, populate it during initialization and
make use of it at the proper places

2. We always used the variable portaddr for the bus index. Usually
our driver uses either addr or port for the same meaning. Remove the
duplication and reuse the normal addr variable.

3. Drop functions rtmdio_write_page() and rtmdio_read_page(). These
only call the PHY driver read/write page functions. We know that
these will only access page 0x1f. As we have only Realtek PHYs
and our driver only reacts to this special page, just hardcode it.
Benefit is that we can use these functions for PHY detection when
read/write page functions are not yet assigned.

4. Add two new helper functions phy_port_read_paged() and
phy_port_write_paged(). These allow to access arbitrary ports on
the MDIO bus when the packages are not initialized. These will be
needed for proper RTL8218B and RTL8214FC detection in forthcoming
patches.

5. The port tracking wrongly used index 0 to mark "normal" access.
This does not allow to make a "special" access to port 0. Use
index -1 to mark "normal" access.

Provide the fix for 5.15 and 6.6 to allow for easy version
comparison.

Signed-off-by: Markus Stockhausen <[email protected]>
Link: openwrt#16391
Signed-off-by: Robert Marko <[email protected]>
RELR is a relocation packing format for relative relocations.

Linux has supported using it for ARM64 since 5.4, and more recently
for LoongArch as well.

It requires compatible tooling as well, so only with binutils 2.43
TOOLS_SUPPORT_RELR is set and thus RELR available.

RELR should always decrease the binary size and while testing this
the default build for Dynalink WRX-36 (qualcommax/ipq807x) reduced
the compressed kernel size by 38k and uncompressed one by 640k.

So, lets enable it in the default config.

Link: openwrt#16403
Signed-off-by: Robert Marko <[email protected]>
Release notes:
https://lists.gnu.org/archive/html/info-gnu/2024-08/msg00003.html

No need to refresh patches
Test device: Xiaomi ax3600

Signed-off-by: Olcay Korkmaz <[email protected]>
Link: openwrt#16405
Signed-off-by: Robert Marko <[email protected]>
Rework CompileImage/Initramfs locking logic to fix race condition on
concurrent access/compilation.

Rework each intermediate step and group them under one single execution
block. Protect this with a new lock, 'gen-initramfs' and rename the
compile initramfs to compile-initramfs lock name.

This is done to handle corner case scenario where a rootfs with the same
hash ID is generated at the same time. To handle this, we execute
everything under lock and use a specific hash ID lock to prevent
concurrent access/compilation.

Link: openwrt#16404
Signed-off-by: Christian Marangi <[email protected]>
To speedup compilation of Per-Device Initramfs, copy the kernel build
directory for each rootfs ID.

This permits concurrent execution of kernel build without conflicting
with each other at the expense of additional disk space usage.

To limit disk space usage, the copied kernel directory is deleted after
the Per-Device Initramfs image is generated and saved.

Link: openwrt#16404
Signed-off-by: Christian Marangi <[email protected]>
According to the bugzilla link, this is fixed in gcc 14.2.

Signed-off-by: Chuanhong Guo <[email protected]>
Simplifies the code by avoiding having to manually handle -EPROBE_DEFER.

Signed-off-by: Rosen Penev <[email protected]>
This fixes a well-known "LZMA ERROR 1" error on Sercomm NA502s, reported
on the OpneWrt forum [0].

[0] https://forum.openwrt.org/t/206640

Signed-off-by: Andreas Böhler <[email protected]>
The busybox built with mips16 enabled has broken seq command.
Disassembling shows that the call to hard-float strtod in mips16
code is generated without the __call_stub_fp:
```
   0x00406d6f <+118>:   lw      v0,32(sp)
   0x00406d71 <+120>:   sll     s0,2
   0x00406d73 <+122>:   addu    s0,v0,s0
   0x00406d75 <+124>:   lw      a0,-4(s0)
   0x00406d79 <+128>:   jal     0x44ebc1 <strtod@mips16plt>
   0x00406d7d <+132>:   addiu   a1,sp,84
   0x00406d7f <+134>:   sw      v0,64(sp)
   0x00406d81 <+136>:   lw      v0,0(s1)
   0x00406d83 <+138>:   sw      v1,68(sp)
```

As a result, strtod returns the result in float point registers
while the calling mips16 code expect the result in v0/v1.

Disable mips16 on hard-float targets for now. The built .ipk goes
from 213316 bytes to 251419 bytes.

Signed-off-by: Chuanhong Guo <[email protected]>
Siflower SF19A2890 is an SoC with:
Dual-core MIPS InterAptiv at 800MHz
DDR3 controller
One Gigabit Ethernet MAC with RGMII and IPv4 HNAT engine
Built-in 2x2 11N + 2x2 11AC WiFi radio
USB 2.0 OTG
I2C/SPI/GPIO and various other peripherals

This PR adds support for SF19A2890 EVB with ethernet support.

EVB spec:
Memory: DDR3 128M
Ethernet: RTL8367RB 5-port gigabit switch
Flash: 16M NOR
Others: MicroUSB OTG, LED x 1, Reset button x1

The built image can be flashed using u-boot recovery.

This target is marked as source-only until support for a commercial
router board comes.

Signed-off-by: Chuanhong Guo <[email protected]>
Remove unnecessary dts files already included in the 6.1 kernel.

Signed-off-by: Mieczyslaw Nalewaj <[email protected]>
Link: openwrt#16058
Signed-off-by: Nick Hainke <[email protected]>
This is an automatically generated commit.

When doing `git bisect`, consider `git bisect --skip`.

Signed-off-by: Mieczyslaw Nalewaj <[email protected]>
Link: openwrt#16058
Signed-off-by: Nick Hainke <[email protected]>
This is an automatically generated commit which aids following Kernel patch
history, as git will see the move and copy as a rename thus defeating the
purpose.

For the original discussion see:
https://lists.openwrt.org/pipermail/openwrt-devel/2023-October/041673.html

Signed-off-by: Mieczyslaw Nalewaj <[email protected]>
Link: openwrt#16058
Signed-off-by: Nick Hainke <[email protected]>
Remove obsolete patches no longer applicable to the 6.6 kernel.

Signed-off-by: Mieczyslaw Nalewaj <[email protected]>
Link: openwrt#16058
Signed-off-by: Nick Hainke <[email protected]>
Change dts files location to subfolder microchip for compatibility with kernel 6.6

Signed-off-by: Mieczyslaw Nalewaj <[email protected]>
Link: openwrt#16058
Signed-off-by: Nick Hainke <[email protected]>
Refresh kernel config for Linux 6.6.

Signed-off-by: Mieczyslaw Nalewaj <[email protected]>
Link: openwrt#16058
Signed-off-by: Nick Hainke <[email protected]>
The at91 now supports 6.6 kernel as testing.

Signed-off-by: Mieczyslaw Nalewaj <[email protected]>
Link: openwrt#16058
Signed-off-by: Nick Hainke <[email protected]>
Add support for 802.11be (HE) radios.

 4b7c47c iwinfo: sync with upstream nl80211.h
 268a662 iwinfo: add basic IEEE 802.11be support

Signed-off-by: Daniel Golle <[email protected]>
qosmio and others added 12 commits September 20, 2024 17:53
There was logic that was initially included in the coconut branch of
QSDK for older mac80211 NSS implementation. It was brought over to
address an issue with ath10k where during heavy traffic, AP would trigger
`failed to increase tx pending count: -16, dropping`.

The issue was actually caused by `skb_recyler` malforming some packets.
Disabling `skb_recyler` fixed the error, and therefore the logic
regarding `skb_queue_len(&local->pending[q]) >= 1000` can be reverted to
match what is currently upstream with QSDK.

Alsi refreshed remaning patches after rebase.

Signed-off-by: Sean Khan <[email protected]>
There is an issue when enabling thermal support on newer ath11k firmware.
TX/RX rates are being limited, often times 50% of client's HE
capabilities.

The issue stems from a mismatch in WMI API structure. The range to
throttle is currently "-100°C" to "150°C", this essentially means
"always" throttle.

Integrate patch from dd-wrt which adds missing WMI structures and
proper thermal ranges for IPQ5018, IPQ807x, and QCN9000.

Patch-by: Sebastian Gottschall <[email protected]>
Signed-off-by: Sean Khan <[email protected]>
Every 100 milliseconds, the station sends an "association request" and
the AP adds the peer and the AP responds to the station with an
"association response".

But "association response" takes time to reach the station. Because of
this, the station sends another "association request" to the AP.

In the second associate request, the AP removes the peer and re-adds
the station. Meanwhile, "association response" is reached to station
and station sends "QoS NULL" frame to AP.

The moment the station sends a QoS NULL frame to the ap, the peer on
the AP is deleted and the AP sends a de-authentication to the station.

To fix this issue, increased the assoc timeout period from 100 milli-
seconds to 500 milli seconds.

Signed-off-by: Sean Khan <[email protected]>
fixes: ath11k: fix peer addition/deletion error on sta band migration: d673cb6fe6c03b2be157cc6c5db40481828d282d

the fix for sta band migration raises a new bug which causes the wifi
firmware to crash if you switch between 2 bssid's on the same band. this is
usually caused since the firmware observes 2 stations with the same
bss

Signed-off-by: Sebastian Gottschall <[email protected]>

Update 999-900-bss-transition-handling.patch

Signed-off-by: qosmio <[email protected]>
Update patch from latest version found on patchwork

Signed-off-by: Sean Khan <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment