ath9k driver: miniPCIe Atheros AR93xx not recognized

Bug #1927037 reported by Ash Wilson on 2021-05-04
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
linux-raspi (Ubuntu)
Undecided
Unassigned
Focal
Undecided
Unassigned
Groovy
Undecided
Unassigned
Hirsute
Undecided
Unassigned

Bug Description

[Impact]

PCIe cards based on ath9k chips are not recognized.

[Test Case]

Plug a ath9k based PCIe card into the PCIe slot of a CM4 IO board and:
$ ls /sys/class/net/wlan0
ls: cannot access '/sys/class/net/wlan0': No such file or directory

[Where Problems Could Occur]

Buggy driver could result in crashes.

[Original Description]

Expected behavior:
Network adapter should be visible via `iw list`, `iwconfig`, and `ifconfig`.

Actual behavior:
Network adapter is visible in `lspci` and `lshw`, but not in `iw list`, `iwconfig`, or `ifconfig`

Details:
The Atheros network card is detected by the ath9k driver when installed into a machine with x86_64 architecture. When the same card is installed into a miniPCIe-to-PCIe adapter, then plugged into a Raspberry Pi CM4 IO breakout board, the network adapter can be seen via lspci and lshw but is not seen by iw, iwconfig, or ifconfig.

lspci:
ubuntu@ubuntu:~$ sudo lspci -v
00:00.0 PCI bridge: Broadcom Inc. and subsidiaries Device 2711 (rev 20) (prog-if 00 [Normal decode])
 Flags: bus master, fast devsel, latency 0, IRQ 41
 Bus: primary=00, secondary=01, subordinate=01, sec-latency=0
 I/O behind bridge: 00000000-00000fff [size=4K]
 Memory behind bridge: f8000000-f80fffff [size=1M]
 Prefetchable memory behind bridge: [disabled]
 Capabilities: [48] Power Management version 3
 Capabilities: [ac] Express Root Port (Slot-), MSI 00
 Capabilities: [100] Advanced Error Reporting
 Capabilities: [180] Vendor Specific Information: ID=0000 Rev=0 Len=028 <?>
 Capabilities: [240] L1 PM Substates
 Kernel driver in use: pcieport

01:00.0 Network controller: Qualcomm Atheros AR93xx Wireless Network Adapter (rev 01)
 Subsystem: Qualcomm Atheros AR93xx Wireless Network Adapter
 Flags: fast devsel, IRQ 255
 Memory at 600000000 (64-bit, non-prefetchable) [disabled] [size=128K]
 Expansion ROM at 600020000 [virtual] [disabled] [size=64K]
 Capabilities: [40] Power Management version 3
 Capabilities: [50] MSI: Enable- Count=1/4 Maskable+ 64bit+
 Capabilities: [70] Express Endpoint, MSI 00
 Capabilities: [100] Advanced Error Reporting
 Capabilities: [140] Virtual Channel
 Capabilities: [300] Device Serial Number 00-00-00-00-00-00-00-00

-----
lshw:
ubuntu@ubuntu:~$ sudo lshw -c net
  *-network UNCLAIMED
       description: Network controller
       product: AR93xx Wireless Network Adapter
       vendor: Qualcomm Atheros
       physical id: 0
       bus info: pci@0000:01:00.0
       version: 01
       width: 64 bits
       clock: 33MHz
       capabilities: pm msi pciexpress cap_list
       configuration: latency=0
       resources: memory:600000000-60001ffff memory:600020000-60002ffff
  *-network
       description: Ethernet interface
       physical id: 1
       logical name: eth0
       serial: dc:a6:32:f4:69:36
       size: 1Gbit/s
       capacity: 1Gbit/s
       capabilities: ethernet physical tp mii 10bt 10bt-fd 100bt 100bt-fd 1000bt 1000bt-fd autonegotiation
       configuration: autonegotiation=on broadcast=yes driver=bcmgenet driverversion=v2.0 duplex=full ip=REDACTED link=yes multicast=yes port=MII speed=1Gbit/s

-----
iw list/iwconfig:
ubuntu@ubuntu:~$ iw list
ubuntu@ubuntu:~$ iwconfig
lo no wireless extensions.

eth0 no wireless extensions.

