User Tools

Site Tools


toh:linksys:ea4500

Linksys EA4500 / E4200 v2

Supported Versions

Model Launch Date S/N OpenWrt Supported Model Specific Notes
EA4500 April 2012 12A106 Trunk (as of r47458) runs a bit warm
E4200 v2 October 2011 01C106 Trunk (as of r47458) -
EA4500 v3 Not supportedWikiDevi

The Linksys EA4500 and E4200 v2 share identical hardware. OEM source code available at: http://support.linksys.com/en-us/gplcodecenter

Caution: The wireless seems to have problems with WiFi-stability on connections to certain client chipsets, e.g. Apple-devices. See this thread on OpenWRT developers forum.

Hardware Highlights

Model SoC Ram Flash Network Wireless USB Serial JTag
EA4500 Marvell Feroceon 88F6282 @1200Mhz 128MiB 128MiB 1 WAN + 4x LAN (GBit) 88W8366 & 88W8063 [an 3x3:3] + 88W8366 & 88W8063 [bgn 3x3:3] Yes Yes Yes
E4200 v2 Marvell Feroceon 88F6282 @1200Mhz 128MiB 128MiB 1 WAN + 4x LAN (GBit) 88W8366 & 88W8063 [an 3x3:3] + 88W8366 & 88W8063 [bgn 3x3:3] Yes Yes Yes
EA4500 v3 Qualcomm Atheros QCA9558 @720MHz 128MiB 128MiB 1 WAN + 4x LAN (GBit) AR9580 [an 3x3:3] + QCA9558 [bgn 3x3:3] Yes ? ?

Installation

The EA4500 has a dual firmware layout: working and backup partitions. It boots from the working partition in normal operation. Firmware flashes occur on the backup partition and the EA4500 shall reboot from the backup partition following from a firmware flash. The backup partition becomes the new working partition when the reboot was successful. The former working partition becomes the new backup partition.

Note: No need for a 30/30/30 reset on this device. In the event of a bad flash, the router shall obviously fail to reboot but don't despair. After three consecutive failed reboots, the router then reverts back to its former working partition and boots normally. Based on this understanding, both EA4500 and E4200 v2 shall always have a partition with a working firmware.

The development branch can contain experimental code that is under active development and should not be used for production environments. Trunk images may support additional hardware; however, it is experimental, considered unstable, and sometimes won't compile.
Prebuilt trunk images do not come with any web interface or GUI. You will need to be comfortable using a command line and remote shell to install one yourself → How to install LuCI

As of r47458 both EA4500 and E4200 v2 are fully supported. These boards are identified by the codename "Viper." The factory.bin image can be flashed directly from the Linksys web interface. Upgrading between OpenWrt images is accomplished with the sysupgrade.tar image.

Prebuilt trunk snapshots offer the most straightforward installation and they are available now: https://downloads.openwrt.org/snapshots/trunk/kirkwood/generic/

← Installing openwrt-kirkwood-linksys-viper-squashfs-factory.bin from the Linksys classic web interface

← Installing openwrt-kirkwood-linksys-viper-squashfs-factory.bin from the Linksys cloud web interface

Upgrading from Candyhouse Chaos Calmer

Unfortunately there is no sysupgrade support (not a defect) on Chaos Calmer builds hence do not open a ticket. Flash back to stock Linksys firmware first before installing current trunk builds. See ForumSee Candyhouse comment

If you prefer building the firmware yourself

Build with:

  • Target System → "Marvell Kirkwood"
  • Target Profile → "Generic" or "Linksys E4200v2 / EA4500 (Viper)"
  • Target Images → squashfs

This will produce the images:

openwrt-kirkwood-linksys-viper-squashfs-factory.bin
openwrt-kirkwood-linksys-viper-squashfs-sysupgrade.tar

Custom builds managed by individuals in the community

None so please feel free to start one.

Older builds (deprecated): Installation using Serial

There is currently no way to get OpenWrt onto EA4500 other than using serial console (it is perhaps possible using tftp server in bootloader). How to get that connected you can read later on in this text.

Also, in current https://downloads.openwrt.org/snapshots/trunk/kirkwood/ there are no images for EA4500. So just git clone openwrt repo and compile the images for EA4500 yourself.

In menuconfig you select:

  • Target System → Marvell Kirkwood
  • Target Profile → Linksys EA4500
  • Target Images → ramdisk, ubifs (you need both for installation)

Now you "make" it and expose following files:

  • openwrt-kirkwood-ea4500-uImage-initramfs via tftp
  • openwrt-kirkwood-ea4500-uImage via http
  • openwrt-kirkwood-ea4500-rootfs.ubi via http

Connect to EA4500 via serial console and power it on. Break u-boot pressing any key during startup. Run "printenv" and adjust your ip and tftp server ip if needed. Then boot initramfs: Viper» tftpboot ${loadaddr} openwrt-kirkwood-ea4500-uImage-initramfs; setenv bootargs $(console) root=/dev/ram rw; bootm ${loadaddr}

