Hey all! So I accidentally killed my Archer C2 AC750 v1 yesterday. Surprise, surprise, you can't actually flash the original firmware through LuCI and have it overwrite OpenWrt, it just dosn't work that way. Lesson learned, a pretty stupid lesson, and yes, I'm paying for it by having no Internet access for the week, which might actually be a good thing. (I guess my phone's LTE modem will have to work twice as hard now.)
The router boots up with the power LED and the Ethernet LED, then the Ethernet LED turns off and the power LED stays on. The router is currently a dumb switch, which I found out by accident because I wondered why I was still getting a DHCP IP address when the router was dead. Turns out, our ISP modem also hands out DHCP reservations... so the WAN port on the router is really just a LAN port now. (And yes, I know, we're double-NATted, no way to fix that. That's a CGNAT, we've tried negotiating with the ISP, the modem is actually cemented into the wall so we can't change anything, yada yada.) Anyway, back to the topic. The web interface is inaccessible (of course) - it loads for like 2 minutes before timing out. SSH does not work. When I try booting into TFTP by holding the "WPS/Reset" button while turning on the router, the WPS "Lock" icon LED doesn't show up, which indicates even the TFTP function of the bootloader is gone. (So the entire bootloader is missing... yay.)
So... next steps. I ordered a serial-to-USB board (supporting both 3V3 and 5V because I don't know what this router uses), a CH341A programmer in case the serial headers do not work (which is likely because I think the bootloader has been nuked) and a SOP8 clip. Oh, and also a replacement router because I'm pretty sure this router is reaching EOL and it's been unstable for quite some time now - the Wi-Fi keeps cutting out, etc. I think I'll just use this router as a test bench for OpenWrt development.
Thing is, I'm not sure what to flash when I get the programming kit this week. I don't know what tools to use, I don't know what portion of the image I should use. I'm assuming I can't flash the entire bin file and call it a day, right? Like, the programmer's only supposed to flash the U-Boot partition?
Here's the output of binwalking on the original firmware (Archer_C2v1_0.9.1_5.0_up_boot(170221)_2017-02-21_17.14.36.bin):
Erics-MacBook-Pro:ArcherC2(KR)_V1_170221 ideaman924$ binwalk Archer_C2v1_0.9.1_5.0_up_boot\(170221\)_2017-02-21_17.14.36.bin DECIMAL HEXADECIMAL DESCRIPTION -------------------------------------------------------------------------------- 95648 0x175A0 U-Boot version string, "U-Boot 1.1.3 (Aug 31 2015 - 16:32:16)" 132096 0x20400 LZMA compressed data, properties: 0x5D, dictionary size: 8388608 bytes, uncompressed size: 3523636 bytes 1442304 0x160200 Squashfs filesystem, little endian, version 4.0, compression:xz, size: 5317117 bytes, 649 inodes, blocksize: 131072 bytes, created: 2017-02-21 07:24:58 Erics-MacBook-Pro:ArcherC2(KR)_V1_170221 ideaman924$
So do I get the U-Boot partition from 95648~132095 bytes, and then flash that using the programmer? Or do I flash the entire image? I heard TP-Link firmware have 512 bytes as the header. Should I remove that before flashing?
Also, what tools do I need to flash? I heard if I have a Linux machine I can just use Flashrom. But what about Windows or macOS? What tools do I need to check serial? I heard on Windows I can just plug in the USB-to-serial and then use PuTTY, but what about macOS or Linux?
I know these are really beginner questions and I'm sorry if this has already been asked before. But I can't figure out the definitive answer through Googling. Will appreciate any solid advice or answers. Thanks!