Új hozzászólás Aktív témák

  • vargalex

    Topikgazda

    Sziasztok!

    Van (volt) nálam egy teljesen halott router, és ígértem, hogy beszámolok az élesztésről. Idő hiányában kicsit eltolódott az élesztés, de hétvégén rászántam magam és megcsináltam.

    Az előzmények:

    A router egy DD-Wrt alatt kiadott mtd erase parancs (valószínűleg helytelenül paraméterezve) teljesen elérhetetlen lett, csak a power led világított. Soros porton sem volt elérhető, mint utólag kiderült az erase hatására a teljes flash FF-el kitöltésre került (azaz nem volt rajta semmi, sem bootloader, sem ART partíció, szóval tök üres lett).

    A megoldás:

    Mivel nincs flash író eszközöm, illetve a router flash IC-je JTAG-on keresztül nem írható, így nagyjából itt érhetett volna véget a történet. Azonban juhosg-al beszélgetve a helyzetről, az az ötlete támadt, hogy kellene egy olyan build-et csinálni, ami képes 2 flash chip egyidejű kezelésére, így az üres flash-ba azt lehetne írni, amit szeretnénk. El is készítette hozzá a patch-et (ami alapból a második flash ChipSelect lábához az USB led GPIO-ját használta, de utólagos egyeztetéssel ezt módosítottuk a GPIO20-ra, mivel az úgysincs használatban), majd buildeltem egy alap OpenWrt-t (természetesen patch-elve). Ezt a firmware-t nyilván a saját működő routeremre töltöttem fel.

    A rossz routerből kiforrasztottam a flash chip-et:

    A flash helye kicsit közelebbről:

    Flash IC:

    Majd a két flash használt lábait a ChipSelect kivételével összekötöttem. A második flash ChipSelect lába került a routerem GPIO20-as kimenetére, illetve a ChipSelect és VCC lábak közé egy felhúzó ellenállás (azért, hogy amíg nem vezérli semmi a GPIO20-at, addig is inaktív maradjon a második flash). Az ellenállást az egyszerűség kedvéért a 2 vezetékre forrasztottam:

    Ugyanez működés közben:

    A patch-nak köszönhetően a rendszer alól így a második flash tartalma egy önálló mtd eszközként írható/olvasható lett. A saját flash tartalmam alapján összeállítottam egy teljes flash tartalmat (u-boot+firmware+art partíció). Az u-boot partícióban még a flash-ra írás előtt módosítottam a MAC címet (az eredetire), illetve a gyári firmware alatt a WPS-hez használt PIN-t. Majd az így előállt 8 MB-os tartalmat a flash-ra írtam. Nyilván így az ART partícióban található kalibrációs adatok megegyeznek az enyémmel, de ezt sajnos nem tudjuk generálni. A WiFi mindenestre működik.

    Majd visszaforrasztottam a flash-t a routerbe:

    Kicsit közelebbről:

    Ezek után az eszköz hibátlanul működik. Lehet, hogy a befektetett munkát nem érte meg a dolog, mindenesetre szerintem maga a megoldás érdekes, ezért is osztottam meg veletek.

    [ Módosította: doc ]

    Alex

Új hozzászólás Aktív témák