NSS patches should always get applied last as to avoid fuzzing issues
with upstream patches.
Also cleanup patches that introduced spaces as indents vs. tabs
Signed-off-by: Sean Khan <datapronix@protonmail.com>
ath11k_nss: drop upstreamed patch
A variation of this patch 'wifi: mac80211: Use flexible array in struct ieee80211_tim_ie'
was upstreamed in commit 'e6e4d90b69027d74ba7e9a0a586b95a5714e10c0'.
Remove it to avoid compilation issues.
Signed-off-by: Sean Khan <datapronix@protonmail.com>
ath11k_nss: Fix patch conflict
Signed-off-by: Sean Khan <datapronix@protonmail.com>
The following options can now be specified in `pbuf` uci config.
1.) auto_scale (bool) - enable or disable NSS CPU auto-scaling.
default: 'off'.
NOTE: Recommended to leave off, as it locks
NSS core to it's full 1.7Ghz speed. In the past
auto_scaling has been unstable, often causing
kernel panics or connection drops. Qualcomm
themselves disables scaling in QSDK for
ath11k/ath12k/qca-wifi.
It is provided to allow users wanting more
control over power usage. Setting to 'on' also
fixes NSS CPU stats updating properly.
2.) n2h_queue_limit_core0 (int) - set queue limits for CORE 0 and 1.
default: '2048'
For users on low memory systems (<=512M),
that are experiencing issues can try lowering
to the driver default of '256'.
This patch was mostly cosmetic for ipq8074 to supress warnings about
invalid memory region. In this case the M3 dump region. This isn't
necessary for operation or offloading, and is used for firmware
debugging.
However due to the memory layout of ipq6018 it was causing issues of NSS
offloading properly loading. 'idx' shouldn't be incremented, and instead
should just break.
Signed-off-by: Sean Khan <datapronix@protonmail.com>
Lock is missed while accessing idr_pool of tx_ring which
causes Use after free crash in dp_free path when unloading
the module.
Fix this by adding tx_idr_lock when accessing idr_pool
of tx_ring.
Signed-off-by: Aishwarya R <quic_aisr@quicinc.com>
Signed-off-by: Sean Khan <datapronix@protonmail.com>
While freeing skb in tx completion path for status reinject, inspect
or vdevid mismatch, dev_kfree_skb_any() is used but when a function
is using functions from mac80211 to free an skb then it should do
it consistently and not switch to the generic dev_kfree_skb_any.
Otherwise, mac80211 will not be aware of the freed skb and thus
not clean up related information in its internal data structures.
Hence fix the issue by properly using ieee80211_free_txskb().
Signed-off-by: Sarika Sharma <quic_sarishar@quicinc.com>
Signed-off-by: Sean Khan <datapronix@protonmail.com>
This is mostly a cosmetic change for users running NSS firmware 11.4
with mesh setups. Rather than fill up kernel logs with warnings, move log
warnings to debug.
The stats are still captured in '/sys/kernel/debug/qca-nss-drv/stats/*'
Signed-off-by: Sean Khan <datapronix@protonmail.com>
This warning can trigger if there is a mismatch between frames that were
sent with the sta pointer set vs tx status frames reported for the sta address.
This can happen due to race conditions on re-creating stations, or even
in the case of .sta_add/remove being used instead of .sta_state, which can cause
frames to be sent to a station that has not been uploaded yet.
If there is an actual underflow issue, it should show up in the device airtime
warning below, so it is better to remove this one.
Signed-off-by: Felix Fietkau <nbd@xxxxxxxx>
Signed-off-by: Sean Khan <datapronix@protonmail.com>
On platforms using ath10k with mac80211 'nss_redirect' enabled,
a warning `ieee80211_sta_update_pending_airtime` is observered
whenever traffic load is high (iperf3).
Don't offload if pending queue > 1000
Signed-off-by: Sean Khan <datapronix@protonmail.com>
In ath11k_dp_rx_msdu_coalesce(), rxcb is fetched from skb and bool
is_continuation is part of rxcb.
Currently, after freeing the skb, the rxcb->is_continuation accessed
again which is wrong since the memory is already freed.
Hence fix the issue by locally defining bool is_continuation from rxcb,
so that after freeing skb also we can use is_continuation.
Signed-off-by: Sean Khan <datapronix@protonmail.com>
Since SKB recycler was merged into main nss-wifi branch, it is not
necessary to manually tinker with pbuf script. Memory is now properly
managed between NSS driver allocating/deallocating SKBs. For optimal
wifi performance, especially upload, it is advised to leave the script
to 'auto'.
Users who use sysupgrade should manually set the uci config
'/etc/config/pbuf' as it will not overwrite existing configuration.
The performance of Qualcomm Crypto Engine is 10x slower than kernel
based encryption via ARMv8 crypto extensions. Rather than building it
into the kernel allow users to select it as module which can be tested with
other HW based crypto APIs via cryptodev-linux.
QSDK NSS builds utilize skbuff recycling for better handling of memory.
On a Dynalink DL-WRX36 (pbuf script should be set to 'auto') a significant drop in
memory usage was observed as well consistent sustained RX/TX speeds.
BEFORE:
echo 3 >! /proc/sys/vm/drop_caches
free -m
total used free shared buff/cache available
Mem: 867 338 547 90 101 528
Swap: 0 0 0
AFTER:
total used free shared buff/cache available
Mem: 867 242 594 1 81 624
Swap: 0 0 0
NOTE:
For 512MB platforms, users need to test with the following scenarios,
as the patch `999-233-ath11k-Disable-rx_header-tlv-for-2K-SKB.patch` is
really only testable on platforms with 512M or less RAM.
1.) Explicitly setting 'ATH11K_MEM_PROFILE_512M' on and see if system
crashes on boot.
2.) Explicitly setting 'ATH11K_MEM_PROFILE_1G'
3.) Remove patches
999-233-ath11k-Disable-rx_header-tlv-for-2K-SKB.patch
999-311-ath11k-configure-nss-thread-priority-during-pdev_ini.patch
And re-test with #1 and #2
It was incorrectly assumed that setting a 512M for 1G platforms would save
memory, instead it needs to be explicitly set to know proper memory
regions, otherwise it would cause fw crash.
ath11k_nss: fix typo in 512M memory profile
ath11k_nss: remove SFE patch 718-e-mac80211-Deliver-the-frame-to-driver-tx-ops-directly
It is not relevant to NSS builds and only meant for SFE.
ath11k_nss: remove unecessary patches
Color collision should be left on by default, as it's a primary feature
of 802.11AX.
ath11k_nss: fix spacing
ath11k_nss: Remove unnecessary TKIP bloat
Remove TKIP patches that are not being used as 99% of folks are running
modern encryption (AES-CCMP,SAE,etc).
ath11k_nss: parameterize DP_RXDMA_REFILL_RING_SIZE memory profile
ath11k_nss: Remove SFE related code
Cleanup SFE (shortcut fe) related code as we're not using it on NSS
ath11k_nss: idr, ampdu, and skb headroom check optimizations
ath11k_nss: get valid last_rate for rx_bitrate from cpu stats
ath11k_nss: Fix BCCA counter for EMA
Currently BCCA counter is updated to FW via csa counter offs and
beacon with new countdown is updated for every beacon tx completion event.
For EMA, all EMA beacons are updated in one shot, and counter update for
every tx event will mess up the actual sequence of countdown sent over the air.
Allow FW to update the countdown till 1 and finalize the color
change.
ath11k_nss: Fix compile for TRACE feature
Leave it set to '0', as it will kernel panic with 2K skb patch. This
flag was incorrectly assumed to save memory on 1G platforms.
ath11k_nss: remove leftover max_tx_ring
it was not removed when applying patch to replace it with 'max_tx_ring =
DP_TCL_NUM_RING_MAX +1'
ath11k_nss: Import bugfix patches
ath11k_nss: Experimental build for IPQ6018
This will require setting the correct `ATH11K_MEM_PROFILE_XXX` for your
platform. Setting it to value lower/higher than physically available
will cause NULL virtual address kernel panics.
I believe this setting was not originally meant to reduce memory
footprint of 1G+ platforms, but to account for platforms that were
512M or less.
Will require tweaking to allow for the old behvaior on 1G+ IPQ807x,
while still saving memory for platforms <= 512M.
Implementing the updating of firmware initiated dynamic MU-EDCA
parameters in Beacon IE. Firmware routinely checks its clients and
updates its MU-EDCA values every 3 seconds. Firmware is tuning
MU-EDCA parameters to improve performance. As part of this process,
the firmware informs host about new MU-EDCA values utilizing
WMI_MUEDCA_PARAMS_CONFIG_EVENTID. FW expectation is that host will
update MU-EDCA parameters in the Beacon IE.
ath11k_nss: fix build for 256/1G mem, and ath10k
ath11k_nss: bump release version '8'
mac80211: refactor NSS patches
Since NSS requires patches to subsys, and ath*k directories. Move
patches into a subset of nss for better tracking against QSDK,
and modularization.
ath11k_nss: rename patches
ath11k_nss: clean up optional patches
To reduce bug tracking headaches, I've remove the following patches, as
they are not required for NSS offload and have been around the last 2-3
years without ever being upstreamed.
nss/ath11k/235-001-ath11k-Add-support-for-beacon-tx-mode.patch
nss/ath11k/237-002-ath11k-Add-provision-to-configure-rx-hashmap.patch
nss/ath11k/902-020-ath11k-add-btcoex-config.patch
nss/ath11k/902-022-ath11k-add-ap-ps-support.patch
nss/ath11k/907-068-ath11k-add-rx-histogram-stats.patch
nss/ath11k/907-108-ath11k-enable-ul-ofdma-ru-allocation-in-peer-stats.patch
nss/ath11k/911-373-ath11k-Add-retry-mechanism-for-update_rx_qu.patch
nss/ath11k/913-353-ath11k-ignore-frags-from-uninitialized-peer-in-dp.patch
nss/ath11k/913-356-ath11k-invalid-desc-sanity-check.patch
nss/ath11k/913-374-ath11k-Check-skb_headroom-before-using-skb_push.patch
nss/ath11k/913-830-ath11k-Avoiding-memset-of-ppdu-info-for-next-skb.patch
nss/subsys/235-002-mac80211-Add-support-for-beacon-tx-mode.patch
nss/subsys/913-726-mac80211-fix-crash-when-accessing-null-pointer.patch
ath11k_nss: Remove superfluous patches
Remove patches unrelated to NSS offloading to minimize bloat and better
track NSS related issues.
ath11k_nss: Refactor patches to use upstream names
Reworked patches to use upstream QSDK names. Allows for better tracking
ath11k_nss: align wifi offload with qca-nss-drv
The option in qca-nss-drv is actually 'NSS_DRV_WIFIOFFLOAD_ENABLE' use
the same syntax.
ath10k-ct: fix compile with NSS wifi
ath11k_nss: Merge every NSS related feature + more
* Added macro to disable NSS mesh offload
* Added menuconfig option "ATH11K_NSS_MESH_SUPPORT" to selectivley build mesh support,
as well it's depenacndy on nss-drv-wifimeshmgr.
* Added option to disable HTT Stats, and STA stats (stations).
* Reducing footprint by ~210KB. Debugfs minimal is still enabled.
* Reworked a TON of patches, some my own, hopefully there should be a far less amount of WOA2/WPA3 connection issues.
* Updated the /etc/init.d/pbuf script to be more robust. (handles tweaking ath11k and NSS settings better)
NOTES: Although mesh package builds (nss-drv-wifimeshmgr), ath11k doesn't seem to support it yet.
Not sure if NSS requires 3 radios to work, I'm at a dead end currently with that route.
ATTENTION:
the ptch `37-006-ath11k-Allow-fast-rx-by-bypassing-stats-update.patch`
works well on nss with frame_mode=2.
And on `ath11k frame_mode=1 nss_offload=0`
And on `ath11k frame_mode=2 nss_offload=1`
if you set nss_offload=off and frame_mode=2, it will CRASH
if you set nss_offload=on and frame_mode=2, it will RUN
if you set nss_offload=off and frame_mode=1, it will RUN
ath11k_nss: fix n2h high_water_core0/wifi_pool_buf
These were commented out, but looks like they are needed to prevent lock
ups with heavy usage apps (users report in torrenting)
ath11k_nss: Renumber ath11k patches in the range
commit 3c7cc4b725ea406f19b736427034e3bdb436aedc
Author: Yuvasree Sivasankaran <quic_ysivasan@quicinc.com>
AuthorDate: Thu Jan 4 11:25:56 2024 +0530
Commit: Yuvasree Sivasankaran <quic_ysivasan@quicinc.com>
CommitDate: Wed Jan 3 22:53:51 2024 -0800
wifi: ath11k: Renumber ath11k patches in the range
In ath11k, patches are not maintained in the range and not sequential.
Renumber the patches sequential and in the range.
Change-Id: I77c51c0f5bf9f94863db4ef364b156e14465a60c
Signed-off-by: Yuvasree Sivasankaran <quic_ysivasan@quicinc.com>
ath11k_nss: Add mac hw flag to avoid tx queue in mac80211
commit 4e9b5f7f0d1ed40dbf3208f7ed4448e49b4a4ac1
Author: Yuvasree Sivasankaran <quic_ysivasan@quicinc.com>
AuthorDate: Wed Dec 6 12:20:59 2023 +0530
Commit: Yuvasree Sivasankaran <quic_ysivasan@quicinc.com>
CommitDate: Mon Dec 18 12:52:33 2023 +0530
wifi: mac80211: Add mac hw flag to avoid tx queue in mac80211
Queue SKB in mac80211 become mandatory from latest 6.1 kernel. Because of
this queuing, there will be performance degradation. Add hw flag option
to enable tx queue in Driver/Hardware.
Driver/hardware can register for HAS_TX_QUEUE HW flag and avoid tx queuing
in mac80211.
Add same HW flag checks to avoid accessing skb queues which will be
NULL or invalid and also NULL checks for sta txqs for NULL or invalid
access.
ath11k_nss: add the HTC+ / iPhone fix
commit ccdca73cd65723c3cb63c17edc95c4c43318cb38
Author: John Crispin <john@phrozen.org>
AuthorDate: Sun Jul 9 17:12:34 2023 +0200
Commit: John Crispin <john@phrozen.org>
CommitDate: Thu Aug 31 16:08:34 2023 +0200
mac80211: add the HTC+ / iPhone fix
Signed-off-by: John Crispin <john@phrozen.org>
ath11k_nss: ath-next fix connection failure due to unexpected peer delete
Currently ath11k_mac_op_unassign_vif_chanctx() deletes peer but
ath11k_mac_op_assign_vif_chanctx() doesn't create it. This results in
connection failure if MAC80211 calls drv_unassign_vif_chanctx() and
drv_assign_vif_chanctx() during AUTH and ASSOC, see below log:
[ 102.372431] wlan0: authenticated
[ 102.372585] ath11k_pci 0000:01:00.0: wlan0: disabling HT/VHT/HE as WMM/QoS is not supported by the AP
[ 102.372593] ath11k_pci 0000:01:00.0: mac chanctx unassign ptr ffff895084638598 vdev_id 0
[ 102.372808] ath11k_pci 0000:01:00.0: WMI vdev stop id 0x0
[ 102.383114] ath11k_pci 0000:01:00.0: vdev stopped for vdev id 0
[ 102.384689] ath11k_pci 0000:01:00.0: WMI peer delete vdev_id 0 peer_addr 20:e5:2a:21:c4:51
[ 102.396676] ath11k_pci 0000:01:00.0: htt peer unmap vdev 0 peer 20:e5:2a:21:c4:51 id 3
[ 102.396711] ath11k_pci 0000:01:00.0: peer delete resp for vdev id 0 addr 20:e5:2a:21:c4:51
[ 102.396722] ath11k_pci 0000:01:00.0: mac removed peer 20:e5:2a:21:c4:51 vdev 0 after vdev stop
[ 102.396780] ath11k_pci 0000:01:00.0: mac chanctx assign ptr ffff895084639c18 vdev_id 0
[ 102.400628] wlan0: associate with 20:e5:2a:21:c4:51 (try 1/3)
[ 102.508864] wlan0: associate with 20:e5:2a:21:c4:51 (try 2/3)
[ 102.612815] wlan0: associate with 20:e5:2a:21:c4:51 (try 3/3)
[ 102.720846] wlan0: association with 20:e5:2a:21:c4:51 timed out
The peer delete logic in ath11k_mac_op_unassign_vif_chanctx() is
introduced by commit b4a0f54156ac ("ath11k: move peer delete after
vdev stop of station for QCA6390 and WCN6855") to fix firmware
crash issue caused by unexpected vdev stop/peer delete sequence.
Actually for a STA interface peer should be deleted in
ath11k_mac_op_sta_state() when STA's state changes from
IEEE80211_STA_NONE to IEEE80211_STA_NOTEXIST, which also coincides
with current peer creation design that peer is created during
IEEE80211_STA_NOTEXIST -> IEEE80211_STA_NONE transition. So move
peer delete back to ath11k_mac_op_sta_state(), also stop vdev before
deleting peer to fix the firmware crash issue mentioned there. In
this way the connection failure mentioned here is also fixed.
Also do some cleanups in patch "wifi: ath11k: remove invalid peer
create logic", and refactor in patches "wifi: ath11k: rename
ath11k_start_vdev_delay()" and "wifi: ath11k: avoid forward declaration
of ath11k_mac_start_vdev_delay()".
Tested this patch set using QCA6390 and WCN6855 on both STA and SAP
interfaces. Basic connection and ping work well.
Baochen Qiang (4):
wifi: ath11k: remove invalid peer create logic
wifi: ath11k: rename ath11k_start_vdev_delay()
wifi: ath11k: avoid forward declaration of
ath11k_mac_start_vdev_delay()
wifi: ath11k: fix connection failure due to unexpected peer delete
drivers/net/wireless/ath/ath11k/mac.c | 564 +++++++++++++-------------
1 file changed, 288 insertions(+), 276 deletions(-)
ath11k_nss: Revert support for beacon_tx_mode
ath11k_nss: Update release fix dependancies
ath11k_nss: mgmt and data ack rssi update
Data ACK RSSI :
Advertise NL80211_EXT_FEATURE_ACK_SIGNAL_SUPPORT feature support
for accounting and notifying "last ack signal" and "avg ack signal" to
user space through NL interface.
Enabled data ack rssi support for ethernet mode.
Mgmt ACK RSSI:
Enabled support for Tx-ACK RSSI in HTT over Management packets.
bugfixes:
* Rreverted patch `105-ath11k-fix-monitor-crash-if-tx-offload-is-enabled.patch`.
Initial test show lower memory use. `ieee80211_tx_status_8023` was
also removed upstream for a reason as it wasn't being used, and the
logic behind it was flawed.
See https://patchwork.kernel.org/project/linux-wireless/patch/20230308174703.12270-2-quic_pradeepc@quicinc.com
* Mmemory profile for '256M' was missing logic that was in 512/1G.
Should build correctly now
* added more qsdk related patches to nss/offload
ath11k_nss: fix up patches
ath11k_nss: revert m3, fix coredump when rebooting
M3 SSR dump logic makes the router coredump. Just putting dummy case to
skip warning.
[12394.072384] Hardware name: Dynalink DL-WRX36 (DT)
[12394.079758] Call trace:
[12394.084354] dump_backtrace.part.0+0xbc/0xd0
[12394.086614] show_stack+0x18/0x30
[12394.091127] dump_stack_lvl+0x6c/0x88
[12394.094339] dump_stack+0x18/0x34
[12394.097985] bad_page+0xe0/0x110
[12394.101282] __free_pages_ok+0x33c/0x360
[12394.104582] __free_pages+0xbc/0xe0
[12394.108487] dma_direct_free+0xd0/0x140
[12394.111701] dma_free_attrs+0x90/0xb0
[12394.115519] ath11k_qmi_fwreset_from_cold_boot+0x9e0/0xa10 [ath11k]
[12394.119343] ath11k_qmi_deinit_service+0x64/0x21d0 [ath11k]
[12394.125419] ath11k_core_deinit+0xa4/0xc0 [ath11k]
[12394.130974] 0xffffffc000fb3600
[12394.135831] platform_shutdown+0x24/0x40
[12394.138871] device_shutdown+0x14c/0x240
[12394.143037] kernel_restart+0x40/0xb0
[12394.146944] __do_sys_reboot+0xcc/0x200
[12394.150502] __arm64_sys_reboot+0x24/0x30
[12394.154148] invoke_syscall.constprop.0+0x5c/0x110
[12394.158317] do_el0_svc+0x58/0x170
[12394.163001] el0_svc+0x18/0x60
[12394.166386] el0t_64_sync_handler+0x114/0x120
[12394.169426] el0t_64_sync+0x174/0x178
In case you want to specify the memory profile to use rather than
letting it autodetect. The following new uci option is introduced.
pbuf.
config general opt
option memory_profile ''
choices are 1gb, 512mb, 256mb. Delete option to let it autodetect.
NOTE: You must reboot after changing these settings, for it to
autoapply.
ath11k_nss: fix compilation and rename some patches
Memory allocations in the driver & mac80211 are logged
and populate those values to the user space via debugfs.
This stats will give the snapshot of the memory being
used by the driver at the time of dumping these
memory stats.
Command:
cat /sys/kernel/debug/ath11k/ipq8074\ hw2.0/memory_stats
Sample output of the stats
MEMORY STATS IN BYTES:
malloc size : 6287583
ce_ring_alloc size: 109308
dma_alloc size:: 10831860
htc_skb_alloc size: 3840
wmi alloc size: 0
per peer object: 4644
rx_post_buf size: 5091840
Total size: 22329075
User can disable/enable the memory stats accounting with
the below command.
echo N > /sys/kernel/debug/ath11k/ipq8074\ hw2.0/enable_memory_stats
where N = 0 to disable logging, 1 to enable the logging.
Note: This should be enabled/disabled only after wifi is down.
User shouldn't enable/disable when the wifi is up to avoid
accounting the negative values which cause incorrect values
in the memory stats.
Command:
cat /sys/kernel/debug/ieee80211/phyX/memory_stats
memory stats: malloc_size: 108
ath11k_nss: bugfix change start order
value 'dev.nss.n2hcfg.n2h_wifi_pool_buf' was not getting set, wait till
after qca-nss-drv is loaded.
ath11k_nss: finally fix n2hcfg values not being set
Attempt at getting NSS WiFi Offload working on kernel 6.1 (backport 6.5)
These patches are a mix of @ansuel branch for 5.15 (ipq807x-5.15-ecm-wifi)
3ecaee768e
And QUIC's upstream NSS patches on [NHSS.QSDK.12.4.5.r3](https://git.codelinaro.org/clo/qsdk/oss/system/feeds/wlan-open.git)
For the actual package setup (Makfiles,ath.mk) Qualcomm's branch is under 'wlan-open/NHSS.QSDK.12.4.5.r3'
Looks like they've swtiched to using backports 6.5-rc3, and figured to
use a mix of their patches on 'NHSS.QSDK.12.4.5.r3' (nss)
'wlan-open/NHSS.QSDK.12.4.5.r3' (syncing with openwrt main).
Booting with "nss_offload=1 frame_mode=2"
Logs show:
[ 16.606282] WARNING: CPU: 2 PID: 3524 at ath11k_nss_tx+0x1d4/0x1e0 [ath11k]
[ 16.611060] Modules linked in: ecm pppoe ppp_async nft_fib_inet nf_flow_table_inet ath11k_ahb ath11k pptp pppox ppp_generic nft_reject_ipv6 nft_reject_ipv4 nft_reject_inet nft_reject nft_redir nft_quota nft_objref nft_numgen nft_nat nft_masq nft_log nft_limit nft_hash nft_fullcone nft_flow_offload nft_fib_ipv6 nft_fib_ipv4 nft_fib nft_ct nft_compat nft_chain_nat nf_tables nf_nat nf_flow_table nf_conntrack_netlink nf_conntrack mac80211 iptable_mangle iptable_filter ipt_REJECT ipt_ECN ip_tables cfg80211 xt_time xt_tcpudp xt_tcpmss xt_statistic xt_multiport xt_mark xt_mac xt_limit xt_length xt_hl xt_ecn xt_dscp xt_comment xt_TCPMSS xt_LOG xt_HL xt_DSCP xt_CLASSIFY x_tables wireguard slhc sch_cake qrtr_smd qrtr qmi_helpers nfnetlink nf_reject_ipv6 nf_reject_ipv4 nf_log_syslog nf_defrag_ipv4 mhi libcrc32c libchacha20poly1305 compat sch_tbf sch_ingress sch_htb sch_hfsc em_u32 cls_u32 cls_route cls_matchall cls_fw cls_flow cls_basic act_skbedit act_mirred act_gact qca_nss_cfi_cryptoapi
[ 16.611215] qca_nss_crypto qca_nss_qdisc qca_nss_wifi_meshmgr qca_nss_gre ledtrig_usbport qca_mcs bonding ip6_gre ip_gre gre ifb nat46 nf_defrag_ipv6 sit qca_nss_drv ip6_tunnel tunnel6 tunnel4 nls_utf8 nls_iso8859_1 nls_cp437 vxlan seqiv michael_mic uas usb_storage leds_gpio xhci_plat_hcd xhci_pci xhci_hcd dwc3 dwc3_qcom qca_nss_dp qca_ssdk ramoops reed_solomon pstore gpio_button_hotplug ext4 mbcache jbd2 aquantia hwmon crc_ccitt crc32c_generic
[ 16.721723] CPU: 2 PID: 3524 Comm: hostapd Not tainted 6.1.68 #0
[ 16.743958] Hardware name: Dynalink DL-WRX36 (DT)
[ 16.750032] pstate: 60400005 (nZCv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
[ 16.754635] pc : ath11k_nss_tx+0x1d4/0x1e0 [ath11k]
[ 16.761403] lr : ath11k_nss_tx+0x1bc/0x1e0 [ath11k]
[ 16.766264] sp : ffffffc00b1db790
[ 16.771122] x29: ffffffc00b1db790 x28: 0000000000000038 x27: 0000000000000000
[ 16.774602] x26: ffffff8006dd7430 x25: ffffff8007ea9dc8 x24: 0000000060000012
[ 16.781719] x23: ffffff8005c6a060 x22: ffffff8005c6a060 x21: ffffff80072f12d8
[ 16.788837] x20: ffffff8007ea9dc8 x19: ffffff8006082800 x18: 0000000000000005
[ 16.795957] x17: 6976312065707974 x16: 207061636e652062 x15: 6b73207874207373
[ 16.803075] x14: ffffffc00a0dd518 x13: 000000000000018b x12: 000000000000018b
[ 16.810192] x11: 00000000ffffffea x10: ffffffc00a135518 x9 : 0000000000000001
[ 16.817310] x8 : 0000000000000001 x7 : 0000000000017fe8 x6 : c0000000ffffefff
[ 16.824429] x5 : 0000000000000000 x4 : 0000000000000000 x3 : 0000000000000000
[ 16.831547] x2 : ffffff80072f1370 x1 : 0000000000000000 x0 : 0000000000000001
[ 16.838665] Call trace:
[ 16.845774] ath11k_nss_tx+0x1d4/0x1e0 [ath11k]
[ 16.848035] ath11k_mac_tx_mgmt_pending_free+0x3034/0x9600 [ath11k]
[ 16.852551] ieee80211_handle_wake_tx_queue+0x68/0xb10 [mac80211]
[ 16.858801] ieee80211_probereq_get+0xca4/0x11f0 [mac80211]
[ 16.865049] ieee80211_tx_prepare_skb+0x1dc/0x240 [mac80211]
[ 16.870432] ieee80211_xmit+0xcc/0x120 [mac80211]
[ 16.876333] __ieee80211_subif_start_xmit+0x2b8/0x380 [mac80211]
[ 16.880937] ieee80211_subif_start_xmit+0x40/0x3b0 [mac80211]
[ 16.887013] ieee80211_subif_start_xmit_8023+0xb8/0x430 [mac80211]
[ 16.892656] dev_hard_start_xmit+0x8c/0x110
[ 16.898728] __dev_queue_xmit+0x1f0/0xbc0
[ 16.902808] dev_queue_xmit+0x14/0x20
[ 16.906975] packet_sendmsg+0x768/0x1260
[ 16.910620] __sys_sendto+0xdc/0x140
[ 16.914613] __arm64_sys_sendto+0x28/0x40
[ 16.918174] invoke_syscall.constprop.0+0x5c/0x110
[ 16.922081] do_el0_svc+0x58/0x170
[ 16.926765] el0_svc+0x18/0x60
[ 16.930149] el0t_64_sync_handler+0x114/0x120
[ 16.933190] el0t_64_sync+0x174/0x178
[ 16.933197] ---[ end trace 0000000000000000 ]---
[ 16.933230] ath11k c000000.wifi: failed to transmit frame -22
[ 17.041495] ath11k c000000.wifi: encap mismatch in nss tx skb encap type 1vif encap type 2
[ 17.041578] ath11k c000000.wifi: failed to transmit frame -22
Which is confusing since the parameter is definitley set to '2'.
➤ cat /sys/module/ath11k/parameters/frame_mode
2
Booting with either "nss_offload=1 frame_mode=3" (RAW), or "nss_offload=1 frame_mode=1" (Native Wifi)
Results in:
[ 15.644742] ath11k c000000.wifi: peer not found for nss peer delete
[ 15.744742] ath11k c000000.wifi: peer not found for nss peer delete
[ 15.745742] ath11k c000000.wifi: peer not found for nss peer delete
[ 15.746682] ath11k c000000.wifi: peer not found for nss peer delete
Clients connect and then are immediately kicked off, stuck in a loop.
ath11k-nss: Wifi offloading working (unstable)
Wifi offloading seems to be working, however it is not stable. Logs will
initially show a lot of flooding.
```
[Sun Dec 17 02:43:25 2023] ath11k c000000.wifi: peer not found for nss peer delete
[Sun Dec 17 02:43:28 2023] ath11k c000000.wifi: peer not found for nss peer delete
[Sun Dec 17 02:43:30 2023] ath11k c000000.wifi: peer not found for nss peer delete
[Sun Dec 17 02:43:32 2023] ath11k c000000.wifi: peer not found for nss peer delete
[Sun Dec 17 02:43:34 2023] ath11k c000000.wifi: peer not found for nss peer delete
[Sun Dec 17 02:43:40 2023] ath11k c000000.wifi: peer not found for nss peer delete
[Sun Dec 17 02:43:41 2023] ath11k c000000.wifi: peer not found for nss peer delete
[Sun Dec 17 02:43:46 2023] ath11k c000000.wifi: peer not found for nss peer delete
```
But eventually ends up subsiding. Needs heavy testing...
ath11k_nss: Add mac address to debug `nss peer delete` warnings
also delete ath10k patch, and refresh.
ath11k_nss: FIX `nss peer delete` + encap errors
This should hopefullly fix the following errors:
```
[Sun Dec 24 22:03:21 2023] ath11k c000000.wifi: encap mismatch in nss tx skb encap type 1vif encap type 2
[Sun Dec 24 22:03:21 2023] ath11k c000000.wifi: failed to transmit frame -22
[Sun Dec 24 22:08:25 2023] ath11k c000000.wifi: encap mismatch in nss tx skb encap type 1vif encap type 2
[Sun Dec 24 22:08:25 2023] ath11k c000000.wifi: failed to transmit frame -22
```
Clients should also be able to switch between 2Ghz and 5Ghz AP, as well
as join using password (no longer required to boot with NSS off first,
connect the client to acquire PSK, and reboot back with nss wifi offload
enabled).
Uptime has been 5 hours and so far no issues.
ath11k_nss: Remove unecessary clang-tidy formatting
ath11k_nss: add 'debug_mode' flag quiet warnings
Will properly handle:
```
[Mon Dec 25 16:51:34 2023] ath11k c000000.wifi: encap mismatch in nss tx skb encap type 1 vif encap type 2
```
should take the path for native wifi encap
ath11k_nss: Rework depends, make `nss_redirect` optional
1.) Added a reworked `qca-nss-pbuf` init script from QSDK that will set sysctl
NSS `n2hcfg` wifi options based on board type and available
RAM.
2.) ath11k is fully capable of offloading wifi, it does not need
mac80211 to create any NSS vifs. This lowers overhead and has actually
shown considerable speed improvements for CPU programs on the router
side (i.e. SMB). I believe ax3600's IoT (ath10k) would require it
for offloading.
I've added 2 new makemenu options, `MAC80211_NSS_SUPPORT` which enables
NSS related features, and `MAC80211_NSS_REDIRECT` which provides the option to
autoload the module on boot with `nss_redirect=1`.
3.) Reverted the option that deafulted `ATH11K_MEM_PROFILE_512M` to
true. This was not required for platforms with 1GB or more memory
(which is most of them). The default is 1GB. Select for platforms
like Xiaomi AX3600.
ath11k_nss: remove requirement for '/sys/kernel/debug/ath11k'
ath11k_nss: set default values lower to avoid eating up memory
ath11k_nss: Add NSS VLAN support + improvements
1) tweaked qca-nss-pbuf script to better handle different board configs
2) added some QSDK NSS patches for dynamic vlan, WDS.
3) added QSDK fixes for beacon, and bt-coex
For devices that keep getting disconnected (mostly on 2G). It is
recommended to use the following settings for wifi. Change for your
country.
config wifi-device 'radio0'
option type 'mac80211'
option path 'platform/soc/c000000.wifi'
option band '5g'
option txpower '24'
option country 'PA'
option channel '100'
option htmode 'HE160'
option cell_density '0'
config wifi-iface 'default_radio0'
option device 'radio0'
option network 'lan'
option mode 'ap'
option encryption 'psk2'
option key 'SOME_PASSWORD'
option ssid 'EXAMPLE_5G'
option dtim_period '3'
option max_inactivity '86400'
option disassoc_low_ack '0'
config wifi-device 'radio1'
option type 'mac80211'
option path 'platform/soc/c000000.wifi+1'
option band '2g'
option htmode 'HT20'
option channel '1'
option txpower '36'
option country 'PA'
option cell_density '0'
config wifi-iface 'default_radio1'
option device 'radio1'
option network 'lan'
option mode 'ap'
option ssid 'EXAMPLE_2G'
option encryption 'psk2'
option key 'SOME_PASSWORD'
option max_inactivity '86400'
option dtim_period '3'
option disassoc_low_ack '0'
WPA3 should be disabled, and left as WPA2. Experimenting with max_inactivity, dtim_period, and disassoc_low_ack to hopefully resolve the deauth disconnects.
RmNet driver provides a transport agnostic MAP (multiplexing and
aggregation protocol) support in embedded module. Module provides
virtual network devices which can be attached to any IP-mode
physical device.
This is commonly used on Qualcomm based modems for data aggregation.
Signed-off-by: Robert Marko <robert.marko@sartura.hr>
Wrong variable name from copy/paste.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16640
Signed-off-by: Robert Marko <robimarko@gmail.com>
These options are not recognized by the valgrind configure script,
remove them.
Link: https://github.com/openwrt/openwrt/pull/16633
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
The valgrind configure script checks if host_cpu is set to armv7 or arm.
By default --host is set to arm-openwrt-linux and the host_cpu variable
is set to arm. Then the valgrind build tries to compile valgrind for
armv6 and fails. Set it explicitly to armv7 to compile valgrind with
armv7 support.
Fixes: 1a55d90320 ("valgrind: Update to version 3.23")
Link: https://github.com/openwrt/openwrt/pull/16633
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
dcbab62 ipq40xx: add BDFs for SKSpruce WIA3300-20
A new board file package "ipq-wifi-skspruce_wia3300-20" will be
added for the incoming device SKSpruce WIA3300-20.
Signed-off-by: Shiji Yang <yangshiji66@qq.com>
Link: https://github.com/openwrt/openwrt/pull/16476
Signed-off-by: Robert Marko <robimarko@gmail.com>
Allows remove the _remove function as devm calls mutex_destroy
automatically.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16615
Signed-off-by: Robert Marko <robimarko@gmail.com>
Use most recent version of the Intel AX101 and AX210 firmware provided
by linux-firmware and supported the driver used in OpenWrt.
Link: https://github.com/openwrt/openwrt/pull/16621
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Update channels when country set.
Signed-off-by: Janusz Dziedzic <janusz.dziedzic@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16613
Signed-off-by: Robert Marko <robimarko@gmail.com>
Only replace LED state of a single LED instead of removing the entire
/var/run/led.state file.
Fixes: 511e8f84d0 ("base-files: configure LED when added")
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Trying to compile ath10k-ct without mac80211 debugfs support will result in:
openwrt/build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/linux-ipq806x_generic/ath10k-ct-regular/ath10k-ct-2024.07.30~ac71b14d/ath10k-6.10/wmi.h:8083:2: error: #warning Please enable ATH10K-DEBUGFS kernel option for optimal support for CT firmware. [-Werror=cpp]
8083 | #warning Please enable ATH10K-DEBUGFS kernel option for optimal support for CT firmware.
| ^~~~~~~
cc1: all warnings being treated as errors
So, since the driver itself is saying that debugfs is required, then
lets make ath10k-ct select mac80211 debugfs support which is selected
by default anyway.
Fixes: #16302
Link: https://github.com/openwrt/openwrt/pull/16619
Signed-off-by: Robert Marko <robimarko@gmail.com>
Kick to version 92 - that already support station
MLO correctly.
Signed-off-by: Janusz Dziedzic <janusz.dziedzic@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16558
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
This can happen if the bridge or a stacked vlan device gets recreated.
Ensure that hostapd sees the change and handles it gracefully.
Signed-off-by: Felix Fietkau <nbd@nbd.name>
The mac80211 driver backport has been updated to version 6.11. Let's
also push ath10k-ct driver forward. The unsupported feature
'NL80211_EXT_FEATURE_ETHTOOL_VDEV_STATS' has been dropped since it
looks like something for debugging and not supported by the mainline.
Signed-off-by: Shiji Yang <yangshiji66@qq.com>
Link: https://github.com/openwrt/openwrt/pull/16514
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Allows removal of _remove function.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16587
Signed-off-by: Robert Marko <robimarko@gmail.com>
Changes:
fa05d58e (tag: libnl3_10_0) libnl-3.10.0 release
490ffa07 python: fix flake8 warnings
6fc66dd8 doc: workaround LINK_DOC with empty libnl.dict
914812a9 lib: avoid overflow in computation of s_seq_next
5248e1a4 all: fix and enable "-Wsign-compare" warning
9451842e build: use AC_USE_SYSTEM_EXTENSIONS instead of defining _GNU_SOURCE
20664e1e build: move "-DPGKLIBDIR" and rename
81cab7da build: cleanup defining SYSCONFDIR on command line
cf47571c build: drop unnecessary "-Wno-missing-field-initializers" from default CFLAGS
131008f7 build: add "-Wvla" and "-Wdeclaration-after-statement" to default CFLAGS
7e05b622 lib: add internal _nla_len() helper
32688201 route: treat routes with via nexthops as universe scoped as well
c36c7faa format: reformat "include/base/nl-base-utils.h"
49f78229 tests: add a very basic test for route cache
2ebbc034 tests: add NLTstSelectRoute test helper
d784f2cb tests: set NLTST_IN_CI for not skipping tests accidentally
dcb9e2ef route: add missing priority to route_keygen() debug print
d44505ed tests: add helper to detect availablility of iproute2
774863b4 tests: add helper functions for tests
45a10f96 route: move "struct rtnl_nexthop" to "nl-priv-dynamic-route"
153f213b build: fix "check-progs" target in "Makefile.am"
a1e0b8b2 github: print test-suite.log in case of test failure
3e080631 route: expose nexthop id attribute
401c2488 tests: fix _nltst_object_to_string() to print one line only
529c2ab8 route: drop unused fields from "struct rtnl_route"
71e59e14 build: separate build tests from unit tests
8539b7d3 format: reformat "tests/nl-test-util.h" file
6db85366 route: merge branch 'bisdn:jogo_route_nh_cmp'
861fb809 route: use the new helper function for comparing nexthops
8cf29d7b nexthop: add a identical helper function
7cc72d19 utils: reserve the nl_has_capabiliy numbers for releases 3.10 - 3.12
30da5107 github,clang-format: update fedora version for clang-format
2301992b route: fix IPv6 ecmp route deleted nexthop matching
72e4d73f cache: merge branch 'ievenbach:aurora/cache-mgr-cb'
3381acef cache: use cleanup attribute in nl_cache_mngr_alloc_ex()
32cb9f39 cache: cleanup nl_cache_mngr_alloc_ex()
1dbdc30a cache: allow to allocate cache manager with custom refill socket
18b74e08 tests: test compiling all public headers with C++ compiler
691202bf tests: don't use $COMPILE for building header tests
15d90cbf include: add _NL_NO_WARN_DEPRECATED_HEADER for suppressing warning about deprecated headers
8a5f671a tests: avoid "-Wunused-parameter" warning in build headers test
db1a9d7d route: avoid compiler warning about calloc() arguments in rtnl_netem_set_delay_distribution()
3a43faa1 cache: fix new object in callback v2 on updated objects
46cae1bf socket: fix ubsan complaint about incorrect left-shift in generate_local_port()
96ddcd99 all: merge branch 'th/nl-debug'
13ab0122 github: test with --enable-debug=no configure option
264b244e utils: always define nl_debug_dp
dbe21b8d core: always define statements for NL_DBG()
e592dd89 build: always define NL_DEBUG
58734974 all: use defines for attributes
0c16c9cb route/bison: include "nl-default.h" in lex/yacc files
19d48b0f route: add support for layer 3 filtering on bridges
3646398d route: merge branch 'Cordell-O:main'
e21278ed tests: add test for bridge vlan attributes.
4f324f73 route: add support for vlan filtering on bridge ports.
bf071f2b route: Add support to set ageing time for dynamic bridge table entries
b76c3a5d tests: add unit test for `nl_addr_parse("default", AF_INET6, &addr6)`
8693347f lib/xfrm: add missing #include <time.h>
Small size increase:
955 bin/packages/mips_24kc-old/base/libnl200_3.9.0-r1_mips_24kc.ipk
11157 bin/packages/mips_24kc-old/base/libnl-cli200_3.9.0-r1_mips_24kc.ipk
34896 bin/packages/mips_24kc-old/base/libnl-core200_3.9.0-r1_mips_24kc.ipk
7698 bin/packages/mips_24kc-old/base/libnl-genl200_3.9.0-r1_mips_24kc.ipk
25400 bin/packages/mips_24kc-old/base/libnl-nf200_3.9.0-r1_mips_24kc.ipk
148366 bin/packages/mips_24kc-old/base/libnl-route200_3.9.0-r1_mips_24kc.ipk
956 bin/packages/mips_24kc-new/base/libnl200_3.10.0-r1_mips_24kc.ipk
11154 bin/packages/mips_24kc-new/base/libnl-cli200_3.10.0-r1_mips_24kc.ipk
34965 bin/packages/mips_24kc-new/base/libnl-core200_3.10.0-r1_mips_24kc.ipk
7699 bin/packages/mips_24kc-new/base/libnl-genl200_3.10.0-r1_mips_24kc.ipk
25385 bin/packages/mips_24kc-new/base/libnl-nf200_3.10.0-r1_mips_24kc.ipk
149852 bin/packages/mips_24kc-new/base/libnl-route200_3.10.0-r1_mips_24kc.ipk
Link: https://github.com/openwrt/openwrt/pull/16592
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Currently LED configuration is only carried out once during boot.
Apply LED configuration also with a hotplug call when a new LED gets
added later.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Make it clear to users that they should not place a custom file
in /etc/sysctl.d/ for their values and expect it to survive a
reimage.
This change is needed since these directories (/etc/foo.d/) are
generally where such files are placed on other distros.
Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/16543
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Build hostapd with 11BE support for
both mt7925e and mt7925u.
Signed-off-by: Marek Puzyniak <marek.puzyniak@holisticon.pl>
Link: https://github.com/openwrt/openwrt/pull/16571
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
This tool will load the uboot environment to /var/run/uboot-env/. This allows
more efficient use when accessing multiple variables.
Signed-off-by: John Crispin <john@phrozen.org>
Introduce new uci-default functions:
- ucidef_set_wireless band ssid [encryption] [key]
- ucidef_set_country cc
They are supposed to be used in /etc/board.d/* scripts to define
board-specific defaults for wireless.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Signed-off-by: John Crispin <john@phrozen.org>
fbaca4b cache: improve update call by doing a full refresh probe
93c9036 dns: reply to A/AAAA questions for additional hostnames
Signed-off-by: John Crispin <john@phrozen.org>
In file included from hostapd-wpad-basic-mbedtls/hostapd-2024.03.09~695277a5/src/ap/ubus.h:11,
from hostapd-wpad-basic-mbedtls/hostapd-2024.03.09~695277a5/src/ap/hostapd.h:21,
from main.c:26:
hostapd-2024.03.09~695277a5/src/ap/sta_info.h: In function 'ap_sta_is_mld':
hostapd-2024.03.09~695277a5/src/ap/sta_info.h:425:20: error: invalid use of undefined type 'struct hostapd_data'
425 | return hapd->conf->mld_ap && sta && sta->mld_info.mld_sta;
| ^~
Signed-off-by: Janusz Dziedzic <janusz.dziedzic@gmail.com>
714e419 iwinfo: fix EHT mode reporting for STA interfaces
7eed433 devices: add device id for MediaTek MT7996e
Signed-off-by: John Crispin <john@phrozen.org>
Avoid the following errors:
[ 9.219272] mt7996e 0000:01:00.0: Direct firmware load for mediatek/mt7996/mt7992_eeprom_2i5i.bin failed with error -2
[ 9.229975] mt7996e 0000:01:00.0: Falling back to sysfs fallback for: mediatek/mt7996/mt7992_eeprom_2i5i.bin
Fixes: 2f7d22d ("mt76: update to Git HEAD (2024-09-29)")
Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
1231d45dcb5e wifi: mt76: mt7915: check devm_kasprintf() returned value
042082027b3f wifi: mt76: mt7921: Check devm_kasprintf() returned value
4a95c1a81eee wifi: mt76: Avoid multiple -Wflex-array-member-not-at-end warnings
5fdb1841f726 wifi: mt76: mt7925: fix a potential association failure upon resuming
eeb51b527377 wifi: mt76: mt7925: convert comma to semicolon
d4b3b302ceb9 wifi: mt76: mt7615: check devm_kasprintf() returned value
922e515bd8e0 wifi: mt76: mt7925: fix a potential array-index-out-of-bounds issue for clc
bec8cb851d99 wifi: mt76: mt7925: replace chan config with extend txpower config for clc
d10ce9d65dac wifi: mt76: remove mt76_calculate_default_rate()
6685a2f4c217 wifi: mt76: mt7996: remove phy->monitor_vif
a2a9d9826277 wifi: mt76: do not increase mcu skb refcount if retry is not supported
059342ca6a68 wifi: mt76: move mt76_tm_policy to from testmode.h to mt76.h
8bef11443290 wifi: mac80211: inform the low level if drv_stop() is a suspend
4b16d2bfdcbd wifi: mac80211: handle color change per link
4529cddb6718 wifi: mt76: mt7996: extend flexibility of mt7996_mcu_get_eeprom()
4364571e4b2b wifi: mt76: mt7996: add support for more variants
8c86aa304ea1 wifi: mt76: mt7996: set correct background radar capability
addfbd141863 firmware: add latest mt7996 + mt7992 firmware
5ba4981f8b92 wifi: mt76: mt792x: add P2P_DEVICE support
dc32780c7fcd wifi: mt76: mt7921s: fix a potential firmware freeze during startup
7b5d653ea90e wifi: mt76: mt7925: fix off by one in mt7925_load_clc()
1e57d2da94c9 wifi: mt76: mt7615: Convert comma to semicolon
7aca94abac47 wifi: mt76: mt7915: fix slot time for 5/6GHz
e3e6d490ab90 wifi: mt76: mt7915: Fix mesh scan on MT7916 DBDC
ee693260c521 firmware: move mt7996 firmware to the right place
867accf4f4aa wifi: mt76: mt7996: Add eht radiotap tlv
7c4d6e403381 wifi: mt76: Fix EHT NSS radiotap reporting.
71c3949fa8ac wifi: mt76: mt7921: fix a potential scan no APs
61641da04c9e mt76: mt76u_vendor_request: Do not print error messages when -EPROTO
680bc70f161f wifi: mt76: mt7921: fix using incorrect group cipher after disconnection.
Signed-off-by: Felix Fietkau <nbd@nbd.name>
Some setups have alternate boot actions in case the main OS fails to
boot. These can include a secondary copy of the OS, a recovery OS, a
fallback to TFTP boot, etc.
This commit invalidates the kernel image while rootfs is being written
which, if a sysupgrade is interrupted, will trigger an alternate boot
action in devices that support it. This results in safer sysupgrades.
Signed-off-by: Rodrigo Balerdi <lanchon@gmail.com>
The only supported kernel in the main branch now is version 6.6. It's
time to clean up these useless codes and patches.
Signed-off-by: Shiji Yang <yangshiji66@qq.com>
The virtio_find_vqs() ABI has been changed since the 6.11 kernel.
Switch back to using the old ABI to fix the build error:
../mac80211-regular/backports-6.11/drivers/net/wireless/virtual/mac80211_hwsim.c: In function 'init_vqs':
../mac80211-regular/backports-6.11/drivers/net/wireless/virtual/mac80211_hwsim.c:6632:31: error: array type has incomplete element type 'struct virtqueue_info'
6632 | struct virtqueue_info vqs_info[HWSIM_NUM_VQS] = {
| ^~~~~~~~
../mac80211-regular/backports-6.11/drivers/net/wireless/virtual/mac80211_hwsim.c:6637:16: error: too few arguments to function 'virtio_find_vqs'
6637 | return virtio_find_vqs(vdev, HWSIM_NUM_VQS,
| ^~~~~~~~~~~~~~~
In file included from ../mac80211-regular/backports-6.11/drivers/net/wireless/virtual/mac80211_hwsim.c:38:
./include/linux/virtio_config.h:224:5: note: declared here
224 | int virtio_find_vqs(struct virtio_device *vdev, unsigned nvqs,
| ^~~~~~~~~~~~~~~
../mac80211-regular/backports-6.11/drivers/net/wireless/virtual/mac80211_hwsim.c:6632:31: error: unused variable 'vqs_info' [-Werror=unused-variable]
6632 | struct virtqueue_info vqs_info[HWSIM_NUM_VQS] = {
| ^~~~~~~~
../mac80211-regular/backports-6.11/drivers/net/wireless/virtual/mac80211_hwsim.c:6639:1: error: control reaches end of non-void function [-Werror=return-type]
6639 | }
| ^
Signed-off-by: Shiji Yang <yangshiji66@qq.com>
New releases of openssl are only published on GitHub, and official
downloads are also redirected to GitHub. So remove the old download
mirrors (file 404), and replace the current address with https.
Link: https://openssl-library.org/source/
Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
Link: https://github.com/openwrt/openwrt/pull/16470
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Platform specified fiptool files was moved before lf-6.6.23-2.0.0 bump.
But PLAT_FIPTOOL_HELPER_MK still pointed to old location.
This cause problems with ls-ddr-phy build.
This patch fix PLAT_FIPTOOL_HELPER_MK path.
Fixes: 0ec659bd2b ("tfa-layerscape: Bump to lf-6.6.23-2.0.0")
Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16472
Signed-off-by: Robert Marko <robimarko@gmail.com>
Always depend on PCI and don't build on platforms
without PCI.
Signed-off-by: Janusz Dziedzic <janusz.dziedzic@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16475
Signed-off-by: Robert Marko <robimarko@gmail.com>
The rss variant should conflict with the default.
Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
Link: https://github.com/openwrt/openwrt/pull/16460
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
The rss variant should conflict with the default.
Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
Link: https://github.com/openwrt/openwrt/pull/16460
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
Add support for the ArmSoM Sige7 board.
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/16462
Signed-off-by: Nick Hainke <vincent@systemli.org>
Avoids having to handle EPROBE_DEFER manually.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16456
Signed-off-by: Robert Marko <robimarko@gmail.com>
Fix ltssm crashes on BPI-Rx boards.
Seems read32/write32 using wrong address which
is not a problem on x86/64 PCI controllers.
But have issues on BPI-Rx boards.
Signed-off-by: Janusz Dziedzic <janusz.dziedzic@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/15945
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Allow to build ath11k and other drivers using
qcom-qmi-helpers together (eg. ath12k).
Signed-off-by: Janusz Dziedzic <janusz.dziedzic@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/15945
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
1. Remove outdated symbol CONFIG_USB_OHCI_ATH79.
The ath79 OHCI USB was already supported by the generic driver
kmod-usb-ohci. And this kernel symbol has been dropped since
upstream commit:
53d473fc1e38 ("usb: host: Remove the deprecated ATH79 USB host config options")
2. Add ath79 USB phy package to the OHCI dependencies.
Both EHCI and OHCI require it on the ath79 target.
Signed-off-by: Shiji Yang <yangshiji66@qq.com>
Link: https://github.com/openwrt/openwrt/pull/16380
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Add u-boot support based on the kernel dts introduced in d1016446 and
the GL-MT6000 u-boot support in fe10f974.
The pcie-mediatek-gen3 kernel driver doesn't like hotplug, so to work in
PCIe mode, the 5G modem on this device needs to be switched on by u-boot
before starting the kernel. Include an init_modem step in the boot_system
action to set the relevant gpios. (The factory bootloader does the same,
using Mediatek SDK-specific gpio_power_clr and gpio_pull_up.)
Ideally the modem would be started using gpio-hog in the device tree, but
this will need to wait until mediatek gpio-hog support is fixed upstream:
https://lore.kernel.org/u-boot/6ef2583e85eea60560d7776377d662779e7c44e5.1722419839.git.chris@arachsys.com/
The bootloader can be replaced using the built-in web interface of the
factory bootloader. Hold the reset button for five seconds while powering
on the device and it will boot into a recovery http server.
http://192.168.1.1/uboot.html and http://192.168.1.1/bl2.html can then
be used to upload openwrt-mediatek-filogic-glinet_gl-x3000-bl31-uboot.fip
and openwrt-mediatek-filogic-glinet_gl-x3000-preloader.bin respectively.
Alternatively, from a root shell on the running system, unlock the boot
partition with
echo 0 >/sys/block/mmcblk0boot0/force_ro
then write openwrt-mediatek-filogic-glinet_gl-x3000-bl31-uboot.fip to
/dev/mmcblk0p4 and openwrt-mediatek-filogic-glinet_gl-x3000-preloader.bin
to /dev/mmcblk0boot0.
Signed-off-by: Chris Webb <chris@arachsys.com>
Link: https://github.com/openwrt/openwrt/pull/15645
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Ipv6 delegate option is not respected by proto directip
this add support for it.
Signed-off-by: Chen Minqiang <ptpt52@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/15508
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
This make source based IPv6 routing option available for directip
Signed-off-by: Chen Minqiang <ptpt52@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/15508
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Ipv6 delegate option is not respected by proto qmi
this add support for it.
Signed-off-by: Chen Minqiang <ptpt52@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/15508
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Ipv6 delegate option is not respected by proto ncm
this add support for it.
Signed-off-by: Chen Minqiang <ptpt52@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/15508
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Ipv6 delegate option is not respected by proto mbim
this add support for it.
Signed-off-by: Chen Minqiang <ptpt52@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/15508
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Ipv6 delegate option is not respected by proto of ppp/pptp/pppoe/pppoa
this add support for them.
Signed-off-by: Chen Minqiang <ptpt52@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/15508
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
If the `intval` obtained from `info` is indeed 0, it cannot be set to `conf`.
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/15495
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
The support for assigning PCIe eeprom via device tree was
accidentally removed when adding NVMEM eeprom patches.
Fixes: bea4f50207 ("mac80211: rt2x00: improve EEPROM load patches")
Signed-off-by: Shiji Yang <yangshiji66@qq.com>
Link: https://github.com/openwrt/openwrt/pull/16318
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Compile LED support to swconfig and phy modules
Signed-off-by: Oskari Lemmela <oskari@lemmela.net>
Link: https://github.com/openwrt/openwrt/pull/15926
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Add support for building DSA switch drivers as kernel modules.
Signed-off-by: Oskari Lemmela <oskari@lemmela.net>
Link: https://github.com/openwrt/openwrt/pull/15926
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Add support for building multiple phy drivers as kernel modules
Signed-off-by: Oskari Lemmela <oskari@lemmela.net>
Link: https://github.com/openwrt/openwrt/pull/15926
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Add support for building both upstream and downstream ag71xx drivers
as modules.
Signed-off-by: Oskari Lemmela <oskari@lemmela.net>
Link: https://github.com/openwrt/openwrt/pull/15926
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
This patch add a version to uboot patches to help identify in
futures updates when they were upstreamed.
Signed-off-by: Antonio Flores <antflores627@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16275
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
1- The NanoPi R6C is a SBC by FriendlyElec based on the Rockchip RK3588s.
It comes with 4GB or 8GB of RAM, a microSD card slot, optional 32GB eMMC
storage, one M.2 M-Key connector, one RTL8211F 1GbE and one RTL8125
2.5GbE Ethernet port, one USB 2.0 Type-A and one USB 3.0 Type-A port, a
HDMI port, a 30-pin GPIO header as well as multiple buttons and LEDs.
2- Renamed 000-backport-upstream-dts-sync.patch -> 000-v2024.10-rc1-backport-upstream-dts-sync.patch
to add the version when was applied upstream
Signed-off-by: Antonio Flores <antflores627@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16275
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Same as 'nohostroute' option for GRE tunnels (commit 0f8b9addfc)
and IPIP tunnels (commit 46ce629fe0)
Signed-off-by: Aleksandr V. Piskunov <aleksandr.v.piskunov@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/15961
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
link: https://lore.kernel.org/all/2024091842-CVE-2024-46760-1eb3@gregkh
Description
===========
In the Linux kernel, the following vulnerability has been resolved:
wifi: rtw88: usb: schedule rx work after everything is set up
Right now it's possible to hit NULL pointer dereference in
rtw_rx_fill_rx_status on hw object and/or its fields because
initialization routine can start getting USB replies before
rtw_dev is fully setup.
The stack trace looks like this:
rtw_rx_fill_rx_status
rtw8821c_query_rx_desc
rtw_usb_rx_handler
...
queue_work
rtw_usb_read_port_complete
...
usb_submit_urb
rtw_usb_rx_resubmit
rtw_usb_init_rx
rtw_usb_probe
So while we do the async stuff rtw_usb_probe continues and calls
rtw_register_hw, which does all kinds of initialization (e.g.
via ieee80211_register_hw) that rtw_rx_fill_rx_status relies on.
Fix this by moving the first usb_submit_urb after everything
is set up.
For me, this bug manifested as:
[ 8.893177] rtw_8821cu 1-1:1.2: band wrong, packet dropped
[ 8.910904] rtw_8821cu 1-1:1.2: hw->conf.chandef.chan NULL in rtw_rx_fill_rx_status
because I'm using Larry's backport of rtw88 driver with the NULL
checks in rtw_rx_fill_rx_status.
The Linux kernel CVE team has assigned CVE-2024-46760 to this issue.
Affected and fixed versions
===========================
Fixed in 6.6.51 with commit c83d464b82a8
Fixed in 6.10.10 with commit 25eaef533bf3
Fixed in 6.11 with commit adc539784c98
Please see https://www.kernel.org for a full list of currently supported
kernel versions by the kernel community.
Unaffected versions might change over time as fixes are backported to
older supported kernel versions. The official CVE entry at
https://cve.org/CVERecord/?id=CVE-2024-46760
will be updated if fixes are backported, please check that for the most
up to date information about this issue.
Affected files
==============
The file(s) affected by this issue are:
drivers/net/wireless/realtek/rtw88/usb.c
Mitigation
==========
The Linux kernel CVE team recommends that you update to the latest
stable kernel version for this, and many other bugfixes. Individual
changes are never tested alone, but rather are part of a larger kernel
release. Cherry-picking individual commits is not recommended or
supported by the Linux kernel community at all. If however, updating to
the latest release is impossible, the individual changes to resolve this
issue can be found at these commits:
https://git.kernel.org/stable/c/c83d464b82a8ad62ec9077637f75d73fe955635ahttps://git.kernel.org/stable/c/25eaef533bf3ccc6fee5067aac16f41f280e343ehttps://git.kernel.org/stable/c/adc539784c98a7cc602cbf557debfc2e7b9be8b3
Signed-off-by: Antonio Flores <antflores627@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16420
Signed-off-by: Robert Marko <robimarko@gmail.com>
Specification is similar to other devices of the MT Stuart series:
* Mediatek MT7988D (3x Cortex-A73, up to 1.8 GHz clock speed)
* 8 GiB eMMC
* 2 GiB DDR4 RAM
* 2500M/1000M/100M LAN port
* 10000M/5000M/2500M/1000M/100M/10M WAN port
* MT7992 Tri-band (2.4G, 5G, 6G) 2T2R+3T3R+3T3R 802.11be Wi-Fi
* Renesas DA14531MOD Bluetooth
* 2 buttons (Reset, Mesh/WPS)
* uC-controlled RGB LED via I2C
* 2x LED for the 2.5G port, 3x LED for the 10G port
* 3.3V-level 115200 baud UART console via 4-pin Dupont connector
exposed at the bottom of the device
* USB-C PD power input
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
850cc271083d qosify: add support for keeping stats
1501e0935175 bpf_skb_utils.h: add missing include to fix build against newer kernel headers
Signed-off-by: Felix Fietkau <nbd@nbd.name>
The previous host installation fix accidentally moved the rpath settings
out of CMAKE_HOST_OPTIONS and into CMAKE_OPTIONS.
Fixes: ae42ecaad4 ("ucode: fix host installation")
Signed-off-by: Felix Fietkau <nbd@nbd.name>
This commit adds support for netis N6 WiFi 6 router.
Specification
-------------
- SoC : MediaTek MT7621AT, MIPS, 880 MHz
- RAM : 256 MiB
- Flash : NAND 128 MiB (ESMT PSU1GA30DT)
- WLAN : MT7905DAN + MT7975DN
- 2.4 GHz : b/g/n/ax, 574 Mbps, MIMO 2x2
- 5 GHz : a/n/ac/ax, 1201 Mbps, MIMO 2x2
- Ethernet : 10/100/1000 Mbps x5 (1x WAN, 4x LAN)
- USB : 1x 3.0
- UART : 3.3V, 115200n8
- Buttons : 1x Reset
1x WPS
- LEDs : 1x Power (green)
1x System (green)
1x WAN (green)
1x WiFi 2.4 GHz (green), controlled by phy
1x WiFi 5 GHz (green), controlled by phy
1x WPS (green)
1x USB (green)
5x ethernet leds (green), controlled by switch
- Power : 12 VDC, 1.5 A
Installation
------------
1. Update the router using stock firmware web interface and OpenWrt
factory.bin image.
Recovery and return to stock
----------------------------
1. Assign your PC a static IP 192.168.1.2 and connect to the router using
the ethernet cable;
2. Power off the router;
3. Press Reset button, power on the router and wait until ethernet led
start blinking;
4. Release the button;
5. Open http://192.168.1.1/ (N6 System Recovery Mode) in your browser;
6. Upload OpenWrt factory.bin (or stock firmware *.bin) image and proceed
with upgrade.
MAC addresses
-------------
+---------+-------------------+
| | MAC example |
+---------+-------------------+
| LAN | dc:xx:xx:49:xx:04 |
| WAN | dc:xx:xx:49:xx:05 |
| WLAN 2g | dc:xx:xx:19:xx:06 |
| WLAN 5g | dc:xx:xx:79:xx:06 |
+---------+-------------------+
The WLAN MAC prototype was found in 'Factory', 0x4
The LAN MAC was found in 'Factory', 0x7ef20
The WAN MAC was found in 'Factory', 0x7ef26
Known issue
-----------
2.4 GHz WLAN doesn't start with mt76 driver.
Probable reason:
Original Netis N6 EEPROM contains wrong MT_EE_WIFI_CONF value (0xd2).
Other routers with the same WLAN hardware (e.g., Routerich AX1800)
have MT_EE_WIFI_CONF = 0x92.
Workaround (already included in this commit):
Extract EEPROM to a file at the first time boot and change
MT_EE_WIFI_CONF (offset 0x190) value from 0xd2 to 0x92. See
/etc/hotplug.d/firmware/11-mt76-caldata for details.
Signed-off-by: Mikhail Zhilkin <csharper2005@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16322
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
bcc091d session: Fix crash when the UCI option 'password' or 'username' is missing
9f4b86e rpcd: iwinfo: add IEEE 802.11be support
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
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 <daniel@makrotopia.org>
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 <gch981213@gmail.com>
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 <AuthorReflex@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16338
Signed-off-by: Robert Marko <robimarko@gmail.com>
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 <AuthorReflex@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16338
Signed-off-by: Robert Marko <robimarko@gmail.com>
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 <maukka@ext.kapsi.fi>
[rmilecki: try NVMEM for MACs]
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
- specify CC target explicitly
- define KBUILD_SYM32=n to select "native" build format (if building with 64-bit arch)
- rewrap lines (for good)
Signed-off-by: Konstantin Demin <rockdrilla@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/15702
Signed-off-by: Robert Marko <robimarko@gmail.com>
The path for linking libucode.so was not specified for the ucode binary.
This breaks execution of ucode in the host context.
Signed-off-by: David Bauer <david.bauer@uniberg.com>
move nanopc-t6 recipes above rock 5b.
Fixes: 9482341a47 ("rockchip: add support for nanopc t6")
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/16340
Signed-off-by: Robert Marko <robimarko@gmail.com>
Specifications:
* SoC: Qualcomm IPQ8072A (64-bit Quad-core Arm Cortex-A53 @ 2200MHz)
* Memory: 2x ESMT M15T4G16256A-DEBG2G (1 GiB DDR3-1866 13-13-13)
* Serial Port: 3v3 TTL 115200n8
* Wi-Fi: QCN5054 (4x4 5 GHz 802.11ax)
* Wi-Fi: QCN5024 (4x4 2.4 GHz 802.11b/g/n/ax)
* Ethernet: QCA8081 (10/100/1000/2.5GBASE-T)
* Flash: Winbond W29N01HZSINF (128 MiB)
* LEDs: 1x Blue Status (GPIO 42 Active High)
* Buttons: 1x Reset (GPIO 50 Active Low)
Installation Instructions (Serial+TFTP):
1. Solder 4 pin header to JP1 and bridge pads of R58 and R62.
2. Connect 3V3 TTL port to TX, RX, and GND, which are positions 1, 2,
and 3 respectively. Be sure to crossover TX and RX.
3. Copy RAM firmware image
openwrt-qualcommax-ipq807x-tplink_eap660hd-v1-initramfs-uImage.itb
to TFTP server root, available at 192.168.10.1.
4. Connect PoE ethernet cable to the RJ45 port and hold Ctrl+B in the
serial console (115200 baud) until autoboot is halted.
5. Run the following commands in the U-boot prompt:
# tftpboot 0x44000000 openwrt-qualcommax-ipq807x-tplink_eap660hd-v1-initramfs-uImage.itb
# bootm
You may need to type Ctrl+C and Enter before running these commands
to clear invisible characters from the buffer.
6. Run the following command in a terminal to copy the sysupgrade image
to be installed (check IP address):
$ scp openwrt-qualcommax-ipq807x-tplink_eap660hd-v1-squashfs-sysupgrade.bin root@192.168.1.1:/tmp/
7. Activate the OpenWrt serial console and run the following commands:
# cd /tmp
# sysupgrade -n openwrt-qualcommax-ipq807x-tplink_eap660hd-v1-squashfs-sysupgrade.bin
8. The AP will reboot and OpenWrt will be successfully installed.
Signed-off-by: George Witt <george.witt@nltsproject.org>
Link: https://github.com/openwrt/openwrt/pull/15832
Signed-off-by: Robert Marko <robimarko@gmail.com>
GCC errors on returning int in void function now.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16348
Signed-off-by: Robert Marko <robimarko@gmail.com>
OpenSSL 3.0.15 is a security patch release. The most severe CVE fixed in this release is Moderate.
This release incorporates the following bug fixes and mitigations:
* Fixed possible denial of service in X.509 name checks (CVE-2024-6119)
* Fixed possible buffer overread in SSL_select_next_proto() (CVE-2024-5535)
Added github releases url as source mirror
Signed-off-by: Ivan Pavlov <AuthorReflex@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16332
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Adds u-boot config for access to system env variables on this board
Signed-off-by: Ivan Pavlov <AuthorReflex@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16312
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
If the user has ip-tiny or ip-full installed there is no need to depend on
BusyBox having any form of `ip` or `ip link` applets.
Signed-off-by: Christian Svensson <blue@cmd.nu>
Link: https://github.com/openwrt/openwrt/pull/16062
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Include hotfix suggested by Sebastian Gottschall to fix bug introduced
with APuP patchset
Signed-off-by: Gioacchino Mazzurco <gio@polymathes.cc>
Link: 0c3001a69e
Link: https://github.com/openwrt/openwrt/pull/16298
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Instead of avoiding returning, propagate error so that the kernel
infrastructure can handle it.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16262
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>