I've got my grubby hands on two old APUs (I believe they are both APU1). Installed a Qualcomm Atheros QCA986x/988x NIC into each (with hostapd
, ath10k-firmware-qca988x
, and kmod-ath10k
to support them). Initially, everything ran great. Then, I noticed something strange.
On a cold boot (or on halt
-unplug-replug), the wireless card appears to be ignored. dmesg | grep wlan
returns nothing. ip a
lists the loopback, three wired interfaces, and br-lan
, but no wlan
.
On a warm reboot (reboot
), meanwhile, things work out differently. The wireless card is reliably detected and initialized. dmesg
reports as expected:
root@APU1:~# dmesg | grep wlan
[ 21.060364] br-lan: port 3(wlan0) entered blocking state
[ 21.065804] br-lan: port 3(wlan0) entered disabled state
[ 21.071441] device wlan0 entered promiscuous mode
[ 29.658799] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
[ 29.665440] br-lan: port 3(wlan0) entered blocking state
[ 29.670812] br-lan: port 3(wlan0) entered forwarding state
There's a little quirk in the ip a
output though:
root@APU1:~# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP qlen 1000
link/ether 00:0d:b9:40:15:cc brd ff:ff:ff:ff:ff:ff
inet 10.42.0.133/24 brd 10.42.0.255 scope global eth0
valid_lft forever preferred_lft forever
inet6 fe80::20d:b9ff:fe40:15cc/64 scope link
valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel master br-lan state UP qlen 1000
link/ether 00:0d:b9:40:15:cd brd ff:ff:ff:ff:ff:ff
4: eth2: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc fq_codel master br-lan state DOWN qlen 1000
link/ether 00:0d:b9:40:15:ce brd ff:ff:ff:ff:ff:ff
6: br-lan: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP qlen 1000
link/ether 00:0d:b9:40:15:cd brd ff:ff:ff:ff:ff:ff
inet 192.168.1.1/24 brd 192.168.1.255 scope global br-lan
valid_lft forever preferred_lft forever
inet6 fd55:5136:72bf::1/60 scope global noprefixroute
valid_lft forever preferred_lft forever
inet6 fe80::20d:b9ff:fe40:15cd/64 scope link
valid_lft forever preferred_lft forever
7: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br-lan state UP qlen 1000
link/ether 7c:5a:1c:85:1c:3b brd ff:ff:ff:ff:ff:ff
inet6 fe80::7e5a:1cff:fe85:1c3b/64 scope link
valid_lft forever preferred_lft forever
Note that there is no number 5
in the listing; it goes from 4
straight to 6
. Not sure if this is significant.
When the device is running normally, lspci
reports the Wi-Fi card as:
04:00.0 Network controller [0280]: Qualcomm Atheros QCA986x/988x 802.11ac Wireless Network Adapter [168c:003c]
In the "weird mode", the same lspci
reports the same Wi-Fi card differently:
04:00.0 Ethernet controller [0200]: Qualcomm Atheros Device [168c:abcd] (rev 01)
All of the above is observed on two devices, one running 22.03.5 / x64 / ext4 / bios, the other running 22.03.5 / x64 / squashfs / bios.
If anyone has any ideas, I'm all ears...