summaryrefslogtreecommitdiffstats
path: root/design/overview.page
blob: 8dc0269ef331f27db0d4fc35e0df687ece7e9ac2 (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
127
128
129
130
131
132
133
134
135

## 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" style="width: 1200px;">
 <tr>
  <th style="width:180px;">Device
  <th style="width:80px;">Price (est.)
  <th style="width:200px;">CPU/RAM/Disk
  <th style="width:100px;">Ethernet
  <th style="width:200px;">Wireless
  <th style="width:80px;">Router?
  <th style="width:80px;">Server?
  <th style="width:180px;">Libre?
  <th style="width:200px;">Hack?
 <tr>
  <td><b>rooter</b><br>with OpenWRT+debian
  <td>$175
  <td>dual 1GHz ARM / 512MB <br> 8Gb uSD, empty SATA
  <td>5x 1000Mbps
  <td>802.11n 2.4GHz via miniPCIe
      <br>802.11n 5GHz via miniPCIe
      <br>802.15.4
  <td style="background-color: #8F8;" >Yes
  <td style="background-color: #8F8;" >Yes
  <td style="background-color: #8F8;" >Open Hardware<br>FLOSS software<br>FLOSS drivers 
  <td style="background-color: #8F8;" >Serial, JTAG, GPIO, MCU
 <tr>
  <td><b>DreamPlug</b><br>with FreedomBox/debian
  <td>$180
  <td>1.2 GHz ARM / 512MB <br> 4GB uSD, empty eSATA
  <td>2x 1000Mbps
  <td>802.11 2.4GHz via ???
  <td style="background-color: #FF8;" >Limited
  <td style="background-color: #8F8;" >Yes
  <td style="background-color: #F88;" >Proprietary Hardware<br>FLOSS software<br>Proprietary drivers
  <td style="background-color: #FF8;" >Serial, JTAG
 <tr>
  <td><b>Raspberry Pi B</b><br>with debian
  <td>$35
  <td>700MHz ARM / 256MB <br> empty uSD, ??? SATA
  <td>1x 100Mbps
  <td>empty USB
  <td style="background-color: #F88;" >No
  <td style="background-color: #FF8;" >Limited
  <td style="background-color: #F88;" >Proprietary Hardware<br>FLOSS software<br>Proprietary drivers (?)
  <td style="background-color: #8F8;" >Yup
 <tr>
  <td><b>Netgear WNDR3700v2</b><br>with OpenWRT
  <td>$90
  <td>680MHz MIPS / 64MB <br> 16MB flash
  <td>5x 1000Mbps
  <td>802.11n 2.4GHz via ???<br>802.11n 5GHz via ???
  <td style="background-color: #8F8;" >Yes
  <td style="background-color: #F88;" >No
  <td style="background-color: #F88;" >Proprietary Hardware<br>FLOSS software<br>??? drivers
  <td style="background-color: #F88;" >Expert only
 <tr>
  <td><b>Soekris net6501-50</b><br>with debian
  <td>$300+
  <td>1GHz Atom x86 / 1GB <br> empty SATA
  <td>4x 1000Mbps
  <td>empty miniPCIe, USB
  <td style="background-color: #8F8;" >Yes
  <td style="background-color: #8F8;" >Yes
  <td style="background-color: #F88;" >Proprietary Hardware<br>FLOSS software<br>??? drivers
  <td style="background-color: #8F8;" >Serial, GPIO, FPGA
 <tr>
  <td><b>Mesh Potato</b><br>with OpenWRT
  <td>$100
  <td>180MHz MIPS / 16MB <br> 8MB flash
  <td>1x 100Mbps
  <td>802.11b/g 2.4GHz via ???
  <td style="background-color: #8F8;" >Limited
  <td style="background-color: #FF8;" >No
  <td style="background-color: #8F8;" >Open Hardware<br>FLOSS software<br>FLOSS drivers (?)
  <td style="background-color: #8F8;" >Yes?
</table>