-----
ubuntu@ubuntu:~$ lsb_release -rd
Description: Ubuntu 20.04.2 LTS
Release: 20.04

ProblemType: Bug
DistroRelease: Ubuntu 20.04
Package: linux-image-5.4.0-1034-raspi 5.4.0-1034.37
ProcVersionSignature: User Name 5.4.0-1034.37-raspi 5.4.101
Uname: Linux 5.4.0-1034-raspi aarch64
ApportVersion: 2.20.11-0ubuntu27.16
Architecture: arm64
CasperMD5CheckResult: skip
Date: Tue May 4 02:59:25 2021
ImageMediaBuild: 20210201.1
ProcEnviron:
 TERM=xterm-256color
 PATH=(custom, no user)
 XDG_RUNTIME_DIR=<set>
 LANG=C.UTF-8
 SHELL=/bin/bash
SourcePackage: linux-raspi
UpgradeStatus: No upgrade log present (probably fresh install)

Ash Wilson (ashval) wrote :
Juerg Haefliger (juergh) wrote :

Can you send the output of 'lsmod' and 'dmesg' and 'lspci -nn'?
What happens if you manually load the driver: 'modprobe ath9k'?

Download full text (65.8 KiB)

Hi Juerg,
Thanks for picking up the ticket so quickly. I reinstalled and updated
20.04.2 and ran the following commands:
----
Output from lsmod:
Module Size Used by
cfg80211 839680 0
dm_multipath 36864 0
scsi_dh_rdac 16384 0
scsi_dh_emc 16384 0
scsi_dh_alua 20480 0
bcm2835_codec 45056 0
bcm2835_v4l2 49152 0
snd_bcm2835 36864 0
bcm2835_isp 28672 0
v4l2_mem2mem 36864 1 bcm2835_codec
bcm2835_mmal_vchiq 45056 3 bcm2835_codec,bcm2835_v4l2,bcm2835_isp
videobuf2_dma_contig 24576 2 bcm2835_codec,bcm2835_isp
snd_pcm 143360 1 snd_bcm2835
videobuf2_vmalloc 20480 1 bcm2835_v4l2
videobuf2_memops 20480 2 videobuf2_vmalloc,videobuf2_dma_contig
videobuf2_v4l2 32768 4
bcm2835_codec,bcm2835_v4l2,v4l2_mem2mem,bcm2835_isp
videobuf2_common 61440 5
bcm2835_codec,videobuf2_v4l2,bcm2835_v4l2,v4l2_mem2mem,bcm2835_isp
snd_timer 45056 1 snd_pcm
raspberrypi_hwmon 16384 0
videodev 315392 6
bcm2835_codec,videobuf2_v4l2,bcm2835_v4l2,videobuf2_common,v4l2_mem2mem,bcm2835_isp
snd 114688 3 snd_bcm2835,snd_timer,snd_pcm
vc_sm_cma 49152 2 bcm2835_mmal_vchiq,bcm2835_isp
mc 73728 6
videodev,bcm2835_codec,videobuf2_v4l2,videobuf2_common,v4l2_mem2mem,bcm2835_isp
rpivid_mem 16384 0
rpi_poe_fan 16384 0
uio_pdrv_genirq 16384 0
uio 24576 1 uio_pdrv_genirq
sch_fq_codel 20480 6
drm 569344 0
ip_tables 40960 0
x_tables 57344 1 ip_tables
autofs4 57344 2
btrfs 1425408 0
zstd_compress 163840 1 btrfs
raid10 61440 0
raid456 184320 0
async_raid6_recov 20480 1 raid456
async_memcpy 20480 2 raid456,async_raid6_recov
async_pq 20480 2 raid456,async_raid6_recov
async_xor 20480 3 async_pq,raid456,async_raid6_recov
async_tx 20480 5
async_pq,async_memcpy,async_xor,raid456,async_raid6_recov
xor 20480 2 async_xor,btrfs
xor_neon 16384 1 xor
raid6_pq 114688 4 async_pq,btrfs,raid456,async_raid6_recov
libcrc32c 16384 2 btrfs,raid456
raid1 53248 0
raid0 24576 0
multipath 24576 0
linear 20480 0
crct10dif_ce 16384 1
spidev 24576 0
phy_generic 20480 0
aes_neon_bs 28672 1
aes_neon_blk 32768 1 aes_neon_bs
crypto_simd 20480 2 aes_neon_bs,aes_neon_blk
cryptd 24576 1 crypto_simd

