Hirdetés

TP-Link TL-WR841 router okosítás és USB hack

Otthoni hálózat építése közben gazdagítottam TP-Link 841 v7 routereket USB porttal; ennek menete másoknak is hasznos lehet :) A routerekre természetesen OpenWRT firmware került, de az USB port hasznos, és használható "gyári" szoftverrel, illetve DD-WRT-vel is. (Az OpenWRT TP-Link 841 wikije itt - sok hasznos információ a routerek verzióiról, illetve unbrick és egyéb okosítási leírások.) Az OpenWRT-nek jól működő[ kis topicja van itt a Prohardveren is, elég sok segítséget kaptam ott, köszi nekik :)

Felhívom a figyelmet, hogy az átalakítás sikere sok mindentől függ, és nem garantált; nekem többször sikerült, de más eszközeiért felelősséget nem vállalok :) Én 841 v7.x routereken csináltam ezt meg, és néhány egyéb verzión is megoldható, de nem biztos, hogy így kell : nézz utána, mielőtt v7 előtti, vagy utáni routeren nekilátsz. (Pl. a v9.x -ből nem mind USB-zhető, CPU-tól függ.)


Az első átalakított 841, a CPU-n hűtőborda, beépített 5V stabilizátor, és szintén a routeren belül van egy mini microSD kártyaolvasó, benne egy kártyával, mint háttértár.

A 841-es típus gyárilag nem rendelkezik USB porttal, azonban az alapjául szolgáló AR7241 CPU tartalmaz USB vezérlőt, aminek a bekötését szorgos hackerek ki is derítették. Az alaplapon található két alkatrész, aminek a lábai az USB vezérlő D+ és D- kimenetei. Ezen kívül a földet kell bekötni, valamint az USB eszköznek valahonnan egy 5V-os tápfeszt. Kisebb dolgokat, pl. SD kártyaolvasót elbír a gyári tápegység bemenetére kötött 5V-os stabilizátor (7805), több eszközhöz aktív USB HUB ajánlott, külső táppal. Aktív HUB esetén az eszköz tápját a router USB portjára be sem kell kötnünk, kevesebb a macera.


USB bekötés - nem saját kép, a DD-WRT fórumból van.

A két adatszálat a R601 és R602 ellenállásokra kell kötni, a CPU felőli oldalukra - R601 a D- , R602 a D+ . A földet az R607 egyik oldaláról tudtam levenni, de multiméterrel könnyen lehet találni más földpontot is. A szálakat a magam részéről egy USB aljzatra kötöttem. A lábkiosztása itt található, de mielőtt valami komolyabbat dugunk bele, érdemes megvizsgálni egy olcsóbb eszközzel, hogy rendben van-e.


Tető nélkül, sajnos kevéssé jó képen :) Jobb oldalt fent az 5V stabilizátor, alul a kártyaolvasó

Az alaplapra forrasztott drótokat érdemes valamivel rögzíteni, nehogy később feltépjünk valamit a rángatásukkal. Én hanyagul melegragasztóval pöttyintettem oda őket. A router CPU-ja, ha megdolgoztatjuk, egész jól tud melegedni, így tettem rá egy hűtőbordát (figyeljünk oda, hogy ne érjen a CPU körüli alkatrészekhez), illetve a ház tetejéről könnyen le tudtam venni a fehér betétet, így jobb a hűtése. Hogy ne potyogjanak bele dolgok, fekete hálót ragasztottam a helyére (nem találtam hirtelen rácsot). A hűtés fontos, mert a 841 procija nem tud hővédelmet, szóval ha túlmelegszik, fagy, újraindul.

Hirdetés

A hardver része ezzel meg is van. A szoftver problémásabb. A gyári nem kezeli az USB portot, így más lehetőség után kell nézni.

1.

Az egyik a DD-WRT, ezt nem próbáltam ilyen szempontból, de lehet, hogy tudja 841-en az USB kezelését. Viszont a DD-WRT fórumon Simon94 megosztott egy firmware-t, ami OpenWRT Barrier Breaker alapon kezeli az USB-t, és feltett hozzá egy extroot tutorialt is.
Ez a fw amúgy jól működik, én ez alapjén csináltam otthon miniszervert, TP-link 841 + USB + 8GB SD kártya + extroot felállásban, viszont mégiscsak jobb lenne egy up to date, tiszta megoldás (és régi benne a kernel, NTFS támogatás nem is egyszerűen lesz vele).

2.

Saját fordítás : az OpenWRT ugye egy Linux, amit magunk is lefordíthatunk; az OpenWRT 841-es wikin van egy patch, de csak egy kernel verzióhoz. Elvileg az is le van írva, hogy kell más verziók fordításánál eljárni, de azért egy fordítás elég jó felkészültséget kíván.

Egyedi OpenWRT build egyszerűen készíthető az Image Builder-rel, csakhogy hiába tesszük bele a 841 image-ünkbe az USB kezeléséhez szükséges csomagokat, nem fog menni, mert a kernel nem kezeli az USB-t.

3.

Az eddigi legjobbnak tűnő megoldás a TP-Link MR3420 firmware. Ez a router ugyanis hardveresen azonos a TL-WR841-gyel, de beépített USB porttal. És van rá OpenWRT... Viszont nem lehet csak úgy egy ehhez készült buildet rátenni a 841-re, mert a bootloader más. Amúgy a TL-MR3420 v1 a 841 v7-tel, a 3420 v2 a 841 v8-cal egyezik, ez fontos. (Ha más verzióra való fw kerül rájuk, akkor meredek lesz az unbrick.. ;] )

Mégis, hogy rakjunk rá 3420 fw-t a 841-re? Ezt a DD-WRT fórumon etso súgta meg :

- 841 gyári szoftverről kezdünk
- gyári felületen firmware upgrade egy DD-WRT -re (lehet, hogy Open is jó, de valószínű az figyeli, mit akarunk rárakni), ami 841-hez való (v7.x itt - 8.x -hez nem találok)
- MR3420 webrevert image-el visszaállítani a gyári MR3420 fw-t (muuuhahahaha :D )

Itt már élvezhetjük a gyári MR3420 firmware előnyeit, USB 3G modem kezelése és backup hálózatként felhasználása a jutalom...

De a MR3420 gyári szoftverre már felhúzható az OpenWRT MR3420 image (v7.x install image), amiben szintén szerepelnek az USB kernelmodulok, és a dmesg kimenetéből láthatóan, kezeli is az USB aljzatot (viszont alapesetben csak a mobilnet modemeket, mint a gyári firmware). Még nem jutottam el addig, hogy kipróbáljam, de valószínű működni fog a MR3420-hoz Image Builder-rel készült buildeknél is... :D (Ha tudom tesztelni, megírom ide is!) Update : egy ideje már megy az Image Builder-es fw is egy routeremen.

Innentől pedig csak egy extroot kell, és gyakorlatilag azt telepítünk, amit csak szeretnénk (a router saját flash-e csak 4MB, csak a nagyon szükséges dolgok férnek el rajta).

USB mod amúgy kivitelezhető TL-WR740 (ezen nagyon nehéz) és 741 routereken is :) .

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