What's new

802.11be the cheap way.... <$40

  • SNBForums Code of Conduct

    SNBForums is a community for everyone, no matter what their level of experience.

    Please be tolerant and patient of others, especially newcomers. We are all here to share and learn!

    The rules are simple: Be patient, be nice, be helpful or be gone!

Tech Junky

Part of the Furniture
https://www.aliexpress.us/item/3256805957376726.html - picked them up for $36/ea

Got the cards and tackled the laptop install first since it's easier to mess with while not interrupting the server / router to install the M2.

The cards show up in Windows as wcn7851 which isn't quite the same as what is named for the M2 as QCNCM865 posted all over the net for the QCA BE adapters. When looking at Google it seems as though the drivers are picking up the BGA type chip w/o the PCB? It's weird... Anyway, also if you don't have a wired connection you won't have wifi with any generic Windows drivers as this isn't picked up yet.

Drivers for download. I use a program though that picked them up when connected to Ethernet and running a scan.

As you can see below BE is indeed on this adapter as advertised. Windows is showing connectivity to the AP I have at 2.4gbps.



Now, the next step is to finagle this M2 into my server setup which I already dread a bit because of the stuff I need to pull out to get to the M2 socket to put this into. But, it is what it is and just need to do it to get things setup and test for 5gbps wifi ability between the two using hostapd.

File copy as is right now hitting 125MB/s which is consistent with the prior AX411 card though the QCA seems to sustain the speeds better so far. Just initial function testing right now to make sure things are working. Need some time to do in depth testing / stability.
Of course this changed a bit from back when I was using the AC1200 and how the firmware is loaded in the kernel. Played around with some ways to get the firmware to load but, eventually stumbled upon https://gist.github.com/mtint/fada761a5b8e96b2fc1a131d8773291e

I had already switched kernel versions and assembled similar to the post but excluded everything except ath12k. Since the kvalo repo has the files I want to use listed under ath11k it's a bit counter intuitive and/or having to compile the kernel using the link above to get the adapter recognized is just a n00b security issue unless you're determined to get these things working. I suspect this will cause issues with other people adding them to their system w/o jumping through a couple of hoops to get the card working. Sources said the drivers and everything were added at 6.3 and there was an ath12k folder buried under the modules but, the old /lib/firmware structure doesn't really exist on a new install anymore with kernel modules built in.


[    5.856610] ath12k_pci 0000:5c:00.0: BAR 0: assigned [mem 0xa1a00000-0xa1bfffff 64bit]
[    5.856632] ath12k_pci 0000:5c:00.0: enabling device (0000 -> 0002)
[    5.856900] ath12k_pci 0000:5c:00.0: Hardware name: wcn7850 hw2.0

5c:00.0 Network controller: Qualcomm Technologies, Inc Device 1107 (rev 01)

Now to figure out how to make the IF appear to configure things and get it working as a client & AP for testing. Not sure why it's now showing up in iwconfig / ifconfig as it should if the FW is loading now. Then again it's probably something silly that needs to be enabled in the UEFI as adding the card didn't mess with my port configuration in linux as it probably should have by adding an additional device to the mix. Even turning on TB ports changed the IF index / naming.
The cards show up in Windows as wcn7851 which isn't quite the same as what is named for the M2 as QCNCM865 posted all over the net for the QCA BE adapters

The QC module is the board itself, it has the 7851 as the actual chipset, and it's ath12k - at present, drivers might be a challenge to find unless someone is violating their NDA.

The module is there as a reference design to get thru FCC and EU-RED, along with other regulatory bodies...

Doesn't look good....

QCN9274 supports both AP and station; WCN7850 supports only station mode. Monitor mode is not (yet) supported. Only PCI bus devices are supported.
Seems as though there's a gotcha that was a bit unknown before purchase due to not disclosing the chipset. Then again Linux descriptions of devices in outputs sometimes aren't quite right either. I'm not 100% convinced this an issue as the Windows side is working but, still digging for more info on the Linux side due to the ath12k sort of working but not working as a client / ap at this point.

