Have some questions but not sure where to post them. (regarding 802.11ax performance on an x86_64-based router, and additionally a multi-card initialization issue)

New here, as far as posting anyway, and I was looking for some help with a couple issues that have come up, but not sure where to post about them, though I'm sure they should probably go to separate topics.

I know it's not recommended, but I did it anyway. I built a PC (with i3-9300T CPU) and put QCN9074-based cards in it for 802.11ax, EmWicon WMX7401 (2.4 GHz-only) and WMX7406 (5 or 6 GHz), and I've gotten them working with OpenWrt, but performance for downloads isn't what I expected (client sending through host is faster than client receiving through host, sometimes as much as 2x, but I'd expect host to client to be the faster one), and I'm wondering if this is just the state of the support for it or if something with my setup is causing it to slow down (CPU? the cards themselves? the antenna setup? some settings I should change?). I've tried the latest stable release and building from a recent copy of main and didn't see any difference in performance. Though the overall speeds are different between 2.4, 5, and 6 Ghz, the ratios between send/receive are similar. Signal strength seems to be very good, basically about as good as one of my pre-built routers, but it's getting these lower speeds from host to client regardless.

The other issue I'm seeing is that OpenWrt isn't getting all the cards initialized properly with their settings on boot. I have 4 cards and usually only the first two cards (by slot ID, basically) get brought up properly with their connections they host, and sometimes the third one does, but I've never seen it get all 4 on boot. I have to go into the settings and click restart on the cards that didn't get initialized, but it seems to work fine after that until the next reboot. I do see a "Could not find PHY for device 'radio3'" error in the system log and I'm guessing there would be one for radio2 as well if it had failed to set it up this last boot, but I'm not really sure what to do about it. Nothing changed with this when going from release to main.

Some issues that came up that I've already worked around:

swiotlb not being large enough for the number of cards - I increased it in options passed to the kernel by the bootloader and the error went away.

All cards showing only 5 GHz available, even the 2.4 GHz card - Seems my cards probably don't have the proper fuse configuration, from what I've read, so they all come up as board ID 0xFF, using a firmware that is for 5 GHz only. I read various things about this issue, used a tool to extract a list of board IDs from the file in the firmware package, figured out which board IDs I needed, and I patched the driver to give each card a hardcoded ID I wanted, with hardcoded conditions based on the output of the dev_name function (which gives the same numeric identifier as shown in the log messages, probably a slot identifier, and is part of the ID in the wireless config, so it was easy enough to figure out the identifier for each card). With the current configuration, I've successfully gotten it to host simultaneously, one per card, one network on 2.4 GHz, two networks on 5 GHz on different channels, and one network on 6 GHz.

Each issue should have its own topic so you can get better answers

1 Like

I did go into more detail than I'd originally intended, but my original intention was just to get a general idea of where to put these and then make separate topics. Though in retrospect, separate topics would have allowed it to just be moved too if someone thought it would be appropriate.

1 Like