Espressobin je jednodeskový počítač postavený na platformě Marvell Armada. Používal jsem ho jako domácí router a malý server s Armbianem, připojeným rotačním HDD a kombinací PCIe i USB Wi-Fi karet.
Při stavbě domácího routeru jsem hledal něco výkonnějšího než běžný SOHO router, ideálně s možností připojit 3,5„ disk a kombinovat více síťových rozhraní. Espressobin se nakonec ukázal jako použitelné řešení, ale vyžadoval víc ruční práce kolem bootloaderu, výběru Wi-Fi karet, správy jádra i ladění služeb.
Na této stránce je shrnutí základního hardwarového kontextu. Podrobnější návody jsou rozdělené do samostatných podstránek.
Používal jsem novější verzi 7 s 1 GB RAM. Kvůli 3,5“ disku bylo potřeba 12V napájení. Zároveň bylo možné připojit i 2,5„ disk.
Na obrázcích jsou dobře vidět porty a rozložení desky:
Na oficiálních stránkách Espressobinu byl už tehdy spíš zastaralý software, takže jsem šel cestou Armbianu a instalace Debianu 10. Jako první bylo potřeba flashnout vhodný U-Boot image. Pro můj kus fungoval obraz flash-image-ddr4-1g-1cs-1000_800.bin, který držel CPU na 1 GHz. Vyšší frekvence u mého zařízení nebyla stabilní.
Parametry zařízení jsem zjišťoval přes sériovou konzoli. Pro připojení jsem použil minicom podle návodu pro serial connection.
Podrobný popis je k dispozici na Serial connection – Linux. Po spuštění programu minicom bude výstup vypadat podobně:
+-----[configuration]------+ | Filenames and paths | | File transfer protocols | | Serial port setup | | Modem and dialing | | Save setup as dfl | | Save setup as.. | | Exit | | Exit from Minicom | +--------------------------+
Po zvolení Serial port setup se zobrazí nastavení sériového portu:
+-----------------------------------------------------------------------+ | A - Serial Device : /dev/tty8 | | B - Lockfile Location : /var/lock | | C - Callin Program : | | D - Callout Program : | | E - Bps/Par/Bits : 115200 8N1 | | F - Hardware Flow Control : Yes | | G - Software Flow Control : No | | | | Change which setting? | +-----------------------------------------------------------------------+
Pro volbu A – Serial Device je potřeba znát správný USB port, přes který je počítač připojený k Espressobinu. Po připojení kabelu najdeme port pomocí příkazu dmesg:
~$ dmesg ... [93917.671274] usb 2-2: new full-speed USB device number 21 using xhci_hcd [93917.799740] usb 2-2: New USB device found, idVendor=067b, idProduct=2303 [93917.799744] usb 2-2: New USB device strings: Mfr=1, Product=2, SerialNumber=0 [93917.799746] usb 2-2: Product: USB-Serial Controller D [93917.799748] usb 2-2: Manufacturer: Prolific Technology Inc. [93917.800564] pl2303 2-2:1.0: pl2303 converter detected [93917.801259] usb 2-2: pl2303 converter now attached to ttyUSB0
V tomto případě tedy nastavím A – Serial Device na /dev/ttyUSB0. Bod E – Bps/Par/Bits ponechám na stávajících hodnotách 115200 8N1. Bod F – Hardware Flow Control změním na „No“. Uložím změny, ukončím minicom a znovu spustím.
U Espressobinu je potřeba si vybrat mezi USB 2.0 portem a mini PCIe slotem. V mém případě vyhrála PCIe karta, zatímco USB 3.0 zůstal k dispozici pro druhou Wi-Fi kartu na 2,4 GHz. Přepínání se dělá ručně přes jumpery J19 a J16.
Na 5 GHz jsem použil mini PCIe kartu Compex WLE600VX, která se hlásila takto:
00:00.0 Network controller: Qualcomm Atheros QCA986x/988x 802.11ac Wireless Network Adapter
Do USB 3.0 jsem přidal ještě 2,4 GHz kartu Atheros AR9271 USB Wi-Fi adapter:
Bus 002 Device 002: ID 0cf3:9271 Qualcomm Atheros Communications AR9271 802.11n
Armbian měl tehdy nastavenou malou rezervu RAM pro jádro a některé procesy kvůli tomu padaly. Pomohlo navýšení vm.min_free_kbytes v /etc/sysctl.conf:
vm.min_free_kbytes=65536