Mivel mostanában infrastrukturális problémáim vannak, ellenben igényeket támasztok azért, ismét tákolnom “kellett” egy keveset: szükségessé vált jobb híján egy mobilnet-előfizetés megosztásának lehetősége.

Van bár egy Huawei R201-es eszközöm kéznél, az viszont egy másik szolgáltatóé, tehát bukta. Volt viszont egy USB-s HSDPA modemem is kéznél, szintén Hüvely brand, és stimmelt a SIM-szolgáltató vele, viszont ebben igencsak nincsen rádió… Nem voltam azonban rest, feltaláltam magam és rájöttem, hogy az időközben értékesített KuroBox/PRO dobozom hősi elődje, a KuroBox HG/WR még bent ücsörög a spájzban tétlenül.

Mivel korábban – még a korábbi cikkben megörökített eljárásnál is bonyolultabb módon – már rákalapáltam egy custom Gentoo image-et, amit egy szintén nem könnyen beszerzett IDE csatolófelületű SSD-re ültettem, a motyó rendesen újjászületett 7 évvel a felkelő Nap országában történt világra jövetele után…
(A facelift még tavaly Q1 történt.) Kapott új, patch-elt – és így IP-konzollal bíró – bootloadert, akkori stable 2.6-os kernelt, meg minden szükséges egyebet. Célt, értelmet azonban nem – egy ideig DVR-nek szántam, ennek örömére máig benne van a @world set-ben a ‘motion‘; mindhiába. Sosem lett belőle semmi, az a projekt okafogyottá vált, pedig emiatt vettem bele lemezt is… (Szerencsére kamerát addigra még nem.) Már az eladását fontolgattam. Most azonban ismét lehetőség adódott a hadrendbe állítására, egyszersmind a korábbi anyagi és energia-befektetés hasznosítására. Nem utolsósorban pediglen – egyéb prioritások okán – olcsó megoldás kellett, és annál olcsóbb, mint amihez jóformán minden adott már, ritkán akad.

Kitaláltam, hogy – egyedüli apró kiegészítő beruházásképpen – kerítek egy USB-s Wi-Fi eszközt, egy olyat méghozzá, amely képes softAP mode-ban létezni, és amellyel a szükséges software-támogatottság is adott ugyanehhez. Itt bekapcsolunk egy időgépet ismét, mivel egy bő hétig csak olvasgattam ezügyben, mire vásárlásba kezdtem, és egy újabb hét kellett, mire meg is hozta a posta a csomagot. Addigra kölcsönkaptam egy TP-Link WN-321G dongle-t is tesztre, amely nem akart AP mode-ba lépni, akárhogyan bűvöltem. Új, végül kutatásaim eredményeként négyezer infláció-egység ellenében beszerzett haverom egy D-Link DWA-140/B2 típusjelű, Ralink 2870 chipkészletű buttplug lett, újszerű állapotban, másodkézből. Időgép off && KuroBox on.

Nosza, csillogó szemekkel előástam a dobozom, kicsomagoltam, és ahogy azt el is vártam, pöccre indult. Átlőttem a hardware-órát, mert áram nélkül nem számol a galád, aztán számba vettem, mire lesz szükségem – majd belevágtam. Majdnem a baltát… A múltkori, Solaris-ihlette, LVM-powered ötletemnek köszönhetően egy alternatív rootfs-en kezdtem kalózkodni, gondosan érintetlenül hagyva az eredeti állapotot – menet közben bizony nem egyszer áldottam magam ezért és az altboot/chroot sanszért… (mire feladtam a userland-frissítést határozatlan időre és eredeti elképzelésem tényleges megvalósítására nem kezdtem fókuszálni)

Menet közben elővettem az Acer AA1-ZG5 születési nevű kishaverom, belepróbáltam a dongle-t, és futottam pár kört, mire sikerült életet lehelnem bele rendesen – felfedeztem például, hogy az rt2870.bin nevű bináris külső blob nélkül az rt2x00 in-tree driverrel nem lehet felhúzni az interface-t, hiába látszik… A Ralink-féle sta2870 modul pedig nem kompatibilis már egy ideje az upstream-mel. De elindult végül, tehát innentől láttam értelmét annak, hogy megizzasszam kicsit a Motorola lapkát is, no meg nem utolsósorban szentesítve éreztem az elkefélendő pár napot… (ilyesmire sosem lett ugyanis felkészítve a gép eleddig)

