#
7b43f4d0 |
| 28-Oct-2024 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
LinuxKPI: 802.11: adjustments for v6.11 iwlwifi, rtw88 and rtw89
Bring in the LinuxKPI 802.11 compat bits which are altering the mac80211 KPI.
* In struct ieee80211_bss_conf chandef -> chanreq. * V
LinuxKPI: 802.11: adjustments for v6.11 iwlwifi, rtw88 and rtw89
Bring in the LinuxKPI 802.11 compat bits which are altering the mac80211 KPI.
* In struct ieee80211_bss_conf chandef -> chanreq. * Various struct ieee80211_ops gained a link_id arguemnt, stop gained a suspend flag. * Various functions gained a link_id argument. * ieee80211_tx_status() was renamed to ieee80211_tx_status_skb()
Sponsored by: The FreeBSD Foundation MFC after: 3 days
show more ...
|
Revision tags: release/13.4.0, release/14.1.0, release/13.3.0, release/14.0.0 |
|
#
9fb91463 |
| 26-Oct-2023 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
LinuxKPI: 802.11: bring in some HT code
Fix defines and structures to use proper types.
Bring in basic ni->sta synchronization, some channel width handling, and overload the net80211 functions so t
LinuxKPI: 802.11: bring in some HT code
Fix defines and structures to use proper types.
Bring in basic ni->sta synchronization, some channel width handling, and overload the net80211 functions so that we can talk to driver/firmware to setup parameters. We will likely not need one or two of those but it is good for tracing currently.
Cover HT and bits of VHT code in LinuxKPI behind apropriate #ifdef which are currently not enabled (like LKPI_80211_HW_CRYPTO) until confirmed to work. Last, IEEE80211_AMPDU_RX_START made some firmware unhappy.
This will allow others to work on it and test as well.
Sponsored by: The FreeBSD Foundation MFC after: 10 days
show more ...
|
#
fdafd315 |
| 24-Nov-2023 |
Warner Losh <imp@FreeBSD.org> |
sys: Automated cleanup of cdefs and other formatting
Apply the following automated changes to try to eliminate no-longer-needed sys/cdefs.h includes as well as now-empty blank lines in a row.
Remov
sys: Automated cleanup of cdefs and other formatting
Apply the following automated changes to try to eliminate no-longer-needed sys/cdefs.h includes as well as now-empty blank lines in a row.
Remove /^#if.*\n#endif.*\n#include\s+<sys/cdefs.h>.*\n/ Remove /\n+#include\s+<sys/cdefs.h>.*\n+#if.*\n#endif.*\n+/ Remove /\n+#if.*\n#endif.*\n+/ Remove /^#if.*\n#endif.*\n/ Remove /\n+#include\s+<sys/cdefs.h>\n#include\s+<sys/types.h>/ Remove /\n+#include\s+<sys/cdefs.h>\n#include\s+<sys/param.h>/ Remove /\n+#include\s+<sys/cdefs.h>\n#include\s+<sys/capsicum.h>/
Sponsored by: Netflix
show more ...
|
#
c5e25798 |
| 25-Sep-2023 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
LiunxKPI: 802.11: move ieee80211_chanctx_conf into lkpi private struct
Factor out ieee80211_chanctx_conf into struct lkpi_chanctx in order to keep local state as well. In first instance that is add
LiunxKPI: 802.11: move ieee80211_chanctx_conf into lkpi private struct
Factor out ieee80211_chanctx_conf into struct lkpi_chanctx in order to keep local state as well. In first instance that is added_to_drv only. For now we stay single-chanctx only but this paves the path to make it a list. Use the new information to implement ieee80211_iter_chan_contexts_atomic().
Sponsored by: The FreeBSD Foundation MFC after: 3 days
show more ...
|
#
727f88f2 |
| 21-Sep-2023 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
LinuxKPI: 802.11: mac80211 ops: distinguish between {bss,link}_info_changed
With MLO and multi-link setups if avail we want to call link_info_changed whereas for legacy drivers we still need to call
LinuxKPI: 802.11: mac80211 ops: distinguish between {bss,link}_info_changed
With MLO and multi-link setups if avail we want to call link_info_changed whereas for legacy drivers we still need to call bss_info_changed. While we currently do not (yet) support multi-link configurations we still need to drive the correct commands to satisfy firmware requirements.
Sponsored by: The FreeBSD Foundation MFC after: 3 days
show more ...
|
#
68541546 |
| 16-Sep-2023 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
LinuxKPI: 802.11: pass non-0/NULL arguments to MO functions
In [1] we updated the KPI for various mac80211 ops functions to deal with MLD code. Newer iwlwifi driver and firmware supports these func
LinuxKPI: 802.11: pass non-0/NULL arguments to MO functions
In [1] we updated the KPI for various mac80211 ops functions to deal with MLD code. Newer iwlwifi driver and firmware supports these functions so we need to pass non-dummy (0, NULL) arguments to them. Start extending the internel MO functions by these arguments and pass down values from LinuxKPI 802.11 code. It is assumed that further work will be needed to have all the right fields available to at least work in the lgeacy way of a single link.
Sponsored by: The FreeBSD Foundation Improves: 549198b1ab95 (update mac80211 KPI) [1] MFC after: 3 days
show more ...
|
#
685dc743 |
| 16-Aug-2023 |
Warner Losh <imp@FreeBSD.org> |
sys: Remove $FreeBSD$: one-line .c pattern
Remove /^[\s*]*__FBSDID\("\$FreeBSD\$"\);?\s*\n/
|
#
3206587a |
| 10-Jun-2023 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
LinuxKPI: 802.11: improve scan handling
Under certain circumstances a hw_scan may be downgraded to a software scan. Handle these situations better and make sure we free resources in all cases once.
LinuxKPI: 802.11: improve scan handling
Under certain circumstances a hw_scan may be downgraded to a software scan. Handle these situations better and make sure we free resources in all cases once. [1]
Also leave a note about scanning all bands (or we would have to switch bands manually).
In both cases hardware doing and driver saying seem not entirely consistent for all and all firmware.
Sponsored by: The FreeBSD Foundation MFC after: 10 days Reported by: imp [1]
show more ...
|
Revision tags: release/13.2.0, release/12.4.0 |
|
#
e7fe0373 |
| 01-Nov-2022 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
LinuxKPI: 802.11: pass internal variable to lkpi_80211_mo_sta_state()
With mac80211 operations (MO) tracing on we have seen some ill-ordered executions of MO functions. In order to limit visibility
LinuxKPI: 802.11: pass internal variable to lkpi_80211_mo_sta_state()
With mac80211 operations (MO) tracing on we have seen some ill-ordered executions of MO functions. In order to limit visibility of the mac80211 sta, pass the internal version into lkpi_80211_mo_sta_state() and only there convert to the argument needed. This mostly eases tracing and debugging.
Sposnored by: The FreeBSD Foundation MFC after: 3 days
show more ...
|
#
64d3da00 |
| 23-Oct-2022 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
LinuxKPI: 802.11: add MO tracing
Add a macro to each implemented mac80211 operation. This currently turns into a printf if LINUXKPI_80211_DEBUG is defined but in the future could become a different
LinuxKPI: 802.11: add MO tracing
Add a macro to each implemented mac80211 operation. This currently turns into a printf if LINUXKPI_80211_DEBUG is defined but in the future could become a different probe as well. This is helpful for quick analysis and boot-time problem debugging when DTrace and other frameworks may be harder to use.
Sponsored by: The FreeBSD Foundation MFC after: 3 days
show more ...
|
#
549198b1 |
| 08-Sep-2022 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
LinuxKPI, dev: 80211 update mac80211 KPI
Update the mac80211 ops KPI for (*conf_tx), (*assign_vif_chanctx), (*unassign_vif_chanctx), (*start_ap), and (*stop_ap), as well as ieee80211_beacon_get_tim(
LinuxKPI, dev: 80211 update mac80211 KPI
Update the mac80211 ops KPI for (*conf_tx), (*assign_vif_chanctx), (*unassign_vif_chanctx), (*start_ap), and (*stop_ap), as well as ieee80211_beacon_get_tim() and ieee80211_beacon_get_template().
Update in-tree drivers iwlwifi and rtw88 accordingly based on upstream changes (as well as out-of-tree ones). This was triggered by trying to synchronize more drivers to a common state.
MFC after: 1 week
show more ...
|
#
a486fbbd |
| 04-Sep-2022 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
LinuxKPI: 80211: scanning code updates
For consistency rename LKPI_SCAN_RUNNING adding a LHW_ prefix. Add a local flag LKPI_LHW_SCAN_HW mirroring the net80211 IEEE80211_FEXT_SCAN_OFFLOAD flag. Sligh
LinuxKPI: 80211: scanning code updates
For consistency rename LKPI_SCAN_RUNNING adding a LHW_ prefix. Add a local flag LKPI_LHW_SCAN_HW mirroring the net80211 IEEE80211_FEXT_SCAN_OFFLOAD flag. Slightly simplify the code. Overload (*ic_scan_curchan) and (*ic_scan_mindwell) so that we can call the net80211 implementation in case of software scan but skip it in case of full-offload scans. Also add a bandaid to our (*ic_set_channel) implementation to not siwtch channels if we have an active hw_scan running.
Obtained from: bz/wireless-dev Sponsored by: The FreeBSD Foundation (partially) MFC after: 4 days
show more ...
|
#
527687a9 |
| 04-Sep-2022 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
LinuxKPI: 80211: implement (*get_antenna) and set ic_[rt]xstream
Implement the mac80211 (*get_antenna) call and after checking any antenna information present query the current configuration on star
LinuxKPI: 80211: implement (*get_antenna) and set ic_[rt]xstream
Implement the mac80211 (*get_antenna) call and after checking any antenna information present query the current configuration on startup (both informations should be identical at this point in theory). Both the wiphy variables and function call report a bitmask not a count. Count the bits for net80211 for as long as we get away with just a number in ic_[rt]xstream.
Sponsored by: The FreeBSD Foundation MFC after: 4 days
show more ...
|
#
467d3e2e |
| 29-Jul-2022 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
LinuxKPI 802.11/iwlwifi/rtw88: update KPI
Upgrade the argument of (*bss_info_changed) mac80211 ops function call from 32 to 64 bit. Add an extra argument to ieee80211_beacon_get_template().
Both ch
LinuxKPI 802.11/iwlwifi/rtw88: update KPI
Upgrade the argument of (*bss_info_changed) mac80211 ops function call from 32 to 64 bit. Add an extra argument to ieee80211_beacon_get_template().
Both changes are needed in order to keep other out-of-tree drivers in synch and to move forward.
The driver changes were extracted from Linux wireless-testing 7b7090b4c6a906cc7c3e2a460335f705b93f4506 and 6e8912a503759bb8f1f01c5b761d0d45815fa6de.
Sponsored by: The FreBSD Foundation MFC after: 1 week
show more ...
|
Revision tags: release/13.1.0 |
|
#
878fb1e5 |
| 24-Mar-2022 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
LinuxKPI: 802.11: improve lkpi_80211_mo_sta_state() for non (*sta_state)
If a driver does not support (*sta_state)() we internally in lkpi_80211_mo_sta_state() fall back to using (*sta_add/*sta_remo
LinuxKPI: 802.11: improve lkpi_80211_mo_sta_state() for non (*sta_state)
If a driver does not support (*sta_state)() we internally in lkpi_80211_mo_sta_state() fall back to using (*sta_add/*sta_remove)(). In that case add tracking of both added_to_drv and state fields for the lsta so that our state machine keeps working and assertions do not fire.
Sponsored by: The FreeBSD Foundation MFC after: 3 days
show more ...
|
#
d9f59799 |
| 22-Mar-2022 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
LinuxKPI: 802.11: rework sta state machine compatibility
Rework the state machine parts for various reasons: (1) to add sta tracing to be able to better follow ni and lsta state (2) factor out/imple
LinuxKPI: 802.11: rework sta state machine compatibility
Rework the state machine parts for various reasons: (1) to add sta tracing to be able to better follow ni and lsta state (2) factor out/implement lkpi_lsta_remove() to unlink the lsta and free the ni reference. (3) avoid calling lkpi_disassoc() when you would think you should as changing BSS_CHANGED_ASSOC setting vif->bss_conf.assoc to false triggers a sta removal from firmware in iwlwifi which then triggers follow-up errors. I do not understand why they use flags and state and ?? in parallel (too many options and ways to do things?). (4) when "roaming" (or being disassoc/deauth) from an AP both net80211 and apparently so mac80211 re-start with a new node/sta. This results in us losing one or the other state in the compat layer or not updating firmware appropriately. To resolve this make use of (a) the newly introduced (*iv_update_bss)() and (b) always tear a station down to "State 1" (INIT/SCAN/pre-AUTH) and only if needed re-create the new one (if we go to AUTH). A slightly earlier version has survived a night of wpa_supplicant and hostapd fighting each other over disassoc and deauth and re-associating/authorizing.
While there update a few comments and typos and do a few minor auxiliary changes which are hard or not worth to extract.
Sponsored by: The FreeBSD Foundation MFC after: 3 days
show more ...
|
#
6b4cac81 |
| 26-Dec-2021 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
LinuxKPI: add 802.11 compat code
Add 802.11 compat code for mac80211 and to a minimal degree cfg80211. This allows us to compile and use basic functionality of wireless drivers such as iwlwifi.
Thi
LinuxKPI: add 802.11 compat code
Add 802.11 compat code for mac80211 and to a minimal degree cfg80211. This allows us to compile and use basic functionality of wireless drivers such as iwlwifi.
This is a constant work in progress but having it in the tree will allow others to test and more easy to track changes and avoid having snapshots no longer applying to branches.
Sponsored by: The FreeBSD Foundation MFC after: 3 days
show more ...
|