Felhős téglából otthoni Access Point

ÚJ bejegyzés

A POE Access Point egy nagyon jó dolog, mert a routertől távol is csinál wifit, de logikailag továbbra is oda tartozik, és elég egyetlen kábelt vinni a router és az AP közt.

De miért vennék egy kész Zyxel NWA50AX Wifi 6-ot 30000-ért, amire tök könnyű OpenWRT-t rakni, amikor vehetek egy régi enterprise wifi 5-ös cuccot 4-10000 forintért, eszközöket +10000 forintért, és eltölthetek vele egy szép estét, és írhatok róla egy cikket?

A Cisco Meraki MR42 egy tök jó gép, viszont a Cisco cloud nélkül tégla. És a Cisco ezeken a gépeken már túlhaladott, úgyhogy számukra a téglalét el is következik/zett 2026 júliusában. Viszont sokaknál, beleértve engem is, még sok-sok évet fognak boldogan sugározni, mégpedig az OpenWRT segítségével. Azért választottam ezt a gépet, mert még éppen megfelelt az elvárásoknak (Wifi 5 5ghz), és mert az első példányhoz 4000 forintért hozzá tudtam jutni.

A beállítása viszont nem egyszerű - de nem is lehetetlen. Az OpenWRT saját wikije viszont elég saláta. Íme, ahogy én csináltam.

A folyamat nagyvonalakban: szétszedtem a Merakit. Rácsatlakoztam az UART fogadóval, és elindítottam a python progit. Beindítottam a Merakit. A python progi a serial csatlakozón keresztül megakasztja a boot folyamatot, és a mellékelt bootloadert feltölti a Merakira. A booloader a TFTP szerverről betölti az ideiglenes openwrt-t. A ideiglenes openwrt-t rögzítjük a Merakira, majd pedig a web interface-én keresztül felfrissítjük a fullos verzióra. Restartot követően a Meraki ledobja a végstádiumú kapitalizmus rabláncait, és a szabad világhoz csatlakozik (vagyis a Cisco rendszere helyett OpenWRT-vel működik tovább).

Hirdetés

Kellékeim:
- Cisco Meraki MR42 Dual-band 802.11ac Wave 2 access point
- CP2102 alapú USB-TTL átalakító (UART fogadó), és némi madzag hozzá
- Debian 13, és tftpd-hpa, picocom apt csomagok
- python 2.7, pip, és a pyserial python csomag
- egy sima buta unmanaged switch
- PoE+ (802.11at) switch (vagy injektor is jó)

Művelet:
1. Felraktam a cuccokat, debian csomagokat és python-t apt-tal, a pip-et és a pyserialt az alábbi módon:
# wget https://bootstrap.pypa.io/pip/2.7/get-pip.py
# python2.7 get-pip.py
# pip2 install pyserial

2. Klónoztam egy végtelenül megbízható github repóból a booláshoz szükséges cuccokat.

3. a Meraki számára specializált bootloader image-et (openwrt-ipq806x-generic-meraki_mr42-initramfs-fit-uImage.itb) átmásoltam az /srv/tftp könyvtárba úgy, hogy a "user" nevű userem tudja olvasni. Az /etc/default/tftpd-hpa filebe beleraktam ezt, és újraindítottam a tftpd-t:
TFTP_USERNAME="user" 
TFTP_DIRECTORY="/srv/tftp"
TFTP_ADDRESS=":69"
TFTP_OPTIONS="--secure"

4. Szétszedtem a Merakit az OpenWRT wikin látható módon, UART olvasót bedugtam az USB-be, majd a Merakiba eképp: GND-GND, TXD-RXD, RXD-TXD. E három drót kell csak nekünk. Tesztképp a picocom-mal rámentem a Merakira az alábbi paranccsal, majd bedugtam a Merakit:
# picocom -b 115200 /dev/ttyUSB0
A terminálon így láttam, ahogy az eszköz bebootol, meggyőződve arról, hogy az UART kapcsolat él.

5. Lehúztam a debianom a hálózatról, és bedugtam a switchbe, a Merakival együtt. Módosítottam debianban a hálózat tulajdonságait: 10mbps half-duplex, és 192.168.1.250 mint fix IP.

6. Elindítottam a python csodát így: python2.7 ubootwrite.py --write=mr42_u-boot.bin

7. Ugrott a majom a vízbe. Beindítottam a Merakit. A python progi produkált egy visszaszámlálást, ahogy töltötte fel a szoftvert. Cirka öt percet vesz igénybe, úgyhogy hátradőltem és élveztem, amíg az OpenWRT telepítése tart.

8. Miután a python progi végzett, rákapcsolódtam a Merakira picocom-mal, a 4. pontban lévő módon, és az alábbi parancsokat adtam ki rajta:
insmod mtd-rw i_want_a_brick=1
mtd erase /dev/mtd8
nandwrite -pam /dev/mtd8 /root/mr42_u-boot.mbn

Ha minden jól ment, ezt fogja kiírni:
Writing data to block 0 at offset 0x0
Writing data to block 1 at offset 0x20000
Writing data to block 2 at offset 0x40000

Végül eltakarítottam a Cisco cloud rendszer szemetét:
for i in diagnostic1 part.old storage part.safe; do ubirmvol /dev/ubi0 -N $i; done

9. Böngészővel rámentem a 192.168.1.1-ra, beléptem (root user és üres jelszó), és ráflasheltem a fullos OpenWRT-t, amit innen szedtem le.

10. Végül rebootoltam a Merakit.

Innentől nincs más hátra, mint beállítani az eszközt, és örülni a sikernek. Ez a gép már nem céges hulladék, hanem egy megbízható otthoni gép. Ehhez a művelethez az OpenWRT Wi-Fi Extender/Repeater with Bridged AP over Ethernet avagy "Dumb AP" leírását követtem.

Köszönöm hogy elolvastál! Ha van kérdésed a leírással kapcsolatban, ne habozz, szívesen válaszolok.

Még van hozzászólás! Tovább