-----
Output from lspci -nn:
00:00.0 PCI bridge [0604]: Broadcom Inc. and subsidiaries Device
[14e4:2711] (rev 20)
01:00.0 Network controller [0280]: Qualcomm Atheros AR93xx Wireless Network
Adapter [168c:0030] (rev 01)
-----
dmesg output:
[ 0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd083]
[ 0.000000] Linux version 5.4.0-1034-raspi (buildd@bos02-arm64-050) (gcc
version 9.3.0 (Ubuntu 9.3.0-17ub...

Juerg Haefliger (juergh) wrote :

What happens if you manually load the driver? modprobe ath9k.

Ash Wilson (ashval) wrote :
Download full text (5.3 KiB)

After running modprobe ath9k, ath9k shows up in the output from lsmod.
However, iw still doesn’t see the interface.

On Mon, May 10, 2021 at 1:15 AM Juerg Haefliger <email address hidden>
wrote:

> What happens if you manually load the driver? modprobe ath9k.
>
> --
> You received this bug notification because you are subscribed to the bug
> report.
> https://bugs.launchpad.net/bugs/1927037
>
> Title:
> ath9k driver: miniPCIe Atheros AR93xx not recognized
>
> Status in linux-raspi package in Ubuntu:
> New
> Status in linux-raspi source package in Focal:
> New
> Status in linux-raspi source package in Groovy:
> New
> Status in linux-raspi source package in Hirsute:
> New
>
> Bug description:
> Expected behavior:
> Network adapter should be visible via `iw list`, `iwconfig`, and
> `ifconfig`.
>
> Actual behavior:
> Network adapter is visible in `lspci` and `lshw`, but not in `iw list`,
> `iwconfig`, or `ifconfig`
>
> Details:
> The Atheros network card is detected by the ath9k driver when installed
> into a machine with x86_64 architecture. When the same card is installed
> into a miniPCIe-to-PCIe adapter, then plugged into a Raspberry Pi CM4 IO
> breakout board, the network adapter can be seen via lspci and lshw but is
> not seen by iw, iwconfig, or ifconfig.
>
> lspci:
> ubuntu@ubuntu:~$ sudo lspci -v
> 00:00.0 PCI bridge: Broadcom Inc. and subsidiaries Device 2711 (rev 20)
> (prog-if 00 [Normal decode])
> Flags: bus master, fast devsel, latency 0, IRQ 41
> Bus: primary=00, secondary=01, subordinate=01, sec-latency=0
> I/O behind bridge: 00000000-00000fff [size=4K]
> Memory behind bridge: f8000000-f80fffff [size=1M]
> Prefetchable memory behind bridge: [disabled]
> Capabilities: [48] Power Management version 3
> Capabilities: [ac] Express Root Port (Slot-), MSI 00
> Capabilities: [100] Advanced Error Reporting
> Capabilities: [180] Vendor Specific Information: ID=0000 Rev=0
> Len=028 <?>
> Capabilities: [240] L1 PM Substates
> Kernel driver in use: pcieport
>
> 01:00.0 Network controller: Qualcomm Atheros AR93xx Wireless Network
> Adapter (rev 01)
> Subsystem: Qualcomm Atheros AR93xx Wireless Network Adapter
> Flags: fast devsel, IRQ 255
> Memory at 600000000 (64-bit, non-prefetchable) [disabled]
> [size=128K]
> Expansion ROM at 600020000 [virtual] [disabled] [size=64K]
> Capabilities: [40] Power Management version 3
> Capabilities: [50] MSI: Enable- Count=1/4 Maskable+ 64bit+
> Capabilities: [70] Express Endpoint, MSI 00
> Capabilities: [100] Advanced Error Reporting
> Capabilities: [140] Virtual Channel
> Capabilities: [300] Device Serial Number 00-00-00-00-00-00-00-00
>
> -----
> lshw:
> ubuntu@ubuntu:~$ sudo lshw -c net
> *-network UNCLAIMED
> description: Network controller
> product: AR93xx Wireless Network Adapter
> vendor: Qualcomm Atheros
> physical id: 0
> bus info: pci@0000:01:00.0
> version: 01
> width: 64 bits
> clock: 33MHz
> capabilities:...

Read more...

Juerg Haefliger (juergh) wrote :

I guess this is not helpful :-(

# CONFIG_ATH9K_PCI is not set

Juerg Haefliger (juergh) wrote :

Can you try the test kernel from: https://kernel.ubuntu.com/~juergh/lp1927037/

Download and install linux-image and linux-modules.

description: updated
Ash Wilson (ashval) wrote :
Download full text (12.2 KiB)

Hi Juerg,
It now attempts to load the driver, but fails:
---
[ 8.163942] ath9k 0000:01:00.0: enabling device (0000 -> 0002)
[ 8.163960] ath9k: 32-bit DMA not available
[ 8.173575] ath9k: probe of 0000:01:00.0 failed with error -5
---

On Tue, May 11, 2021 at 8:55 AM Juerg Haefliger <email address hidden>
wrote:

> Can you try the test kernel from:
> https://kernel.ubuntu.com/~juergh/lp1927037/
>
> Download and install linux-image and linux-modules.
>
>
> ** Description changed:
>
> + [Impact]
> +
> + PCIe cards based on ath9k chips are not recognized.
> +
> + [Test Case]
> +
> + Plug a ath9k based PCIe card into the PCIe slot of a CM4 IO board and:
> + $ ls /sys/class/net/wlan0
> + ls: cannot access '/sys/class/net/wlan0': No such file or directory
> +
> + [Where Problems Could Occur]
> +
> + Buggy driver could result in crashes.
> +
> + [Original Description]
> +
> Expected behavior:
> Network adapter should be visible via `iw list`, `iwconfig`, and
> `ifconfig`.
>
> Actual behavior:
> Network adapter is visible in `lspci` and `lshw`, but not in `iw list`,
> `iwconfig`, or `ifconfig`
>
> Details:
> The Atheros network card is detected by the ath9k driver when installed
> into a machine with x86_64 architecture. When the same card is installed
> into a miniPCIe-to-PCIe adapter, then plugged into a Raspberry Pi CM4 IO
> breakout board, the network adapter can be seen via lspci and lshw but is
> not seen by iw, iwconfig, or ifconfig.
>
> lspci:
> ubuntu@ubuntu:~$ sudo lspci -v
> 00:00.0 PCI bridge: Broadcom Inc. and subsidiaries Device 2711 (rev 20)
> (prog-if 00 [Normal decode])
> - Flags: bus master, fast devsel, latency 0, IRQ 41
> - Bus: primary=00, secondary=01, subordinate=01, sec-latency=0
> - I/O behind bridge: 00000000-00000fff [size=4K]
> - Memory behind bridge: f8000000-f80fffff [size=1M]
> - Prefetchable memory behind bridge: [disabled]
> - Capabilities: [48] Power Management version 3
> - Capabilities: [ac] Express Root Port (Slot-), MSI 00
> - Capabilities: [100] Advanced Error Reporting
> - Capabilities: [180] Vendor Specific Information: ID=0000 Rev=0
> Len=028 <?>
> - Capabilities: [240] L1 PM Substates
> - Kernel driver in use: pcieport
> + Flags: bus master, fast devsel, latency 0, IRQ 41
> + Bus: primary=00, secondary=01, subordinate=01, sec-latency=0
> + I/O behind bridge: 00000000-00000fff [size=4K]
> + Memory behind bridge: f8000000-f80fffff [size=1M]
> + Prefetchable memory behind bridge: [disabled]
> + Capabilities: [48] Power Management version 3
> + Capabilities: [ac] Express Root Port (Slot-), MSI 00
> + Capabilities: [100] Advanced Error Reporting
> + Capabilities: [180] Vendor Specific Information: ID=0000 Rev=0 Len=028
> <?>
> + Capabilities: [240] L1 PM Substates
> + Kernel driver in use: pcieport
>
> 01:00.0 Network controller: Qualcomm Atheros AR93xx Wireless Network
> Adapter (rev 01)
> - Subsystem: Qualcomm Atheros AR93xx Wireless Network Adapter
> - Flags: fast devsel, IRQ 255
> - Memory at 600000000 (64-bit, non-prefetchable) [disabled]
> [size=128K]
> - Expansion ROM at 60...

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers