Frissítsünk router firmwaret!

A hétvégén OpenWRT telepítésére adtam a fejem, hogy a sokéves, nagyon untrusted Pistike editsönös (ekshüli valami spanyol arc)Tomato-RAF-et valami frissebbre és kevésbé untrustedre cseréljem.

Tökéletesen hozta a nagybetűs Linux Élményt.

Kezdésnek egy kollégától kapott, tartalékként használt legolcsóbb szériás TP-LINK WR740L routeren gondoltam kipróbálni a dolgot.
Ezen DD-WRT volt, így kaptam a kollégától, egy elrontott(nak gondolt) flashelés után “kukázta” (hozzám).

  1. A DD-WRT Firmware Upgrade menüpontjában betallóztam az imaget, megnyomtam a gombot, vártam, újraindul, ugyanúgy DD-WRT.
  2. Ezt párszor elismételtem, mire megtudtam az internetből, hogy a DD-WRT nem engedi a másra átflashelést, de van egy restore image ami a gyárira visszaflashelést lehetővé teszi. Nem tette.
  3. Ez után jött a telnet arra a vacakra, wget-tel leszedni az imaget, és mtd-vel kiírni.
    1. A wget nem csinál semmit.
    2. Nem dob hibaüzenetet.
    3. Egy darabig eltartott, míg leesett, hogy így jelzni, hogy nincs internet kapcsolata /o\ … innentől már ment az egész.

Konklúzió

  • Sokféle disztribúció különféle hülye viselkedésekkel élmény kipipálva.
  • kiváló unix tooling élmények felelevenítve
  • a busybox még mindig rák

Ekkor nagy bátran azt gondoltam, hogy ha már ennyire profik vagyunk, akkor adjunk a Broadcom chipsetes Netgear WNR3500L routernek is a jóságból.
Itt a flashelés ment pöcc-röff, a webes felületen által. Újraindítás után beállítottam a hálózatot, és tudatosult bennem hogy a (b43) Broadcom wifi driver csak 54Mbitet tud.

Apa kezdődik…

Körülnézve az interneten valamint az OpenWRT tragikus állapotban levő wikijén (elavult, önellentmondó, kibogozhatatlan információk) a következőket tudtam meg:

  • volt egy opensource driver a b43 előtt, de félbehagyták, hogy egy jobbat csináljanak (ez a b43legacy)
  • ez lett a b43. Annyi, hogy csak 802.11g-t tud. Ellenben ezzel megy az USB is a routeren (valójában nem… lásd később).
  • ezt is félbehagyták azóta, hogy csináljanak egy jobbat… ez a brcm80211 család(!) aminek tagjai a brcmfmac és a brcmsmac. Ezek tudnak N-es wifit, kisebb-nagyobb korlátozásokkal. Persze nálam nem élednek fel.
  • Van még egy zárt forráskódú wl navű driver, amivel megy az N-es wifi, de az usb-s pendrive nem fog vele menni a routeren.

Miután így felderítettem a kínálatot, kipróbáltam a b43-at, és konstatáltam, hogy g-s wifi, és megy. Eztán úgy döntöttem, hogy ideje kísérletezni:

  1. feltettem a wl drivert, amivel nem tudtam bekapcsolni az n-es üzemmódot a LuCi webfelületen.

    1. a parancssorban kiadva a pár mágikus parancsot feléledt:

    uci set wireless.wl0.hwnide=11ng
    uci commit

    1. az usbs pendrive tényleg nem megy
    2. jó gyors az N-es wifi, ahogy kell
    3. reggel nem kapnak IP-t a kliensek a wifin
    4. reggelre kiesett a bridge-ből!
  2. ok, akkor vissza a b43-ra, legalább megy az USB vele

    1. valójában nem megy :‘(
    2. legalább a wifi megy
    3. estére meglátom, hogy ez stabil-e?

Konklúzió

Ez a driver hell a legsötétebb linuxos korszakom emlékét hozza vissza. A szokásos hardwaret venni tudni kell szöveg pedig nem érdekel - eleve elavult hardwaret venni, hogy talán esetleg jó lesz hozzá a félig megcsinált openszource driver sem segít, mert félbehagyják, hogy új kihívásokat/izgalmakat keressenek. A kereskedelni legalább be van fejezve - de az is bugos mint a fájdalom, a nyíltforrású közösség nehezíti a használatát (ok OpenWRT-nél éppenséggel nem, de a többi szabadságharcos linux tipikusan igen) - és a vendor sem fogja már javítani ezt sem, az is új kihívások felé nézett.

A megoldás

Nem tudom, hogy mi a jó megoldás. Egy dedikált gépet routolásra nem akarok berakni.
A gyári firmware reménytelenül elavult, backdoort szállít, a Tomato-RAF jól ment, de elavult, felesleges featureökkel van tele (tehát nagyobb potenciális támadási felületet kínál), a csomagok nincsnek frissítve hozzá, ráadásul számos fontos/súlyosan sebezhető komponens beépített (pl. UPnP kiszolgáló)
Az OpenWRT legalább friss, elemenként frissíthető, de jó lenne, ha az N-es wifi is és az USB is menne, de legalább az egyik (legalább g-s wifivel). Ekkor le tudnám nyelni a linuxos kalapálásigényt évente 1x, de ha nem megy, akkor születik egy ilyen írás.

Mondhatnám, hogy 10 évet fiatalodtam, mert akkor foglalkoztam ilyen pótcselekvésekkel, de inkább öregedtem párat. Miért kell ezzel faszolnom, miért nem képesek a rohadt vendorok értelemes supportot adni a szarjaikhoz? Mert a GPL alatt közzétették a forrást, és innentől szétteszik a kezük…

Ha bárki tud valami megoldást ezekre a nyavajákra, ne habozzon beszámolni róluk.