- Hardware kiezen (dit deel)
- De netwerkinterfaces installeren (deel 2)
- Een 802.11ac (5Ghz) access-point (deel 3)
Ik heb het laatste decennium besteed aan het kopen van goedkope netwerkhardware en deze te upgraden naar DD-WRT om $500+ waarde aan “features” terug te krijgen die zijn verwijderd uit de Linux kernel waarop de standaard firmwares waren gebaseerd.
Ondanks onstabiele builds, onopgeloste bugs en de controverse erover, was DD-WRT nog steeds een betere keuze dan standaard firmwares. Maar tegenwoordig is fatsoenlijke hardware goedkoper dan ooit en Linux is de nieuwe rage onder de doe-het-zelf gemeenschap (ik kijk naar jou, Mr Raspberry), dus waarom zou je niet voor eens en altijd je eigen, op maat gemaakte, draadloze router maken?
Een van de belangrijke stukken hardware die je zult moeten kiezen, moet je eerst je platform kiezen: x86 of ARM? Ik ga de belangrijkste verschillen niet in detail uitleggen omdat die informatie beschikbaar is, maar om een lang verhaal kort te maken: de eerste hebben betere prestaties, terwijl de tweede alles te maken heeft met kosten en energie-efficiëntie. Terwijl Raspberry Pi boards (of gelijksoortig) extreem goedkoop zijn en waarschijnlijk meer paardenkracht hebben dan de meeste draadloze routers die je zult vinden op commerciële off-the-shelf producten, houd in gedachten dat x86-gebaseerde platforms wijdverspreid zijn en profiteren van goed gestandaardiseerde vormfactoren en uitbreidingspoorten.
Het belangrijkste stuk hardware is natuurlijk de draadloze chipset: zowel 802.11n (2.4Ghz) als 802.11ac (5Ghz) zijn de-facto standaarden vandaag de dag, maar het kiezen van een draadloos apparaat voor Linux kan een ontmoedigende taak zijn, zelfs nog meer als AP mode moet worden ondersteund. Weer een lang verhaal kort: Atheros chipsets zijn de manier om te gaan voor een pijnloze weg. Zowel ath9k als ath10k drivers worden goed onderhouden, en je zult deze chipsets gemakkelijk vinden in USB en/of mini-PCIe vorm, afhankelijk van je beschikbare poorten.
Terwijl een enkele NIC interface de minimum eis is, kunnen RAM en opslag vrij gekozen worden naar gelang je behoeften.
Materialennota
Met enige persoonlijke afwegingen over prijs en stroomverbruik, koos ik een x86-gebaseerd platform om te profiteren van een modulaire, upgradebare (en relatief robuuste) setup.
Als je geen ARM-platform kiest, zorg er dan voor dat je geen ventilator nodig hebt.
- Gigabyte GA-J1900N-D3V (J1900 Quad-Core 2Ghz Celeron, dual NIC)
- Airetos AEX-QCA9880-NX (dual band 802.11ac, MIMO)
- 4GB RAM (DDR3-LP, 1333Mhz, 1..35v)
- 4GB RAM (DDR3-LP, 1333Mhz, 1..35v).35v)
- mPCIe Extender
- MX500 mini-ITX behuizing
- 3 x 6dBi RP-SMA Dual Band Antenne + RP-SMA Pigtail Kabel
- PicoPSU-90
- Spare 2.5″ HDD
De behuizing is ruim, en heeft voorgesneden gaten voor de AC/DC plug. Het moederbord, RAM en de Pico-PSU installatie verliep vlot:
Het lastigste deel was de mini-PCIe WiFi kaart, aangezien het bord alleen kaarten van halve grootte ondersteunt: hier komt de mPCIe Extender om te helpen. Ik heb een FFC-kabel van 20 cm (meegeleverd) gebruikt om beide kanten van de adapter met elkaar te verbinden en de mini-PCIe-kant met dubbelzijdig plakband aan het chassis bevestigd.