0. Nekiálltam beletekerni a wireless-támogatást. Bukta: A szükséges in-tree modul egy ismert és dokumentált bug miatt ezzel a kernelverzióval NEM fordul le.
1. Kernelfrissítés, úgyis kijött azóta néhány tucat verzió, ha már kell nekem néhány apróság még bele: 3.2.1 lett, gentoo patchset-tel, valamint IEEE802.11, wext, softmac, rt2800usb, option/usb_wwan, v4 routing, iptables és PPP támogatással – enyhén módosítottam plusz logoláshoz a belefordított initramfs-t is. Meglepően fájdalommentesen kelt életre vele, beleértve ebbe a külső device-tree file cseréjét és az U-Boot-hoz patkolást is. Szerencsére immár van defconfig és uImage target az upstream-ben is – nem mintha nem az eddigi, működő konfigurációmat reszeltem volna hozzá, de rengeteget gyorsított a dolgon a kuruzslás szükségtelensége… Igen, a Linux fejlődik, csak továbbra sem desktoppá (engem ez kicsit sem zavar, nincs desktopom) – még ha ki is derült utólag, hogy a 3.2-es fában ismét átmókoltak mindent, és új, külön LED class alól kell például extraként a softstack-be a status/rx-tx trigger a karácsonyfa-hatáshoz :)
2. linux-firmware, wireless-tools, iw, wpa_supplicant, hostapd, dnsmasq, ppp és iptables csomagok, valamint függőségeik USEflagjeinek belövése, majd feltekerése

Ezt követően beizgattam neki a dugaszt hátulról, és csodák csodája: szépen látszott és látott – találtam vele helyből uszkve egy tucat élő hálózatot. Innentől szivtam egy teljes napot, mire rájöttem arra, hogy az iw tool-lal ki kell kapcsolnom az alapértelmezetten engedélyezett energiatakarékos opciót, meg hogy ráérezzek, e hard- és software-kombináción melyik konfiguráció hatására hajlandó azt csinálni a hostapd és a dnsmasq, amit én szeretnék tőle…Az első néhány sikeres asszociációt követően felélesztettem a modemet a másik USB-porton. Írtam egy initscriptet a hardware-watchdoghoz az OpenRC miatt, mivel a baselayout-2 már nem ette meg a csomagolt régit… Utána már csak a sysctl néhány kerneltunable paraméterét kellett megigazítanom, valamint beállítani pár elengedhetetlen tűzfalszabályt és beállítani az rc-alrendszert a függőségekkel együtt az automatizmus érdekében – et voila, ahogy az igen művelt kínai mondja, az eredmény kielégítő lett: egy WPA2 titkosítású, jelszóval és fizikai MAC-kel védett, dinamikus IP-tartományban címeket osztó és névfeloldást továbbító, Linux alapú, PowerPC architektúrájú 802.11b/g/n access point, amely egy HSDPA mobilinternet-kapcsolatot oszt meg a hozzáférésre explicite feljogosított, wireless-képes eszközök számára… “és gyönyörű!” ;) (C) Joe Hallenbeck

Terhelése gyakorlatilag zéró-konvergens, áteresztőképessége többszörösen meghaladja a celluláris kapcsolat 7,2 megabites elméleti sávszélesség-korlátját. A fogyasztása a maga ~10 wattjával nem kimondottan korszerű ahhoz képest, amit jelenleg művel, de a még benne rejlő kihasználatlan potenciálra, valamint arra való tekintettel, hogy szükségtelen állandóan mennie, ezt elnézem neki. A közeljövőben írok majd rá egy primitív, pehelysúlyú CGI webinterface-t és közel-valós idejű grafikus statisztikákat, de egyelőre így, fapados állapotában is tisztán hozza az elvárt szintet, a többi a hub lesz a tortán ;]