Already running that one that was recently added

1 Like

The hash is: 9aec2724131ccb69374c46154a48e94e bdwlan.b292
The fw_version.txt contains this: WLAN.HK.2.0-01792-QCAHKSWPL_SILICONZ-1.242686.26 v2

Running the latest version available for the AX6.

So, it differs from the AX3600.

Would it help to extract this for you? Can share the complete /lib/firmware folder, or whatever you need.

Yeah that was before I checked the performance.

Tomorrow I'll do some digging on the pcie changes from the older working kernel.

3 Likes

At first, thanks for your great work guys. Maybe a stupid question. What about mesh function? Would be possible to do a mesh network on AX3600 openwrt with two Redmi AX5 routers?

@dchard Honestly, I dont have time to mess with AX6 as well neither do I have the HW.

@Apache14 Great to hear that, its the only big broken thing left.

@scorpion1211 Dont know what Xiaomi uses but regular 802.11s mesh is supported by ath11k.

@Apache14 : do you also have those kernel messages (followed by a call trace) during the wifi startup?

ath11k c000000.wifi: No regulatory rules available in the event info
ath11k c000000.wifi: failed to extract regulatory info from received event

And additionally i have this repeating hostapd error in the log:

daemon.notice hostapd: nl80211: nl80211_recv_beacons->nl_recvmsgs failed: -5

EDIT: interesting, they only appear, if i set the country option in the wireless config :thinking:

Was your issue on PCIE around reset asserts / devm_reset_control_array_get_exclusive ?

Are you booting from tftpboot / bootm or flashed to nand, as i did see some mention in old patches that uboot can leave PCIE in a strange state with bootm.

No idea, as the card would get detected just fine.
However once ath10k would start initializing it would hang on enabling the card or fail initializing like 50% of the time.

I was using bootm, good idea to try flashing, I can try that in the evening.

Ahh on mine i cant even get the pci phy to come up (enabled both nodes in DTS).

Looks like they are re implementing this AGAIN https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux.git/tree/drivers/pci/controller/dwc/pcie-qcom.c#n636

No i havent seen those logs, mine seems fine with country set to GB

Connecting to host 192.168.1.239, port 5201
[  5] local 192.168.1.1 port 55500 connected to 192.168.1.239 port 5201
[  255.966394] ath11k c000000.wifi: bss channel survey timed out
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec  88.9 MBytes   746 Mbits/sec    0   1.57 MBytes       
[  5]   1.00-2.00   sec  91.9 MBytes   771 Mbits/sec    0   1.57 MBytes       
[  5]   2.00-3.00   sec  91.9 MBytes   771 Mbits/sec    0   1.57 MBytes       
[  5]   3.00-4.00   sec  93.0 MBytes   780 Mbits/sec    0   1.57 MBytes       
[  5]   4.00-5.00   sec  91.5 MBytes   767 Mbits/sec    0   1.57 MBytes       
[  5]   5.00-6.00   sec  90.0 MBytes   755 Mbits/sec    0   1.57 MBytes       
[  5]   6.00-7.00   sec  87.3 MBytes   733 Mbits/sec    0   1.57 MBytes       
[  5]   7.00-8.00   sec  88.7 MBytes   744 Mbits/sec    0   1.57 MBytes       
[  5]   8.00-9.00   sec  92.1 MBytes   773 Mbits/sec    0   1.57 MBytes       
[  5]   9.00-10.00  sec  79.8 MBytes   670 Mbits/sec    0   1.57 MBytes       
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec   895 MBytes   751 Mbits/sec    0             sender
[  5]   0.00-10.00  sec   893 MBytes   749 Mbits/sec                  receiver

iperf Done.
[  265.186089] ath11k c000000.wifi: bss channel survey timed out


root@OpenWrt:/# iw reg get
global
country GB: DFS-ETSI
        (2400 - 2483 @ 40), (N/A, 20), (N/A)
        (5150 - 5250 @ 80), (N/A, 23), (N/A), NO-OUTDOOR, AUTO-BW
        (5250 - 5350 @ 80), (N/A, 20), (0 ms), NO-OUTDOOR, DFS, AUTO-BW
        (5470 - 5730 @ 160), (N/A, 26), (0 ms), DFS
        (5725 - 5875 @ 80), (N/A, 20), (0 ms), DFS
        (57000 - 71000 @ 2160), (N/A, 40), (N/A)

phy#1 (self-managed)
country GB: DFS-ETSI
        (2402 - 2472 @ 40), (N/A, 30), (N/A)
        (5170 - 5250 @ 80), (N/A, 30), (N/A), AUTO-BW
        (5250 - 5330 @ 80), (N/A, 24), (0 ms), DFS, AUTO-BW
        (5490 - 5590 @ 80), (N/A, 24), (0 ms), DFS, AUTO-BW
        (5590 - 5650 @ 40), (N/A, 24), (600000 ms), DFS, AUTO-BW
        (5650 - 5710 @ 40), (N/A, 24), (0 ms), DFS, AUTO-BW

