Wednesday, June 10, 2015

Instalacija OpenWrt-a na Siemens SX763

Disclaimer: Sve što radite isključivo je na vašu vlastitu odgovornost odnosno
ne krivite me ako se nešto loše dogodi vama ili vašoj opremi).

Pa počnimo.
Ovaj guide je za hardcore ekipu odnosno one kojima riječ lemilica, bootloader, firmware,
UART i slični pojmovi nisu strani, a uz jutarnju kavu im se još dimi i nožica otpornika od
sviježeg lemlenja.

Tutorijala za instalaciju OpenWrt-a na spomenuti router ima podosta, ali svi oni
se baziraju na prastaroj custom verziji trunk builda za koju nema dobrih paketa
sa kojim bi ovaj router bolje iskoristili.

Potrebna oprema:
Lemilica i pribor (tinol, flux).
Žice.
USB TTL adapter (npr. CH340).
PC.

Potreban softver:
Putty.
OpenTFTP.
HxD
Firmware i bootloader sa ovog linka.

Zamjena bootloadera:
Tvornički firmware koristi dva U-Boot bootloadera koji preko checksuma detektiraju
da li je itko probao prčkati po njima i ako je izbace grešku. "Delboy" je  uspio modificirati
drugi bootloader i time nam svima omogučio korištenje OpenWrt-a.

Ali...

Taj bootloader ne radi sa novim buildovima OpenWrt-a (npr. Barrier Breaker)
nego je potrebno staviti potpuno drugi bootloader na uređaj.

Tu dolazimo do lemlenja.
Router treba ubaciti u UART mod da mu možemo poslati (i zapisati na flash)
taj novi bootloader, a to se radi spajanjem test pointova na matičnoj ploči.

Otvorite router sa torx odvijačem (4 vijka sa donje strane) i skinite poklopac.
Ako ide teže to je zbog plastičnih kopči (koje mi uvijek uspiju popucati...).

Potrebno je zalemiti žice na sljedeće točke:
RX, TX, GND.


Sada za provjeru spojite se TTL modulom na serijski port 115200 bps putem Putty-a i upalite router.

U konzoli će se početi ispisivati debug info sa routera.
Ako nema ničega provjerite točke i ispravnost modula te da li je unesen dobar bitrate.
Nemojte nastaviti dok sve ne proradi jer je konzola potrebna.

Ugasite router, zalemite i spojite žice za UART mod (BOOT_SELECT_0, BOOT_SELECT_2)
Upalite router. U konzoli bi trebalo pisati:
ROM VER: 1.0.3
CFG 04
Read EEPROMX
 X
UART
Ugasite router, ugasite putty (da se oslobodi COM port) i otvorite command prompt.

Upalite router i upišite sljedeće pri čemu COM1 zamjenite sa vašim serijskim portom
te upišite ispravnu putanju za u-boot.asc datoteku.
copy /b u-boot.asc COM1
 Kada se kopiranje završi upalite putty i pritiskom na enter trebalo bi vas dočekati:
GIGASX763#
Ako toga nema ponovite postupak.

Sada treba spremiti image na flash. Ovaj u-boot koji smo poslali preko serijskog porta
je samo u memoriji routera. Datoteku koju treba nasnimiti na flash je u .bin formatu.

Podesite IP računala na 192.168.1.2, kopirajte firmware datoteke u root TFTP servera
i pokrenite server. U konzolu na routeru upišite "run update-uboot-nor" i stisnite enter.

Router će sada putem mreže sa računala povuči u-boot.bin i nasnimiti ga na flash.
Ugasite router i odspojite žice da se router vrati u normalni mod.

Ponovno pokrenite putty i ako je potrebno zaustavite bootanje firmwarea.
Otvorite "sx763_fw.bin" HxD-om i od offseta 0x16 upišite svoju MAC adresu
koja se nalazi na naljepnici sa donje strane kučišta routera.

Sada prebacite wireless firmware na flash:
tftp sx763_fw.bin
protect off 0xb07f0000 +$filesize
erase 0xb07f0000 +$filesize
cp.b $fileaddr 0xb07f0000 $filesize
protect on 0xb07f0000 +$filesize

I na kraju OpenWrt (sx762.img nije tipfeler):
tftp sx762.img
protect off $kernel_addr +$filesize
erase $kernel_addr +$filesize
cp.b $fileaddr $kernel_addr $filesize

To je to, SX763 sada ima Barrier Breaker OpenWrt na sebi.



Izvori:
http://wiki.openwrt.org/toh/gigaset/sx76x
https://forum.openwrt.org/viewtopic.php?id=50274&p=3