Debricking a TP-Link Archer C6 v2 (US) potentially gone wrong

Long story short I bricked the router by the typical power-off during upgrade...

I am using serial and tftp, following this tutorial and stupidly skipped over the warning about using 0x9f050000 instead of 0x9f030000 and for obvious reasons when I actually try the correct address I get a kernel panic (that link has the output logs too). What are my options from here? I would like to think that buying a new router would be the last option and hopefully I am not at that stage yet.

Any help is appreciated and let me know if you need any extra information.

Is this an initramfs image you're trying to boot? The addresses you mentioned are RAM addresses so I don't think you did any harm with your first typo (if anything it was higher).

Hopefully that good news is true. I've tried three different images - the tp-link generic bin file, the Firmware OpenWRT install bin file, and the Firmware OpenWRT upgrade file. The pastebin link is from the upgrade, trying the other two files results in a Bad magic number when I run bootm 0x9f05000

Sorry, my mistake. I overlooked the fact that you did indeed copy the file to flash in the bootloader.

I'd try returning to stock first, then installing OpenWrt again (with the factory image).

I was probably not clear enough but when I mentioned I tried the tp-link generic file I had meant the stock firmware (or at least the most up to date firmware for my model) and I would get Bad magic number when executing the bootm 0x9f05000 command.

OK. You can tftpboot, so I'd recommend you use the ramdisk image and do it in two stages.

# tftpboot 0x84f00000 192.168.0.10:/openwrt-21.02.2-ath79-generic-tplink_archer-c6-v2-initramfs-kernel.bin
# bootm

Serve it through dnsmasq like you did with the other images, boot into that, copy over sysupgrade image to /tmp? then try sysupgrading.

Unfortunately I'm getting a Loading: #Error file size too large, is there a way to send the file broken into smaller pieces or is there some configuration I'm missing?

I renamed the file to 0200A8C0.img and it seemed to transfer but I still get the kernel panic like before

Edit: okay so the memory address just needed to be closer to the start hence why I was getting file too large, but I still get the kernel panic regardless of which binary I am trying to boot into.

Try a master initramfs image if they're smaller (they don't have LuCI).

Other than that I'm out of ideas, sorry.

ath> tftpboot
Trying eth0
*** Warning: no boot file name; using '0200A8C0.img'
Using eth0 device
TFTP from server 192.168.0.10; our IP address is 192.168.0.2
Download Filename '0200A8C0.img'.
Download to address: 0x81000000
Loading: ################################
         ################################
         ################################
         ################################
         ################################
         ################################
         ################################
         ################################
         ################################
         ################################
         #####################
done
Bytes transferred = 4995297 (4c38e1 hex)
ath> bootm
## Booting image at 81000000 ...
   Image Name:   MIPS OpenWrt Linux-5.4.179
   Created:      2022-02-16  20:29:10 UTC
   Image Type:   MIPS Linux Kernel Image (lzma compressed)
   Data Size:    4995233 Bytes =  4.8 MB
   Load Address: 80060000
   Entry Point:  80060000
   Verifying Checksum at 0x81000040 ...OK
   Uncompressing Kernel Image ... OK
No initrd
## Transferring control to Linux (at address 80060000) ...
## Giving linux memsize in bytes, 134217728

Starting kernel ...

