The whole computer hard resets when trying to load ath12k driver in a KVM VM
Nazar Mokrynskyi
nazar at mokrynskyi.com
Thu Aug 21 17:05:10 PDT 2025
Thanks for the response, looks like I'm in completely unsupported territory, but I'd love to see that changed 😅
There were some tricks needed, here is a forum thread with the complete journey: https://forum.openwrt.org/t/qcn9074-doesnt-initialize-on-x86-64/163288?u=nazar-pc
But more specifically, this seemed to be the missing piece: https://forum.openwrt.org/t/qcn9074-doesnt-initialize-on-x86-64/163288/47?u=nazar-pc
For those who don't want to re-read a long thread on the forum, libvirtd domain config needed this piece of configuration:
> |<features> <ioapic driver="qemu"/> </features> <devices> <iommu model="intel"> <driver intremap="on" caching_mode="on"/> </iommu> </devices>|
Both "intremap" and "caching_mode" were key for device to initialize, and the rest for those two parameters to work at all.
With that, I was able to create AP with QCN9074 on the hardware I mentioned earlier.
But it certainly didn't crash the whole physical machine with any configuration.
Well, most of the time at least, I did managed to crash the machine a couple of times with either ath11k or ath10k when VM didn't shut down cleanly (hard reset of the VM), etc.
Sincerely, Nazar Mokrynskyi
github.com/nazar-pc
22.08.25 02:46, Jeff Johnson:
> On 8/20/2025 2:47 PM, Nazar Mokrynskyi wrote:
>> Some additional details.
>>
>> The system is x86-64: Gigabyte MZ32-AR0 Rev 1.0 motherboard (with M23_R40 BIOS) and AMD Epyc 7302P CPU.
>>
>> Host OS is Ubuntu 24.04 with HWE kernel 6.14.
>>
>> As guest:
>> * initially tried OpenWrt 24.10.2 with kernel 6.6.93, WiFi backports seem to be from 6.12.6
>> * then tried the latest snapshot (r30806-070d8eb4d5), which uses 6.12.40 kernel and according to the kernel module version carries WiFi backports from 6.16
>>
>>> # lspci -mnn -s 46:00.0
>>> 46:00.0 "Network controller [0280]" "Qualcomm Technologies, Inc [17cb]" "QCN62xx/92xx Wireless Network Adapter [1109]" -r01 -p00 "Qualcomm Technologies, Inc [17cb]" "QCN62xx/92xx Wireless Network Adapter [1109]"
>> The module is QCN9274 2x2 5G+6G from Commtek (but missing on their website) with M.2 E-key connector.
>> Looks very similar to Compex WLW7002E56 in terms of size and features.
>>
>> This should be most of the details that might be relevant.
>>
>> Sincerely, Nazar Mokrynskyi
>> github.com/nazar-pc
>>
>> 21.08.25 00:15, Nazar Mokrynskyi:
>>> Hi,
>>>
>>> I have a QCN9274-based Wi-Fi module that I want to use with OpenWrt under KVM VM (libvirtd, vfio).
>>> I used various Qualcomm modules this way with ath10k and ath11k in the past successfully, but ath12k seems to be buggy.
>>>
>>> Two cases:
>>> * if host already loaded ath12k, then starting a VM with the PCIe device passthrough triggers immediate hard reset of the machine
>>> * if I bind the device to vfio-pci on the host, I can boot the VM, but it inevitably hard resets the machine when ath12k starts loading (presence of the correct board file does not matter, it doesn't seem reach that stage)
>>>
>>> In the second case, which I'm primarily interested in, the the following lines are the only thing I can capture before host hard resets:
>>>
>>>> 0000:01:00.0: MSI vectors: 1
>>>> 0000:01:00.0: Hardware name: qcn9274 hw2.0
>>> And when machine reboots, BIOS prints:
>>>> Warning: PCI-Express PERR/SERR error detected.
>>> I'm not really sure what this is, but I think it should be trivial to reproduce.
>>> Looks like either driver or onboard firmware issue?
>>> Open to do more testing and provide additional info.
>>>
>>> All information I have so far is on the forum here: https://forum.openwrt.org/t/qcn9274-crashes-the-system-during-driver-load/239491?u=nazar-pc
> Curious how you managed to get this to work in the past with ath11k since that
> is not supported. Some discussions on ath11k here:
>
> https://bugzilla.kernel.org/show_bug.cgi?id=216055
> https://lore.kernel.org/all/fc6bd06f-d52b-4dee-ab1b-4bb845cc0b95@quicinc.com/
More information about the ath12k
mailing list