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 1/8/24 #150

Merged
Merged

Conversation

rmandrad
Copy link
Owner

@rmandrad rmandrad commented Aug 1, 2024

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.

namiltd and others added 30 commits July 29, 2024 10:32
This is an automatically generated commit.

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

Signed-off-by: Mieczyslaw Nalewaj <[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]>
Refresh kernel config for Linux 6.6.

Signed-off-by: Mieczyslaw Nalewaj <[email protected]>
Upstream change location of zynq dts files.

Signed-off-by: Mieczyslaw Nalewaj <[email protected]>
The zynq now supports 6.6 kernel as testing.

Signed-off-by: Mieczyslaw Nalewaj <[email protected]>
Radxa ROCK Pi E v3.0 is a compact networking SBC[1] using the Rockchip
RK3328 SoC.

Hardware
--------
- Rockchip RK3328 SoC
- Quad A53 CPU
- 512MB/1GB/2GB DDR4 RAM
- 4/8/16/32GB eMMC
- Micro SD Card slot
- WiFi 4 and BT 4, or WiFi 5 and BT 5 (not supported yet)
- 1x 1000M Ethernet with PoE support (additional PoE HAT required)
- 1x 100M Ethernet
- 1x USB 3.0 Type-A port (Host)
- 1x 4-ring 3.5mm headphone jack
- 40 Pin GPIO header

[1] https://radxa.com/products/rockpi/pie

Installation
------------
Uncompress the OpenWrt sysupgrade and write it to a micro SD card or
internal eMMC using dd.

Signed-off-by: FUKAUMI Naoki <[email protected]>
Link: openwrt#15984
Signed-off-by: Hauke Mehrtens <[email protected]>
default values should be fine.

Signed-off-by: FUKAUMI Naoki <[email protected]>
Link: openwrt#16029
Signed-off-by: Hauke Mehrtens <[email protected]>
This is a backport of netdev/net [1]/[2], expected to be in kernel 6.11
(if not backported to a stable branch).

Since 4fdc7bb (2024-06-14, switching ath79 from kernel 6.1 to 6.6),
the rtl8366s driver was made to write to bogus PHY MII registers on
ath79/netgear,wndr3800 and family, and likely on other systems using
this switch in a similar manner. The writes were directed to PHY 4 MII
registers 0x0d (13) and 0x0e (14). The rtl8366s data sheet claims these
registers are reserved. These register writes were causing the device to
not maintain link, track link status, or pass traffic on eth1 (labeled
WAN), as eth1 is connected to PHY 4.

0x0d is MII_MMD_CTRL, and 0x0e is MII_MMD_DATA. rtl8366s doesn't appear
to support MMD in any way, and certainly not via the IEEE 802.3 annex
22D "clause 45 over clause 22" protocol implemented by mmd_phy_indirect.
This patch intercepts those attempted register accesses and returns
-EOPNOTSUPP without touching the switch chip. This is implemented by
defining phy_driver::{read,write}_mmd as
genphy_{read,write}_mmd_unsupported for this PHY. A new PHY driver for
this PHY is introduced to achieve that, because this PHY was previously
using genphy_driver, and there is otherwise no clean way to declare lack
of support for these operations.

This was caused by kernel 9b01c885be36 (2023-02-13, in 6.3). The new
genphy_c45_read_eee_abilities call in genphy_read_abilities (called
during phy_probe) was causing an attempted MMD read of (MMIO_MMD_PCS,
MDIO_PCS_EEE_ABLE), which was transformed into an annex 22D
mmd_phy_indirect operation that performed MII register writes to
MII_MMD_CTRL, MII_MMD_DATA, and MII_MMD_CTRL again, followed by another
read from MII_MMD_DATA. This was enough to "scramble" the state of those
two MII registers, which are in fact not used for annex 22D MMD register
access on this device but are reserved and have some other function,
rendering the PHY unusable while so configured. The result of the
bungled MMD read attempt caused the genphy driver to incorrectly believe
that the PHY supported standard EEE, which led to several more attempted
MMD writes and reads, in turn being transformed into writes to these two
MII registers.

rtl8366s does support some pre-IEEE 802.3az EEE standard form of "Green
Ethernet" which the switch driver (local to OpenWrt) already has some
support for. No attempt is made to map the standard operations for this
device.

[1] https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net.git/commit/?id=225990c487c1
[2] https://lore.kernel.org/netdev/[email protected]/