[    0.000000] Linux version 5.4.179 (builder@buildhost) (gcc version 8.4.0 (OpenWrt GCC 8.4.0 r16495-bf0c965af0)) #0 Wed Feb 16 20:29:10 2022
[    0.000000] printk: bootconsole [early0] enabled
[    0.000000] CPU0 revision is: 00019750 (MIPS 74Kc)
[    0.000000] MIPS: machine is TP-Link Archer C6 v2 (EU/RU/JP)
[    0.000000] SoC: Qualcomm Atheros QCA956X ver 1 rev 0
[    0.000000] Initrd not found or empty - disabling initrd
[    0.000000] Primary instruction cache 64kB, VIPT, 4-way, linesize 32 bytes.
[    0.000000] Primary data cache 32kB, 4-way, VIPT, cache aliases, linesize 32 bytes
[    0.000000] Zone ranges:
[    0.000000]   Normal   [mem 0x0000000000000000-0x0000000007ffffff]
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000000000000-0x0000000007ffffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x0000000007ffffff]
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 32480
[    0.000000] Kernel command line: console=ttyS0,115200n8 rootfstype=squashfs,jffs2
[    0.000000] Dentry cache hash table entries: 16384 (order: 4, 65536 bytes, linear)
[    0.000000] Inode-cache hash table entries: 8192 (order: 3, 32768 bytes, linear)
[    0.000000] Writing ErrCtl register=00000000
[    0.000000] Readback ErrCtl register=00000000
[    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[    0.000000] Memory: 113032K/131072K available (5257K kernel code, 194K rwdata, 688K rodata, 10364K init, 205K bss, 18040K reserved, 0K cma-reserved)
[    0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[    0.000000] NR_IRQS: 51
[    0.000000] random: get_random_bytes called from 0x80661a28 with crng_init=0
[    0.000000] CPU clock: 775.000 MHz
[    0.000000] clocksource: MIPS: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 4932285024 ns
[    0.000007] sched_clock: 32 bits at 387MHz, resolution 2ns, wraps every 5541893118ns
[    0.008228] Calibrating delay loop... 385.02 BogoMIPS (lpj=770048)
[    0.046712] pid_max: default: 32768 minimum: 301
[    0.051715] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.059422] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.071536] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
[    0.081852] futex hash table entries: 256 (order: -1, 3072 bytes, linear)
[    0.089135] pinctrl core: initialized pinctrl subsystem
[    0.097033] NET: Registered protocol family 16
[    0.127630] clocksource: Switched to clocksource MIPS
[    0.133884] thermal_sys: Registered thermal governor 'step_wise'
[    0.134227] NET: Registered protocol family 2
[    0.145329] IP idents hash table entries: 2048 (order: 2, 16384 bytes, linear)
[    0.153676] tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 4096 bytes, linear)
[    0.162563] TCP established hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.170649] TCP bind hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.178092] TCP: Hash tables configured (established 1024 bind 1024)
[    0.184927] UDP hash table entries: 256 (order: 0, 4096 bytes, linear)
[    0.191873] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes, linear)
[    0.199512] NET: Registered protocol family 1
[    0.204166] PCI: CLS 0 bytes, default 32
[    0.388851] workingset: timestamp_bits=14 max_order=15 bucket_order=1
[    0.401956] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.408145] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
[    0.432007] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 251)
[    0.443242] pinctrl-single 1804002c.pinmux: 544 pins, size 68
[    0.450329] Serial: 8250/16550 driver, 16 ports, IRQ sharing enabled
[    0.459151] printk: console [ttyS0] disabled
[    0.463749] 18020000.uart: ttyS0 at MMIO 0x18020000 (irq = 9, base_baud = 1562500) is a 16550A
[    0.472861] printk: console [ttyS0] enabled
[    0.472861] printk: console [ttyS0] enabled
[    0.481923] printk: bootconsole [early0] disabled
[    0.481923] printk: bootconsole [early0] disabled
[    0.510998] spi-nor spi0.0: w25q128 (16384 Kbytes)
[    0.516021] 5 fixed-partitions partitions found on MTD device spi0.0
[    0.522595] Creating 5 MTD partitions on "spi0.0":
[    0.527566] 0x000000000000-0x000000020000 : "u-boot"
[    0.533555] 0x000000020000-0x000000030000 : "info"
[    0.539398] 0x000000030000-0x0000007d0000 : "firmware"
[    0.552967] 0x0000007d0000-0x0000007f0000 : "tplink"
[    0.558959] 0x0000007f0000-0x000000800000 : "art"
[    1.147623] random: fast init done
[    1.235818] switch0: Atheros AR8337 rev. 2 switch registered on mdio.0
[    1.823137] ag71xx 19000000.eth: connected to PHY at mdio.0:00 [uid=004dd036, driver=Atheros AR8216/AR8236/AR8316]
[    1.834389] eth0: Atheros AG71xx at 0xb9000000, irq 4, mode: sgmii
[    1.841118] i2c /dev entries driver
[    1.847212] NET: Registered protocol family 10
[    1.857651] Segment Routing with IPv6
[    1.861605] NET: Registered protocol family 17
[    1.866291] bridge: filtering via arp/ip/ip6tables is no longer available by default. Update your scripts to load br_netfilter if you need this.
[    1.879686] 8021q: 802.1Q VLAN Support v1.8
[    1.884830] PCI host bridge /ahb/pcie-controller@18250000 ranges:
[    1.891199]  MEM 0x0000000012000000..0x0000000013ffffff
[    1.896617]   IO 0x0000000000000000..0x0000000000000000
[    1.902182] PCI host bridge to bus 0000:00
[    1.906459] pci_bus 0000:00: root bus resource [mem 0x12000000-0x13ffffff]
[    1.913569] pci_bus 0000:00: root bus resource [io  0x0000]
[    1.919331] pci_bus 0000:00: root bus resource [??? 0x00000000 flags 0x0]
[    1.926347] pci_bus 0000:00: No busn resource found for root bus, will use [bus 00-ff]
[    1.938592] Data bus error, epc == 803b5cd8, ra == 802d8528
[    1.944345] Oops[#1]:
[    1.946695] CPU: 0 PID: 39 Comm: kworker/0:1 Not tainted 5.4.179 #0
[    1.953164] Workqueue: events 0x80332cc0
[    1.957208] $ 0   : 00000000 00000001 86fdde9c deadc0de
[    1.962601] $ 4   : 00000000 00000000 00000000 00000004
[    1.967995] $ 8   : 00000000 87d3bc5c 0000ea60 65205b62
[    1.973389] $12   : 0000005a 4ea92ef2 00000000 000e228b
[    1.978782] $16   : 00000001 87d3bc5c 0000ea60 86e0a200
[    1.984177] $20   : 00000100 00000001 00000001 80640000
[    1.989570] $24   : 00000001 80320bb0
[    1.994965] $28   : 87d3a000 87d3bbd8 00000000 802d8528
[    2.000359] Hi    : 000000c0
[    2.003324] Lo    : 83728000
[    2.006292] epc   : 803b5cd8 0x803b5cd8
[    2.010243] ra    : 802d8528 0x802d8528
[    2.014193] Status: 1100d802 KERNEL EXL
[    2.018244] Cause : 4080801c (ExcCode 07)
[    2.022375] PrId  : 00019750 (MIPS 74Kc)
[    2.026414] Modules linked in:
[    2.029563] Process kworker/0:1 (pid: 39, threadinfo=(ptrval), task=(ptrval), tls=00000000)
[    2.038178] Stack : 59535445 4d3d7063 695f6275 73004445 87d3bbf4 3d2b7063 695f6275 00000000
[    2.046807]         30303a30 87d3bc5c 00000000 802dbd84 86efa390 80330104 86e0a0f8 802d9cd4
[    2.055435]         00000000 802e630c 00000000 86e0a200 86e0a200 00000000 00000100 00000001
[    2.064063]         00000001 80640000 00000000 802dc504 8063ea10 8017ce2c 87d3bd30 0ad4d195
[    2.072683]         00000000 86e0a200 87d3bd18 86e0a200 86e0a200 87d3bd18 00000000 802dc608
[    2.081311]         ...
[    2.083829] Call Trace:
[    2.083837] [<802dbd84>] 0x802dbd84
[    2.089951] [<80330104>] 0x80330104
[    2.093545] [<802d9cd4>] 0x802d9cd4
[    2.097137] [<802e630c>] 0x802e630c
[    2.100732] [<802dc504>] 0x802dc504
[    2.104332] [<8017ce2c>] 0x8017ce2c
[    2.107927] [<802dc608>] 0x802dc608
[    2.111527] [<8032f4ac>] 0x8032f4ac
[    2.115121] [<802dd818>] 0x802dd818
[    2.118722] [<802dcc84>] 0x802dcc84
[    2.122316] [<80330104>] 0x80330104
[    2.125918] [<802ddd98>] 0x802ddd98
[    2.129519] [<802da954>] 0x802da954
[    2.133112] [<803b525c>] 0x803b525c
[    2.136706] [<803b5660>] 0x803b5660
[    2.140308] [<803b6348>] 0x803b6348
[    2.143908] [<8021b3b4>] 0x8021b3b4
[    2.147503] [<803356b8>] 0x803356b8
[    2.151104] [<803337cc>] 0x803337cc
[    2.154696] [<80333e24>] 0x80333e24
[    2.158290] [<80333dcc>] 0x80333dcc
[    2.161892] [<80331840>] 0x80331840
[    2.165492] [<8032de8c>] 0x8032de8c
[    2.169086] [<8032de1c>] 0x8032de1c
[    2.172680] [<80333684>] 0x80333684
[    2.176281] [<8032defc>] 0x8032defc
[    2.179875] [<80332778>] 0x80332778
[    2.183475] [<804f1194>] 0x804f1194
[    2.187070] [<80332d3c>] 0x80332d3c
[    2.190670] [<80194220>] 0x80194220
[    2.194265] [<80099a80>] 0x80099a80
[    2.197867] [<8009a00c>] 0x8009a00c
[    2.201467] [<80099ce0>] 0x80099ce0
[    2.205061] [<8057d350>] 0x8057d350
[    2.208654] [<80099ce0>] 0x80099ce0
[    2.212247] [<8009eb98>] 0x8009eb98
[    2.215839] [<8009ea60>] 0x8009ea60
[    2.219433] [<8009ea60>] 0x8009ea60
[    2.223025] [<80064bf8>] 0x80064bf8
[    2.226622]
[    2.228156] Code: 0000000f  8c630000  0000000f <24040002> 10e4001e  24040004  10e40008  00000000  24020001
[    2.238219]
[    2.239773] ---[ end trace 26e1b4da6e82bdbc ]---
[    2.244548] Kernel panic - not syncing: Fatal exception
[    2.249944] Rebooting in 1 seconds..

Thanks for you efforts, this is the error message I get when I try booting the initramfs file

Okay I have noticed that if I boot the router via the main power supply and not the arduino's 3.3V supply I am able to consistently be able to copy across the initramfs file and boot into it, PROGRESS!

Now it gives me a prompt root@(none):/# but when I try to type commands it sometimes sends weird bits and takes ages to type commands out. I also can't ping any website if I connect ethernet to the internet port but I can run ip addr and it returns

root@(none):/# ip addr
1: lo: <LOOPBACK> mtu 65536 qdisc noop state DOWN qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP qlen 1000
    link/ether dc:be:5c:e9:c6:88 brd ff:ff:ff:ff:ff:ff
    inet6 fe80::debe:5cff:fee9:c688/64 scope link
       valid_lft forever preferred_lft forever
3: eth0.1@eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP qlen 1000
    link/ether dc:be:5c:e9:c6:88 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.1/24 brd 192.168.1.255 scope global eth0.1
       valid_lft forever preferred_lft forever
    inet6 fe80::debe:5cff:fee9:c688/64 scope link
       valid_lft forever preferred_lft forever

I've tried
scp openwrt-21.02.2-ath79-generic-tplink_archer-c6-v2-sysupgrade.bin root@192.168.1.1:/tmp
but I get

ssh: connect to host 192.168.1.1 port 22: Unknown error
lost connection

Any help on moving forward? Feels like I'm close.

EDIT 1: I've also tried removing the manual selection of IP address and tried manually selecting 192.168.1.1 and still doesn't send the file

EDIT 2: I tried bootm after loading the sysupgrade file and noticed this, I'm not exactly sure how to fix it but I think it helps diagnose the problem.

ath> bootm
## Booting image at 81000000 ...
   Image Name:   MIPS OpenWrt Linux-5.10.100
   Created:      2022-02-28  14:18:37 UTC
   Image Type:   MIPS Linux Kernel Image (lzma compressed)
   Data Size:    2380691 Bytes =  2.3 MB
   Load Address: 80060000
   Entry Point:  80060000
   Verifying Checksum at 0x81000040 ...OK
   Uncompressing Kernel Image ... OK
No initrd
## Transferring control to Linux (at address 80060000) ...
## Giving linux memsize in bytes, 134217728

Starting kernel ...

[    0.000000] Linux version 5.10.100 (builder@buildhost) (mips-openwrt-linux-mu                                                       sl-gcc (OpenWrt GCC 11.2.0 r19009-58212a6194) 11.2.0, GNU ld (GNU Binutils) 2.37                                                       ) #0 Mon Feb 28 14:18:37 2022
[    0.000000] printk: bootconsole [early0] enabled
[    0.000000] CPU0 revision is: 00019750 (MIPS 74Kc)
[    0.000000] MIPS: machine is TP-Link Archer C6 v2 (US) / A6 v2 (US/TW)
[    0.000000] SoC: Qualcomm Atheros QCA956X ver 1 rev 0
[    0.000000] Initrd not found or empty - disabling initrd
[    0.000000] Primary instruction cache 64kB, VIPT, 4-way, linesize 32 bytes.
[    0.000000] Primary data cache 32kB, 4-way, VIPT, cache aliases, linesize 32                                                        bytes
[    0.000000] Zone ranges:
[    0.000000]   Normal   [mem 0x0000000000000000-0x0000000007ffffff]
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000000000000-0x0000000007ffffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x0000000007ffffff]
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 32480
[    0.000000] Kernel command line: console=ttyS0,115200n8 rootfstype=squashfs,j                                                       ffs2
[    0.000000] Dentry cache hash table entries: 16384 (order: 4, 65536 bytes, li                                                       near)
[    0.000000] Inode-cache hash table entries: 8192 (order: 3, 32768 bytes, line                                                       ar)
[    0.000000] Writing ErrCtl register=00000000
[    0.000000] Readback ErrCtl register=00000000
[    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[    0.000000] Memory: 120580K/131072K available (5844K kernel code, 602K rwdata                                                       , 1276K rodata, 1228K init, 210K bss, 10492K reserved, 0K cma-reserved)
[    0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[    0.000000] NR_IRQS: 51
[    0.000000] random: get_random_bytes called from start_kernel+0x3c0/0x5b0 wit                                                       h crng_init=0
[    0.000000] CPU clock: 775.000 MHz
[    0.000000] clocksource: MIPS: mask: 0xffffffff max_cycles: 0xffffffff, max_i                                                       dle_ns: 4932285024 ns
[    0.000008] sched_clock: 32 bits at 387MHz, resolution 2ns, wraps every 55418                                                       93118ns
[    0.008237] Calibrating delay loop... 385.84 BogoMIPS (lpj=1929216)
[    0.074769] pid_max: default: 32768 minimum: 301
[    0.079768] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes, linea                                                       r)
[    0.087476] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes,                                                        linear)
[    0.097411] dyndbg: Ignore empty _ddebug table in a CONFIG_DYNAMIC_DEBUG_CORE                                                        build
[    0.107840] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, ma                                                       x_idle_ns: 19112604462750000 ns
[    0.118241] futex hash table entries: 256 (order: -1, 3072 bytes, linear)
[    0.125503] pinctrl core: initialized pinctrl subsystem
[    0.134400] NET: Registered protocol family 16
[    0.139810] thermal_sys: Registered thermal governor 'step_wise'
[    0.188949] clocksource: Switched to clocksource MIPS
[    0.201742] NET: Registered protocol family 2
[    0.206477] IP idents hash table entries: 2048 (order: 2, 16384 bytes, linear                                                       )
[    0.214802] tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 4096                                                        bytes, linear)
[    0.223707] TCP established hash table entries: 1024 (order: 0, 4096 bytes, l                                                       inear)
[    0.231808] TCP bind hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.239251] TCP: Hash tables configured (established 1024 bind 1024)
[    0.246069] UDP hash table entries: 256 (order: 0, 4096 bytes, linear)
[    0.253014] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes, linear)
[    0.260612] NET: Registered protocol family 1
[    0.265227] PCI: CLS 0 bytes, default 32
[    0.274894] workingset: timestamp_bits=14 max_order=15 bucket_order=1
[    0.285305] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.291514] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORIT                                                       Y) (c) 2001-2006 Red Hat, Inc.
[    0.303517] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 2                                                       51)
[    0.313879] pinctrl-single 1804002c.pinmux: 544 pins, size 68
[    0.320955] Serial: 8250/16550 driver, 16 ports, IRQ sharing enabled
[    0.329766] printk: console [ttyS0] disabled
[    0.334332] 18020000.uart: ttyS0 at MMIO 0x18020000 (irq = 9, base_baud = 156                                                       2500) is a 16550A
[    0.343478] printk: console [ttyS0] enabled
[    0.343478] printk: console [ttyS0] enabled
[    0.352540] printk: bootconsole [early0] disabled
[    0.352540] printk: bootconsole [early0] disabled
[    0.377476] spi-nor spi0.0: w25q128 (16384 Kbytes)
[    0.382553] 6 fixed-partitions partitions found on MTD device spi0.0
[    0.389124] Creating 6 MTD partitions on "spi0.0":
[    0.394072] 0x000000000000-0x000000020000 : "factory-boot"
[    0.403256] 0x000000020000-0x000000030000 : "info"
[    0.409151] 0x000000030000-0x000000050000 : "u-boot"
[    0.416542] 0x000000050000-0x000000fd0000 : "firmware"
[    0.433890] 0x000000fd0000-0x000000ff0000 : "tplink"
[    0.439950] 0x000000ff0000-0x000001000000 : "art"
[    1.163054] switch0: Atheros AR8337 rev. 2 switch registered on mdio.0
[    1.820480] ag71xx 19000000.eth: connected to PHY at mdio.0:00 [uid=004dd036,                                                        driver=Atheros AR8216/AR8236/AR8316]
[    1.831743] eth0: Atheros AG71xx at 0xb9000000, irq 4, mode: sgmii
[    1.838437] i2c /dev entries driver
[    1.844235] NET: Registered protocol family 10
[    1.856817] Segment Routing with IPv6
[    1.860764] NET: Registered protocol family 17
[    1.865443] bridge: filtering via arp/ip/ip6tables is no longer available by                                                        default. Update your scripts to load br_netfilter if you need this.
[    1.878848] 8021q: 802.1Q VLAN Support v1.8
[    1.883887] PCI host bridge /ahb/pcie-controller@18250000 ranges:
[    1.890261]  MEM 0x0000000012000000..0x0000000013ffffff
[    1.895660]   IO 0x0000000000000000..0x0000000000000000
[    1.901231] PCI host bridge to bus 0000:00
[    1.905477] pci_bus 0000:00: root bus resource [mem 0x12000000-0x13ffffff]
[    1.912607] pci_bus 0000:00: root bus resource [io  0x0000]
[    1.918362] pci_bus 0000:00: root bus resource [??? 0x00000000 flags 0x0]
[    1.925382] pci_bus 0000:00: No busn resource found for root bus, will use [b                                                       us 00-ff]
[    1.933621] pci 0000:00:00.0: [168c:0056] type 00 class 0x028000
[    1.939871] pci 0000:00:00.0: reg 0x10: [mem 0x00000000-0x001fffff 64bit]
[    1.947002] pci 0000:00:00.0: PME# supported from D0 D3hot
[    1.953570] pci_bus 0000:00: busn_res: [bus 00-ff] end is updated to 00
[    1.960453] pci 0000:00:00.0: BAR 0: assigned [mem 0x12000000-0x121fffff 64bi                                                       t]
[    1.970333] /dev/root: Can't open blockdev
[    1.974581] VFS: Cannot open root device "(null)" or unknown-block(0,0): erro                                                       r -6
[    1.982364] Please append a correct "root=" boot option; here are the availab                                                       le partitions:
[    1.991000] 1f00             128 mtdblock0
[    1.991003]  (driver?)
[    1.997750] 1f01              64 mtdblock1
[    1.997753]  (driver?)
[    2.004514] 1f02             128 mtdblock2
[    2.004517]  (driver?)
[    2.011279] 1f03           15872 mtdblock3
[    2.011283]  (driver?)
[    2.018034] 1f04             128 mtdblock4
[    2.018037]  (driver?)
[    2.024792] 1f05              64 mtdblock5
[    2.024795]  (driver?)
[    2.031554] Kernel panic - not syncing: VFS: Unable to mount root fs on unkno                                                       wn-block(0,0)
[    2.040086] Rebooting in 1 seconds..

