Archer C7 V1.0 crashes on boot

yes I was also thinking on opkg remove kmod-ath10k on failsafe mode - but the problem is, that the jffs2 partition is never get formatted and mount_root displays only

jffs2 not ready yet, using temporary tmpfs overlay

Perhaps an interrupted upgrade? It takes around 30 seconds to reformat the overlay JFFS after initial boot.

no, the problem it, that the device reboots every time (look above, what jacobq has written)
on the normal boot the device crashes and loops forever. Thats why I want to disable the 5GHz wifi module on failsafe mode.

See Post 17, above

If you can't boot into failsafe, TFTP loading would be an alternate option

yes - to build a own firmware image is an option - but a very long process (for me, because I am not familiar with it)
and no - failsafe is working - I have already written that I am able to boot into it.

I like the idea, to just disable / remove the module from the original image - on failsafe mode.

The only thing which is needed - to manually format / prepare the jffs partition

I try to figure it out with this doc in background - https://oldwiki.archive.openwrt.org/doc/techref/preinit_mount

ok ok - I removed the card - booted -> now the jffs partition got formatted / prepared.

So I could remove the the module and firmware with

opkg remove ath10k-firmware-qca988x
opkg remove kmod-ath10k

this was for sure the fastest way to bring openwrt to the device.

BUT: why the images can not officially build without the module/firmware - so that it can run out of the box.

I can only guess, as I'm not a dev on the project. As I recall, when the Archer C7 came out in 2013, it looked very exciting to be able to upgrade my 4300, based on reviews. Seeing that it didn't support 5 GHz under OpenWrt and only had 8 MB flash, it wasn't step up, so I didn't buy it. The v2 came out about a year later, fixing several bugs with the v1, providing a then-spacious 16 MB of flash, and 5 GHz support.

My guess is that there aren't many v1s out there among the OpenWrt community, and even fewer represented in the development community. It is already challenging (OK, humanly impossible) to test across the hundreds of devices that OpenWrt supports. Very often, a representative device is tested for a wide range of devices on the same "target". A five-year-old, quickly superseded, obsolete, partially unsupported device wouldn't be on the top of my list to test, even if I had one on hand.

If you feel motivated, you could look into how the build system works and propose a patch to the ath79 target. If you feel less motivated, filing a bug report would be a reasonable step.

I'd suggest to provide a patch/ pull request implementing that change - obviously neither ath10k, nor ath10k-ct can work with the factory installed QCA9880-AR1A wlan card, so there's no reason not to merge a corresponding patch (and for those users who did the only sensible thing of replacing the card with something supported, using opkg to install the necessary packages isn't too much of an inconvenience). Just to be clear, ath10k/ ath10k-ct mustn't crash in the presence of a QCA9880-AR1A radio, but that's an orthogonal issue.

just got one recently, the problem seems to be with pci driver. tried to build trunk from 6 years ago when the development started and got irq fallback to legacy, need to spend some time patching pci driver to operate in msi or msi-x irq mode and see from there where the problem continues. maybe the bootloader is bugged too so i might give a try building pepe2k's u-boot first.

Support for QCA9880 v1 (-AR1A) and all QCA988x hw1.0 hardware got completely dropped from ath10k driver: https://www.spinics.net/lists/linux-wireless/msg110852.html

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