Fixes: openwrt#15981
Link: openwrt#15739
Reported-by: Russell Senior <[email protected]>
Signed-off-by: Mark Mentovai <[email protected]>
Link: openwrt#16012
Signed-off-by: Hauke Mehrtens <[email protected]>
Testing turned out that the HWRNG quality varies greatly on RK3566,
even on supposedly identical boards and SoC revisions.
Hence enable the HWRNG driver only on RK3568 for now.
Allow users to simply tune sample_count and quality to allow easily
testing results on different boards and SoCs.

Link: https://patchwork.kernel.org/project/linux-arm-kernel/cover/[email protected]/
Signed-off-by: Daniel Golle <[email protected]>
Import patch from mainline Linux to fix issue with PERST# signal
polarity.

Quote from commit message:
"This extra, very short, PERST# assertion + deassertion has been
reported to cause issues with certain WLAN controllers, e.g. RTL8822CE."

Signed-off-by: Daniel Golle <[email protected]>
Package the firmware files in the target specific build step and not in
the architecture common step. The architecture common step is not
necessary build for the ipq40xx target. If it is build for a different
target these packages are not packaged at all. This moves the build to
the ipq40xx target specific build step. This change is needed to make
the firmware files show up in the buildbot images.

Fixes: 02db8a1 ("firmware: add Intel/Lantiq VRX518 ACA firmware package")
Fixes: 07b0e6f ("firmware: add Intel/Lantiq VRX518 PPE firmware package")
Fixes: 13eb1f5 ("firmware: add Intel/Lantiq VRX518 DSL firmware package")
Link: openwrt#16031
Signed-off-by: Hauke Mehrtens <[email protected]>
Mark the package as nonshared to build it in the target specific build
step 1 of the build bots instead of the architecture generic build step
2. In the build step 2 it may be left out if we build it using a
different  target.

Fixes: 07043a8 ("imx23: rename imx23 to mxs for upcoming imx23/28 support")
Link: openwrt#16031
Signed-off-by: Hauke Mehrtens <[email protected]>
Mark the package as nonshared to build it in the target specific build
step 1 of the build bots instead of the architecture generic build step
2. In the build step 2 it may be left out if we build it using a
different  target.

Fixes: 1eb21b8 ("kobs-ng: add new package")
Link: openwrt#16031
Signed-off-by: Hauke Mehrtens <[email protected]>
Mark the package as nonshared to build it in the target specific build
step 1 of the build bots instead of the architecture generic build step
2. In the build step 2 it may be left out if we build it using a
different  target.

Fixes: 8619d7a ("kirkwood: add D-Link DNS-320L support")
Link: openwrt#16031
Signed-off-by: Hauke Mehrtens <[email protected]>
Mark the package as nonshared to build it in the target specific build
step 1 of the build bots instead of the architecture generic build step
2. In the build step 2 it may be left out if we build it using a
different  target.

Fixes: 24d6abe ("firmware-utils: new package replacing otrx")
Link: openwrt#16031
Signed-off-by: Hauke Mehrtens <[email protected]>
Build the amd64-microcode package on all architectures even if it only
makes sense to use it on x86. If the package build is done by a builder
not building for x86 it will not include the package otherwise.

Link: openwrt#16031
Signed-off-by: Hauke Mehrtens <[email protected]>
add Realtek RTL8723DS and RTL8723DU support to rtw88 package.

Signed-off-by: FUKAUMI Naoki <[email protected]>
Link: openwrt#15910
Signed-off-by: Hauke Mehrtens <[email protected]>
Radxa ROCK Pi S has a RTL8723DS Wi-Fi 4 on-board device. enable it.

Signed-off-by: FUKAUMI Naoki <[email protected]>
Link: openwrt#15910
Signed-off-by: Hauke Mehrtens <[email protected]>
Radxa ROCK Pi E v3.0 has a RTL8723DU Wi-Fi 4 on-board device. enable
it.

Signed-off-by: FUKAUMI Naoki <[email protected]>
Link: openwrt#15910
Signed-off-by: Hauke Mehrtens <[email protected]>
Let's switch to kernel 6.6 for wide tests.

Signed-off-by: Pawel Dembicki <[email protected]>
Link: openwrt#15998
Signed-off-by: Robert Marko <[email protected]>
generic.mk was commited by mistake. It isn't used. Let's remove it.

Fixes: ccbdb21 ("kirkwood: Add missing package dependency")

Signed-off-by: Pawel Dembicki <[email protected]>
Link: openwrt#15998
Signed-off-by: Robert Marko <[email protected]>
Kirkwood was switched to 6.6. We can remove 6.1 support now.

