I'm just testing Petr's build at the moment, hoping to help prove this hardware for 21.02. It's a really nice, modern OpenWrt device for 50 USD.
It looks like I'm failing to flash through the web UI because it's a TP-Link Archer A6 v3 (CA) - Canadian variant.
I tried the following browsers: chrome latest, firefox latest, chromium latest, brave browser.
I tried both snapshot (latest) and openwrt-21.02-snapshot-r0-2c462a2-ramips-mt7621-tplink_archer-a6-v3-squashfs-factory.bin from https://foo.true.cz/minio/openwrt/staging-builds/testing-mt7621-21-02-rc2-backports/2c462a29/ramips-mt7621/bin/targets/ramips/mt7621/. All failed to flash.
Then I noticed when I browsed to https://www.tp-link.com/ca/support/download/archer-a6/v3/#Firmware that the original firmware was "Archer A6(US)_V3_200807" but the latest one is "Archer A6(CA)_V3_201214". At some point, they changed the firmware from US to CA and the US one was no longer flashable on the Canadian model.
What needs to be done in order to support the CA variant? Do I need to serial flash to the US version and then flash openwrt snapshot? Or directly serial flash openwrt snapshot?
You need to inspect the header, it's probably a minor change if you were able to use the US image before, but you need to be sure. Same for the flash layout.
Then you'll need to add the necessary bits to tools/firmware-utils/src/tplink-safeloader.c
(see code below). If the partition layout is identical, I think just adding a matching "{product_name:Archer A6,product_ver:3.0.0,special_id:5xxx0000}\n"
line would do the trick. The special_id
is what's reported in the header of the OEM image. That's what the TP-Link upgrade mechanism is checking for.
/** Firmware layout for the Archer A6 v3 */
{
.id = "ARCHER-A6-V3",
.vendor = "",
.support_list =
"SupportList:\n"
"{product_name:Archer A6,product_ver:3.0.0,special_id:55530000}\n"
"{product_name:Archer A6,product_ver:3.0.0,special_id:54570000}\n",
.part_trail = 0x00,
.soft_ver = "soft_ver:1.0.5\n",
.partitions = {
{"fs-uboot", 0x00000, 0x40000},
{"firmware", 0x40000, 0xf60000},
{"default-mac", 0xfa0000, 0x00200},
{"pin", 0xfa0200, 0x00100},
{"device-id", 0xfa0300, 0x00100},
{"product-info", 0xfa0400, 0x0fc00},
{"default-config", 0xfb0000, 0x08000},
{"ap-def-config", 0xfb8000, 0x08000},
{"user-config", 0xfc0000, 0x0a000},
{"ag-config", 0xfca000, 0x04000},
{"certificate", 0xfce000, 0x02000},
{"ap-config", 0xfd0000, 0x06000},
{"router-config", 0xfd6000, 0x06000},
{"favicon", 0xfdc000, 0x02000},
{"logo", 0xfde000, 0x02000},
{"partition-table", 0xfe0000, 0x00800},
{"soft-version", 0xfe0800, 0x00100},
{"support-list", 0xfe0900, 0x00200},
{"profile", 0xfe0b00, 0x03000},
{"extra-para", 0xfe3b00, 0x00100},
{"radio", 0xff0000, 0x10000},
{NULL, 0, 0}
},
.first_sysupgrade_partition = "os-image",
.last_sysupgrade_partition = "file-system",
},
The CA firmware does indeed have an extra special_id:
{product_name:Archer A6,product_ver:3.0.0,special_id:55530000}
{product_name:Archer A6,product_ver:3.0.0,special_id:54570000}
{product_name:Archer A6,product_ver:3.0.0,special_id:43410000}
Interesting to note, the special_id fields can be decoded as ASCII, giving respective values of "US", "TW", and "CA".
I've added the special_id:43410000 line to my build and I was able to get openwrt working on my archer a6 (CA). Wireless works as it should. @Borromini looks like you've logged off IRC, feel free to ping me when you're back. Hopefully we can include this merge in rc3!
Yes work called
You can PM me your details here on the forum if you'd like, will probably be online later again, this evening.
Edit: you did build master, right?
I did a git pull https://github.com/openwrt/openwrt, I assume that's master?
Powered by LuCI Master (git-21.166.32358-19e237d) / OpenWrt SNAPSHOT r16957+1-3d026d2425
edit: details sent!
Huh, strange. Anyone else able to get DFS channels working? I think with stock I was able to get into channel 112 during my short tests. Is this related? MT76: MT7613 radio and DFS support - #3 by Borromini
Yep the open source driver does not support DFS yet unfortunately. One of the MediaTek devs said it should not be too difficult to get it going, but my C skills are non-existent. So for that we'll have to wait until someone implements it...
Flash memory is actually 16MB. I made the edit on wikidev.
You can tell because dmesg | grep spi-nor
returns [ 0.867989] spi-nor spi0.0: gd25q128 (16384 Kbytes)
Additionally, vrpatil's PR also has the same flash size https://github.com/openwrt/openwrt/pull/3786#:~:text=SPI%20Flash%3A%20W25Q128%20(16MB)
So no need to worry about the impending 8/64 requirements
Yes, the DFS channels don't work. I was running into a problem with the 5 ghz wireless dropping after awhile and traced it back to the device trying to switch to unusable channels. As long as you force the channel used, it seems to stay up.
Not sure if it's just me but the device ended up bricking when flashing back to stock (TP-Link) firmware. I'm waiting for some jumper wires to arrive in order to serial flash it, so be warned that flashing back to stock may not work.
That's common for TP-Link. Their images often include bootloaders etc., so you cannot just flash OEM images from within OpenWrt. Unless there's instructions for your model on how to revert and those broke yours, of course... Then there's something else at play.
You would need to strip the OEM firmware of the bootloader before you would be able to flash it through the openwrt upgrade page. There used to be a website that stored stripped TP-link OEM firmwares for just that purpose, but it no longer is around. There are generic instructions floating around on how to do it though.
Hot off the presses, looks like 21.02.0 rc3 now supports Archer A6 V3!
Is A6 V3 also suffering from 5GHz disconnections with more than 1 STA connected, as is happening to C6 V3 (reported here: https://github.com/openwrt/mt76/issues/518 ) ?
I had disconnecting problems with 5ghz when I tested the original PR a few months ago. I had the same symptoms which they encountered ( processes getting killed due to running out of memory and 5 ghz wireless droping after a while). I had switched all my clients to the 2.4 ghz band to get around it. I had thought it had been fixed with the RC releases, but I realize now that I only have one 5 ghz client connecting at the moment so I haven't encountered the probelm. I never got around to switching the clients back. The A6 and the C6 v3 are the same hardware if I recall.
Might be this issue at play:
As previously mentioned by @frankis, I can confirm the 5Ghz radio is unstable (tested with Archer C6 v3.2, same hardware as A6 v3).
If two devices make intensive use of Wifi, the 5GHz WLAN simply dies. OpenWRT shows radio as active, but the SSID stops broadcasting and clients loose connection.
Restarting the radio does not help. Only a reboot solves the problem.
The issue can be easily reproduced with two WLAN clients running IPERF3 to two different servers at the same time. Country Code was not changed and set to "driver default", this does not solve the problem.
Regular web browsing does not cause problems. Only intense use of Wifi by two clients cause the problem to appear.
Issue tested and reproduced on SNAPSHOT r17419-364bd887a1.
EDIT: I failed to mention I tested with "IPERF3 -R -P4" in both clients. If I reduce the number of parallel streams to "P3" or less the problem does not happen. But if I run both clients with "-R -P4" simultaneously the OpenWRT 5Ghz radio almost immediately dies and only a reboot restores it.
Glad it's not just me.