Archer C7 V1.0 crashes on boot

there were attempts before that and looks like it worked:
https://ath10k.infradead.narkive.com/aJweaKYX/wmi-service-ready-event-not-received
https://lists.ath9k.org/pipermail/ath9k-devel/2013-June/011828.html

I also don't understand the decision to drop support completely

Since the firmware support is no longer available

what ever it means. But firmware is available (from original v1 Hardware).

1 Like

Has someone actually tried the ath79 image for C7 v1?
Does the ath79 image also result in a boot loop?

What happens if you open it up and take out the 5 GHz card? It's not going to do anything anyway.

1 Like

Sorry, I don't know. I gave up trying to make it work on this old unit and just reverted this one to factory firmware.

In the bug report about the bootloop, https://bugs.openwrt.org/index.php?do=details&task_id=1743 the committer of that patch said "The problem is fixed in the upcoming ath79 Archer C7 V1.(0/1) though."

So I would assume yes.

just tried image from yesterday. bootloop present

1 Like

amazing, so I can safely change the hardware page to list Chaos Calmer as the last known good firmware for this revision

2 Likes

it is incompatible with plain ath10k driver. since the support used to be available does anyone have ath10k fw binaries? these do not seem to exist in git repos or elsewhere.

tp-link fw loads but is not usable:

[    9.940000] ath10k_pci 0000:01:00.0: BAR 0: assigned [mem 0x12000000-0x121fffff 64bit]
[    9.950000] PCI: Enabling device 0000:01:00.0 (0000 -> 0002)
[    9.950000] ath10k: MSI didn't succeed (-1), trying legacy INTR
[    9.980000] ath10k: legacy interrupt handling
[   10.200000] ath10k: Hardware name qca988x hw1.0 version 0x4000002c
[   11.260000] ath10k: UART prints disabled
[   11.270000] ath10k: Unknown eventid: 32768
[   16.270000] ath10k: wmi service ready event not received
[   16.270000] ath10k: init htc connect failed (-145)
[   16.280000] ath10k: could not init core (-145)
[   16.280000] ath10k: could not probe fw (-145)
[   16.290000] ath10k: could not register driver core (-145)
[   16.290000] ath10k_pci: probe of 0000:01:00.0 failed with error -145
[   18.660000] eth1: link up (1000Mbps/Full duplex)
[   18.660000] device eth1 entered promiscuous mode

notice how it waits exactly 5 secs from 11.27 to 16.27 before it fails.

ath10k fw (for hw2.0) doesn't even start, most likely due to file format:

[    9.940000] PCI: Enabling device 0000:01:00.0 (0000 -> 0002)
[    9.940000] ath10k: MSI didn't succeed (-1), trying legacy INTR
[    9.970000] ath10k: legacy interrupt handling
[   10.320000] ath10k: Hardware name qca988x hw1.0 version 0x4000002c
[   11.520000] ath10k: early firmware event indicated
[   11.600000] ath10k: unable to write LZ data to the device
[   11.600000] ath10k: could not write fw (-145)
[   11.600000] ath10k: could not init core (-145)
[   11.610000] ath10k: could not probe fw (-145)
[   11.610000] ath10k: could not register driver core (-145)
[   11.620000] ath10k_pci: probe of 0000:01:00.0 failed with error -145
[   14.000000] eth1: link up (1000Mbps/Full duplex)

update: latest 2.0 fw starts after cutting board data out and some trailing chars
previously device would crash if used ath10k_pci_device_reset pointing to this offending line