phy#0 (self-managed)
country GB: DFS-ETSI
        (2402 - 2472 @ 40), (N/A, 30), (N/A)
        (5170 - 5250 @ 80), (N/A, 30), (N/A), AUTO-BW
        (5250 - 5330 @ 80), (N/A, 24), (0 ms), DFS, AUTO-BW
        (5490 - 5590 @ 80), (N/A, 24), (0 ms), DFS, AUTO-BW
        (5590 - 5650 @ 40), (N/A, 24), (600000 ms), DFS, AUTO-BW
        (5650 - 5710 @ 40), (N/A, 24), (0 ms), DFS, AUTO-BW


E0:D4:64:##:##:##  unknown / -105 dBm (SNR 105)  416 ms ago
        RX: 1200.9 MBit/s, HE-MCS 11, 80MHz, HE-NSS 2, HE-GI 0, HE-DCM 0     20131 Pkts.
        TX: 12.0 MBit/s                               648396 Pkts.
        expected throughput: unknown

1 Like

QCA really likes to do stuff their own way instead of doing it properly.

For me the PHY works, but its all kind of sketchy.

1 Like

Happen to have your uboot logs handy ?

I get these lines on mine

PCI Link Intialized
PCI1 is not defined in the device tree

Wondering if your on a slightly different uboot version

U-Boot 2016.01 (Feb 19 2020 - 10:39:20 +0000), Build: jenkins-r3600_ota_publish-25

Yeah, those pop up here as well.
I am used to seeing stuff like that as they regularly leave stuff that does not exist enabled or not enable stuff that exists

Its really strange, I cant get the phy to start regardless what I do.

