## Specific Design Goals and Requirements **A standard Linux server environment** for hosting applications, meaning that web applications and most daemons (eg, appropriate to run on a single VPS) do not have to be specifically re-ported to run on rooter. **Simultaneous 200Mbps down, 109Mbps up routed ethernet throughput** between local and remote ports. This performance ensures that rooter would not limit the performance of [DOCSIS 3.0](https://en.wikipedia.org/wiki/DOCSIS#Speed_tables) cable modem connections. **"No-surprises" generic router functionality**, meaning that the device should meet the expectations of non-technical users in it's default configuration: standard firewall configuration, DHCP and DNS auto-configuration, support for common upstream authentication mechanisms, configuration via a web interface at the gateway's IP address. **Hardware Hackability**, a vague concept. In this case meaning (at a minimum) that new firmware can loaded and debugged on the device, and that low-level electronics can be integrated using standard connections (3.3/5v GPIOs, UARTS, SPI, ADCs, etc). Ability to **participate in alternative networks** like wireless mesh networks (BATMAN, OLSR, etc), darknets (i2p), or Tor without excessive difficulty. This may require some network-specific porting and may contra-indicate some other **"Line-rate" WiFi routed throughput** (to local or upstream ethernet ports). For 802.11n this means 150Mbps for a single 40MHz channel. **IPv6 fully supported out-of-the-box.** **"No-reboot" reliability** under defaults with "normal usage", meaning that end users should never have to manually power cycle the device to resolve local or uplink DHCP or routing connectivity issues. **No NDAs, special vendor deals, or binary blobs.** A mostly free/libre software and hardware stack, reproducable by anybody with capital and manufacturing facilities. **"Internet-of-Things" connectivity** via a low-power IP-based wireless protocol (eg 802.15.4 6lowpan, ZigBee, Bluetooth Low-Energy, etc). ## Implementation See [hardware]() for specific components and costs; in summary: - 1GHz dual-core ARM SoC processor - 512MB RAM - Internal uSD card storage, expandable through SATA and USB ports - Modular WiFI via miniPCIe slot; recommend dual-band 802.11n - 2 powered USB ports for expansion - 5x Gigabit ethernet ports: 4x local + 1x upstream - Serial and JTAG debugging via micro-USB port - Low-bandwidth "internet of things" gateway with 802.15.4 radio - Hardware entropy generation device The proposed software stack is to run a tweaked OpenWRT router firmware distribution on the bare metal, and run server processes in one or more virtualized full debian environments. Porting and documentation effort will be made such that users can swap out the default software stack for regular debian, regular OpenWRT, pfSense (FreeBSD), or OpenBSD as they see fit. A bootloader and multiple-partition scheme will retain a "factory" copy of the default configuration on the internal micro SD card to assist with recovering from misconfiguration. ## Comparison See [../research/devices]() for a listing of other similar hardware devices. **Router?** indicates whether the device meets contemporary first world user expectations of a home router. **Server?** indicates whether the devices meets expectations of web application developers: eg, whether a Ruby On Rails web application would run well enough for a small group of users. **Libre?** indicates whether the design of the entire device is truely Free. **Hack?** indicates whether the device could be integrated into an electronics project by an Arduino-experienced hacker.
Device Price CPU/RAM/Disk Ethernet Wireless Router? Server? Libre? Hack?
rooter
with OpenWRT+debian
$130+ 1GHz ARM / 512MB
8Gb uSD, empty SATA
5x 1000Mbps 802.11n 2.4GHz miniPCIe
802.11n 5GHz miniPCIe
802.15.4 6lowpan
Yes Yes Open Hardware
FLOSS software
FLOSS drivers
FLOSS BIOS
Serial, JTAG, GPIO, MCU
[DreamPlug](http://www.globalscaletechnologies.com/t-dreamplugdetails.aspx)
with FreedomBox/debian
$160 1.2 GHz ARM / 512MB
4GB uSD, empty eSATA, SD
2x 1000Mbps 802.11 2.4GHz [SDIO](https://www.globalscaletechnologies.com/skins/skin_1/images/dreamplug_blockdiagram.jpg)
BlueTooth 3 SDIO
Limited Yes Proprietary Hardware
FLOSS software
Binary Blob drivers[ref](http://www.madore.org/~david/weblog/2012-03.html#d.2012-03-17.2021)
FLOSS BIOS
Serial, JTAG
[Raspberry Pi B](http://www.raspberrypi.org/)
with debian
$35 700MHz ARM / 256MB
empty SD
1x 100Mbps empty USB No Limited Almost-Open Hardware
FLOSS software
Binary Blob drivers
no BIOS
GPIO, Serial, SPI, i2c
[Netgear WNDR3700v2](http://www.netgear.com/home/products/wirelessrouters/high-performance/wndr3700.aspx)
with OpenWRT
$90 680MHz MIPS / 64MB
16MB flash
5x 1000Mbps 802.11n 2.4GHz PCI
802.11n 5GHz PCI
Yes No Proprietary Hardware
FLOSS software
FLOSS ath9k drivers
FLOSS BIOS
Undocumented, expert only
[Soekris net6501-50](http://soekris.com/products/net6501/net6501-50-board-case.html)
with debian
$330 1GHz Atom x86 / 1GB
empty SATA, mSATA
4x 1000Mbps empty miniPCIe + USB Yes
(w/ WiFi)
Yes Proprietary Hardware
FLOSS software
FLOSS drivers
Proprietary BIOS[ref](http://soekris.com/downloads.html)
Serial, GPIO, FPGA
[Mesh Potato](http://store.villagetelco.com/mesh-potatoes/mesh-potato.html)
with OpenWRT
$100 180MHz MIPS / 16MB
8MB flash
1x 100Mbps 802.11b/g 2.4GHz SoC Limited No Open Hardware
FLOSS software
Blob drivers[ref](http://wiki.villagetelco.org/index.php?title=Mesh_Potato_Firmware_How_To#WiFi)
FLOSS bootloader
MCU, CPLD, Serial, JTAG, [more](http://wiki.villagetelco.org/index.php?title=Mesh_Potato_Features_/_Specs)