Wi-Fi + BT support for Windows on Q6A

I’ve been working on a Windows driver for the AIC8800D80 USB Wi-Fi/BT combo chipset found in the Dragon Q6A.

It currently supports most of the client-mode functionality. There are a few remaining areas for improvement, such as: Wi-Fi Direct support (SoftAP, Miracast), throughput optimization, potential BT coexistence tweaks, settings UI.

An experimental test-signed build is available here: aicwlan_arm64_0935761.zip

The minimum required OS version is Windows 11 24H2 (build 26100).

To install the driver, extract the archive above, right-click aicwlan.inf and select Install.

8 Likes

Its working! Thx, man :grinning_face:

Thank you. I’m going to test the Wi-Fi driver.

Great job! Thank you for your efforts during this time—you wrote the driver for the Q6A onboard wireless module, which is truly remarkable. Please let me also share my own exploration process and results here.

At first, I actually didn’t have high hopes for a WoA driver for the AIC8800, so I started looking for other solutions. After extensive searching, I found that there are currently no USB wireless adapters supporting WoA on the market. I also wasn’t keen on using a bridge (that is, the wireless-to-wired device that needs an extra power supply), so I turned to the PCIe interface instead.

As everyone knows, Windows drivers for wireless hardware on the ARM64 platform are genuinely scarce. I did more extensive searching and investigation, and in Lenovo’s driver directory I found a wireless driver suitable for WoA, pointing to the Qualcomm Fastconnect 6900/685x solution. The driver INF indicated the NFA765 network card, so I bought one. However, Windows could recognize the card but couldn’t find any networks. After seeking help, I downloaded a more complete driver from the Microsoft Update Catalog, but the issue persisted. After troubleshooting, it turned out that the SUBSYS of my particular card was not included in the driver. After forcibly modifying the INF to install, signals appeared, but I couldn’t connect to any Wi-Fi except my phone’s hotspot—only after completely disabling the 5GHz band in Device Manager could I connect, and even then it was merely “connectable.” It did work for internet access, but disconnections were frequent; using RDP would invariably drop the device—not just the driver, but the device itself disappeared from Device Manager, and I had to reboot to get it recognized again. Upon further investigation, I found that the ARM64 driver for Fastconnect 6900/685x contains the NFA765A, not the NFA765—they are not the same thing. I had bought the wrong card. However, I searched for a long time for NFA765A hardware that would match the SUBSYS in the driver but couldn’t find any, so I gave up. The NFA765 path was a dead end. But a clue emerged: the “no-WiFi” version might work, since it’s cheaper.

A friend suggested trying the Realtek RTL8852CE, and indeed there is a WoA driver for it, so I bought one. But the driver wouldn’t recognize it at all, because the SUBSYS didn’t match and there was no compatible ID in the driver. After forcibly editing the INF, the device failed to start with a Code 10 error. After troubleshooting, I found that I was simply unlucky—the merchant did ship an RTL8852CE, but its SUBSYS was not in the ARM64 driver (though it was present in the x86/x64 driver). As for why I said “unlucky and bought the wrong one”—I’ve actually seen others successfully get it working.

I then started looking for clues in the Microsoft Update Catalog. Apart from the previous one, the only other driver supporting ARM64 was for Qualcomm Fastconnect 7800, and the NCM865/865A exactly use that solution. I downloaded it and compared it with the x86 driver—the INF files for the two platforms are quite different. I also found the datasheet from Quectel, which confirmed that this driver only supports the NCM865A, and that the 865A and 865 are not the same. Eventually, I spent about $25 to buy an NCM865A (QCNCM865AAMD-865A) from the official Quectel store. This one indeed matched the unmodified driver straight away, and it works basically fine—very stable, with almost no disconnections. So that was that.

That’s all I have to share. Hope you all enjoy the story, and thanks again to Mario.

I was unable to connect after changing the Wi-Fi security mode to Mixed WPA2/WPA3-PSK. It works normally with Mixed WPA/WPA2-PSK.

BTW, thank you very much for your great work!

@Mario thank you very much for this I’m very excited to use this board properly!

I have been testing wifi on 26100 build on 2.4 and 5gz networks and my results have been a little mixed, some days i get a multi hour web browsing session, but half the time the driver will crash with code 43 soon after connection or when you try to browse. it seems to have a more stable connection to my phone than my router, my phone is only capable of 1-2mbit here so maybe that helps.

High speed large web downloads do seem to work pretty flawlessly, however i am able to get a crash consistently when running geforce now after about a minute

Joining a SSID that runs 2.4 & 5 on the same name fails for me

BT has worked flawlessly for me so far

If i can help with logs please let me know what to provide

Can we $upport your work anywhere?

@kawaii_hachimi Have you tried other WPA3-capable access points too, perhaps a phone hotspot?

@Narrowcom Is it connecting in WPA3 mode to the router?

The driver does have WPP tracing enabled (provider GUID 3c0f55e4-e8e0-47ad-a86d-9289d99268cb), so it is possible to collect logs into an .etl file (with either logman, tracelog, perfview, traceview). The tracing session should be stopped as soon as the issue occurs.
If it’s just connection failure, maybe retry 1-2 times before stopping.

I’m not sure when I’ll be able to take a look since things have been rather busy lately, but logs would definitely help.

EDIT: you should set VerboseOn to 1 under HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\aicwlan\Parameters in the registry before logging to get more detailed traces.

Hi, I can connect successfully to both WPA2 and WPA3-Personal phone hotspots. However, when I switch my router (MT7986 running OpenWrt with the MediaTek vendor driver) from WPA-PSK/WPA2-PSK Mixed Mode to WPA2-PSK/WPA3-SAE Mixed Mode, it fails to connect. Of course I made sure to forget the Wi-Fi network first and then reconnect by entering the password again. The password is not saved if the connection attempt fails. There may be a compatibility issue with router. I’ve attached the information I captured. I hope it helps with your investigation.

aicwlan_000001.zip (66.7 KB)