Adding OpenWrt support for Xiaomi AX3600 (Part 1)

can you reword? didn't understand a thing

When working in the band 80 and 160 MHz, errors appeared on the previous firmware

ath11k c000000.wifi: failed to transmit frame -108
[ 262.449733] ath11k c000000.wifi: failed to transmit frame -108
[ 262.996177] ath11k c000000.wifi: failed to transmit frame -108
[ 264.081703] ath11k c000000.wifi: failed to transmit frame -108
[ 265.051274] ath11k c000000.wifi: bss channel survey timed out
[ 265.051643] ath11k c000000.wifi: failed to send WMI_PDEV_SET_PARAM cmd
[ 265.056001] ath11k c000000.wifi: Failed to set beacon mode for VDEV: 1
[ 265.062462] ath11k c000000.wifi: failed to send WMI_BCN_TMPL_CMDID
[ 265.068936] ath11k c000000.wifi: failed to submit beacon template command: -108
[ 265.075113] ath11k c000000.wifi: failed to update bcn template: -108
[ 267.291304] qcom-q6v5-wcss-pil cd00000.q6v5_wcss: start timed out
[ 267.291349] remoteproc remoteproc0: can't start rproc cd00000.q6v5_wcss: -110
[ 270.801757] ath11k_warn: 30 callbacks suppressed
[ 270.801814] ath11k c000000.wifi: failed to transmit frame -108
[ 271.088041] ath11k c000000.wifi: failed to send WMI_PDEV_BSS_CHAN_INFO_REQUEST cmd
[ 271.088081] ath11k c000000.wifi: failed to send pdev bss chan info request
[ 271.094807] ath11k c000000.wifi: failed to send WMI_PDEV_SET_PARAM cmd
[ 271.101381] ath11k c000000.wifi: Failed to set beacon mode for VDEV: 1
[ 271.107889] ath11k c000000.wifi: failed to send WMI_BCN_TMPL_CMDID
[ 271.114398] ath11k c000000.wifi: failed to submit beacon template command: -108
[ 271.120549] ath11k c000000.wifi: failed to update bcn template: -108
[ 271.127775] ath11k c000000.wifi: failed to send WMI_VDEV_SET_PARAM_CMDID
[ 271.134364] ath11k c000000.wifi: Failed to set dtim period for VDEV 1: -108
[ 277.142819] ath11k_warn: 27 callbacks suppressed
[ 277.142841] ath11k c000000.wifi: failed to send WMI_PDEV_BSS_CHAN_INFO_REQUEST cmd
[ 277.146530] ath11k c000000.wifi: failed to send pdev bss chan info request
[ 277.154242] ath11k c000000.wifi: failed to send WMI_PDEV_SET_PARAM cmd.

For radio interfaces to work, a manual reboot of the device was required.

With your latest firmware, the router reboots itself, (I haven’t managed to write its logs yet). I'll look for what makes him reboot.

fact is that i'm running my router with latest patch and at 160mhz... what configuration are you using?

Later I'll reset , settings, and try to update the image with the latest change "mac80211: ath11k_nss: reduce tlv to 2k SKB"

I can't repro without the current configuration.... no idea of what you are using? special wpa thing? wifi5 devices

@radiobyte
Sometimes, after we flash new FW, the old FW is still there and the new one didn't got flashed, it's an old bug.
So after you flash you need to keep track in status page if build changed.
Example:
Firmware Version OpenWrt SNAPSHOT r0-a9f87ed / LuCI Master git-22.137.71281-d6dbedd
New latest build:
Firmware Version OpenWrt SNAPSHOT r0-8e0d1de / LuCI Master git-22.137.71281-d6dbedd

A vlan comes to the wan port, which is bridged with a wireless interface, wireless clients receive an IP address from the Mikrotik Bras. Normal wpa2/wpa3 encryption

Finally want to get my so far unused ax3600 from the basement.
Has anyone a source for ax wifi cards (non intel) preferably somewhere shipping to europe?

Ok guys, since upstreaming is taking some time I finally made a branch that is focused towards making a OpenWrt PR using stuff that is upstream or in process of upstreaming.

So, most of the driver code has been rewritten and some we finally got rid of some nasty hacks and gained some new features like exposing the remaining PMIC regulators, PMIC GPIO-s being exposed, SDHCI controller is now being reset to get rid of bootloader config that sometimes leads to timeouts, clock driver now uses GDSC-s for USB power gating, APSS clock driver now utilizes parent data and many other things I probably forgot.

The branch is here:

Github is already building it, and this will be the only branch that will get any attention.
Feature-wise, there shouldn't be any regressions.
ath11k will also get remaining patches backported, and QMI helpers will be part of backports soon.

Like always, testing would be great.

16 Likes

Hi there,

finally tried the build from robimarko r0-0e7870d ipq807x-2022-05-16
and found a strange behavior:
I configured the radio2 (channel 11) to connect via mesh, static ip; disabled firewall/dnsmasq/odhcpd etc. so standard dumb ap config.
Every client which is connected to the ax3600 can‘t reach a dns server or my main router via dns.

nslookup google.com 192.168.11.1 (main router) —> connection timed out; no server could be reached
but ping is working and every connection i open via ip.

Possible driver is not ready for mesh?

Hmm must be something with ipv6 as on the ax3600
ping google.com doesn‘t work but
ping -4 google.com does. And i don‘t have/use ipv6

Did you manage to run the patch to get the data?

Mesh works perfectly out of the box. I've this version installed in two AX3600 using mesh without problem.

2 Likes

If and when Robi pulls it to his repo, I can take a look. Why?

no issues found with this release so far ...

I have updated all my three mesh nodes into this snapshot. Everything works. All I miss is the support for gre or batman support. I have managed to build a built but I have not got the confidence to use it yet..

How would I go about using the whole storage of the ax3600 and not only the 30mbs available now?
Is the uart method recommended or is it dangerous?
Will it ever be possible just by the build or will it always require uart?

@robimarko the 5.15-pr branch works fine, no change in performance.

2 Likes

Awesome, nice to hear that

1 Like

80MHz 2x2 AX I can get 750Mbit on my phone (single thread Iperf3 on the router), no CPU bottleneck. On the uplink however I need 6-8 threads to get 500Mbits... Single thread uplink yields around 200-250Mbits.

2 Likes

I tried to established a connection on 160Mhs bandwidth, but without success. On AX3600 If I put channel 100 with 160Mhz the wireless does not start. On channel 48 with channel 160 MHz starts fine, but client, a laptop with AX210NGW card does not see it. What settings should I put to have 160 MHz. With 80 MHz both channels starts ok, and connection could be made from laptop.