## 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 ## 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 driversProprietary 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) |