AIC8800 module broken with Linux 7.1.3

Just a warning:

I’m using mainline Fedora 44 on Q6A.

Today I’ve updated to Linux 7.1.3

AIC8800-USB module failed to build.

If you need Wi-Fi/BT, I recommend staying on Linux 7.0.14

Still wondering when Q6A will get full mainline support.

Hi katsu,

This is a known breakage, not something you did wrong — the out-of-tree aic8800 fullmac driver doesn’t build on Linux 7.1.x. Mainline 7.1 made a few API changes the driver hadn’t caught up with:

  • a batch of cfg80211_ops key/station callbacks (add_key, get_key, del_key, add_station, del_station, change_station, get_station, dump_station, set_default_mgmt_key) switched from struct net_device * to struct wireless_dev *, and get_tx_power gained new radio_idx/link_id params;
  • in_irq() was removed (now in_hardirq());
  • the inner union of ieee80211_mgmt.u.action became anonymous, which breaks the TDLS discover-response builder.

I hit the same thing bringing the RK3576 up on a mainline 7.1.3 kernel and wrote a compat patch for it (all gated behind LINUX_VERSION_CODE >= 7.0.0, so it still builds on older kernels):
https://github.com/gahingwoo/kiln/blob/main/aic8800-patches/0001-aic8800-cfg80211-7.1-net_device-to-wireless_dev.patch

Two caveats, in the spirit of not overpromising:

  • I’ve only verified it on a ROCK 4D (RK3576) on Armbian. The build fixes are kernel-API-level, so they should apply to any board using the same radxa-pkg/aic8800 driver on 7.1.x — but I haven’t tested on a Q6A/Fedora setup, so treat it as “should work, please confirm.”
  • The driver is only half of it — you’ll also need the firmware blobs in /lib/firmware/ for your chip variant. If your Q6A’s aic8800 variant differs from the ROCK 4D’s, double-check the firmware side.

If it builds and Wi-Fi/BT come back for you, great — and if it doesn’t, let me know what fails and I’ll take a look.

I see a fix in the changelog, have you tested it?

I suppose this changelog involves radxa-build images.

I’ve decided to give up with mainline distros and moved to radxa-dragon-midstream variant of Radxa OS (26.04).

It seems like devs fixed all the annoying things like sound, Gnome Extensions, etc.