LinuxKPI based WiFi drivers: scripts to extract fwget(8) and port detailsAdd a "zzz_fw_ports_fwget.sh" script to each LinuxKPI based wirelessdriver which in essential are all the same and in detai
LinuxKPI based WiFi drivers: scripts to extract fwget(8) and port detailsAdd a "zzz_fw_ports_fwget.sh" script to each LinuxKPI based wirelessdriver which in essential are all the same and in detail all different.They extract information for fwget(8), wifi-firmware-* ports, man pagesand for iwlwififw also for the wiki.Sponsored by: The FreeBSD FoundationSuggested by: imp (to have automation in D44918)(cherry picked from commit 96190b4fef3b4a0cc3ca0606b0c4e3e69a5e6717)
show more ...
LinuxKPI: Remove sys/rman.h include from LKPI headers.sys/rman.h defines `resource` structure which conflicts with the Linuxstructure of the same name. To fix that remove reference to sys/rman.hf
LinuxKPI: Remove sys/rman.h include from LKPI headers.sys/rman.h defines `resource` structure which conflicts with the Linuxstructure of the same name. To fix that remove reference to sys/rman.hfrom linux/pci.h and move resource management code to linux_pci.c.Update consumers which were depending on linux/pci.h pollution.No functional changes intended.Sponsored by: Serenity Cyber Security, LLCMFC after: 1 weekDifferential Revision: https://reviews.freebsd.org/D42792(cherry picked from commit 96ab16ebab6319dce9b3041961b0ab6e20a4fecc)
rtw88: update driver from upstreamThis is a combined version of updates of the rtw88 driver basedon wireless-testing(wt-2023-05-11) 711dca0ca3d77414f8f346e564e9c8640147f40d (after v6.4-rc1),(wt-
rtw88: update driver from upstreamThis is a combined version of updates of the rtw88 driver basedon wireless-testing(wt-2023-05-11) 711dca0ca3d77414f8f346e564e9c8640147f40d (after v6.4-rc1),(wt-2023-06-09) 7bd20e011626ccc3ad53e57873452b1716fcfaaa (after v6.4-rc5),(wt-2023-07-24) 62e409149b62a285e89018e49b2e115757fb9022 (after v6.5-rc3),(wt-2023-08-06) 2a220a15be657a24868368892e3e2caba2115283 (after v6.5-rc4).This update follows other currently disconnected LinuxKPI based wirelessdrivers to lift them all to a same version in case someone else wants towork on this driver in parallel to predominant iwlwifi efforts.While debugging some funky register reads of 0xaeaea from RF_CFGCHresulting in "rtw880: [TXGAPK] unknown channel 234!!" more of thesereads came to my attention hidden by using the register index ratherthan the defined value. Make this more grep-able.(cherry picked from commit 90aac0d83bc9645f51ef0c2aeae6f9c0540bb031)(cherry picked from commit 4f3b2bba240b6e0603b5cbb47155fd8215bcbcb3)
iwlwifi: rtw88: rtw89: fix gcc warningsFix -Wno-format and unused variables warnings with gcc by adopting(to|the) FreeBSD-specific code.Reported by: jhbSponsored by: The FreeBSD FoundationMFC
iwlwifi: rtw88: rtw89: fix gcc warningsFix -Wno-format and unused variables warnings with gcc by adopting(to|the) FreeBSD-specific code.Reported by: jhbSponsored by: The FreeBSD FoundationMFC after: 3 daysReviewed by: jhbDifferential Revision: https://reviews.freebsd.org/D39673
rtw88: use #define for NL80211_BAND_2GHZ instead of hardcoded numberUse NL80211_BAND_2GHZ instead of a hard coded 0 as array index for theband. While LinuxKPI provides a KPI compatibility some of
rtw88: use #define for NL80211_BAND_2GHZ instead of hardcoded numberUse NL80211_BAND_2GHZ instead of a hard coded 0 as array index for theband. While LinuxKPI provides a KPI compatibility some of these valuesmay not necessarily be KBI compatible (in this case they shoule be sothis is a NOP) and after all it is better style.No functional change.MFC after: 3 days
LinuxKPI: iwlwifi: rtw88: rtw89: remove budget argument from netif_napi_add()In preparation for future updates remove the budget argument from thenetif_napi_add() in drivers and update LinuxKPI to
LinuxKPI: iwlwifi: rtw88: rtw89: remove budget argument from netif_napi_add()In preparation for future updates remove the budget argument from thenetif_napi_add() in drivers and update LinuxKPI to reflect that it isgone and only set it internally. This required changes to the currentlycommitted wireless drivers based on LinuxKPI (iwlwifi, rtw88, rtw89).Sponsored by: The FreeBSD FoundationMFC after: 3 days
lindebugfs,rtw88,rtw89: correct module dependenciesIn f697b9432d9c7aa4c5ab5f5445ef5dc1bd40ce00 the name of the PSEUDOFSwas changed from debugsfs to lindebugfs but the in-tree consumerswere not up
lindebugfs,rtw88,rtw89: correct module dependenciesIn f697b9432d9c7aa4c5ab5f5445ef5dc1bd40ce00 the name of the PSEUDOFSwas changed from debugsfs to lindebugfs but the in-tree consumerswere not updated now leaving the drivers not loading if compiledwith debugfs support due to missing dependencies.MFC after: 3 daysX-MFC-with-after: f697b9432d9c7aa4c5ab5f5445ef5dc1bd40ce00
LinuxKPI, dev: 80211 update mac80211 KPIUpdate the mac80211 ops KPI for (*conf_tx), (*assign_vif_chanctx),(*unassign_vif_chanctx), (*start_ap), and (*stop_ap), as well asieee80211_beacon_get_tim(
LinuxKPI, dev: 80211 update mac80211 KPIUpdate the mac80211 ops KPI for (*conf_tx), (*assign_vif_chanctx),(*unassign_vif_chanctx), (*start_ap), and (*stop_ap), as well asieee80211_beacon_get_tim() and ieee80211_beacon_get_template().Update in-tree drivers iwlwifi and rtw88 accordingly based on upstreamchanges (as well as out-of-tree ones). This was triggered by trying tosynchronize more drivers to a common state.MFC after: 1 week
LinuxKPI 802.11/iwlwifi/rtw88: update KPIUpgrade the argument of (*bss_info_changed) mac80211 ops function callfrom 32 to 64 bit.Add an extra argument to ieee80211_beacon_get_template().Both ch
LinuxKPI 802.11/iwlwifi/rtw88: update KPIUpgrade the argument of (*bss_info_changed) mac80211 ops function callfrom 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 insynch and to move forward.The driver changes were extracted from Linux wireless-testing7b7090b4c6a906cc7c3e2a460335f705b93f4506 and6e8912a503759bb8f1f01c5b761d0d45815fa6de.Sponsored by: The FreBSD FoundationMFC after: 1 week
Revert "rtw88: split driver up into a core and pci part"After some discussion, for now, simply revert the change to splitthe driver up into if_rtw88_core.ko and if_rtw88_pci.ko as we donot have a
Revert "rtw88: split driver up into a core and pci part"After some discussion, for now, simply revert the change to splitthe driver up into if_rtw88_core.ko and if_rtw88_pci.ko as we donot have an if_rtw88.ko anymore. We do have code trying toauto-load modules, e.g. ifconfig, based on if_xxx.ko.We could, based on Makefile magic or further code, generate aif_rtw88.ko module with proper dependencies and keep this but forsimplicity stay with the one slightly larger module for now.Should code appear to do this "properly" we can revisit this onceUSB support has landed.Slightly update the module Makefile to keep the separation of filesbetween core and pci bits visible and maintainable for the future.This reverts commit 0f7b9777f8f39fbc230b3e1de2f844d9f839adea.
rtw88: update Realtek's rtw88 driverUpdate rtw88 based on wireless-testing at4e051428044d5c47cd2c81c3b154788efe07ee11 (tag: wt-2022-06-10).This is in preparation to apply USB changes to work on
rtw88: update Realtek's rtw88 driverUpdate rtw88 based on wireless-testing at4e051428044d5c47cd2c81c3b154788efe07ee11 (tag: wt-2022-06-10).This is in preparation to apply USB changes to work on these andLinuxKPI for them over the next weeks, as well to debug areported issue, and possibly extract and upstream some local fixes.MFC after: 3 days
rtw88: split driver up into a core and pci partSplit the driver up into two modules (if_rtw88_pci.ko and rtw88_core.ko).This is in preparation for the hopefully eventually upcoming USB supportusi
rtw88: split driver up into a core and pci partSplit the driver up into two modules (if_rtw88_pci.ko and rtw88_core.ko).This is in preparation for the hopefully eventually upcoming USB supportusing the same driver core.Note: this changes the module name to load to if_rtw88_pci.ko instead ofif_rtw88.ko. If using devmatch(8) everything should stay the same asthe driver name (used for net.wlan.devices) stays rtw88. If usingkld_list in rc.conf or loader.conf you will need to adjust the name.Update man page for this.MFC after: 3 days
rtw88: plug various skb leaks in error casesBased on manual inspection the skbs are not freed in those unlikelycases, though all would give an error message so would have gone noticedif happened.
rtw88: plug various skb leaks in error casesBased on manual inspection the skbs are not freed in those unlikelycases, though all would give an error message so would have gone noticedif happened.While here fix a typo in one of these error messages.MFC after: 3 days
LinuxKPI 802.11 / iwlwifi / rtw88 : re-factor ieee802211_sta for MLOWorking on an update for rtw88 baed on wireless-testing I ran intoa build issue with struct ieee802211_sta. Some fields were fa
LinuxKPI 802.11 / iwlwifi / rtw88 : re-factor ieee802211_sta for MLOWorking on an update for rtw88 baed on wireless-testing I ran intoa build issue with struct ieee802211_sta. Some fields were factoredout into their own struct apparently preparing for MLO (Multi LinkOperation).In order to be able to update one driver we have to adjust bothrtw88 and iwlwifi (and the ones still out-of-tree) now.This is mostly a sed-replace job and no functional changes areintended.Sponsored by: The FreeBSD FoundationMFC after: 3 days
rtw88: deal with debug messagesThe 'failed to write TX skb to HCI' error message is twice in the code.Print the function name and along with the message and also the reportederror so it can possi
rtw88: deal with debug messagesThe 'failed to write TX skb to HCI' error message is twice in the code.Print the function name and along with the message and also the reportederror so it can possibly be helpful.The 'failed to get tx report from firmware' was purposefully changedaway from debugging in the upstream Linux driver in584dce175f0461d5d9d63952a1e7955678c91086 . Revert that decision andextend the logging by the actual queue length so we get an idea howsever the problem is (see PR for a report).PR: 248235Sponsored by: The FreeBSD FoundationMFC after: 3 daysX-MFC: only to get the reminder for later
rtw88: import Realtek's rtw88 driverImport rtw88 based on wireless-testing at5d5d68bcff1f7ff27ba0b938a4df5849849b47e3 with adjustments for FreeBSD.While our version of the driver has knowledge a
rtw88: import Realtek's rtw88 driverImport rtw88 based on wireless-testing at5d5d68bcff1f7ff27ba0b938a4df5849849b47e3 with adjustments for FreeBSD.While our version of the driver has knowledge about the incapablityof DMA above 4GB we do see errors if people have more than thatoften already showing when laoding firmware.The problem for that is currently believed to be outside this driverso importing it anyway for now.Given the lack of full license texts on non-local files this isimported under the draft policy for handling SPDX files (D29226). [1]Approved by: core (imp) [1]MFC after: 2 weeks