Ubiquiti EdgeRouter X: *-factory.bin image missing?

I am new to LEDE/OpenWRT, and I want to follow the procedure described in Standard Flashing Instructions to install LEDE on my Ubiquiti EdgeRouter X. In the quick start guide it says, for my device, there should be a "Firmware LEDE Install URL" in the Table of Hardware or on the Techdata page.

But for my device,, there is only a sysupgrade.tar file. The other ramips/mt7621 devices at least have sysupgrade.bin files, but also no factory images. The tar contains three files, CONTROL, kernel and root. I cannot find any documentation on how to proceed with this. I have a working serial connection to the router and could use TFTP to upload an image but which one should I use?

Thanks in advance, Frank

Did you check the OpenWrt wiki entry ?

That suggests booting a kernel first, then flashing.

Reading can be hard when you just woke up...

The OpenWRT doco suggests booting an initrd kernel, which it also says is only available with the -factory image, which is not available on either openwrt or lede downloads for the edgerouter.

I managed to build it with the SDK, binaries available here, currently at 60fce1258c5aafa8464938f3d237e92df8d6a377 but will be updated to rc2 shortly.

1 Like

You can use LEDE modifications made by obsy from eko.one.pl
He's maintaining OpenWRT and LEDE images for a number of different devices and keeps them up-to-date. He also provides superb support for anyone who needs help with setting up OpenWRT/LEDE on their devices.

Check out he's website: http://eko.one.pl/
He's forum: http://eko.one.pl/forum/ (most of the post there will be in polish but people has been writing in english before so don't get discouraged).
He's repositories: http://dl.eko.one.pl/

Here are LEDE images for Ubiquiti EdgeRouter X (those are WITHOUT LuCI):
http://dl.eko.one.pl/lede/17.01-SNAPSHOT/targets/ramips/mt7621/

lede-ramips-mt7621-ubnt-erx-initramfs-kernel.bin
lede-ramips-mt7621-ubnt-erx-squashfs-sysupgrade.tar

This file contains LuCI graphical interface:
http://dl.eko.one.pl/luci/lede/17.01-SNAPSHOT/targets/ramips/mt7621/

luci-ramips-mt7621-ubnt-erx-squashfs-sysupgrade.tar

Before you do anything though, please make sure you've made backup of all of your current partitions with original firmware, just in case something goes wrong.

Hi, building LEDE myself, as @pwarren suggested, brought me further to let the EdgeRouter boot the kernel, but I didn't succeed in performing a sysupgrade yet. I'll report after I've had the time for that.
Thanks for the obvious hint, @Borromini, I've actually been looking at the wiki page for three days before, but overlooked the important part. For a new user, it is not always easy to understand the whole flashing process and collect the important information for a specific device if installing doesn't follow the standard procedure. Thanks.

@r43k3n, links seems interesting, but I prefer using either official images or building the images myself, and, not understand Polish, I have no means to check what I am even downloading there. Thanks anyway!

I haven't checked myself if a build is still supposed to produce a factory image. I think a lot of Ubiquiti's stuff runs a modified OpenWrt by default, in that case only having a sysupgrade image makes sense.

The original Ubiquiti firmware runs on Debian not OpenWRT.

