summaryrefslogtreecommitdiffstats
path: root/design/overview.page
blob: 6dfccc43d61fd1f7d026894e7be8d2723b77a4da (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
## 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).

## Hardware features

See [design/hardware]() for specific components and costs.

- 1GHz dual-core ARM SoC processor
- 512MB+ RAM
- Internal uSD card storage, expandable through SATA and USB ports
- Modular WiFI via miniPCIe slot
- Second USB-only miniPCIe slot for expansion
- 2+ powered USB ports for expansion
- 5x Gigabit ethernet ports: 4x local + 1x upstream
- Serial and JTAG debugging via USB port
- Low-power "internet of things" gateway with 802.15.4 radio 
- Hardware entropy generation device

## Comparison

<table class="gridded">
 <tr>
  <th>Device
  <th>Price (est.)
  <th>CPU/RAM/Disk
  <th>Ethernet Ports
  <th>Router?
  <th>Server?
  <th>Libre?
  <th>Hack?
 <tr>
  <td>rooter
  <td>$175
  <td>dual 1GHz ARM / 512MB / 8Gb uSD, empty SATA
  <td>5x 1000Mbps
  <td style="background-color: #8F8;" >Yes
  <td style="background-color: #8F8;" >Yes
  <td style="background-color: #8F8;" >Open Hardware<br>FLOSS software<br>FLOSS firmware
  <td style="background-color: #8F8;" >Serial, JTAG, GPIO, MCU
 <tr>
  <td>FreedomBox (DreamPlug)
  <td>$180
  <td>1.2 GHz ARM / 512MB / 4GB uSD, empty eSATA
  <td>2x 1000Mbps
  <td style="background-color: #FF8;" >Mostly
  <td style="background-color: #8F8;" >Yes
  <td style="background-color: #FF8;" >Proprietary Hardware<br>FLOSS software<br>Proprietary firmware
  <td style="background-color: #FF8;" >Serial, JTAG
 <tr>
  <td>Raspberry Pi B
  <td>$35
  <td>700MHz ARM / 256MB / empty uSD, ??? SATA
  <td>1x 100Mbps
  <td style="background-color: #F88;" >No
  <td style="background-color: #FF8;" >Limited
  <td style="background-color: #FF8;" >Proprietary Hardware<br>FLOSS software<br>??? firmware
  <td style="background-color: #8F8;" >Yup
 <tr>
  <td>Netgear WNDR3700v2 Router
  <td>$90
  <td>680MHz MIPS / 64MB / 16MB
  <td>5x 1000Mbps
  <td style="background-color: #88F;" >Yes
  <td style="background-color: #F88;" >No
  <td style="background-color: #FF8;" >Proprietary Hardware<br>FLOSS OpenWRT software<br>??? firmware
  <td style="background-color: #F88;" >Expert only
 <tr>
  <td>Soekris net6501-50
  <td>$300+
  <td>1GHz Atom x86 / 1GB / empty SATA
  <td style="background-color: #8F8;" >Yes
  <td style="background-color: #8F8;" >Yes
  <td style="background-color: #FF8;" >Proprietary Hardware<br>FLOSS software<br>pseudo-proprietary (?) firmware
  <td style="background-color: #8F8;" >Serial, GPIO, FPGA
 <tr>
  <td>Mesh Potato
  <td>$100
  <td>180MHz MIPS / 16MB / 8MB
  <td style="background-color: #88F;" >Mostly
  <td style="background-color: #FF8;" >No
  <td style="background-color: #8F8;" >Open Hardware<br>FLOSS software<br>FLOSS firmware (?)
  <td style="background-color: #8F8;" >Yes?
</table>