Your latest branch with qmp_pcie_phy0 & pcie0 enabled in DTS I get the following (it looks like something isnt being reset properly after uboot hands over

[    0.162775] ------------[ cut here ]------------
[    0.162804] WARNING: CPU: 2 PID: 1 at __reset_control_get_internal+0x120/0x158
[    0.162810] Modules linked in:
[    0.162826] CPU: 2 PID: 1 Comm: swapper/0 Not tainted 5.10.37 #0
[    0.162832] Hardware name: Xiaomi AX3600 (DT)
[    0.162842] pstate: 20400005 (nzCv daif +PAN -UAO -TCO BTYPE=--)
[    0.162852] pc : __reset_control_get_internal+0x120/0x158
[    0.162861] lr : __of_reset_control_get+0x138/0x1d8
[    0.162867] sp : ffffffc0119fba10
[    0.162873] x29: ffffffc0119fba10 x28: ffffff80035fe2b8 
[    0.162886] x27: 0000000000000001 x26: ffffff80035fe280 
[    0.162897] x25: 0000000000000000 x24: 0000000000000001 
[    0.162909] x23: 0000000000000000 x22: ffffff8003589990 
[    0.162920] x21: 000000000000007b x20: ffffff80035899b0 
[    0.162932] x19: ffffff80034f6080 x18: 0000000000000400 
[    0.162944] x17: 000000000000000c x16: 0000000000007fff 
[    0.162955] x15: ffffffffffffffff x14: ffffffffffffffff 
[    0.162967] x13: 0000000000000010 x12: 0101010101010101 
[    0.162978] x11: 0000000000000020 x10: 0101010101010101 
[    0.162990] x9 : 0000000000000001 x8 : 7f7f7f7f7f7f7f7f 
[    0.163001] x7 : 666470ff726b6b64 x6 : 0000000080726567 
[    0.163012] x5 : 0000000000000001 x4 : 0000000000000000 
[    0.163023] x3 : 0000000000000001 x2 : 0000000000000000 
[    0.163035] x1 : 000000000000007b x0 : 0000000000000000 
[    0.163046] Call trace:
[    0.163057]  __reset_control_get_internal+0x120/0x158
[    0.163067]  __of_reset_control_get+0x138/0x1d8
[    0.163077]  of_reset_control_array_get+0xac/0x200
[    0.163086]  devm_reset_control_array_get+0x54/0xc8
[    0.163099]  qcom_pcie_get_resources_2_9_0+0x7c/0x98
[    0.163107]  qcom_pcie_probe+0x178/0x1e8
[    0.163119]  platform_drv_probe+0x54/0xa8
[    0.163128]  really_probe+0xe8/0x3a0
[    0.163137]  driver_probe_device+0x58/0xb8
[    0.163146]  device_driver_attach+0x74/0x80
[    0.163154]  __driver_attach+0x58/0xe0
[    0.163162]  bus_for_each_dev+0x64/0xa0
[    0.163171]  driver_attach+0x24/0x30
[    0.163179]  bus_add_driver+0x184/0x1e8
[    0.163188]  driver_register+0x64/0x120
[    0.163197]  __platform_driver_register+0x48/0x58
[    0.163208]  qcom_pcie_driver_init+0x1c/0x28
[    0.163218]  do_one_initcall+0x74/0x1d0
[    0.163228]  kernel_init_freeable+0x1fc/0x26c
[    0.163238]  kernel_init+0x14/0x114
[    0.163246]  ret_from_fork+0x10/0x30
[    0.163257] ---[ end trace 930626593a2d4220 ]---
[    0.163405] qcom-pcie: probe of 20000000.pci failed with error -16
1 Like

@robimarko woop wopp

[    0.162447] qcom-pcie 20000000.pci: devm_reset_control_get(pipe)
[    0.162472] qcom-pcie 20000000.pci: devm_reset_control_get(sleep)
[    0.162487] qcom-pcie 20000000.pci: devm_reset_control_get(sticky)
[    0.162503] qcom-pcie 20000000.pci: devm_reset_control_get(axi_m)
[    0.162519] qcom-pcie 20000000.pci: devm_reset_control_get(axi_s)
[    0.162535] qcom-pcie 20000000.pci: devm_reset_control_get(ahb)
[    0.162552] qcom-pcie 20000000.pci: devm_reset_control_get(axi_m_sticky)
[    0.162590] qcom-pcie 20000000.pci: host bridge /soc/pci@20000000 ranges:
[    0.162633] qcom-pcie 20000000.pci:       IO 0x0020200000..0x00202fffff -> 0x0020200000
[    0.162662] qcom-pcie 20000000.pci:      MEM 0x0020220000..0x002fffffff -> 0x0020220000
[    0.381845] qcom-pcie 20000000.pci: Link up
[    0.382001] qcom-pcie 20000000.pci: PCI host bridge to bus 0000:00
[    0.382016] pci_bus 0000:00: root bus resource [bus 00-ff]
[    0.382029] pci_bus 0000:00: root bus resource [io  0x0000-0xfffff] (bus address [0x20200000-0x202fffff])
[    0.382038] pci_bus 0000:00: root bus resource [mem 0x20220000-0x2fffffff]
[    0.382083] pci 0000:00:00.0: [17cb:1002] type 01 class 0x060400
[    0.382107] pci 0000:00:00.0: reg 0x10: [mem 0x00000000-0x00000fff]
[    0.382191] pci 0000:00:00.0: PME# supported from D0 D3hot D3cold
[    0.384898] pci 0000:01:00.0: [168c:0050] type 00 class 0x028000
[    0.385099] pci 0000:01:00.0: reg 0x10: [mem 0x00000000-0x001fffff 64bit]
[    0.385416] pci 0000:01:00.0: reg 0x30: [mem 0x00000000-0x0000ffff pref]
[    0.386124] pci 0000:01:00.0: supports D1
[    0.386134] pci 0000:01:00.0: PME# supported from D0 D1 D3hot
[    0.388743] pci 0000:00:00.0: BAR 8: assigned [mem 0x20300000-0x205fffff]
[    0.388759] pci 0000:00:00.0: BAR 9: assigned [mem 0x20600000-0x207fffff 64bit pref]
[    0.388770] pci 0000:00:00.0: BAR 0: assigned [mem 0x20220000-0x20220fff]
[    0.388784] pci 0000:00:00.0: BAR 7: assigned [io  0x1000-0x1fff]
[    0.388799] pci 0000:01:00.0: BAR 0: assigned [mem 0x20400000-0x205fffff 64bit]
[    0.388897] pci 0000:01:00.0: BAR 6: assigned [mem 0x20300000-0x2030ffff pref]
[    0.388908] pci 0000:00:00.0: PCI bridge to [bus 01-ff]
[    0.388919] pci 0000:00:00.0:   bridge window [io  0x1000-0x1fff]
[    0.388930] pci 0000:00:00.0:   bridge window [mem 0x20300000-0x205fffff]
[    0.388941] pci 0000:00:00.0:   bridge window [mem 0x20600000-0x207fffff 64bit pref]
[    0.388963] pci 0000:00:00.0: Max Payload Size set to  128/ 128 (was  128), Max Read Rq  128
[    0.389098] pci 0000:01:00.0: Max Payload Size set to  128/ 256 (was  128), Max Read Rq  128
[    6.112733] ath10k 5.10 driver, optimized for CT firmware, probing pci device: 0x50.
[    6.113263] ath10k_pci 0000:01:00.0: enabling device (0000 -> 0002)
[    6.120069] ath10k_pci 0000:01:00.0: pci irq msi oper_irq_mode 2 irq_mode 0 reset_mode 0
[    6.796197] ath10k_pci 0000:01:00.0: qca9887 hw1.0 target 0x4100016d chip_id 0x004000ff sub 0000:0000
[    6.796241] ath10k_pci 0000:01:00.0: kconfig debug 0 debugfs 1 tracing 0 dfs 1 testmode 0
[    6.804621] ath10k_pci 0000:01:00.0: firmware ver 10.1-ct-87-__fW-022-ecad3248 api 2 features wmi-10.x,has-wmi-mgmt-tx,mfp,txstatus-noack,wmi-10.x-CT,ratemask-CT,txrate-CT,get-temp-CT,tx-rc-CT,cust-stats-CT,retry-gt2-CT,txrate2-CT,beacon-cb-CT,wmi-block-ack-CT crc32 61a92df5
7 Likes

you did it ? We can update the device ?

missing reset not done with a simple bootm ?

So we are getting near to get OpenWrt on AX3600? I'm excited. Good work all of you guys!