That's great! I don't know why you were powering the router through the Arduino, did you connect the 3.3V serial pin on the board? You shouldn't do that. Rule of thumb: never connect the 3.3V line unless instructions explicitly tell you to do so. And power the router from its own power supply.

Prompt looks like that by default when OpenWrt runs from RAM. Connection through serial can be laggy, the weird characters popping up suggest your physical serial connection might be a bit wobbly.

You made sure to set your client to an IP in the same range as the C6, right? A static IP even if DHCP doesn't work? And your client's Ethernet port is connected to one of the router's LAN ports? Transferring over serial is possible (like you did with TFTP) but manual transfers are cumbersome compared to hooking up Ethernet.

There's no point in booting sysupgrade, that's not what it was designed for. Stick with the ramdisk image until you can connect, then scp the sysupgrade image over to flash it.

Forgive my ignorance, I am still learning.

I am not entirely sure I have my network configured correctly. I've turned off WiFi and have no other internet ports connected except for the router to my computer. This is the configuration I have:

IP: 192.168.0.10
Subnet mask: 255.255.255.0
Default gateway: blank

I have also tried changing IP to 192.168.1.1 which results in unknown error and i've tried making the default gateway 192.168.1.1 which results in a connection timeout.

The router 'owns' 192.168.1.1. Set your client to 192.168.1.10 e.g.. That should work.

