WiFi device not being loaded, not sure how to track down the issue
-
I got a little Beelink EQ12 to turn into a pfSense (2.7.2-RELEASE (amd64), FreeBSD 14.0-CURRENT) router, it will eventually use a wired WAN but for now I need to use a wireless WAN so infrastructure mode is fine. It came with an Intel AX101NGW m.2 Wifi module. If I'm reading the documentation correctly, it should be supported by iwlwifi. However, it doesn't show up in my list of interfaces and if I try to create a wireless interface,
Parent Interface
saysNone available
.dmesg
shows nothing related to iwlwifi and only a warning about needing to accept the EULA around anything wireless. I createdloader.conf.local
and addedlegal.intel_iwi.license_ack=1
to both it andloader.conf
itself without those lines going away.---<<BOOT>>---
Copyright (c) 1992-2023 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
The Regents of the University of California. All rights reserved.
FreeBSD is a registered trademark of The FreeBSD Foundation.
FreeBSD 14.0-CURRENT amd64 1400094 #1 RELENG_2_7_2-n255948-8d2b56da39c: Wed Dec 6 20:45:47 UTC 2023
root@freebsd:/var/jenkins/workspace/pfSense-CE-snapshots-2_7_2-main/obj/amd64/StdASW5b/var/jenkins/workspace/pfSense-CE-snapshots-2_7_2-main/sources/FreeBSD-src-RELENG_2_7_2/amd64.amd64/sys/pfSense amd64
FreeBSD clang version 16.0.6 (https://github.com/llvm/llvm-project.git llvmorg-16.0.6-0-g7cbf1a259152)
VT(efifb): resolution 1920x1080
CPU: Intel(R) N100 (806.40-MHz K8-class CPU)
Origin="GenuineIntel" Id=0xb06e0 Family=0x6 Model=0xbe Stepping=0
Features=0xbfebfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH,DTS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE>
Features2=0x7ffafbbf<SSE3,PCLMULQDQ,DTES64,MON,DS_CPL,VMX,EST,TM2,SSSE3,SDBG,FMA,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,MOVBE,POPCNT,TSCDLT,AESNI,XSAVE,OSXSAVE,AVX,F16C,RDRAND>
AMD Features=0x2c100800<SYSCALL,NX,Page1GB,RDTSCP,LM>
AMD Features2=0x121<LAHF,ABM,Prefetch>
Structured Extended Features=0x239ca7eb<FSGSBASE,TSCADJ,BMI1,AVX2,FDPEXC,SMEP,BMI2,ERMS,INVPCID,NFPUSG,PQE,RDSEED,ADX,SMAP,CLFLUSHOPT,CLWB,PROCTRACE,SHA>
Structured Extended Features2=0x98c007bc<UMIP,PKU,OSPKE,WAITPKG,GFNI,VAES,VPCLMULQDQ,RDPID,MOVDIRI,MOVDIR64B>
Structured Extended Features3=0xfc184410<FSRM,MD_CLEAR,IBT,IBPB,STIBP,L1DFL,ARCH_CAP,CORE_CAP,SSBD>
XSAVE Features=0xf<XSAVEOPT,XSAVEC,XINUSE,XSAVES>
IA32_ARCH_CAPS=0x180fd6b<RDCL_NO,IBRS_ALL,SKIP_L1DFL_VME,MDS_NO,TAA_NO>
VT-x: (disabled in BIOS) PAT,HLT,MTF,PAUSE,EPT,UG,VPID,VID,PostIntr
TSC: P-state invariant, performance statistics
real memory = 17179869184 (16384 MB)
avail memory = 16329113600 (15572 MB)
Event timer "LAPIC" quality 600
ACPI APIC Table: <ALASKA A M I >
WARNING: L3 data cache covers more APIC IDs than a package (7 > 3)
FreeBSD/SMP: Multiprocessor System Detected: 4 CPUs
FreeBSD/SMP: 1 package(s) x 4 core(s)
random: registering fast source Intel Secure Key RNG
random: fast provider: "Intel Secure Key RNG"
random: unblocking device.
ioapic0 <Version 2.0> irqs 0-119
Launching APs: 3 1 2
TCP_ratelimit: Is now initialized
wlan: mac acl policy registered
iwi_bss: You need to read the LICENSE file in /usr/share/doc/legal/intel_iwi.LICENSE.
iwi_bss: If you agree with the license, set legal.intel_iwi.license_ack=1 in /boot/loader.conf.
module_register_init: MOD_LOAD (iwi_bss_fw, 0xffffffff80765180, 0) error 1
iwi_ibss: You need to read the LICENSE file in /usr/share/doc/legal/intel_iwi.LICENSE.
iwi_ibss: If you agree with the license, set legal.intel_iwi.license_ack=1 in /boot/loader.conf.
module_register_init: MOD_LOAD (iwi_ibss_fw, 0xffffffff80765230, 0) error 1
iwi_monitor: You need to read the LICENSE file in /usr/share/doc/legal/intel_iwi.LICENSE.
iwi_monitor: If you agree with the license, set legal.intel_iwi.license_ack=1 in /boot/loader.conf.
module_register_init: MOD_LOAD (iwi_monitor_fw, 0xffffffff807652e0, 0) error 1
random: entropy device external interface
kbd0 at kbdmux0
WARNING: Device "spkr" is Giant locked and may be deleted before FreeBSD 14.0.
netgate0: <unknown hardware>
efirtc0: <EFI Realtime Clock>
efirtc0: registered as a time-of-day clock, resolution 1.000000s
smbios0: <System Management BIOS> at iomem 0x75da3000-0x75da301e
smbios0: Version: 3.5, BCD Revision: 3.5
acpi0: <ALASKA A M I >
Firmware Error (ACPI): Could not resolve symbol [\134_SB.PC00.TXHC.RHUB.SS01], AE_NOT_FOUND (20221020/dswload2-315)
ACPI Error: AE_NOT_FOUND, During name lookup/catalog (20221020/psobject-372)
Firmware Error (ACPI): Could not resolve symbol [\134_SB.PC00.TXHC.RHUB.SS02], AE_NOT_FOUND (20221020/dswload2-315)
ACPI Error: AE_NOT_FOUND, During name lookup/catalog (20221020/psobject-372)
acpi0: Power Button (fixed)
hpet0: <High Precision Event Timer> iomem 0xfed00000-0xfed003ff on acpi0
Timecounter "HPET" frequency 19200000 Hz quality 950
Event timer "HPET" frequency 19200000 Hz quality 550
Event timer "HPET1" frequency 19200000 Hz quality 440
Event timer "HPET2" frequency 19200000 Hz quality 440
Event timer "HPET3" frequency 19200000 Hz quality 440
Event timer "HPET4" frequency 19200000 Hz quality 440
atrtc1: <AT realtime clock> on acpi0
atrtc1: Warning: Couldn't map I/O.
atrtc1: registered as a time-of-day clock, resolution 1.000000s
Event timer "RTC" frequency 32768 Hz quality 0
attimer0: <AT timer> port 0x40-0x43,0x50-0x53 irq 0 on acpi0
Timecounter "i8254" frequency 1193182 Hz quality 0
Event timer "i8254" frequency 1193182 Hz quality 100
Timecounter "ACPI-fast" frequency 3579545 Hz quality 900
acpi_timer0: <24-bit timer at 3.579545MHz> port 0x1808-0x180b on acpi0
pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff on acpi0
pci0: <ACPI PCI bus> on pcib0
vgapci0: <VGA-compatible display> port 0x3000-0x303f mem 0x6000000000-0x6000ffffff,0x4000000000-0x400fffffff irq 16 at device 2.0 on pci0
vgapci0: Boot video device
xhci0: <XHCI (generic) USB 3.0 controller> mem 0x6001100000-0x600110ffff irq 16 at device 20.0 on pci0
xhci0: 32 bytes context size, 64-bit DMA
usbus0 on xhci0
usbus0: 5.0Gbps Super Speed USB v3.0
pci0: <memory, RAM> at device 20.2 (no driver attached)
pci0: <network> at device 20.3 (no driver attached)
pci0: <serial bus> at device 21.0 (no driver attached)
pci0: <serial bus> at device 21.1 (no driver attached)
pci0: <simple comms> at device 22.0 (no driver attached)
ahci0: <AHCI SATA controller> port 0x3090-0x3097,0x3080-0x3083,0x3060-0x307f mem 0x80b00000-0x80b01fff,0x80b03000-0x80b030ff,0x80b02000-0x80b027ff irq 16 at device 23.0 on pci0
ahci0: AHCI v1.31 with 1 6Gbps ports, Port Multiplier not supported
ahcich1: <AHCI channel> at channel 1 on ahci0
pcib1: <ACPI PCI-PCI bridge> irq 18 at device 28.0 on pci0
pci1: <ACPI PCI bus> on pcib1
igc0: <Intel(R) Ethernet Controller I225-V> mem 0x80800000-0x808fffff,0x80900000-0x80903fff irq 18 at device 0.0 on pci1
igc0: Using 1024 TX descriptors and 1024 RX descriptors
igc0: Using 4 RX queues 4 TX queues
igc0: Using MSI-X interrupts with 5 vectors
igc0: Ethernet address: e8:ff:1e:d1:e2:ed
igc0: netmap queues/slots: TX 4/1024, RX 4/1024
pcib2: <ACPI PCI-PCI bridge> irq 16 at device 29.0 on pci0
pci2: <ACPI PCI bus> on pcib2
igc1: <Intel(R) Ethernet Controller I225-V> mem 0x80500000-0x805fffff,0x80600000-0x80603fff irq 16 at device 0.0 on pci2
igc1: Using 1024 TX descriptors and 1024 RX descriptors
igc1: Using 4 RX queues 4 TX queues
igc1: Using MSI-X interrupts with 5 vectors
igc1: Ethernet address: e8:ff:1e:d1:e2:ee
igc1: netmap queues/slots: TX 4/1024, RX 4/1024
pcib3: <ACPI PCI-PCI bridge> irq 18 at device 29.2 on pci0
pci3: <ACPI PCI bus> on pcib3
nvme0: <Generic NVMe Device> mem 0x80a00000-0x80a03fff irq 18 at device 0.0 on pci3
pci0: <simple comms> at device 30.0 (no driver attached)
pci0: <serial bus> at device 30.3 (no driver attached)
isab0: <PCI-ISA bridge> at device 31.0 on pci0
isa0: <ISA bus> on isab0
hdac0: <Intel Alder Lake-N HDA Controller> mem 0x6001110000-0x6001113fff,0x6001000000-0x60010fffff irq 19 at device 31.3 on pci0
pci0: <serial bus> at device 31.5 (no driver attached)
acpi_button0: <Sleep Button> on acpi0
cpu0: <ACPI CPU> on acpi0
acpi_button1: <Power Button> on acpi0
acpi_tz0: <Thermal Zone> on acpi0
ns8250: UART FCR is broken
ns8250: UART FCR is broken
uart0: <16550 or compatible> port 0x3f8-0x3ff irq 4 flags 0x10 on acpi0
acpi_syscontainer0: <System Container> on acpi0
acpi_syscontainer1: <System Container> on acpi0
atrtc0: <AT realtime clock> at port 0x70 irq 8 on isa0
atrtc0: Warning: Couldn't map I/O.
atrtc0: registered as a time-of-day clock, resolution 1.000000s
atrtc0: Can't map interrupt.
hwpstate_intel0: <Intel Speed Shift> on cpu0
hwpstate_intel1: <Intel Speed Shift> on cpu1
hwpstate_intel2: <Intel Speed Shift> on cpu2
hwpstate_intel3: <Intel Speed Shift> on cpu3
Timecounter "TSC" frequency 806399617 Hz quality 1000
Timecounters tick every 1.000 msec
ZFS filesystem version: 5
ZFS storage pool version: features support (5000)
ugen0.1: <Intel XHCI root HUB> at usbus0
uhub0 on usbus0
uhub0: <Intel XHCI root HUB, class 9/0, rev 3.00/1.00, addr 1> on usbus0
nvme0: Allocated 64MB host memory buffer
hdacc0: <Realtek ALC897 HDA CODEC> at cad 0 on hdac0
hdaa0: <Realtek ALC897 Audio Function Group> at nid 1 on hdacc0
pcm0: <Realtek ALC897 (Rear Analog)> at nid 20 and 24,26 on hdaa0
pcm1: <Realtek ALC897 (Front Analog)> at nid 27 and 25 on hdaa0
nda0 at nvme0 bus 0 scbus1 target 0 lun 1
nda0: <512GB SSD V0808A0 NKG393R005086P70GX>
nda0: Serial Number NKG393R005086P70GX
nda0: nvme version 1.3
nda0: 488386MB (1000215216 512 byte sectors)
Trying to mount root from zfs:pfSense/ROOT/default []...
uhub0: 16 ports with 16 removable, self powered
Root mount waiting for: usbus0
ugen0.2: <SONiX USB DEVICE> at usbus0
ukbd0 on uhub0
ukbd0: <SONiX USB DEVICE, class 0/0, rev 2.00/1.03, addr 1> on usbus0
kbd1 at ukbd0
ukbd1 on uhub0
ukbd1: <SONiX USB DEVICE, class 0/0, rev 2.00/1.03, addr 1> on usbus0
kbd2 at ukbd1
ugen0.3: <vendor 0x8087 product 0x0026> at usbus0
CPU: Intel(R) N100 (806.40-MHz K8-class CPU)
Origin="GenuineIntel" Id=0xb06e0 Family=0x6 Model=0xbe Stepping=0
Features=0xbfebfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH,DTS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE>
Features2=0x7ffafbbf<SSE3,PCLMULQDQ,DTES64,MON,DS_CPL,VMX,EST,TM2,SSSE3,SDBG,FMA,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,MOVBE,POPCNT,TSCDLT,AESNI,XSAVE,OSXSAVE,AVX,F16C,RDRAND>
AMD Features=0x2c100800<SYSCALL,NX,Page1GB,RDTSCP,LM>
AMD Features2=0x121<LAHF,ABM,Prefetch>
Structured Extended Features=0x239ca7eb<FSGSBASE,TSCADJ,BMI1,AVX2,FDPEXC,SMEP,BMI2,ERMS,INVPCID,NFPUSG,PQE,RDSEED,ADX,SMAP,CLFLUSHOPT,CLWB,PROCTRACE,SHA>
Structured Extended Features2=0x98c007bc<UMIP,PKU,OSPKE,WAITPKG,GFNI,VAES,VPCLMULQDQ,RDPID,MOVDIRI,MOVDIR64B>
Structured Extended Features3=0xfc184410<FSRM,MD_CLEAR,IBT,IBPB,STIBP,L1DFL,ARCH_CAP,CORE_CAP,SSBD>
XSAVE Features=0xf<XSAVEOPT,XSAVEC,XINUSE,XSAVES>
IA32_ARCH_CAPS=0x180fd6b<RDCL_NO,IBRS_ALL,SKIP_L1DFL_VME,MDS_NO,TAA_NO>
VT-x: (disabled in BIOS) PAT,HLT,MTF,PAUSE,EPT,UG,VPID,VID,PostIntr
TSC: P-state invariant, performance statistics
ig4iic0: <Intel Alder Lake-M I2C Controller-0> at device 21.0 on pci0
ig4iic0: Using MSI
iicbus0: <Philips I2C bus (ACPI-hinted)> on ig4iic0
iicbus0: <unknown card> at addr 0x2c
ig4iic1: <Intel Alder Lake-M I2C Controller-1> at device 21.1 on pci0
ig4iic1: Using MSI
iicbus1: <Philips I2C bus (ACPI-hinted)> on ig4iic1
ichsmb0: <Intel Alder Lake SMBus controller> port 0xefa0-0xefbf mem 0x600111c000-0x600111c0ff irq 16 at device 31.4 on pci0
smbus0: <System Management Bus> on ichsmb0
aesni0: <AES-CBC,AES-CCM,AES-GCM,AES-ICM,AES-XTS,SHA1,SHA256>
coretemp0: <CPU On-Die Thermal Sensors> on cpu0
lo0: link state changed to UP
pflog0: promiscuous mode enabled
igc0: link state changed to UPRunning
pciconf -lv
gives mehostb0@pci0:0:0:0: class=0x060000 rev=0x00 hdr=0x00 vendor=0x8086 device=0x461c subvendor=0x8086 subdevice=0x7270
vendor = 'Intel Corporation'
class = bridge
subclass = HOST-PCI
vgapci0@pci0:0:2:0: class=0x030000 rev=0x00 hdr=0x00 vendor=0x8086 device=0x46d1 subvendor=0x8086 subdevice=0x7270
vendor = 'Intel Corporation'
device = 'Alder Lake-N [UHD Graphics]'
class = display
subclass = VGA
xhci0@pci0:0:20:0: class=0x0c0330 rev=0x00 hdr=0x00 vendor=0x8086 device=0x54ed subvendor=0x8086 subdevice=0x7270
vendor = 'Intel Corporation'
class = serial bus
subclass = USB
none0@pci0:0:20:2: class=0x050000 rev=0x00 hdr=0x00 vendor=0x8086 device=0x54ef subvendor=0x8086 subdevice=0x7270
vendor = 'Intel Corporation'
class = memory
subclass = RAM
none1@pci0:0:20:3: class=0x028000 rev=0x00 hdr=0x00 vendor=0x8086 device=0x54f0 subvendor=0x8086 subdevice=0x0244
vendor = 'Intel Corporation'
class = network
ig4iic0@pci0:0:21:0: class=0x0c8000 rev=0x00 hdr=0x00 vendor=0x8086 device=0x54e8 subvendor=0x8086 subdevice=0x7270
vendor = 'Intel Corporation'
class = serial bus
ig4iic1@pci0:0:21:1: class=0x0c8000 rev=0x00 hdr=0x00 vendor=0x8086 device=0x54e9 subvendor=0x8086 subdevice=0x7270
vendor = 'Intel Corporation'
class = serial bus
none2@pci0:0:22:0: class=0x078000 rev=0x00 hdr=0x00 vendor=0x8086 device=0x54e0 subvendor=0x8086 subdevice=0x7270
vendor = 'Intel Corporation'
class = simple comms
ahci0@pci0:0:23:0: class=0x010601 rev=0x00 hdr=0x00 vendor=0x8086 device=0x54d3 subvendor=0x8086 subdevice=0x7270
vendor = 'Intel Corporation'
class = mass storage
subclass = SATA
pcib1@pci0:0:28:0: class=0x060400 rev=0x00 hdr=0x01 vendor=0x8086 device=0x54be subvendor=0x8086 subdevice=0x7270
vendor = 'Intel Corporation'
class = bridge
subclass = PCI-PCI
pcib2@pci0:0:29:0: class=0x060400 rev=0x00 hdr=0x01 vendor=0x8086 device=0x54b0 subvendor=0x8086 subdevice=0x7270
vendor = 'Intel Corporation'
class = bridge
subclass = PCI-PCI
pcib3@pci0:0:29:2: class=0x060400 rev=0x00 hdr=0x01 vendor=0x8086 device=0x54b2 subvendor=0x8086 subdevice=0x7270
vendor = 'Intel Corporation'
class = bridge
subclass = PCI-PCI
none3@pci0:0:30:0: class=0x078000 rev=0x00 hdr=0x00 vendor=0x8086 device=0x54a8 subvendor=0x8086 subdevice=0x7270
vendor = 'Intel Corporation'
class = simple comms
none4@pci0:0:30:3: class=0x0c8000 rev=0x00 hdr=0x00 vendor=0x8086 device=0x54ab subvendor=0x8086 subdevice=0x7270
vendor = 'Intel Corporation'
class = serial bus
isab0@pci0:0:31:0: class=0x060100 rev=0x00 hdr=0x00 vendor=0x8086 device=0x5481 subvendor=0x8086 subdevice=0x7270
vendor = 'Intel Corporation'
class = bridge
subclass = PCI-ISA
hdac0@pci0:0:31:3: class=0x040300 rev=0x00 hdr=0x00 vendor=0x8086 device=0x54c8 subvendor=0x8086 subdevice=0x7270
vendor = 'Intel Corporation'
class = multimedia
subclass = HDA
ichsmb0@pci0:0:31:4: class=0x0c0500 rev=0x00 hdr=0x00 vendor=0x8086 device=0x54a3 subvendor=0x8086 subdevice=0x7270
vendor = 'Intel Corporation'
class = serial bus
subclass = SMBus
none5@pci0:0:31:5: class=0x0c8000 rev=0x00 hdr=0x00 vendor=0x8086 device=0x54a4 subvendor=0x8086 subdevice=0x7270
vendor = 'Intel Corporation'
class = serial bus
igc0@pci0:1:0:0: class=0x020000 rev=0x03 hdr=0x00 vendor=0x8086 device=0x15f3 subvendor=0x8086 subdevice=0x0000
vendor = 'Intel Corporation'
device = 'Ethernet Controller I225-V'
class = network
subclass = ethernet
igc1@pci0:2:0:0: class=0x020000 rev=0x03 hdr=0x00 vendor=0x8086 device=0x15f3 subvendor=0x8086 subdevice=0x0000
vendor = 'Intel Corporation'
device = 'Ethernet Controller I225-V'
class = network
subclass = ethernet
nvme0@pci0:3:0:0: class=0x010802 rev=0x03 hdr=0x00 vendor=0x126f device=0x2263 subvendor=0x126f subdevice=0x2263
vendor = 'Silicon Motion, Inc.'
device = 'SM2263EN/SM2263XT SSD Controller'
class = mass storage
subclass = NVM
So it is seeing the device and just not assigning a driver to it.
As far as I can tell,
iwlwifi
isn't being loaded as a module at all, though Feature #14050 says it should have been added in 2.7.0.sysctl -a -x
doesn't mention it anywhere.sysctl net.wlan.devices
just gives an empty listnet.wlan.devices:
I'm not at all skilled with BSD and so I have no idea what next steps to take. Can anyone help?
-
@SolaAesir said in WiFi device not being loaded, not sure how to track down the issue:
As far as I can tell, iwlwifi isn't being loaded as a module at all, though Feature #14050 says it should have been added in 2.7.0. sysctl -a -x doesn't mention it anywhere. sysctl net.wlan.devices just gives an empty list net.wlan.devices:
kldstat -v
to see all the drivers build into the kernel, and avaible as files in /boot/kernel/.
kldstat -v | grep 'iwl'
shows everything that has 'iwl' in its name.
On my pfSense 24.03 : nothing.If you can get your hands on a complied and build driver file, the one with the 'ko' extension, and it was build for 'FreeBSD 15.0' you could place it on your system an see if the found hardware activated the driver you've included.
You probably also have to include a line in the file /boot/loader.conf.local :
iwlwifi _load=YES"
If iwlwifi.ko is the file name of the driver.
If the file /boot/loader.conf.local doesn't exist, create it.Btw : use SSH or the console, not the crappy Diagnostics > Command Prompt.
Feature #14050
I could check if this
Description
The iwlwifi(4) driver is supported in pfSense 23.01/2.7 but needs to be added to the 'wireless_regex' list in order for the webgui to display wireless options for it.
is actually present in the current pfSense.
@SolaAesir said in WiFi device not being loaded, not sure how to track down the issue:
now I need to use a wireless WAN so infrastructure mode is fine.
One general remark : Wifi and FreeBSD are not friends.
Wifi on a LAN is already 'bad'. Wifi as a WAN ... imho : don't do that. Live is already to sshort, don't make that pain-full. Get a cable, and enjoy the simplicity. -
The driver is no longer included by default. The kernel module is in the 2.7.2 ISO image though so you can copy it across if you want to try it.
However it's not particularly useful. It cannot run as an access point AFAIK.
Steve
-
Thank you two. I wasn't able to dig into the iso to try and add the kernel module since neither my Linux or Windows computer wanted to mount it but I had a spare AP I could steal until I can get wiring installed that seems happy to mesh up and act as my WAN port (Unifi U6). They wouldn't do it when I tried to do the same thing a year ago with another computer, but they've either had a firmware update in the meantime or pfsense is smarter than a more normal OS and could work it out. This should be much better than a little m.2 wifi card anyway.
-