1 (edytowany przez Cezary 2024-03-11 19:30:05)

Temat: ALFA Network Quad-E4G: zasilanie i peryferia

Pierwsza część artykułu: ALFA Network Quad-E4G



Postanowiłem złożyć router z tego co mam w domu; nie kupowałem specjalnie elementów. Zasilacz miałem, kilka różnych kart Wi-Fi i modemów LTE też. Nie są to elementy najnowsze i najszybsze, po prostu akurat takie posiadam pod ręką i takie zastosowałem. Oczywiście ktoś mógłby poszukać lepszych podzespołów, jakiegoś modemu 5G, karty SD z kategorii extreme, karty Wi-Fi w standardzie 802.11ax, ale to wszystko można zrobić jak dokładnie się wie czego się oczekuje od routera i do czego on ma służyć. Ja raczej postanowiłem pobawić się różnymi rzeczami i po kilku różnych konfiguracjach skończyłem z czymś takim:

https://eko.one.pl/files/images/alfanetwork/alfanetwork-quad-e4g-wifimodems.jpg

Przykładowa konfiguracja Quad-E4G - dwie karty Wi-Fi i dwa modemy LTE

Zasilanie przez zewnętrzny zasilacz 24V, nośnik danych w postaci 32GB karty microSD, jako Wi-Fi mam dwie karty na częstotliwości 2.4GHz i 5GHz, jako źródło internetu - modem LTE kategorii 6 (do 300Mbps, przydało by się coś lepszego, ale nie mam pod ręką) oraz dodatkowy, zapasowy z kartą innego operatora kategorii 3 (do 100Mbps). Taki zestaw uzupełniłem czterema antenami do modemów komórkowych, jedną anteną GPS (w razie potrzeby używania GPS - oba modemy mają też ten moduł), dwiema antenami Wi-Fi na 2.4GHz oraz trzema antenami na 5GHz. Niestety - jak mówi przysłowie - szewc bez butów chodzi - o ile mam dużo różnych elementów o tyle nie mam w domu kilkunastu identycznie wyglądających anten - każda jest od innego producenta i w innej formie. Nie zrobiłem sobie obudowy (można wydrukować na drukarce 3D, skleić z plexi czy wykonać ze sklejki przy odrobienie zdolności manualnych) ale trzeba pamiętać że do wyprowadzenia jest aż 9 anten (10 z GPS) więc obudowa będzie wyglądała jak jeżyk.

Zasilanie

Płytkę można zasilić na kilka sposobów:
- POE przez port WAN. Wymagany jest dodatkowy moduł który należy przylutować w dedykowanym dla niego miejscu na płytce. Ja nie mam tego modułu i nie sprawdzałem jego działania
- pasywny POE przez port LAN1. Podłączyłem płytkę przez adapter, w tym konkretnym przypadku miałem taki który jest dostarczany do niektórych urządzeń Mikrotika.

https://eko.one.pl/files/images/alfanetwork/alfanetwork-quad-e4g-passivepoeadapter.jpg

Adapter Mikrotik Gigabit PoE injector

Z jeden strony wchodzi zasilanie 24V do gniazdka JACK, łączymy adapter kablem ethernetowym z portem LAN1 ALFy i to wszystko, mamy zasilanie. Adapter jest przeznaczony do bezpośredniego podłączenia komputera, więc tym samym możemy mieć jednocześnie sieć LAN.
- dedykowane złącze oznaczone jako CN16 które jest częściowo przesłonięte przez gniazdo JACK. Zamiast gniazda JACK można wlutować odpowiedni terminal lub wlutować się bezpośrednio do płytki
- albo nie wydziwiamy tylko używamy zwykły zasilacz 24V do gniazda 5.4/2.0 mm.

Konsola szeregowa

W niektórych routerach można o tym tylko pomarzyć. Element nie jest niezbędny, ale bardzo przydatny. Tutaj podłączamy kabel microUSB do płytki, drugą stronę USB do komputera i mamy konsolę szeregową. Pod linuksem będzie to /dev/ttyACM0, pod Windows pojawi się dodatkowy port szeregowy USB TO UART BRIDGE HOLTEK; uruchamiamy odpowiednio minicoma lub putty, wskazujemy port i mamy połączenie. Proste, a jakże przydatne. Konsola jest także dostępna na jednym ze złącz na krawędzi płytki.