TP-Link's bootloaders (and firmware) often use the 192.168.0.x range, so to access the bootloader using default settings, you might have needed 192.168.0.x, but OpenWrt defaults are 192.168.1.x.

1 Like

Yes, that makes more sense. In fact I was able to carry across the sysupgrade. Unfortunately it has not changed the state of the router... this is what I did along with the outputs

root@(none):/# sysupgrade -v /tmp/*.bin
Cannot save config while running from ramdisk.
Thu Jan  1 00:13:40 UTC 1970 upgrade: Commencing upgrade. Closing all shell sessions.
Watchdog handover: fd=3
- watchdog -
root@(none):/# killall: telnetd: no process killed
Killed
Thu Jan  1 00:13:40 UTC 1970 upgrade: Sending TERM to remaining processes ... shsleep
Thu Jan  1 00:13:43 UTC 1970 upgrade: Sending KILL to remaining processes ...
[  824.448151] sh (622): drop_caches: 3
Thu Jan  1 00:13:44 UTC 1970 upgrade: Switching to ramdisk...
Thu Jan  1 00:13:46 UTC 1970 upgrade: Performing system upgrade...
[  826.531723] sh (622): drop_caches: 3
Unlocking firmware ...

Writing from <stdin> to firmware ...
Thu Jan  1 00:14:15 UTC 1970 upgrade: Upgrade completed
Thu Jan  1 00:14:16 UTC 1970 upgrade: Rebooting system...
umount: can't unmount /tmp: Resource busy
umoun[  856.420155] reboot: Restarting system
▒▒