Waiting on a clone of source code to DL for more to play with. At least the card is enabled by firmware at a basic level which means more detective work to get it functioning in at least client mode if the above is true and not allowing AP mode. I doubt this is actually the case until exhausting all options to prove it doesn't. The alternative 9274 cards though are pricy north of $500 and only single bands from the looks of it.



The modules / firmware is posted it's a matter of moving it to the proper locations for the OS to activate it

I'm just moving step by step through getting the module to at least be a client before jumping into making it an AP. Once I get it working in client mode then I'll dig into forcing AP mode since that's a different can of worms to deal with.

Tomorrow I might just boot into a live image without all of my custom stuff running and see if it works as a client. It seems like it wants to do something at this point but, I might have something disabled preventing some configuration from happening and listing it as an available adapter to the OS to be configured.
Ok, got the adapter working now and showing up as configurable.

 sudo dmesg | grep ath12
[    6.034284] ath12k_pci 0000:5c:00.0: BAR 0: assigned [mem 0xa1a00000-0xa1bfffff 64bit]
[    6.034307] ath12k_pci 0000:5c:00.0: enabling device (0000 -> 0002)
[    6.035346] ath12k_pci 0000:5c:00.0: Hardware name: wcn7850 hw2.0
[    6.584564] ath12k_pci 0000:5c:00.0: chip_id 0x2 chip_family 0x4 board_id 0xff soc_id 0x40170200
[    6.584572] ath12k_pci 0000:5c:00.0: fw_version 0x1005bc12 fw_build_timestamp 2022-10-11 12:13 fw_build_id QC_IMAGE_VERSION_STRING=WLAN.HMT.1.0-03427-QCAHMTSWPL_V1.0_V2.0_SILICONZ-1.15378.4
[    6.820561] ath12k_pci 0000:5c:00.0 wlp92s0: renamed from wlan0

I cloned the kvalo git and then copied over the bin files to the new directory.

Probably don't need to clone the whole thing though and just DL the bin files and pop them into the hw2.0 directory. I also grabbed the linux-firmware latest package and it helps some other things show up but doesn't have the ath12k directory nor the adapter listed but, before kvalo changed things for the modules it would seem they were originally deployed under ath11k.

ls -l /lib/firmware/ath12k/WCN7850/hw2.0/
total 4536
-rw-r--r-- 1 root root 5812288 Nov 22 09:51 amss.bin
-rw-r--r-- 1 root root   88896 Nov 22 09:51 board.bin
-rw-r--r-- 1 root root  299660 Nov 22 09:51 m3.bin
-rw-r--r-- 1 root root   24310 Nov 22 09:51 regdb.bin

Before I was getting an amss.bin error and failing the adapter.
Ok... looks like this is ready to rock out in AP mode and showing 320mhz as an option. I would post the txt output but, it's a bit long so attaching instead.

            EHT MCS/NSS: (0x22222222222222222200000000):
            EHT bw <= 80 MHz, max NSS for MCS 8-9: Rx=2, Tx=2
            EHT bw <= 80 MHz, max NSS for MCS 10-11: Rx=2, Tx=2
            EHT bw <= 80 MHz, max NSS for MCS 12-13: Rx=2, Tx=2
            EHT bw=160 MHz, max NSS for MCS 8-9: Rx=2, Tx=2
            EHT bw=160 MHz, max NSS for MCS 10-11: Rx=2, Tx=2
            EHT bw=160 MHz, max NSS for MCS 12-13: Rx=0, Tx=0
            EHT bw=320 MHz, max NSS for MCS 8-9: Rx=0, Tx=0
            EHT bw=320 MHz, max NSS for MCS 10-11: Rx=0, Tx=0
            EHT bw=320 MHz, max NSS for MCS 12-13: Rx=0, Tx=0
        HE Iftypes: AP


  • iwlist.txt
    31.5 KB · Views: 8

Sign Up For SNBForums Daily Digest

Get an update of what's new every day delivered to your mailbox. Sign up here!