Signed-off-by: Pawel Dembicki <[email protected]>
Link: openwrt#15998
Signed-off-by: Robert Marko <[email protected]>
s/u-boot,env-layout/u-boot,env/g

Signed-off-by: Enrico Mioso <[email protected]>
feeds: Switch to fork that requires nss qdisc

Without it, NSS based SQM doesn't work.
Signed-off-by: bitthief <[email protected]>

package: kernel: nat46: add kernel 6.1 support

Signed-off-by: bitthief <[email protected]>
Co-Developed-by: Sean Khan <[email protected]>
Instead of 'install', 'cp', use standard build functions

Signed-off-by: Sean Khan <[email protected]>
Signed-off-by: bitthief <[email protected]>
Co-Developed-by: Sean Khan <[email protected]>
Signed-off-by: bitthief <[email protected]>

qualcommax: dts: provide label for NSS reserved-memory

Provide a label for the NSS reserved-memory node so it can be easily passed
to the NSS DRV instead of having to global match by name which is fragile.

Signed-off-by: bitthief <[email protected]>
This reverts commit b1b446335beee744c7a74770d7383618d9cc3202.
Signed-off-by: Sean Khan <[email protected]>

ath11k_nss: fix missing semicolon ';'

Signed-off-by: Sean Khan <[email protected]>
Add them for all current qualcommax platforms

Signed-off-by: Sean Khan <[email protected]>
NSS offload feature enablement for Asus RT-AX89X

Signed-off-by: Sean Khan <[email protected]>
Some features are not available in NSS firmware 11.4.0.5
* `NSS_WIFI_VDEV_EXT_DATA_PKT_TYPE_4ADDR`

This was introduced in `NHSS.QSDK.11.5`. To avoid unexpected issues,
disable the case check for `NSS_WIFI_VDEV_EXT_DATA_PKT_TYPE_4ADDR` if
`CONFIG_NSS_FIRMWARE_VERSION_11_4` is selected.

Signed-off-by: Sean Khan <[email protected]>

ath11k_nss: rename '*.patch.patch' to '.patch'

Signed-off-by: Sean Khan <[email protected]>
New:
* Add UCI option to /etc/config/pbuf
  1. `stats_disable` - Allows disabling extended stats
     collection. (Default: '1')

  2. `scaling_governor` - Allow specifying CPU governor.
     (Default: disabled )

     Choices depend on what your system is compiled with. Can be found
     using:

     ```sh
     cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors
     ondemand performance schedutil
     ```

Changes:

* Rather than hardcode every device model's memory profile. Simply read the
  memory available from `/proc/meminfo`.
* Scaling governor is no longer forced as `performance`. It is now user
  configurable.
* Hash bitmap is now calculated from number of CPUs rather than hardcoded to `15`
* Limit `n2h_queue_limit_core` to `256`. This was set to `2048` which is
  too high when NSS wifi is also enabled.

Signed-off-by: Sean Khan <[email protected]>
Rather mess with target 'config-*' files, introduce a custom menu item
that consolidates all IPQ related kernel settings in one menu.

Most of these can be left as default since the options are derived from the
initial NSS fork for 'config-6.6'.

Options include:
1) enable or disable building `skbuff_recycle`
2) enable or disable preemption
3) select IPQ memory profile

Signed-off-by: Sean Khan <[email protected]>
There are instances where `skbuff_recycle` messes up skb headers causing
various issues in network related activities. This was initially meant
to resolve issues with memory usage issues on 6.1.

Introduce a proc option to enable or disable skbuff_recycle. The default
is to have it enabled. Users on 512M platforms should test if memory
leaks still occur with this option disabled.

echo 0 > /proc/net/skb_recycler/skb_recycler_enable

echo 1 > /proc/net/skb_recycler/skb_recycler_enable

NOTE: There is a new script in `qca-nss-drv` that will automatically
manage this as an UCI configurable option.

commit 217a4fa43ba2ad0a02e8080dfde11ad23534aa8c (HEAD -> NSS-12.5-K6.x)
Author:     Sean Khan <[email protected]>
AuthorDate: Sat Jul 13 18:43:52 2024 -0400
Commit:     Sean Khan <[email protected]>
CommitDate: Sat Jul 13 18:43:52 2024 -0400

    nss-drv: add skb_recycler init script

Signed-off-by: Sean Khan <[email protected]>
Also set SKB_FIXED_SIZE_2K if IPQ memory profile is < 512M

Signed-off-by: Sean Khan <[email protected]>
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]>
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]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

10 participants