U-Boot 1.1.4-g32af8ab6-dirty (Oct  9 2019 - 16:15:31)

ap152 - Dragonfly 1.0

DRAM:  128 MB
Top of RAM usable for U-Boot at: 88000000
Reserving 402k for U-Boot at: 87f98000
Reserving 192k for malloc() at: 87f68000
Reserving 44 Bytes for Board Info at: 87f67fd4
Reserving 36 Bytes for Global Data at: 87f67fb0
Reserving 128k for boot params() at: 87f47fb0
Stack Pointer at: 87f47f98
Now running in RAM - U-Boot at: 87f98000
Flash Manuf Id 0xef, DeviceId0 0x40, DeviceId1 0x18
flash size 16MB, sector count = 256
Flash: 16 MB
Using default environment

In:    serial
Out:   serial
Err:   serial
Net:   ath_gmac_enet_initialize...
No valid address in Flash. Using fixed address
ath_gmac_enet_initialize: reset mask:c02200
athr_mgmt_init ::done
Dragonfly  ----> S17 PHY *
athrs17_reg_init: complete
SGMII in forced mode
athr_gmac_sgmii_setup SGMII done
: cfg1 0x80000000 cfg2 0x7114
eth0: 00:03:7f:09:0b:ad
eth0 up
eth0
Setting 0x181162c0 to 0x40802100
extra-para:01 01

[393]factory boot check integer ok.

factory boot load fs uboot len 131072 to addr 0x80010000.
Hit any key to stop autoboot:  0
## Starting application at 0x80010000 ...

At this point it just freezes and does nothing, which is what it was doing before loading the sysupgrade.

Out of ideas, sorry.