Now in booted OpenWrt, we need to flash OpenWrt into NAND. You need to get the network working first. Then you do: # cd /tmp # wget http://yourserver/openwrt-kirkwood-ea4500-rootfs.ubi # wget http://yourserver/openwrt-kirkwood-ea4500-uImage # ubiformat /dev/mtd3 # ubiformat /dev/mtd3 -f openwrt-kirkwood-ea4500-rootfs.ubi # mtd erase kernel # mtd write openwrt-kirkwood-ea4500-uImage kernel

After this you reboot the device, break u-boot again and set u-boot to boot OpenWrt from NAND: Viper» setenv owrt_bootargs_root ubi.mtd=3 root=ubi0:rootfs rootfstype=ubifs rw Viper» setenv owrt_boot nand read.e \${loadaddr} 0x200000 0x200000 \; setenv bootargs \$(console) \$(owrt_bootargs_root) \; bootm \${loadaddr} Viper» setenv bootcmd run owrt_boot Viper» setenv auto_recovery no Viper» saveenv

Installation without Serial

There is another way to Flash your device, without using a serial connection.

Prepare:

  • get the right Image for Your device from Candyhouse Projekt (deprecated)
  • build an initramfs image from openwrts buildroot or download mine from Here
  • download openwrt-kirkwood-ea4500-rootfs.ubi and openwrt-kirkwood-ea4500-uImage from Here
  • format an usb pendrive with ext3 (no idea if fat is working? fatload available in uboot?) and mount it. (if it wont work, use ext2)
  • Put uImage, openwrt-kirkwood-ea4500-rootfs.ubi and openwrt-kirkwood-ea4500-uImage on that usb stick. Cleanly unmount it !!!

The flashing process:

  • Flash Your ea4500 wit the candyhouse image.
  • after reboot candyhouses openwrt will be up, login using telnet/ssh
  • plugin the prepared pen drive and run the following commands:

fw_setenv bootcmd 'run owrt_usb; run nandboot'
fw_setenv owrt_usb 'usb start; sleep 5;ext2load usb 0:1 ${loadaddr} /uImage; setenv bootargs $(console) $(mtdparts) root=/dev/ram rw; bootm ${loadaddr}'
mkdir /sda1 && mount /dev/sda1 /sda1           (no mistake it does not boot without it)
reboot

  • After a few, openwrt initramfs will be boot from this pen drive. Login using telnet/ssh and rum Commands:

mkdir /sda1 && mount /dev/sda1 /sda1 && cd /sda1
ubiformat /dev/mtd3 && ubiformat /dev/mtd3 -f openwrt-kirkwood-ea4500-rootfs.ubi

  • Only if ubiformat and mount didn't produce any errors continue with: (otherwise youre fucked!!)

mtd erase kernel
mtd write openwrt-kirkwood-ea4500-uImage kernel
fw_setenv bootcmd 'run owrt_usb; run owrt_boot'
fw_setenv owrt_usb 'usb start; sleep 5;ext2load usb 0:1 ${loadaddr} /uImage; setenv bootargs $(console) root=/dev/ram rw; bootm ${loadaddr}'
fw_setenv owrt_boot 'nand read.e ${loadaddr} 0x200000 0x200000; setenv bootargs $(console) ubi.mtd=3 root=ubi0:rootfs rootfstype=ubifs rw; bootm ${loadaddr}'
fw_setenv auto_recovery no
reboot

  • Now you are done. With the usb stick connected and uImage on it, the router will boot this image. otherwise it boots from nand.
  • Have fun!

Flash Layout

The stock layout (of the 128MiB flash chip):

Offset Size Name
0x0 0x80000 uboot
0x80000 0x4000 u_env
0x84000 0x4000 s_env
0x200000 0x1a00000 kernel
0x200000 0x1a00000 rootfs
0x1c00000 0x1a00000 alt_kernel
0x1c00000 0x1a00000 alt_rootfs
0x3600000 0x4a00000 syscfg

A recommended layout for OpenWRT is to specify the kernel and rootfs settings, leaving everything else alone so as to remain compatible with the stock firmware.

Offset Size Name
0x0 0x80000 uboot
0x80000 0x4000 u_env
0x200000 0x200000 kernel
0x400000 1c00000 rootfs

Back to the original stock firmware

Method 1: You can flash a Linksys firmware image directly from the LuCI web interface.

Method 2: This works too if you had flashed a firmware image from the stock Linksys web interface.

Cut the power to the router while the router is booting up. The router white LED shall blink rapidly and that's when you cut the power–inducing a failed boot. After 3 failed boots, the EA4500 then boots from the backup partition and reverts back to its Linksys firmware. See Forum

Alternative method

