[ vidonk @ 23.07.2025. 23:23 ] @
| Pozdrav ES-ovci, Imam Sagemcom Speed Portplus aka Board: F@ST5352 ruter na kom se vrti MIPS32 al ne regularni MIPS već modifikovana verzija koju je kreirala kompanija LEXRA, za one koje ne znaju kompanija LEXRA je uklonila 4 unaligned load and store opcode-a (lwl, lwr, swl, swr) i time njihova verzija MIPS-a nije kompatabilna sa originalnom verzijom i zbog toga ne moraju da plate licencu autorima MIPS-a a imaju OS za dž. LEXRU je kasnije kupio Intel i time ušao na tržište IoT uređaja, u OpenWRT-u nalazi se pod Lantiqu. E sad Lexra dolazi sa malim program koji se pokreće pre U-Boot-a i koji može da se konfiguriše odakle će da se pokrenuti U-Boot sa UART-a, ram-a, flesh memorije nisam siguran za USB dakle nešto poput BIOS-a na PC-u a uloga tog programa je i da sve obrište sa rutera postoji mogućnost da odradite recovery preko UART-a ne treba vam čuveni JTAG kad dođe do neželjene modifikacije firmware-a. Zašto pričam sve to pa zato što hoću da iskoristim taj feature da skinem firmware sa rutera kako bih došao do admin naloga. Pokušao sam da uđem u U-Boot al ne može zaključan, probao sam da sačekam da ruter boot-uje do kraja i da probam da dođem do command prompt-a ali kad pošaljem bilo šta preko UART-a ne dobijam nikakav odgovor dakle i to je zaključano. Moja ideja je sledeća da kreiram regularan otključan U-boot, e sad pošto se prenosi preko UART-a ne možete da “pošaljete” binarna verzija već ASCI verzija U-Boot-a u OpenWRT odaberete Lantiqu i pod U-Boot naći će te “ram” verziju U-Boot-a i u build direktoriji nakon make će te naću U-Boot.asc taj .asc fajl treba poslati preko UART-a i boot-ovati U-Boot I nakon toga poslati firmware preko TFTP-a ili preko md.b -a sve jedno mi je samo da dođem do firmware-a. E sad po defaultu kad se ruter upali on boot-uje sa NAND-a, pri vrhu boot log-a stoji verzija programa koji se pokreće prije U-boot-a dakle ROM VER: 1.0.0 a nakon toga CFG pa broj Code: ROM VER: 1.0.0 CFG 06 Evo tabelarnog prikaza kako ruter može biti konfigurisan da boot-uje Code: sel0 sel1 sel2 function 0 0 0 BOOT_NOR_NO_BOOTROM (0) 1 0 0 BOOT_NOR (1) 0 1 0 BOOT_MII0 (2) 1 1 0 BOOT_PCI (3) 0 0 1 BOOT_UART (4) 1 0 1 BOOT_SPI (5) 0 1 1 BOOT_NAND (6) 1 1 1 BOOT_RMII0 (7) Mi imamo CFG 06 ili ti BOOT_NAND (6) što znači da je pin “sel0” povezan LOW ili ti na GND pin sel1 HI ili +3,3v i sel2 takođe HI ili na +3,3v, e sad iz tabele se vidi da ako želimo da uploadujemo U-Boot preko UARTA i treba nam BOOT_UART (4) dakle kad pokrenemo ruter umjesto CFG 06 treba da stoji CFG 04 a da bi to postigli sel0 je povezan na GND to je OK sel1 treba da je povezan na GND i sel2 treba da je povezan na 3,3v dakle jedina razlika u odnosu na CFG 06 jeste da sel1 treba da povežemo na GND umjesto na 3,3v. Dakle spoimo provodnik na GND I na njegov kraj zalemimo otpornik ja sam korisio od 100 Ohm da ne spžim nešto prilikom ispitivanje gdje se na ploči nalazi pad sel1 i nakon više od pola sata pronađem da kada povežem R346 na GND dobijam ROM VER: 1.0.0 CFG 04 UART dakle ruter čeka da se uploadje U-Boot.asc. Kompajslirao sam svaku verziju U-Boot-a koji ima “ram” verziju u nazivu ali u nakon što se pošalje header fajla transfer se prekida dakle dođe prereano do EOF ne znam zbog čega, SoC rureta je Lantiq GRX389 pa me interesovalo da li se neko susretao sa sličnim problemom ? |