Tyle wystarczy żeby uruchomić płytkę i zobaczyć na ekranie komputera jej stan. Oczywiście bez konsoli możemy się obyć jeżeli mamy na niej działający system, ale dzięki konsoli mamy bezpośredni dostęp do bootloadera i jego zmiennych środowiskowych, jeszcze przez załadowaniem systemu. A to się może nam przydać do pewnych celów, przyjdzie też pora na omówienie tego.

Dodatkowo:

RTC

W niektórych wersjach na płytce może być superkondensator lub miejsce na baterię, u mnie wymagane było włożenie baterii typu CR2032. System będzie widział obecność zegara czasu rzeczywistego przy starcie systemu:

[    1.734361] i2c_dev: i2c /dev entries driver
[    1.743066] bq32k 0-0068: registered as rtc0
[    1.748616] bq32k 0-0068: setting system clock to 2024-02-26T19:15:06 UTC (1708974906)
[    1.756830] i2c-mt7621 1e000900.i2c: clock 100 kHz
Karta microSD

Do przechowywania logów, plików itp. Należy pamiętać że karty SD dość szybko padają jeżeli zbyt często się je zapisuje, więc należy ich używać z umiarem. Ja użyłem 32GB kartę SDHC (oczywiście noname) która przedstawiała się następująco

Mon Feb 26 20:15:23 2024 kern.info kernel: [    4.649574] mmc0: new high speed SDHC card at address 0007
Mon Feb 26 20:15:23 2024 kern.info kernel: [    4.663681] mmcblk0: mmc0:0007 SD32G 29.9 GiB
Mon Feb 26 20:15:23 2024 kern.info kernel: [    4.670868]  mmcblk0: p1
Sloty minipcie i M.2

Dodałem dwie karty Wi-Fi
- AzureWave AW-NE772, AR5BXB92 A/B/G/N, karta obsługująca częstotliwość 2.4GHz (i przy okazji ma także 5GHz), MIMO 2x2, sterowniki ath9k
- DAXA-O1, QCA9880 A/AC, karta obsługująca tylko 5GHz, MIMO 3x3, sterowniki ath10k

Trzeci slot jest obsadzony przez modem Sierra Wireless MC7710 (cat 3, obsługiwana przez QMI), zaś slot M.2 - przez modem Dell DW5811e (właściwie to jest Sierra Wireless EM7455B - cat 6, obsługiwana przez MBIM).
Każdy slot ma własną dedykowaną przetwornicę dostarczającą do 3A prądu, więc powinno to wystarczyć nawet w najbardziej wymagających warunkach.

USB


Zostało wolne.



SoC MT7621 sam w sobie dysponuje magistralą USB 3.0 oraz USB 2.0. Magistrala USB 3.0 jest podłączona bezpośrednio do slotu M.2 zaś interfejs USB 2.0 podłączony jest do czteroportowego układu huba USB na płytce, którego porty podłączone są do trzech slotów minipcie oraz zewnętrznego portu USB.
Z tego też powodu jeżeli chcemy uzyskać maksymalną przepustowość to należy używać modemu USB 3.0 w slocie M.2 oraz ew. jednego modemu na USB2.0. dołączenie więcej ilości modemów jest możliwe ale będą one współdzielić przepustowość magistrali USB 2.0, więc jeżeli będziemy oczekiwali transferów to nic nie zyskamy na tym, ponad to MT7621 może mieć problem z obsługą większej ilości interfejsów (w logach dostajemy wtedy informację typu "Not enough host controller resources for new device state").
Z modemami wiąże się jeszcze jeden problem - w slotach minipcie są obecne sygnały PCI, co może powodować złą współpracę z niektórymi modemami. Wymaga to albo zaklejania  określonych pinków modemu albo zastosowanie modemu który nie będzie miał z tym problemu. Sierra Wireless MC7710, mimo że jest dość wiekowa, jest jednym z takich modemów z moich zbiorów która nie sprawia problemów.

Dalsze możliwości rozbudowy