$ binwalk FW_EA4500_2.1.41.164606.img DECIMAL HEXADECIMAL DESCRIPTION ——————————————————————————– 0 0x0 uImage header, header size: 64 bytes, header CRC: 0x304ABA3A, created: Thu Dec 4 10:03:26 2014, image size: 2692508 bytes, Data Address: 0x8000, Entry Point: 0x8000, data CRC: 0xF906CF22, OS: Linux, CPU: ARM, image type: OS Kernel Image, compression type: none, image name: "Linux-2.6.35.8" 16636 0x40FC gzip compressed data, maximum compression, from Unix, last modified: Thu Dec 4 10:03:25 2014 2752512 0x2A0000 JFFS2 filesystem, little endian 21603204 0x149A384 Zlib compressed data, compressed, uncompressed size >= 606

Break u-boot and do: Viper» tftpboot 0x2000000 FW_EA4500_2.1.41.164606.img Viper» nand erase 0x200000 0x1500000 Viper» nand write 0x2000000 0x200000 0x1500000 Viper» resetenv Viper» reset

Note that for different versions size may differ.

generic.flashing.tftp

Specific values you need

Bootloader tftp server IPv4 address 192.168.1.10

Basic configuration

Basic configuration After flashing, proceed with this.
Set up your Internet connection, configure wireless, configure USB port, etc.

Note: A minimal build of openwrt does not include wpad-mini or an equivalent; be sure you install a daemon that can apply your access point settings, or wireless will appear not to work.

Specific Configuration

Interfaces

The default network configuration is:

Interface Name Description Default configuration
br-lan LAN & WiFi 192.168.1.1/24
eth0 LAN ports (1 to 4) None
eth1 WAN port DHCP
wlan0 WiFi (2.4GHz) Disabled
wlan1 WiFi (5GHz) Disabled

Note: Due to the unfortunate lack of DFS support in the current mwl8k driver, there are only four available channels in the 5GHz radio:

  • 5180 MHz [36] (20.0 dBm)
  • 5200 MHz [40] (20.0 dBm)
  • 5220 MHz [44] (20.0 dBm)
  • 5240 MHz [48] (20.0 dBm)

Failsafe mode

Buttons

The Linksys EA4500 has two buttons: reset and wps. Here, we merely list the button names, so they can be used in the below Howto:

Button Name Event Notes
reset Factory Reset Functional with Trunk (install kmod-gpio-button-hotplug)
wps Wifi Protected Setup Non-functional but configurable

hardware.button on howto use and configure the hardware button(s).

LEDs

The Linksys EA4500 has two LEDs.

LED LED Name
healthviper:white:health
pulse viper:white:pulse

Examples:

1. To turn off [viper:white:health] LED.

echo "0" > /sys/class/leds/viper\:white\:health/brightness

2. To turn back on [viper:white:health] LED.

echo "1" > /sys/class/leds/viper\:white\:health/brightness

Hardware

Info

Instruction set: ARM
Vendor: Marvell
Bootloader: U-Boot
System-On-Chip: Feroceon 88F6282
CPU @Frq Feroceon A88FR131 @1200MHz
Flash size: 128 MiB
Flash Chip: Hynix NAND 128MiB 3,3V 8-bit (H27U1G8F2BTR-BC)
RAM size: 128 MiB
RAM Chip:
Wireless No1: Marvell 88W8366 v48 for 2Ghz
Wireless No2: Marvell 88W8366 v48 for 5Ghz
Switch: Marvell 88E617x (Gigabit, VLAN)
USB: Yes 1 x 2.0
Serial: Yes
JTAG: Yes

Opening the case

Note: This will void your warranty!

http://kelvyntaylor.blogspot.cz/2012/07/how-to-open-cisco-linksys-ea4500-router.html

There are 4 screws on the bottom of the case, hidden under 4 glued-on rubber feet parts. Pry off the rubber feet with a small screwdriver and remove the screws, then simply pull the top off.

Serial

port.serial general information about the serial port, serial port cable, etc.

The serial port is located at J5.

PIN ID
1 Vcc 3.3V
2
3 RX
4
5 TX
6 GND

Pin number 1 is the one next to the annoying white led. The TX pin on the board should be connected to the RX pin of the serial console in order to see what the board is transmitting. Speed (baud) 115200, Data bits 8, Stop bits 1, Parity none.

JTAG

port.jtag general information about the JTAG port, JTAG cable, etc.

J6 sure looks like a JTAG port, but it hasn't been tried.

openssl speed test

I made speedtests on ea4500, with and without Hardware acceleration.

root@OpenWrt:~# openssl version
OpenSSL 1.0.2d 9 Jul 2015
root@OpenWrt:~# cat /etc/openwrt*
DISTRIB_ID='OpenWrt'
DISTRIB_RELEASE='Bleeding Edge'
DISTRIB_REVISION='r47048'
DISTRIB_CODENAME='designated_driver'
DISTRIB_TARGET='kirkwood/generic'
DISTRIB_DESCRIPTION='OpenWrt Designated Driver r47048'
DISTRIB_TAINTS='no-all busybox'
r47048

