Ormai nei cassetti da almeno 7 - 8 anni e' venuto il momento di passarla in rassegna e di tentare di utilizzarla in qualche modo.
In giro per la rete si trovano molti articoli su come modificarne il firmware ed installare OpenWrt, il noto programma di gestione per Router.
Ho quindi tentato anche io la strada dell'hacking.
La maggior parte degli articoli la mettono giu' complicata, considerando la connessione seriale al connettore ICSP come una cosa estremamente difficile ed onerosa; Io non ho trovato tutta questa difficolta, devo essere sincero, anzi, e' stato piu' pesante il lavoro di lettura ed analisi dei tanti sistemi alternativi alla semplice connessione seriale, che sconsiglio proprio di percorrere le strade proposte nella maggior parte dei Blog, che indicano come preferibile la strada di modificare il firmware originale facendo un down-grade, per utilizzare un bug di una vecchia versione Fon ed ottenere i privilegi di root.
Semplicemente collegando un convertitore seriale alla porta ICSP, facilmente individuabile all'interno del circuito, si ottiene immediatamente la possibilita' di comunicare con il Bootloader della macchina.
Hardware
Architecture | MIPS 4KEc |
Vendor | n/a |
Bootloader | RedBoot |
System-On-Chip | Atheros AR2315 |
CPU Speed | 183 MHz |
Flash size | 8 MiB |
RAM | 16 MiB |
Wireless | Integrated Atheros 802.11b/g |
Ethernet | 1x RJ45 |
USB | No |
Serial | Yes |
JTAG | No |
Grigio -- GND
Viola -- RX
Arancio ----TX
Qui invece sono riportate le connessioni viste da dietro della scatola:
+-------------------+ |GND| . |TXD|RXD| . | |VCC| . | . | . | . | +-------------------+ +-----+ +--------+ +---+ |Power| |Ethernet| |Ant|Collegato il tutto e fatto partire il programma di lettura dei dati ricevuti su seriale (per Windows per esempio Putty e in Linux o MacOsx puoi usare Minicom) questo riportato qui di seguito e' quello che dovresti leggere
+PHY ID is 0022:5521 Ethernet eth0: MAC address xx:xx:xx:xx:xx IP: 0.0.0.0/255.255.255.255, Gateway: 0.0.0.0 Default server: 0.0.0.0 RedBoot(tm) bootstrap and debug environment [ROMRAM] Non-certified release, version v1.3.0 - built 16:57:58, Aug 7 2006 Copyright (C) 2000, 2001, 2002, 2003, 2004 Red Hat, Inc. Board: ap51 RAM: 0x80000000-0x81000000, [0x80040450-0x80fe1000] available FLASH: 0xa8000000 - 0xa87f0000, 128 blocks of 0x00010000 bytes each. == Executing boot script in 1.000 seconds - enter ^C to abort ^C RedBoot>
RedBoot> fis list Name FLASH addr Mem addr Length Entry point RedBoot 0xA8000000 0xA8000000 0x00030000 0x00000000 rootfs 0xA8030000 0xA8030000 0x00700000 0x00000000 vmlinux.bin.l7 0xA8730000 0x80041000 0x000B0000 0x80041000 FIS directory 0xA87E0000 0xA87E0000 0x0000F000 0x00000000 RedBoot config 0xA87EF000 0xA87EF000 0x00001000 0x00000000
Il firmware piu' aggiornato al momento in cui scrivo lo puoi trovare a questo indirizzo
Scarica i due file e passali nella cartella su cui punta il server TFTP che avrai gia' predisposto magari leggendo questa guida che ho fatto proprio ieri
Con questa istruzione setterai il numero IP del AP (-l)ocal e quello del server dove si collegherà con la prossima istruzione per scaricare il firmware (il tuo server TFTP) (-h)ost
RedBoot> ip_address -h 192.168.0.2 -l 192.168.0.1/24Con questa istruzione il AP si collega al Server TFTP e si scarica il novo Firmware:
RedBoot> load -r -b %{FREEMEMLO} openwrt-atheros-vmlinux.lzma Using default protocol (TFTP) Raw file loaded [...], assumed entry at [...]Questa istruzione serve per cancellare dalla Flash memory il precedente firmware (sei sicuro???)
RedBoot> fis initPoi si installa il nuovo :
RedBoot> fis create -e 0x80041000 -r 0x80041000 vmlinux.bin.l7 ... Erase from 0xa8730000-0xa87e0000: ........... ... Program from 0x80041000-0x800f1000 at 0xa8730000: ........... ... Erase from 0xa87e0000-0xa87f0000: . ... Program from 0x80ff0000-0x81000000 at 0xa87e0000: .
Stessa cosa per le partizioni:
RedBoot> load -r -b %{FREEMEMLO} openwrt-atheros-root.squashfs Using default protocol (TFTP) Raw file loaded 0x80041000-0x80200fff, assumed entry at 0x80041000
RedBoot> fis create rootfs ... Erase from 0xa8030000-0xa8730000: ................................................................................................................ ... Program from 0x80041000-0x80741000 at 0xa8030000: .............................................................................................................. ... Erase from 0xa87e0000-0xa87f0000: . ... Program from 0x80ff0000-0x81000000 at 0xa87e0000: .
il comando sotto serve per controllare che tutto sia andato a buon fine
fconfig -l -nNel caso che il parametro boot_script_data sia diverso da
.. fis load -l vmlinux.bin.l7 .. exec
Allora :
RedBoot> fconfig boot_script_data boot_script_data: .. fis load -l vmlinux.bin.1 .. exec Enter script, terminate with empty line >> fis load -l vmlinux.bin.l7 >> exec >> Update RedBoot non-volatile configuration - continue (y/n)? y ... Erase from 0xa87e0000-0xa87f0000: . ... Program from 0x80ff0000-0x81000000 at 0xa87e0000: . RedBoot>A questo punto si puo' resettare il nostro nuovo AP
RedBoot> resetAdesso dovresti trovare il tuo nuovo Access Point con OpenWrt che risponderà chimandolo con un browser web all'indirizzo:
http://192.168.1.1
E' inutile dire che devi avere i parametri corretti per poterlo collegare nella configurazione della tua scheda di rete.