radxa-build / rock-5b

ROCK 5B
https://radxa-build.github.io/rock-5b/
Other
78 stars 9 forks source link

atheros firmware #8

Open ddams2000 opened 9 months ago

ddams2000 commented 9 months ago

Hello, is there a solution to make an atheros wifi card work with the official debian release (without having to compile the kernel) ?

RadxaYuntian commented 9 months ago

First you need to make sure the card is electrically compatible. You then need to find something called dkms package, which contains the source code for your wifi driver. Sometimes you also need to find the firmware (which is some closed source binary blob, not source code) for your wifi card to use along with the dkms driver.

It is complicated.

mmisiewicz commented 8 months ago

@RadxaYuntian are you aware of a way to build the ath11k from the 5.18+ kernel under the 5.10 kernel?

I have a Qualcomm Atheros QCNFA765 m2 wifi card. Under the Radxa Ubuntu 22 build with kernel 5.10.110-21-rockchip, the card appears on the PCI bus:

$ sudo lspci -v
0002:21:00.0 Network controller: Qualcomm Atheros QCNFA765 (rev 01)
    Subsystem: Qualcomm Device 0108
    Flags: fast devsel
    Memory at f2200000 (64-bit, non-prefetchable) [disabled] [size=2M]
    Capabilities: [40] Power Management version 3
    Capabilities: [50] MSI: Enable- Count=1/32 Maskable+ 64bit-
    Capabilities: [70] Express Endpoint, MSI 00
    Capabilities: [100] Advanced Error Reporting
    Capabilities: [148] Secondary PCI Express
    Capabilities: [158] Transaction Processing Hints
    Capabilities: [1e4] Latency Tolerance Reporting
    Capabilities: [1ec] L1 PM Substates

and kernel log:

$ sudo dmesg | grep 0002:21
[    7.353456] pci 0002:21:00.0: [17cb:1103] type 00 class 0x028000
[    7.353535] pci 0002:21:00.0: reg 0x10: [mem 0x00000000-0x001fffff 64bit]
[    7.353964] pci 0002:21:00.0: PME# supported from D0 D3hot D3cold
[    7.354082] pci 0002:21:00.0: 4.000 Gb/s available PCIe bandwidth, limited by 5.0 GT/s PCIe x1 link at 0002:20:00.0 (capable of 7.876 Gb/s with 8.0 GT/s PCIe x1 link)
[    7.376657] pci_bus 0002:21: busn_res: [bus 21-2f] end is updated to 21
[    7.376722] pci 0002:21:00.0: BAR 0: assigned [mem 0xf2200000-0xf23fffff 64bit]

So it looks like the card is good, but no ath11k driver.

However, on Armbian 23, running kernel 6.7.0-rc1-edge-rockchip-rk3588.. the card is not appearing on the PCI bus:

sudo lspci
0000:00:00.0 PCI bridge: Rockchip Electronics Co., Ltd RK3588 (rev 01)
0000:01:00.0 Non-Volatile memory controller: Micron/Crucial Technology P2 NVMe PCIe SSD (rev 01)
0002:20:00.0 PCI bridge: Rockchip Electronics Co., Ltd RK3588 (rev 01)
0004:40:00.0 PCI bridge: Rockchip Electronics Co., Ltd RK3588 (rev 01)
0004:41:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8125 2.5GbE Controller (rev 05)```

And in the kernel log not much showing up:

[    2.628861] pci_bus 0002:21: busn_res: [bus 21-2f] end is updated to 21

So the PCI appears not to work right on this card, although kernel 6.7 does have the required ath11k driver.

Do you know a way to either:

mmisiewicz commented 8 months ago

I'm using the most recent Armbian build for the rock5b, from Nov 30, 2023.

RadxaYuntian commented 8 months ago

RK3588 PCIe on mainline Linux is very cutting edge so it is expected to have some issues.

Backported driver is usually provided by the device vendor.