The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes
md2                  0.00         0.00         0.00         0.00         0.00
mdc2                 0.00         0.00         0.00         0.00         0.00
md4               3614.59k    13155.71k    40154.88k    82702.89k   119297.37k
md5               2994.14k    10903.94k    32719.82k    63922.69k    87788.90k
hmac(md5)         4297.61k    14745.64k    40264.68k    71031.47k    89935.47k
sha1              2286.73k     6357.91k    13247.40k    18140.26k    20289.68k
rmd160            2635.41k     8843.94k    21350.66k    33435.84k    40041.50k
rc4              50884.17k    60723.26k    63786.18k    64388.64k    64114.77k
des cbc           7995.83k     8292.22k     8369.58k     8383.15k     8419.40k
des ede3          2915.85k     2967.69k     2971.40k     2988.91k     2988.16k
idea cbc             0.00         0.00         0.00         0.00         0.00
seed cbc         10014.92k    11021.93k    11305.39k    11424.96k    11435.92k
rc2 cbc           9154.69k     9537.15k     9645.48k     9674.57k     9680.21k
rc5-32/12 cbc        0.00         0.00         0.00         0.00         0.00
blowfish cbc     15157.95k    16288.66k    16599.47k    16648.53k    16729.21k
cast cbc         15755.71k    17617.17k    18220.69k    18466.59k    18437.46k
aes-128 cbc      11286.92k    12637.83k    13044.23k    13104.79k    13173.18k
aes-192 cbc      10032.72k    11134.38k    11382.31k    11489.96k    11468.80k
aes-256 cbc       9017.68k     9850.91k    10136.39k    10201.86k    10175.61k
camellia-128 cbc        0.00         0.00         0.00         0.00         0.00
camellia-192 cbc        0.00         0.00         0.00         0.00         0.00
camellia-256 cbc        0.00         0.00         0.00         0.00         0.00
sha256            2602.28k     6190.93k    11073.84k    13849.43k    14875.24k
sha512             636.55k     2548.15k     3653.84k     4976.37k     5581.44k
whirlpool          590.72k     1193.91k     1883.58k     2218.78k     2358.30k
aes-128 ige      11260.38k    13537.57k    14226.38k    14464.17k    14175.72k
aes-192 ige       9986.76k    11785.34k    12299.08k    12483.52k    12288.00k
aes-256 ige       9004.48k    10398.14k    10860.09k    10991.28k    10806.82k
ghash             8710.31k     9013.22k     9067.61k     9125.93k     9099.17k

And with acceleration of the kirkwood SOC: (found only following working?)

openssl speed -evp $cipher -elapsed

type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes
aes-128-cbc        378.76k     1469.89k     5105.83k    13443.41k    22227.63k
des-cbc            766.65k     2490.47k     5656.32k     7903.91k     9368.92k
des-ede3-cbc       671.50k     1745.49k     2902.27k     3492.18k     3655.10k

Second Run:
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes
aes-128-cbc        378.78k     1470.17k     5104.04k    13461.85k    22238.55k
des-cbc            767.17k     2477.67k     5644.63k     8239.10k     9366.19k
des-ede3-cbc       670.47k     1737.75k     2910.29k     3493.55k     3664.55k

More ciphers aviable using Boris Patch. Awsome benefit by using DMA.

scp/ssh speed test

Test was made "scping" 250mb of non compressable random into Routers /dev/null. Numbers are in Megabytes/s

Cipher Speedresult with mv_cesa Speedresult without mv_cesa
3des-cbc 2.5MB/s 2.2MB/s
blowfish-cbc 6.0MB/s 6.0MB/s
cast128-cbc 6.3MB/s 6.3MB/s
arcfour 8.6MB/s 8.6MB/s
arcfour128 8.6MB/s 8.1MB/s
arcfour256 8.9MB/s 8.6MB/s
aes128-cbc 6.8MB/s 5.3MB/s
aes192-cbc 6.8MB/s 5.1MB/s
aes256-cbc 6.8MB/s 4.8MB/s
rijndael-cbc@lysator.liu.se 6.6MB/s 4.7MB/s
aes128-ctr 5.3MB/s 5.4MB/s
aes192-ctr 5.0MB/s 5.1MB/s
aes256-ctr 4.7MB/s 4.8MB/s
aes128-gcm@openssh.com 4.0MB/s 3.9MB/s
aes256-gcm@openssh.com 3.8MB/s 3.6MB/s
chacha20-poly1305@openssh.com 10.9MB/s 11.40MB/s

So as you can see aes-*-cbc ist mainly affected.

Debricking

Bootloader Mods

  1. you could read about bootloader in general