For the convenience of new users, here is how I installed LEDE on the EdgeRouter X:

  • First, create a backup of the MTD partitions as described in the OpenWRT wiki (change username from root to ubnt in the script).

  • Download sysupgrade tar archive as linked to by the Techdata page

  • Run a TFTP server on your computer and put the extracted
    contents of the tar file into the TFTP directory uses to serve files (I used atftpd which uses
    /srv/atftpd by default).

  • Connect Ethernet cable to port 1 of the router, connect it to your computer
    and configure a static address on your computer in the 192.168.1.0 net, as in

    computer# ip a a dev eth0 192.168.1.2/24

  • Open the EdgeRouter, connect serial port to your computer and run a serial terminal program on that port at 57600 baud (in my case the command line was picocom -b 57600 /dev/ttyUSB0).

  • Plug in the power cable into the router and watch it initialize until the boot menu appears.

  • Press 1, enter an IP address for the router (e.g., 192.168.1.1) the previously configured address
    (192.168.1.2) and the name of the kernel you previously unpacked into the atftpd directory (sysupgrade-ubnt-erx/kernel).

  • After booting, you should have a root shell on the router.

  • To install the LEDE filesystem, perform a sysupgrade on the router:

    • Replug the Ethernet cable into the router's second port and give it an address:

          router# ip a a dev eth0.1 192.168.1.1/24
      
    • Download the tar file from your computer by, e.g. running a webserver
      in the atftpd directory (I used python -m python.http and then on the router

          router# cd /tmp ; wget http://192.168.1.2:8000/lede-17.01.0-rc2-r3131-42f3c1f-ramips-mt7621-ubnt-erx-squashfs-sysupgrade.tar
      
    • Now run a sysupgrade with the downloaded file:

          router# sysupgrade lede-17.01.0-rc2-r3131-42f3c1f-ramips-mt7621-ubnt-erx-squashfs-sysupgrade.tar
      
      and the EdgeRouter should install LEDE and reboot. Done!
      

Hope that helps anyone.

2 Likes

Thanks for the tutorial. It's much appreciated, however you skipped the part about making the backup of official firmware. This might cause troubles if someone will try to go back to stock firmware. I've seen posts on OpenWRT forum where users had much troubles with it.

Did you maybe had a chance to run a few test on this device?
I'm curious about performance WAN>LAN and with SQM enabled. I'm wondering if LEDE is faster on this device then stock OS.

I've added a pointer to the OpenWRT generic backup page as you suggested. Thanks, I forgot that.

I posted more information about the device itself (with pictures) and a note about reverting to stock firmware.

Ubiquiti EdgeRouter X (ER-X) / EdgeRouter X-SFP (ER-X-SFP)

It's September now, and I am wondering if there is any intent to provide a *factory.bin image for the EdgeRouter X. My assumption is that this would facilitate easily flashing LEDE from the stock firmware upgrade page.

There wont be any factory image because UBNT firmware checks firmware signature and it will not allow it.
You can use initframs kernel that is provided to flash

Use this method. It's easy, well known and requires no extra hardware.

>scp /path/to/openwrt-ramips-mt7621-ubnt-erx-initramfs-factory.tar ubnt@192.168.1.1:/tmp
>ssh ubnt@192.168.1.1
ubnt@ubnt:/$cd tmp
ubnt@ubnt:/tmp$add system image openwrt-ramips-mt7621-ubnt-erx-initramfs-factory.tar
Checking upgrade image...Done
Preparing to upgrade...Done
Copying upgrade image.../usr/bin/ubnt-upgrade: line 509: [: too many arguments
Done
Removing old image...Done
Checking upgrade image...Done
Copying config data...Done
Finishing upgrade...Done
Upgrade completed

ubnt@ubnt:/tmp$show system image
The system currently has the following image(s) installed:
ramips Bleeding Edge r49395 (default boot) 
v1.7.1.4821926.151103.1114 (running image) 
A reboot is needed to boot default image


NOTE: to be able to ssh back into the router after reboot:

May need to connect your laptop to eth1 instead of eth0 because of default OpenWRT ‘lan’ interface in /etc/config/network
ubnt user is gone, use root

Oh well. I will sit down and take care of this either this weekend or next. I was hoping to get out of having to build a serial cable.

Who are you? Are you in a leadership position of this project?

Skimmed his post. Added the guide I mistook it for to mine. It's from the ER-X page on the OpenWRT wiki.

Now we're talking! For a while there I thought you were nuts.

Much thanks. I should be able to have this done in a jiffy.

EDIT: I was literally (really) about to hit "Confirm Order" on a USB-TTL interface when notification of your post popped up.