Edgecore ECW5211 L T - jela1337/replica GitHub Wiki
Introduction
Edgecore ECW5211-L (T) is a managed network acess point featuring a quad-core Cortex-A7 ARMv7-A SoC, concurrent dual band 802.11ac Wawe-2 radios, 2x 1G RJ45 copper network ports, 1x Type-A USB port.
Building
To build firmware for the ECW5211-L (T) using Replica.one, first clone the main repository as described in docs/QUICKSTART.md
.
Next, invoke the build process using make
:
make CTARGET=armv7a-unknown-linux-gnueabihf package_ecw5211-l-t
Sample (cached) build can be seen here:
Firmware
A successful build will generate the following files in the output/
directory:
gentoo-arm-ipq40xx-ecw5211-l-t.ubi
— a UBI packaged root filesystem image for installation and updatingsysdesc-arm-ipq40xx-ecw5211-l-t.txt
— a description of the system installation, including installed packages, package sizes, list of root filesystem contents, etc.
Flashing
The gentoo-arm-ipq40xx-ecw5211-l-t.ubi
UBI packaged root filesystem image is used for installation and updating.
UART access and intermediary OpenWrt image is required.
UART access
ECW5211-L provides serial console connection via 4 pin header on the PCB.
Device needs to be opened in order to connect to the UART console.
Device can be opened via removing 4 screws on the bottom of the device and then popping the plastic clips.
UART console is then easily visible as a 4 pin already soldered header near the ethernet ports.
Pins are marked on the PCB silkscreen at the header.
3.3V UART to USB adapter is then needed (5V version may damage your device).
It can then be accessed with the following settings:
Baud rate: | 115200 |
---|---|
Data bits: | 8 |
Stop bits: | 1 |
Parity: | None |
Flow control: | None |
Loading OpenWrt intermediary image
Prebuilt and verified image to be used is: openwrt-ipq40xx-generic-edgecore_ecw5211-initramfs-fit-uImage.itb
TFTP server should be running and connected to the device via the Ethernet port with PoE support.
Initramfs image should be stored in the working directory of the TFTP server.
TFTP servers that can serve images via DHCP are also supported.
Device IP address: 192.168.1.11 Server IP address: 192.168.1.2
But please note that they can vary according to your environment.
Steps are as follows:
- Enter U-boot command console:
- Power on the device, an once
Hit any key to stop autoboot
is visible hitEnter
key
- Power on the device, an once
- Set device and TFTP server IP addresses
- Set the desired device IP address with:
setenv ipaddr 192.168.1.11
- Set the desired TFTP server IP address with:
setenv serverip 192.168.1.2
- Set the desired device IP address with:
- Load the initramfs image via TFTP
- Load the image with the following command:
tftpboot 0x84000000 openwrt-ipq40xx-generic-edgecore_ecw5211-initramfs-fit-uImage.itb
- Load the image with the following command:
- Run the image from RAM
- Run the initramfs image from ram with:
bootm
- Run the initramfs image from ram with:
Flashing the Replica image
After the intermediary OpenWrt image is booted, flashing Replica is possible.
Steps are as follows:
- Place the
gentoo-arm-ipq40xx-ecw5211-l-t.ubi
image into/tmp
- Verify partition layout
- Run
cat /proc/mtd
- Layout should be the following:
root@OpenWrt:/# cat /proc/mtd dev: size erasesize name mtd0: 00040000 00010000 "0:SBL1" mtd1: 00020000 00010000 "0:MIBIB" mtd2: 00060000 00010000 "0:QSEE" mtd3: 00010000 00010000 "0:CDT" mtd4: 00010000 00010000 "0:DDRPARAMS" mtd5: 00010000 00010000 "0:APPSBLENV" mtd6: 00080000 00010000 "0:APPSBL" mtd7: 00010000 00010000 "0:ART" mtd8: 08000000 00020000 "ubi1" mtd9: 08000000 00020000 "ubi2"
- Run
- Write the image to both firmware partitions
- Run:
ubidetach -d 0
- Run:
ubiformat /dev/mtd8 -y -f gentoo-arm-ipq40xx-ecw5211-l-t.ubi
- Run:
ubiformat /dev/mtd9 -y -f gentoo-arm-ipq40xx-ecw5211-l-t.ubi
- Run:
- Setup the U-boot environment
- Run:
fw_setenv active 1
- Run:
fw_setenv mtdparts 'mtdparts=nand1:128m(ubi1),128m(ubi2)'
- Run:
fw_setenv run1 'ubi part ubi${active}'
- Run:
fw_setenv run2 'ubi read 84000000 kernel'
- Run:
fw_setenv set_bootargs 'setenv bootargs ubi.mtd=ubi${active} root=ubi0:rootfs rootfstype=ubifs rw'
- Run:
fw_setenv bootcmd 'run set_bootargs && run run1 && run run2 && bootm'
- Run:
- Run
reboot
The recording below shows the procedure for flashing the Replica.one firmware:
Lastly, the recording below shows the entire boot process: