summaryrefslogtreecommitdiffstats
path: root/design/overview.page
blob: 6294f751009793187c0bdaac5a4bbfb70b866e49 (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
125
126
## 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 width="150px">Device
  <th width="50px">Price (est.)
  <th width="200px">CPU/RAM/Disk
  <th width="80px">Ethernet Ports
  <th width="40px">Router?
  <th width="40px">Server?
  <th width="100px">Libre?
  <th width="100px">Hack?
 <tr>
  <th>rooter
  <td>$175
  <td>dual 1GHz ARM / 512MB <br> 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>
  <th>DreamPlug (FreedomBox)
  <td>$180
  <td>1.2 GHz ARM / 512MB <br> 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>
  <th>Raspberry Pi B
  <td>$35
  <td>700MHz ARM / 256MB <br> 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>
  <th>Netgear WNDR3700v2 Router
  <td>$90
  <td>680MHz MIPS / 64MB <br> 16MB flash
  <td>5x 1000Mbps
  <td style="background-color: #8F8;" >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>
  <th>Soekris net6501-50
  <td>$300+
  <td>1GHz Atom x86 / 1GB <br> empty SATA
  <td>4x 1000Mbps
  <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>
  <th>Mesh Potato
  <td>$100
  <td>180MHz MIPS / 16MB <br> 8MB flash
  <td>1x 100Mbps
  <td style="background-color: #8F8;" >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>