Hello! # freebsd-version -kru 14.0-RC4 14.0-RC4 14.0-RC4-p1 I compiled ath10k and athk_common modules and install it, dmesg when I load the module: ath10k0: <ath10k_pci> mem 0xd0200000-0xd03fffff at device 0.0 on pci1 ath10k0: pci irq msi oper_irq_mode 2 irq_mode 0 reset_mode 0 ath10k0: successfully loaded firmware image 'ath10k/QCA6174/hw3.0/firmware-6.bin' ath10k0: qca6174 hw3.2 target 0x05030000 chip_id 0x00340aff sub 17aa:0827 ath10k0: kconfig debug 1 debugfs 0 tracing 0 dfs 0 testmode 0 ath10k0: firmware ver WLAN.RM.4.4.1-00288- api 6 features wowlan,ignore-otp,mfp crc32 bf907c7c ath10k0: failed to download calibration data from nvmem-cell 'pre-calibration': -6 -------------------------------------------------------------------------- pciconf output: ath10k0@pci0:1:0:0: class=0x028000 rev=0x32 hdr=0x00 vendor=0x168c device=0x003e subvendor=0x17aa subdevice=0x0827 vendor = 'Qualcomm Atheros' device = 'QCA6174 802.11ac Wireless Network Adapter' class = network --------------------------- when try to create interface: # ifconfig wlan0 create wlandev ath10k0 ifconfig: SIOCIFCREATE2 (wlan0): Device not configured I don't know why this driver is not precompiled
Because currently no one has the time do debug and support any of the disconnected LinuxKPI based drivers. Do you have the time and ability to debug the problem?
Tried loading ath10k on a small appliance w/ a QCA9377 module in it and got this same result. It looks like the 'ath10k_download_cal_nvmem' function is currently rigged to intentionally fail on FreeBSD, because the Linux-specific bits of code are ifdef'ed out, and the only bits that actually fire on FreeBSD just makes the function return EXNIO, so that probably causes the rest of the driver init stack to bail out. Making a completely uneducated guess, I take it FreeBSD's LinuxKPI layer doesn't handle Linux device-layer functions like 'devm_nvmem_cell_get' and 'nvmem_cell_read'? Or is it more the code in 'ath10k_download_board_data', which is called after the nvmem_cell functions in the Linux-specific code? IOW, what's the hang-up on this driver? There's zero documentation, current status information, or even a roadmap w/ a "we are here" arrow that I can find to know what the state of things are.
Created attachment 250621 [details] workaround
Created attachment 250622 [details] ifconfig output
Yesterday i managed to load it with some tricks, and found two problem: first in loading firmware, and second in authentication. To load the driver: first load if_ath(I don't know why a memory problem?), load all ath10k firmware for your NIC and finally load if_ath10k (at least working for me with QCA6174). I attached a log with script and ifconfig output.
(In reply to Aminavy from comment #5) That is exciting news. I'll go and have a look. Did you manage this without loading ath first? I wonder if there's a missing dependency on something else. I'd definitively go and have a look. I am currently also preparing an update to Linux v6.9 if you were willing to test that for us, that would be great. Let me know.
I forgot to add: I can connect to PSK-less networks, connecting to a network with PSK failed with error WRONG KEY, but actually key is correct. And when I connect to an access point without psk, I can't get internet connection.
(In reply to Bjoern A. Zeeb from comment #6) Yes, I tried without ath, but firmware crashed.
Same here for a ath10k0@pci0:3:0:0: class=0x028000 rev=0x31 hdr=0x00 vendor=0x168c device=0x0042 subvendor=0x17aa subdevice=0x0901 vendor = 'Qualcomm Atheros' device = 'QCA9377 802.11ac Wireless Network Adapter' class = network ath10k0: <ath10k_pci> mem 0xa9000000-0xa91fffff irq 17 at device 0.0 on pci3 ath10k0: pci irq msi oper_irq_mode 2 irq_mode 0 reset_mode 0 ath10k0: successfully loaded firmware image 'ath10k/QCA9377/hw1.0/firmware-6.bin' ath10k0: qca9377 hw1.1 target 0x05020001 chip_id 0x003821ff sub 17aa:0901 ath10k0: kconfig debug 1 debugfs 0 tracing 0 dfs 0 testmode 0 ath10k0: firmware ver WLAN.TF.2.1-00021-QCARMSWP-1 api 6 features wowlan,ignore-otp crc32 42e41877 ath10k0: failed to download calibration data from nvmem-cell 'pre-calibration': -6 but I can't get it attached. I can help trying out things if desired...