- Scegliere l’hardware (questa parte)
- Portare le interfacce di rete (parte 2)
- Configurare un access-point 802.11ac (5Ghz) access-point (parte 3)
Ho passato l’ultimo decennio a comprare hardware di rete a buon mercato e ad aggiornarlo a DD-WRT al fine di recuperare oltre 500 dollari di “caratteristiche” che sono state eliminate dal kernel Linux su cui i firmware stock erano basati.
Nonostante le build instabili, i bug non risolti e la controversia su di esso, DD-WRT era ancora una scelta migliore dei firmware stock. Ma al giorno d’oggi, l’hardware decente è più economico che mai e Linux è la nuova moda tra la comunità DIY (sto guardando te, Mr Raspberry), quindi perché non creare il proprio router wireless su misura una volta per tutte?
Tra i pezzi importanti di hardware che dovrai scegliere, devi prima scegliere la tua piattaforma: x86 o ARM? Non spiegherò le differenze chiave in dettaglio, dato che questa informazione è disponibile, ma per farla breve: la prima ha prestazioni migliori, mentre la seconda è tutta una questione di costi e potenza. Mentre le schede Raspberry Pi (o simili) sono estremamente economiche e probabilmente hanno più potenza della maggior parte dei router wireless che troverete su prodotti commerciali off-the-shelf, tenete presente che le piattaforme basate su x86 sono molto diffuse e beneficiano di fattori di forma e porte di estensione ben standardizzati.
Certo, il pezzo più importante dell’hardware è il chipset wireless: sia 802.11n (2.4Ghz) che 802.11ac (5Ghz) sono standard de-facto oggi, ma scegliere un dispositivo wireless per Linux potrebbe essere un compito arduo, ancor più se deve essere supportata la modalità AP. Per farla breve, ancora una volta: I chipset Atheros sono la via da seguire per una strada indolore. Sia i driver ath9k che ath10k sono ben mantenuti, e troverete facilmente questi chipset in forma USB e/o mini-PCIe a seconda delle porte disponibili.
Mentre una singola interfaccia NIC è il requisito minimo, RAM e storage possono essere scelti liberamente secondo le vostre esigenze.
Bill of Material
Facendo qualche compromesso personale su prezzo e consumo di energia, ho scelto una piattaforma x86-based per beneficiare di una configurazione modulare, aggiornabile (e relativamente robusta).
Se non avete intenzione di scegliere una piattaforma ARM, assicuratevi di andare senza ventola.
- 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)
- mPCIe Extender
- Case mini-ITX MX500
- 3 x 6dBi RP-SMA Dual Band Antenna + RP-SMA Pigtail Cable
- PicoPSU-90
- Spare 2.5″ HDD
Il case è spazioso, e ha fori pretagliati per la spina AC/DC. La scheda madre, la RAM e l’installazione della Pico-PSU sono andate lisce:
La parte più complicata è stata la scheda WiFi mini-PCIe dato che la scheda supporta solo schede di mezza grandezza: ecco che arriva in soccorso il mPCIe Extender. Ho usato un cavo FFC da 20 cm (incluso) per collegare entrambi i lati dell’adattatore e ho fissato il lato mini-PCIe allo chassis usando del nastro biadesivo.