Można przygotować kilka scenariuszy takiego custom routera:

1. Golas

Używamy płytki takiej jaka jest, jako zwykły router przewodowy. Łącze gigabitowe wysycimy, zużycie prądu nie będzie za duże, tylko sam rozmiar płytki może sprawiać problemy w niektórych obudowach.

2. Router lub AP Wi-Fi

Możemy dodać trzy karty W-Fi i zrobić z niego router czy AP. Niestety musimy mieć z tyłu głowy że zastosowany procesor nie jest super wydajny i może się okazać że nie podoła obsłudze trzech kart AX z dużą ilością klientów. Ale jako domowy sprzęt gdzie pewnie mamy mniej więcej ze 20 urządzeń (smartfony, laptopy, jakaś stacjonarka, tablet, trochę IoT) powinien się sprawdzić. Dodatkowa karta może się przydać jak będziemy chcieli zrobić dedykowaną sieć dla IoT, całkowicie na innym radiu. Należy pamiętać że do USB też możemy podłączyć kolejną kartę Wi-Fi

3. Router z modemem komórkowym

Rezygnujemy z kart Wi-Fi albo zostawiamy jedną, za to dokładamy modemy. W slocie M.2 mamy USB 3.0, więc może tam iść jakiś szybki modem 5G Quectela czy SIMCOMa, do tego w slotach minipcie kolejne modemy 5G lub LTE. Ponieważ mamy tam tylko USB 2.0 (ze współdzieloną magistralą), raczej nie ma sensu inwestować w coś super szybkiego i spokojnie można zostać przy modemach LTE kategorii 6 czy 12. Kilka modemów umożliwia zrealizowanie przełączania czy równoważenia obciążenia ale ponieważ mamy kilka slotów SIM to można także pokusić się o przełączanie modemów w zależności od roamingu, zasięgu operatora czy innych parametrów. Łatwo można wyobrazić sobie sytuację kiedy urządzenie jest w samochodzie, czasami gdzieś poza granicami kraju lub w dziwnych lokalizacjach i chcemy zapewnić sobie przełączanie operatora w zależności od parametrów sygnału. Sloty umożliwiają wyłączenie zasilania, więc nawet możemy zrobić awaryjne wyłączenie modemów w razie potrzeby.

4. Router domowy

Praktycznie to co ja zrobiłem - zwykły router z Wi-Fi z ew. modemem w celu zapewnienia backupu połączenia. Kilka lat temu kiedy praca zdalna i nauka była na porządku dziennym, zapewnienie ciągłości połączenie było niesłychanie ważne; taka konstrukcja jak najbardziej mogła by być przydatna.

5. Serwer plików, hub IoT, serwer VPN

Mamy dostępny nośnik w postaci karty microSD który możemy wykorzystać do gromadzenia danych. Można podłączyć dysk w kieszeni na USB lub kupić kartę minipcie ze slotami SATA lub bezpośredni adapter na dysk NVME. Daje to możliwość gromadzenia danych, a może w tym pomagać zegar RTC w celu zapewnia bieżącego czasu. Można uruchomić broker MQTT czy niewielką bazę danych i trzymać tam dane z sensorów domowych. Ponieważ mamy wsparcie dla akceleracji kryptograficznej to można z niego zrobić serwer VPN (np OpenVPN).


To co będzie w routerze zależy od wymagań konkretnego użytkownika, więc ktoś inny może mieć inną wizję swojego routera. Możliwości rozbudowy i złożenia własnego routera są spore.
Wiem że ALFA zrobiła nową wersję płytki: AX1800RQ która jeszcze nie jest obsługiwana oficjalnie przez OpenWrt, ale są szanse ze będzie to także godny następca opisywanego Quad-E4G. Kto wie, może kiedyś też uda mi się ją opisać.


Sam sprzęt to jeszcze nie wszystko, potrzebne jest jeszcze oprogramowanie...



Trzecia część artykułu: ALFA Network Quad-E4G: bootloader i OpenWrt
Dodatek 1: ALFA Network Quad-E4G: wyświetlacz OLED na I2C
Dodatek 2: ALFA Network Quad-E4G: 3ginfo

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.