if (!(ath10k_pci_reg_read32(mem, RTC_STATE_ADDRESS) &

of compat-wireless-2013-06-27,

after putting two warn prints here:

/* Put Target, including PCIe, into RESET. */
val = ath10k_pci_reg_read32(mem, SOC_GLOBAL_RESET_ADDRESS);
val |= 1;
ath10k_pci_reg_write32(mem, SOC_GLOBAL_RESET_ADDRESS, val);

for (i = 0; i < ATH_PCI_RESET_WAIT_MAX; i++) {
	if (ath10k_pci_reg_read32(mem, RTC_STATE_ADDRESS) &
				  RTC_STATE_COLD_RESET_MASK)
		ath10k_warn("put into reset \n");
		break;
	msleep(1);
}

/* Pull Target, including PCIe, out of RESET. */
val &= ~1;
ath10k_pci_reg_write32(mem, SOC_GLOBAL_RESET_ADDRESS, val);

for (i = 0; i < ATH_PCI_RESET_WAIT_MAX; i++) {
	if (!(ath10k_pci_reg_read32(mem, RTC_STATE_ADDRESS) &
				    RTC_STATE_COLD_RESET_MASK))
		ath10k_warn("pull out of reset \n");
		break;
	msleep(1);
}

there is no more crash, but bootlog revealed that while pcie is being pulled out of reset it was never put into reset!

[    9.790000] ath10k_pci 0000:01:00.0: BAR 0: assigned [mem 0x12000000-0x121fffff 64bit]
[    9.800000] PCI: Enabling device 0000:01:00.0 (0000 -> 0002)
[    9.810000] ath10k: MSI-X didn't succeed (-1), trying MSI
[    9.810000] ath10k: MSI didn't succeed (-1), trying legacy INTR
[    9.840000] ath10k: legacy interrupt handling
[    9.840000] ath10k: pull out of reset
[   10.790000] ath10k: Hardware name qca988x hw1.0 version 0x4000002c
[   12.020000] ath10k: UART prints disabled
[   13.030000] ath10k: ctl_resp never came in (-145)
[   13.030000] ath10k: could not init core (-145)
[   13.040000] ath10k: could not probe fw (-145)
[   13.040000] ath10k: could not register driver core (-145)
[   13.050000] ath10k_pci: probe of 0000:01:00.0 failed with error -145
[   14.930000] eth1: link up (1000Mbps/Full duplex)

soc has two pci interfaces and the message is related to unpopulated pci bus0 which explains why it shows twice when you remove wlan module

1 Like

power up sequence of QCA9886 might be useful here in case it is identical to QCA9880

got the minipcie extender board today and connected the card to a laptop; ubuntu 16.04 frozen at boot; win10 booted and device was detected but not installed due to missing driver
next i connect qca9862 card and boot win10- same thing no driver. found some driver and installed it and qca9862 picked up APs around, but did not connect - it reset the card on every connect attempt. booting win10 with qca9880 and driver installed failed - win10 frozen too.
patching ubuntu 16.04 with changes from https://github.com/openwrt/openwrt/pull/2435 allowed system to boot up to the point where fw fails.
one interesting thing discovered: usb lines on QCA9880-AR1A are actually used for bluetooth! lsusb finds AR3012 BT4.0

That's common for many wifi/BT combined cards for laptops afaik.

yeah, but this is oversized card not designed for laptop. tried loading it in vbox running ubuntu 10.04 that does not require dfu patches and the interface was detected, some TX/RX packets shown in hciconfig but it doesn't find bluetooth devices. also i don't think it affects PCIe stability, and using MSI interrupts doesn't help either as the situation is the same as with legacy interrupts.

turns out, somebody at AVM did a sloppy job stripping out proprietary code before publishing GPL sources: fritzbox 7490's GPL-wlan.tar.gz contains sub_project5/mips-linux-2.6.31/drivers/pcie dir with qca proprietary pcie drivers for both host and target that have quite a bit of DMA fixes.
more important, i've made some more progress with the card, after recompiling tp-link kernel and dumping skbs while booting original firmware, it is now clear that the card does not use raw or nwifi mode but ethernet encapsulation instead. and the service ready event does not send any memory allocation info as i've suspected. still have issues with things like "target pause event never came" or resetting rx filter...

2 Likes

This has been changed again today by @Borromini

Only after I changed the download urls accordingly, I noticed your edit summary:

updated last known good firmware at CC as later versions cause bootloop

Is this still the case, ie. 18.06.5 causes bootloop on C7 v1?

My apologies if I have messed up, I just checked the C7 page for someone in need of flashing and I thought the v1 stuck at 15.05 was a leftover :confused: I should have checked the page log.

Let's hope someone can test if the latest stable (and 19.07 RCs) still break stuff.

@tmomas Should I roll it back?

1 Like

I'd like to avoid revert-ping-pong (back to 15.05, then back to 18.06 again).
A quick tryout would be nice, just to get clarity. If nobody does that within reasonable amount of time (e.g. over the weekend), I'd suggest to revert to 15.05.

19.07 rc1 still breaks, and this won't get fix automagically as it requires driver changes.
current state of the driver that i work on is that it crashed on vdev create:

[   28.075183] ath10k_pci 0000:01:00.0: ath10k_htc_notify_tx_completion: ep 2 skb 87309b40
[   28.083333] ath10k_pci 0000:01:00.0: wmi pdev regdomain rd 11 rd2g 11 rd5g 11 ctl2g 30 ctl5g 10 dfs_region 1
[   28.093309] ath10k_pci 0000:01:00.0: htc ep 2 consumed 1 credits (total 0)
[   28.100295] ath10k_pci 0000:01:00.0: pci tx item 0 paddr 0x068b3920 len 36 n_items 1
[   28.108149] ath10k_pci 0000:01:00.0: pci tx data: 00000000: 02 01 1c 00 00 09 00 00 04 90 00 00 11 00 00 00  ................
[   28.119617] ath10k_pci 0000:01:00.0: pci tx data: 00000010: 11 00 00 00 11 00 00 00 30 00 00 00 10 00 00 00  ........0.......
[   28.131085] ath10k_pci 0000:01:00.0: pci tx data: 00000020: 01 00 00 00                                      ....
[   28.141520] ath10k_pci 0000:01:00.0: mac create vdev 0 map ffff
[   28.147533] ath10k_pci 0000:01:00.0: mac vdev create 0 (add interface) type 1 subtype 0 bcnmode single-buf
[   28.157333] ath10k_pci 0000:01:00.0: WMI vdev create: id 0 type 1 subtype 0 macaddr 10:fe:ed:eb:f0:5f
[   28.166691] ath10k_pci 0000:01:00.0: htc insufficient credits ep 2 required 1 available 0
[   28.174989] ath10k_pci 0000:01:00.0: htc insufficient credits ep 2 required 1 available 0
[   28.186282] ath10k_pci 0000:01:00.0: pci rx ce pipe 1 len 16
[   28.192068] ath10k_pci 0000:01:00.0: pci rx: 00000000: 00 02 08 00 08 0e 00 00 01 04 00 01 02 01 04 06  ................
[   28.203099] ath10k_pci 0000:01:00.0: htc ep 2 got 1 credits (total 1)
[   28.209652] ath10k_pci 0000:01:00.0: pci rx ce pipe 1 len 16
[   28.215387] ath10k_pci 0000:01:00.0: pci rx: 00000000: 00 02 08 00 08 10 00 00 01 04 00 01 02 01 04 06  ................
[   28.226416] ath10k_pci 0000:01:00.0: htc ep 2 got 1 credits (total 2)
[   28.232981] ath10k_pci 0000:01:00.0: pci rx ce pipe 2 len 16
[   28.238726] ath10k_pci 0000:01:00.0: pci rx: 00000000: 02 00 08 00 00 0f 00 00 01 90 00 00 11 00 00 00  ................
[   28.249752] ath10k_pci 0000:01:00.0: htc rx completion ep 2 skb 87525a80
[   28.256544] ath10k_pci 0000:01:00.0: testmode event wmi cmd_id 36865 skb 87525a80 skb->len 4
[   28.265108] ath10k_pci 0000:01:00.0: 00000000: 11 00 00 00                                      ....
[   28.274377] ath10k_pci 0000:01:00.0: wmi event echo value 0x00000011
[   28.280846] ath10k_pci 0000:01:00.0: ath10k_htc_notify_tx_completion: ep 2 skb 87309000
[   28.290241] ath10k_pci 0000:01:00.0: htc ep 2 consumed 1 credits (total 1)
[   28.297225] ath10k_pci 0000:01:00.0: pci tx item 0 paddr 0x068b3800 len 32 n_items 1
[   28.305119] ath10k_pci 0000:01:00.0: pci tx data: 00000000: 02 01 18 00 00 0a 00 00 11 90 00 00 00 00 00 00  ................
[   28.316591] ath10k_pci 0000:01:00.0: pci tx data: 00000010: 01 00 00 00 00 00 00 00 10 fe ed eb f0 5f 00 00  ............._..
[   28.328114] ath10k_pci 0000:01:00.0: vdev param 0 not supported by firmware
[   28.335176] ath10k_pci 0000:01:00.0: wmi vdev id 0x0 set param 32 value 3
[   28.342069] ath10k_pci 0000:01:00.0: htc ep 2 consumed 1 credits (total 0)
[   28.349053] ath10k_pci 0000:01:00.0: pci tx item 0 paddr 0x068b09e0 len 24 n_items 1
[   28.356901] ath10k_pci 0000:01:00.0: pci tx data: 00000000: 02 01 10 00 00 0b 00 00 1a 90 00 00 00 00 00 00  ................
[   28.368368] ath10k_pci 0000:01:00.0: pci tx data: 00000010: 20 00 00 00 03 00 00 00                           .......
[   28.379139] ath10k_pci 0000:01:00.0: wmi peer create vdev_id 0 peer_addr 10:fe:ed:eb:f0:5f
[   28.387515] ath10k_pci 0000:01:00.0: htc insufficient credits ep 2 required 1 available 0
[   28.395817] ath10k_pci 0000:01:00.0: htc insufficient credits ep 2 required 1 available 0
[   28.404786] napi poll crash
[   28.404805] ath10k_pci 0000:01:00.0: firmware crashed! (guid n/a)
[   28.413852] ath10k_pci 0000:01:00.0: qca988x hw1.0 target 0x4000002c chip_id 0x043200ff sub 168c:3223
[   28.423213] ath10k_pci 0000:01:00.0: kconfig debug 1 debugfs 1 tracing 0 dfs 1 testmode 1
[   28.434289] ath10k_pci 0000:01:00.0: firmware ver 10.0.107 api 1 features wmi-10.x,no-p2p,wowlan,raw-mode crc32 a25d55f3
[   28.445366] ath10k_pci 0000:01:00.0: board_file api 1 bmi_id N/A crc32 ced86105
[   28.452788] ath10k_pci 0000:01:00.0: htt-ver 2.0 wmi-op 2 htt-op 2 cal otp max-sta 56 raw 0 hwcrypto 1
[   28.462377] ath10k_pci 0000:01:00.0: firmware register dump:
[   28.468125] ath10k_pci 0000:01:00.0: [00]: 0x4000002C 0x00000000 0x009A5F2A 0x00000000
[   28.476149] ath10k_pci 0000:01:00.0: [04]: 0x00000000 0x00000000 0x00000000 0x00000000
[   28.484186] ath10k_pci 0000:01:00.0: [08]: 0x00000000 0x00000000 0x00000000 0x00000000
[   28.492218] ath10k_pci 0000:01:00.0: [12]: 0x00000000 0x00000000 0x00000000 0x00000000
[   28.500253] ath10k_pci 0000:01:00.0: [16]: 0x00000000 0x00000000 0x00000000 0x009A5F2A
[   28.508285] ath10k_pci 0000:01:00.0: [20]: 0x00000000 0x00401930 0x00000000 0x00000000
[   28.516311] ath10k_pci 0000:01:00.0: [24]: 0x00000000 0x00000000 0x00000000 0x00000000
[   28.524347] ath10k_pci 0000:01:00.0: [28]: 0x00000000 0x00000000 0x00000000 0x00000000
[   28.532385] ath10k_pci 0000:01:00.0: [32]: 0x00000000 0x00000000 0x00000000 0x00000000
[   28.540426] ath10k_pci 0000:01:00.0: [36]: 0x00000000 0x00000000 0x00000000 0x00000000
[   28.548457] ath10k_pci 0000:01:00.0: [40]: 0x00000000 0x00000000 0x00000000 0x00000000
[   28.556483] ath10k_pci 0000:01:00.0: [44]: 0x00000000 0x00000000 0x00000000 0x00000000
[   28.564520] ath10k_pci 0000:01:00.0: [48]: 0x00000000 0x00000000 0x00000000 0x00000000
[   28.572554] ath10k_pci 0000:01:00.0: [52]: 0x00000000 0x00000000 0x00000000 0x00000000
[   28.580589] ath10k_pci 0000:01:00.0: [56]: 0x00000000 0x00000000 0x00000000 0x00000000
[   28.588618] ath10k_pci 0000:01:00.0: Copy Engine register dump:
[   28.594631] ath10k_pci 0000:01:00.0: [00]: 0x00057400   0   0   3   3
[   28.601180] ath10k_pci 0000:01:00.0: [01]: 0x00057800  13  13  18  19
[   28.607713] ath10k_pci 0000:01:00.0: [02]: 0x00057c00   3   3   2   3
[   28.614253] ath10k_pci 0000:01:00.0: [03]: 0x00058000  12  12  12  12
[   28.620800] ath10k_pci 0000:01:00.0: [04]: 0x00058400   3   3  67   3
[   28.627337] ath10k_pci 0000:01:00.0: [05]: 0x00058800   1   1   0   1
[   28.633879] ath10k_pci 0000:01:00.0: [06]: 0x00058c00   1   1   1   1
[   28.640425] ath10k_pci 0000:01:00.0: [07]: 0x00059000   1   1   1   1
[   28.648660] ath10k_pci 0000:01:00.0: htc insufficient credits ep 2 required 1 available 0
[   28.656964] ath10k_pci 0000:01:00.0: failed to create wmi peer 10:fe:ed:eb:f0:5f on vdev 0: -143
[   28.665901] ath10k_pci 0000:01:00.0: failed to create vdev 0 peer for AP/IBSS: -143
[   28.673679] ath10k_pci 0000:01:00.0: WMI vdev delete id 0
[   28.679172] ath10k_pci 0000:01:00.0: htc insufficient credits ep 2 required 1 available 0
[   28.687743] ath10k_pci 0000:01:00.0: wmi disable pktlog
[   28.693064] ath10k_pci 0000:01:00.0: htc insufficient credits ep 2 required 1 available 0
[   28.701374] ath10k_pci 0000:01:00.0: htc insufficient credits ep 2 required 1 available 0
[   28.709678] ath10k_pci 0000:01:00.0: could not suspend target (-143)
[   28.716113] ath10k_pci 0000:01:00.0: boot hif stop
[   28.721321] ath10k_pci 0000:01:00.0: ath10k_htc_notify_tx_completion: ep 2 skb 87309b40
[   28.729463] ath10k_pci 0000:01:00.0: ath10k_htc_notify_tx_completion: ep 2 skb 87309180
[   28.738187] ath10k_pci 0000:01:00.0: boot hif power down
[   28.744187] ath10k_pci 0000:01:00.0: cannot restart a device that hasn't been started

The 5 GHz chip is unsupported / unsupportable, so the build system should not be loading kmod-ath10k into images for this model. Until that is done, owners of a V1 could use Image Builder to remove it.

Does that mean a 18.06 / 19.07 image without ath10k would boot properly?

1 Like