Some of the uBoot customizations made by the vendor can lead to confusion. Once you have access to the serial console, it's recommended to set bootdelay=3 (or whatever) and auto_recovery=off, after which whatever is in bootcmd will actually be run after the timeout.

The Marvell bootloader has some differences with respect to computing checksums of the u-boot environment flash partition, making modification of the environment via the standard OpenWRT tools a problem. It appears that the Sheeva U-Boot Tools should work, if you find it necessary to work with the environment from the OS (e.g., fw_printenv and fw_setenv.)

Bootlogs

OpenWrt bootlog

__ __ _ _ | \/ | __ _ _ ____ _____| | | | |\/| |/ _` | '__\ \ / / _ \ | | | | | | (_| | | \ V / __/ | | |_| |_|\__,_|_| \_/ \___|_|_| _ _ ____ _ | | | | | __ ) ___ ___ | |_ | | | |___| _ \ / _ \ / _ \| __| | |_| |___| |_) | (_) | (_) | |_ \___/ |____/ \___/ \___/ \__| ** WNC BOARD: Viper R2.2 LE ** ** For Development Only. Not For Demo ** U-Boot 1.1.4 (Sep 15 2011 - 15:46:36) Marvell version: 3.5.9 U-Boot code: 00600000 -> 0067FFF0 BSS: -> 006CFB20 Soc: 88F6282 A1CPU running @ 1200Mhz L2 running @ 400Mhz SysClock = 400Mhz , TClock = 200Mhz DRAM (DDR2) CAS Latency = 6 tRP = 6 tRAS = 18 tRCD=6 DRAM CS[0] base 0x00000000 size 128MB DRAM Total size 128MB 16bit width Addresses 8M - 0M are saved for the U-Boot usage. Mem malloc Initialization (8M - 7M): Done NAND:128 MB Flash: 0 kB CPU : Marvell Feroceon (Rev 1) u_env Offset: 00080000 s_env Offset: 000a0000 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 Net: egiga0 [PRIME], egiga1 Hit any key to stop autoboot: 0 NAND read: device 0 offset 0x200000, size 0x200000 Reading data from 0x3ff800 -- 100% complete. 2097152 bytes read: OK ## Booting image at 02000000 ... Image Name: ARM OpenWrt Linux-3.14.26 Created: 2014-12-30 15:59:55 UTC Image Type: ARM Linux Kernel Image (uncompressed) Data Size: 1633276 Bytes = 1.6 MB Load Address: 00008000 Entry Point: 00008000 Verifying Checksum ... OK OK Starting kernel ... Uncompressing Linux... done, booting the kernel. [ 0.000000] Booting Linux on physical CPU 0x0 [ 0.000000] Linux version 3.14.26 (jirka@nanopsycho) (gcc version 4.8.3 (OpenWrt/Linaro GCC 4.8-2014.04 r43795) ) #2 Tue Dec 30 16:59:33 CET 2014 [ 0.000000] CPU: Feroceon 88FR131 [56251311] revision 1 (ARMv5TE), cr=00053977 [ 0.000000] CPU: VIVT data cache, VIVT instruction cache [ 0.000000] Machine model: Linksys EA4500 [ 0.000000] Memory policy: Data cache writeback [ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 32512 [ 0.000000] Kernel command line: console=ttyS0,115200 ubi.mtd=3 root=ubi0:rootfs rootfstype=ubifs rw [ 0.000000] PID hash table entries: 512 (order: -1, 2048 bytes) [ 0.000000] Dentry cache hash table entries: 16384 (order: 4, 65536 bytes) [ 0.000000] Inode-cache hash table entries: 8192 (order: 3, 32768 bytes) [ 0.000000] Memory: 125192K/131072K available (3238K kernel code, 172K rwdata, 916K rodata, 133K init, 181K bss, 5880K reserved) [ 0.000000] Virtual kernel memory layout: [ 0.000000] vector : 0xffff0000 - 0xffff1000 ( 4 kB) [ 0.000000] fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB) [ 0.000000] vmalloc : 0xc8800000 - 0xff000000 ( 872 MB) [ 0.000000] lowmem : 0xc0000000 - 0xc8000000 ( 128 MB) [ 0.000000] modules : 0xbf000000 - 0xc0000000 ( 16 MB) [ 0.000000] .text : 0xc0008000 - 0xc0416d5c (4156 kB) [ 0.000000] .init : 0xc0417000 - 0xc04384d4 ( 134 kB) [ 0.000000] .data : 0xc043a000 - 0xc0465034 ( 173 kB) [ 0.000000] .bss : 0xc0465034 - 0xc0492488 ( 182 kB) [ 0.000000] NR_IRQS:114 [ 0.000014] sched_clock: 32 bits at 200MHz, resolution 5ns, wraps every 21474836475ns [ 0.000133] Calibrating delay loop... 1196.85 BogoMIPS (lpj=5984256) [ 0.090085] pid_max: default: 32768 minimum: 301 [ 0.090191] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes) [ 0.090209] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes) [ 0.092219] CPU: Testing write buffer coherency: ok [ 0.092513] Setting up static identity map for 0x11168 - 0x111a4 [ 0.094169] pinctrl core: initialized pinctrl subsystem [ 0.095067] regulator-dummy: no parameters [ 0.095531] NET: Registered protocol family 16 [ 0.095861] DMA: preallocated 256 KiB pool for atomic coherent allocations [ 0.098245] cpuidle: using governor ladder [ 0.098303] Kirkwood: MV88F6282-Rev-A1. [ 0.098442] Feroceon L2: Enabling L2 [ 0.098480] Feroceon L2: Cache support initialised. [ 0.098912] [Firmware Info]: /ocp@f1000000/ethernet-controller@72000/ethernet0-port@0: local-mac-address is not set [ 0.098956] [Firmware Info]: /ocp@f1000000/ethernet-controller@76000/ethernet1-port@0: local-mac-address is not set [ 0.111652] bio: create slab <bio-0> at 0 [ 0.112817] SCSI subsystem initialized [ 0.113577] usbcore: registered new interface driver usbfs [ 0.113728] usbcore: registered new interface driver hub [ 0.113900] usbcore: registered new device driver usb [ 0.115310] Switched to clocksource orion_clocksource [ 0.117107] NET: Registered protocol family 2 [ 0.117810] TCP established hash table entries: 1024 (order: 0, 4096 bytes) [ 0.117833] TCP bind hash table entries: 1024 (order: 0, 4096 bytes) [ 0.117852] TCP: Hash tables configured (established 1024 bind 1024) [ 0.117901] TCP: reno registered [ 0.117914] UDP hash table entries: 256 (order: 0, 4096 bytes) [ 0.117935] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes) [ 0.118092] NET: Registered protocol family 1 [ 0.119375] futex hash table entries: 256 (order: -1, 3072 bytes) [ 0.119844] squashfs: version 4.0 (2009/01/31) Phillip Lougher [ 0.119855] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc. [ 0.120097] msgmni has been set to 244 [ 0.120741] io scheduler noop registered [ 0.120752] io scheduler deadline registered (default) [ 0.122145] kirkwood-pinctrl f1010000.pinctrl: registered pinctrl driver [ 0.122798] mvebu-pcie pcie-controller.1: PCI host bridge to bus 0000:00 [ 0.122816] pci_bus 0000:00: root bus resource [io 0x1000-0xfffff] [ 0.122828] pci_bus 0000:00: root bus resource [mem 0xe0000000-0xf0000000] [ 0.122840] pci_bus 0000:00: root bus resource [bus 00-ff] [ 0.123382] PCI: bus0: Fast back to back transfers disabled [ 0.123397] pci 0000:00:01.0: bridge configuration invalid ([bus 00-00]), reconfiguring [ 0.123410] pci 0000:00:02.0: bridge configuration invalid ([bus 00-00]), reconfiguring [ 0.124029] PCI: bus1: Fast back to back transfers disabled [ 0.124659] PCI: bus2: Fast back to back transfers disabled [ 0.124769] pci 0000:00:01.0: BAR 8: assigned [mem 0xe0000000-0xe00fffff] [ 0.124785] pci 0000:00:02.0: BAR 8: assigned [mem 0xe0100000-0xe01fffff] [ 0.124801] pci 0000:01:00.0: BAR 0: assigned [mem 0xe0000000-0xe000ffff 64bit] [ 0.124827] pci 0000:01:00.0: BAR 2: assigned [mem 0xe0010000-0xe001ffff 64bit] [ 0.124851] pci 0000:00:01.0: PCI bridge to [bus 01] [ 0.124864] pci 0000:00:01.0: bridge window [mem 0xe0000000-0xe00fffff] [ 0.124881] pci 0000:02:00.0: BAR 0: assigned [mem 0xe0100000-0xe010ffff 64bit] [ 0.124907] pci 0000:02:00.0: BAR 2: assigned [mem 0xe0110000-0xe011ffff 64bit] [ 0.124930] pci 0000:00:02.0: PCI bridge to [bus 02] [ 0.124942] pci 0000:00:02.0: bridge window [mem 0xe0100000-0xe01fffff] [ 0.197741] Serial: 8250/16550 driver, 2 ports, IRQ sharing disabled [ 0.199094] f1012000.serial: ttyS0 at MMIO 0xf1012000 (irq = 33, base_baud = 12500000) is a 16550A [ 0.700336] console [ttyS0] enabled [ 0.705802] nand: device found, Manufacturer ID: 0xad, Chip ID: 0xf1 [ 0.712181] nand: Hynix H27U1G8F2BTR-BC [ 0.716047] nand: 128MiB, SLC, page size: 2048, OOB size: 64 [ 0.721736] Scanning device for bad blocks [ 0.790434] 4 ofpart partitions found on MTD device orion_nand [ 0.796305] Creating 4 MTD partitions on "orion_nand": [ 0.801474] 0x000000000000-0x000000080000 : "u-boot" [ 0.807444] 0x000000080000-0x0000000a0000 : "u-boot environment" [ 0.814356] 0x000000200000-0x000000400000 : "kernel" [ 0.820253] 0x000000400000-0x000002000000 : "root" [ 0.826636] libphy: orion_mdio_bus: probed [ 0.830964] mv643xx_eth: MV-643xx 10/100/1000 ethernet driver version 1.4 [ 0.839200] mv643xx_eth_port mv643xx_eth_port.0 eth0: port 0 with MAC address c8:d7:19:1c:da:7d [ 0.848667] mv643xx_eth_port mv643xx_eth_port.1 eth1: port 0 with MAC address c8:d7:19:1c:da:7e [ 0.857555] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver [ 0.864109] ehci-pci: EHCI PCI platform driver [ 0.868735] ehci-platform: EHCI generic platform driver [ 0.874168] ehci-orion: EHCI orion driver [ 0.878319] orion-ehci f1050000.ehci: EHCI Host Controller [ 0.883846] orion-ehci f1050000.ehci: new USB bus registered, assigned bus number 1 [ 0.891646] orion-ehci f1050000.ehci: irq 24, io mem 0xf1050000 [ 0.915326] orion-ehci f1050000.ehci: USB 2.0 started, EHCI 1.00 [ 0.922100] hub 1-0:1.0: USB hub found [ 0.925915] hub 1-0:1.0: 1 port detected [ 0.930416] usbcore: registered new interface driver usb-storage [ 0.938279] TCP: cubic registered [ 0.941614] NET: Registered protocol family 17 [ 0.946349] 8021q: 802.1Q VLAN Support v1.8 [ 0.951633] regulator-dummy: disabling [ 0.955835] UBI: attaching mtd3 to ubi0 [ 0.987855] UBI: scanning is finished [ 0.997894] UBI: attached mtd3 (name "root", size 28 MiB) to ubi0 [ 1.004015] UBI: PEB size: 131072 bytes (128 KiB), LEB size: 129024 bytes [ 1.010858] UBI: min./max. I/O unit sizes: 2048/2048, sub-page size 512 [ 1.017515] UBI: VID header offset: 512 (aligned 512), data offset: 2048 [ 1.024243] UBI: good PEBs: 224, bad PEBs: 0, corrupted PEBs: 0 [ 1.030197] UBI: user volume: 1, internal volumes: 1, max. volumes count: 128 [ 1.037372] UBI: max/mean erase counter: 5/4, WL threshold: 4096, image sequence number: 1236864779 [ 1.046465] UBI: available PEBs: 0, total reserved PEBs: 224, PEBs reserved for bad PEB handling: 20 [ 1.055807] UBI: background thread "ubi_bgt0d" started, PID 763 [ 1.062015] mvsw6171 10.mvsw6171: Found MV88E617x at f1072004.mdio-bu:10 [ 1.068763] mvsw6171 10.mvsw6171: Using indirect addressing [ 1.074540] drivers/rtc/hctosys.c: unable to open rtc device (rtc0) [ 1.096462] UBIFS: background thread "ubifs_bgt0_0" started, PID 766 [ 1.117066] UBIFS: recovery needed [ 1.211296] UBIFS: recovery completed [ 1.215055] UBIFS: mounted UBI device 0, volume 0, name "rootfs" [ 1.221117] UBIFS: LEB size: 129024 bytes (126 KiB), min./max. I/O unit sizes: 2048 bytes/2048 bytes [ 1.230303] UBIFS: FS size: 24385536 bytes (23 MiB, 189 LEBs), journal size 9033728 bytes (8 MiB, 71 LEBs) [ 1.240004] UBIFS: reserved for root: 0 bytes (0 KiB) [ 1.245082] UBIFS: media format: w4/r0 (latest is w4/r0), UUID DC074FD1-9FF7-403E-82C6-3AA8230030F9, small LPT model [ 1.256070] VFS: Mounted root (ubifs filesystem) on device 0:10. [ 1.262488] Freeing unused kernel memory: 132K (c0417000 - c0438000) procd: Console is alive procd: - preinit - [ 2.436465] random: mktemp urandom read with 1 bits of entropy available Press the [f] key and hit [enter] to enter failsafe mode Press the [1], [2], [3] or [4] key and hit [enter] to select the debug level mounting /dev/root procd: - early - procd: - ubus - procd: - init - Please press Enter to activate this console. [ 10.375574] NET: Registered protocol family 10 [ 10.411140] ip6_tables: (C) 2000-2006 Netfilter Core Team [ 10.454460] Loading modules backported from Linux version master-2014-11-04-0-gf3660a2 [ 10.462446] Backport generated by backports.git backports-20141023-2-g4ff890b [ 10.471528] ip_tables: (C) 2000-2006 Netfilter Core Team [ 10.488079] nf_conntrack version 0.5.0 (1958 buckets, 7832 max) [ 10.514295] xt_time: kernel timezone is -0000 [ 10.560714] cfg80211: Calling CRDA to update world regulatory domain [ 10.585918] cfg80211: World regulatory domain updated: [ 10.591087] cfg80211: DFS Master region: unset [ 10.595476] cfg80211: (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp), (dfs_cac_time) [ 10.605268] cfg80211: (2402000 KHz - 2472000 KHz @ 40000 KHz), (N/A, 2000 mBm), (N/A) [ 10.613320] cfg80211: (2457000 KHz - 2482000 KHz @ 40000 KHz), (N/A, 2000 mBm), (N/A) [ 10.621367] cfg80211: (2474000 KHz - 2494000 KHz @ 20000 KHz), (N/A, 2000 mBm), (N/A) [ 10.629415] cfg80211: (5170000 KHz - 5250000 KHz @ 80000 KHz), (N/A, 2000 mBm), (N/A) [ 10.637465] cfg80211: (5250000 KHz - 5330000 KHz @ 80000 KHz, 160000 KHz AUTO), (N/A, 2000 mBm), (0 s) [ 10.646995] cfg80211: (5490000 KHz - 5730000 KHz @ 160000 KHz), (N/A, 2000 mBm), (0 s) [ 10.655119] cfg80211: (5735000 KHz - 5835000 KHz @ 80000 KHz), (N/A, 2000 mBm), (N/A) [ 10.663171] cfg80211: (57240000 KHz - 63720000 KHz @ 2160000 KHz), (N/A, 0 mBm), (N/A) [ 10.731171] Marvell TOPDOG(R) 802.11 Wireless Network Driver version 0.13 [ 10.738036] PCI: enabling device 0000:00:01.0 (0140 -> 0143) [ 10.765365] PCI: enabling device 0000:00:02.0 (0140 -> 0143) [ 10.805442] PPP generic driver version 2.4.2 [ 10.811256] NET: Registered protocol family 24 [ 11.557548] ieee80211 phy0: Command RF_ANTENNA error 0x2 [ 11.562892] ieee80211 phy0: failed to set # of RX antennas [ 11.569408] ieee80211 phy0: Command RF_ANTENNA error 0x2 [ 11.574761] ieee80211 phy0: failed to set # of TX antennas [ 11.580295] ieee80211 phy0: 88w8366 v48, c8d7191cda7f, STA firmware 4.1.0.3 [ 11.598785] ieee80211 phy1: Command RF_ANTENNA error 0x2 [ 11.604130] ieee80211 phy1: failed to set # of RX antennas [ 11.631509] ieee80211 phy1: Command RF_ANTENNA error 0x2 [ 11.636892] ieee80211 phy1: failed to set # of TX antennas [ 11.642408] ieee80211 phy1: 88w8366 v48, c8d7191cda81, STA firmware 4.1.0.3 procd: - init complete - [ 13.967317] mv643xx_eth_port mv643xx_eth_port.0 eth0: link up, 1000 Mb/s, full duplex, flow control disabled [ 13.985181] device eth0 entered promiscuous mode [ 13.993460] br-lan: port 1(eth0) entered forwarding state [ 13.998946] br-lan: port 1(eth0) entered forwarding state [ 14.022121] mv643xx_eth_port mv643xx_eth_port.1 eth1: link up, 1000 Mb/s, full duplex, flow control disabled [ 15.995320] br-lan: port 1(eth0) entered forwarding state BusyBox v1.22.1 (2014-12-29 17:19:59 CET) built-in shell (ash) Enter 'help' for a list of built-in commands. _______ ________ __ | |.-----.-----.-----.| | | |.----.| |_ | - || _ | -__| || | | || _|| _| |_______|| __|_____|__|__||________||__| |____| |__| W I R E L E S S F R E E D O M ----------------------------------------------------- CHAOS CALMER (Bleeding Edge, r43797) ----------------------------------------------------- * 1 1/2 oz Gin Shake with a glassful * 1/4 oz Triple Sec of broken ice and pour * 3/4 oz Lime Juice unstrained into a goblet. * 1 1/2 oz Orange Juice * 1 tsp. Grenadine Syrup ----------------------------------------------------- root@OpenWrt:/#


Notes

The EA4500 runs a bit warm hence it may not reboot when warm (hot). It's important for the EA4500 to stay cool with a fan blowing cool air straight at it during flashing and rebooting to avoid any complication. See discussion in Linksys Community See Forum

The factory firmware EA4500 uses ap8x as wireless driver. The source code is contained in the GPL package. It is uses different kernel API and is only tested & targetted older kernel versions.

Tags

toh/linksys/ea4500.txt · Last modified: 2016/11/04 15:02 by wrtboy