====== Espressobin ======
[[https://www.armbian.com/espressobin/|Espressobin]] je jednodeskový počítač postavený na platformě Marvell Armada. Používal jsem ho jako domácí router a malý server s [[https://www.armbian.com/|Armbianem]], připojeným rotačním HDD a kombinací PCIe i USB Wi-Fi karet.
===== Obsah této sekce =====
* [[hardware:jednodeskove-pocitace:espressobin:instalace-armbianu|Instalace Armbianu a základní síťová konfigurace]]
* [[hardware:jednodeskove-pocitace:espressobin:uvod|Espressobin – domácí router a server]]
* [[hardware:jednodeskove-pocitace:espressobin:kompilace-jadra-a-chybejicich-modulu|Armbian – kompilace jádra a chybějících modulů]]
* [[hardware:jednodeskove-pocitace:espressobin:uspavani-rotacniho-hdd-pomoci-hdparm|Uspávání rotačního HDD pomocí hdparm]]
* [[hardware:jednodeskove-pocitace:espressobin:upgrade-debian-9-na-10-buster|Upgrade z Debian 9 na Debian 10 Buster]]
* [[hardware:jednodeskove-pocitace:espressobin:konfigurace-sluzeb|Konfigurace služeb, monitoringu a doplňků]]
===== Praktická zkušenost =====
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.
===== Hardware a zapojení =====
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:
{{hardware:jednodeskove-pocitace:espressobin:pasted:espressobin-v7-bottom.png}}
{{hardware:jednodeskove-pocitace:espressobin:pasted:espressobin-v7-top.png}}
===== Armbian místo původního software =====
Na oficiálních stránkách Espressobinu byl už tehdy spíš zastaralý software, takže jsem šel cestou [[https://www.armbian.com/espressobin/|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 [[http://wiki.espressobin.net/tiki-index.php?page=Serial+connection+-+Linux&highlight=minicom|návodu pro serial connection]].
===== Připojení přes sériový kabel a minicom =====
Podrobný popis je k dispozici na [[http://wiki.espressobin.net/tiki-index.php?page=Serial+connection+-+Linux&highlight=minicom|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.
===== USB 2.0 nebo mini PCIe Wi-Fi karta =====
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.
{{hardware:jednodeskove-pocitace:espressobin:pasted:espressobin-v7-usb2-selection.png}}
Na 5 GHz jsem použil mini PCIe kartu [[https://www.aliexpress.com/item/32868979979.html?spm=a2g0s.9042311.0.0.27424c4d7gAVV6|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 [[https://www.aliexpress.com/item/32652651808.html?spm=a2g0s.9042311.0.0.401d4c4d5uS4um|Atheros AR9271 USB Wi-Fi adapter]]:
Bus 002 Device 002: ID 0cf3:9271 Qualcomm Atheros Communications AR9271 802.11n
===== Navýšení rezervy paměti pro jádro =====
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
===== Zdroje =====
* [[https://www.armbian.com/|Armbian]]
* [[https://www.armbian.com/espressobin/|Armbian pro Espressobin]]
* [[http://wiki.espressobin.net/tiki-index.php?page=Serial+connection+-+Linux&highlight=minicom|Serial connection – Linux]]
* [[http://wiki.espressobin.net/tiki-index.php?page=Ports+and+Interfaces|Ports and Interfaces]]
* [[https://www.linbit.com/kernel-min_free_kbytes/|Kernel min_free_kbytes]]