Linksys EA3500 versus Linksys EA3500 (Audi)?

Linksys EA3500 versus Linksys EA3500 (Audi)? I have 5 of the Linksys EA3500 routers, I was able to update the firmware on 4 of the 5, to 23.05.3 just fine. Well 1 of the 4 had a single flash fail, but re-flashing worked fine, from OEM firmware to factory 23.0.5.3. The issue of note is number 5.

Number 5 was at 19.07.7, and I was able to flash 19.07.10 without issue. But if I try to flash number 5 from 19.07.7 or 19.07.10 to anything higher, watching via the jTAG serial console, I get Verifying Checksum.... Bad Data CRC. I can recover back to the alternate firmware bank just fine. But after 7 attempts to flash ANYTHING creater than 19.07.x, the same bad data CRC.

Does this feel or seem like I might have a NAND (memory) issue? What is odd, is the OpenWRT database shows 'audi' support stops at 19.07.x, but non 'audi' EA3500 exists right up to 23.05.3. But I cannot seem to find anything via Google that itemizes 'audi' versus non 'audi' EA3500 routers?

If you have serial console access (not JTAG, that's something different), you should be able to see NAND read errors, if there are any. Likewise that should allow you to to:

  • check the u-boot evironment (printenv) for differences (bytes to load for the kernel)
  • try to load a modern initramfs image

I have a serial console... Not JTAG... why did I type JTAG. I did try to load the initramfs image for newer than 19.07.x, very version I tried failed. As I noted above, nothing passes the CRC check beyond 19.07.10. I validated the download of each image.

Watching the serial console, ultimately, with 23.x I get a kernel panic. Of the 5 devices 4, not issue, just the 1 is having issues, and it is the only one that 'defaults' into either an Audi>> prompt if bad CRC fail, or if it gets past that, I get a kernel panic.

Recovery to the existing 19.07.10 is consistent, and seems stable, just quite dated.

Had the same issue when i flashed latest snapshot (by accident)

But latest stable flashed just fine
openwrt-22.03.5-kirkwood-linksys_ea3500-squashfs-factory.bin

Had similar issues with e4200-ea4500 (when switched to new partition layout).
when flashing would not take unless i rebooted to another partition
and flashed from there. Then after a successful flash it would let
me do the other partition (do not understand the issue, but it worked)

attaching serial console log (of the failed snapshot image flash)




         __  __                      _ _
        |  \/  | __ _ _ ____   _____| | |
        | |\/| |/ _` | '__\ \ / / _ \ | |
        | |  | | (_| | |   \ V /  __/ | |
        |_|  |_|\__,_|_|    \_/ \___|_|_|
 _   _     ____              _
| | | |   | __ )  ___   ___ | |_ 
| | | |___|  _ \ / _ \ / _ \| __| 
| |_| |___| |_) | (_) | (_) | |_ 
 \___/    |____/ \___/ \___/ \__| 
 ** WNC BOARD: audi R2.2 LE **

U-Boot 1.1.4 (Jan  2 2012 - 19:59:08) Marvell version: 3.5.9

U-Boot code: 00600000 -> 0067FFF0  BSS: -> 006CFB20

Soc: 88F6282 A1CPU running @ 800Mhz L2 running @ 400Mhz
SysClock = 400Mhz , TClock = 200Mhz 

DRAM (DDR2) CAS Latency = 5 tRP = 6 tRAS = 18 tRCD=6
DRAM CS[0] base 0x00000000   size  64MB 
DRAM Total size  64MB  16bit width
Addresses 8M - 0M are saved for the U-Boot usage.
Mem malloc Initialization (8M - 7M): Done
NAND:64 MB
Flash:  0 kB

CPU : Marvell Feroceon (Rev 1)
u_env Offset: 00080000
s_env Offset: 00084000

Streaming disabled 
Write allocate disabled

Module 0 is RGMII

USB 0: host mode
PEX 0: PCI Express Root Complex Interface
PEX interface detected Link X1
PEX 1: PCI Express Root Complex Interface
PEX interface detected Link X1

Updating boot_count ... done

Net:   egiga0 [PRIME], egiga1
Hit any key to stop autoboot:  0 

NAND read: device 0 offset 0x200000, size 0x300000

Reading data from 0x4ffe00 -- 100% complete.
 3145728 bytes read: OK
## Booting image at 02000000 ...
   Image Name:   ARM OpenWrt Linux-6.1.93
   Created:      2024-06-20   0:11:09 UTC
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    3154899 Bytes =  3 MB
   Load Address: 00008000
   Entry Point:  00008000
   Verifying Checksum ... Bad Data CRC
Audi>>