Skip to content
This repository has been archived by the owner on Jul 25, 2018. It is now read-only.


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

LEDE on ESPRESSOBin (with Cake SQM)

This repository is being archived! See here for more details on where to go and what to use 🎉

What? Why? Where?

This is a non-official LEDE distribution compiled for the ESPRESSOBin SBC to take advantage of LEDE+Cake SQM.

The ESPRESSOBin is an SBC (Single Board Computer) with a solid featureset/design that makes it ideal as a tiny fileserver/router/switch.

In this application the ESPRESSOBin sits at the network edge, ensuring that network devices pulling data in or pushing data out to the Internet do so without clogging buffers upstream of itself.

The net effect is that at high bandwidth usage latency remains mostly stable.

Cake is a modern queuing discipline that works well in most applications, available in the LEDE distribution that can be installed on the ESPRESSOBin for this use.

More documentation on SQM/bufferbloat:

Using smart queue management in LEDE

Cake: the latest in sqm (QoS) schedulers (2016)

How I Maximized the Speed of My Non-Gigabit Internet Connection (Uses codel)

Introduction to bufferbloat

Installation (pre-built releases)

  1. Grab the latest release.
  2. Locate files in the distribution (relevant ones are under bin/targets/mvebu64/generic)
  3. Install it to your SD card with standard instructions.
  4. Insert into your board, power on with 12v and USB console attached
  5. screen /dev/ttyUSB0 115200
  6. Configure u-boot to boot from the SD card.
  7. Follow and release notes to finish installation.

Rolling your own release

The builder is intended to be run on a cloud machine with bandwith/CPUs to aid in a reasonable build time.

The gist is: Drop this on a VM with Debian Jessie and use After everything is cloned, pulled and built it should drop you into a shell as openwrt.

Add feeds/a collection of packages using ./scripts/feeds install $pkgname. List available feeds with ./scripts/feeds list. Search with ./scripts/feeds search. For more documentation on feeds, check out OpenWRT's documentation.

When ready, run make menuconfig to select build options ([space bar] to select; boxes marked M are turned into packages called .ipkgs).

Important: Select options as shown in: (the advanced options for the kernel tree can be entered up after checking the box with the spacebar).

Save, then run make -j$(($(nproc)+1)). Kernel options haven't been updated, so make -j1 V=s1 and selecting defaults may be needed close to the end (stack a pile of coins on your enter key).

Once it finishes, everything that is supplied in the releases ends up in bin/.


Unofficial LEDE distribution with Cake SQM for the ESPRESSOBin Switch/SBC






No packages published