Dzisiaj jest 11 gru 2017, 13:07

Strefa czasowa UTC+1godz. [letni]




Nowy temat Odpowiedz w temacie  [ Posty: 11 ] 
Autor Wiadomość
 Tytuł: Firmware z Linksys WRT32X na WRT3200ACM
Post: 17 wrz 2017, 16:33 
Offline
Użytkownik

Rejestracja: 23 cze 2016, 21:46
Posty: 21
Cześć,

Jako, że Linksys wypuscił do pobrania firmware dla swojego nowego routera jakim jest WRT32X, któy jest sprzętowo w 100% identyczny jak WRT3200ACM chciałbym wrzucić ten soft do WRT3200ACM.
Firmware dla WRT32X to OpenWRT z trunka z własnościowym sterownikem Marvell'a dla WiFi.
Niestety nie da się po prostu wgrać tego firmware z uwagi na inny układ partycji na kości NAND.
WRT3200ACM:
Marvell>> mtdparts

device nand0 <armada-nand>, # parts = 11
 #: name                size            offset          mask_flags
 0: uboot               0x000000200000          0x000000000000          1
 1: u_env               0x000000020000          0x000000200000          0
 2: s_env               0x000000040000          0x000000220000          0
 3: devinfo             0x000000040000          0x0000007e0000          0
 4: sysdiag             0x0000001e0000          0x000000820000          0
 5: ubifs               0x00000a000000          0x000000a00000          0
 6: kernel              0x000005000000          0x000000a00000          0
 7: rootfs              0x000004a00000          0x000001000000          0
 8: alt_kernel          0x000005000000          0x000005a00000          0
 9: alt_rootfs          0x000004a00000          0x000006000000          0
10: syscfg              0x000005600000          0x00000aa00000          0

WRT32X:
Marvell>> mtdparts

device nand0 <armada-nand>, # parts = 6
 #: name                size            offset          mask_flags
 0: uboot               0x000000200000          0x000000000000          1
 1: u_env               0x000000020000          0x000000200000          0
 2: s_env               0x000000040000          0x000000220000          0
 3: devinfo             0x000000040000          0x0000007e0000          0
 4: firmware1           0x000007b00000          0x000000900000          0
 5: firmware2           0x000007b00000          0x000008400000          0


O ile zapoznałem się już z partycjonowałem poprzez mtdparts w U-Boot to nie bardzo wiem jakie kroki miałbym dalej podjąć. Czytałem, że musiałbym utworzyć system plików UBIFS po utworzeniu nowych partycji, ale nie wiem jak :P I jak dokłądnie później wgrać firmware, na jakie i czy w ogóle zmieniać zmienne U-Boot itp.

Na forum DD-WRT jedna osoba pokazała WRT3200ACM z wgranym softem of WRT32X, ale nie udało mi się z nią skontakować: https://i.imgur.com/MomoZkc.jpg

Link do firmware dla WRT32X: http://downloads.linksys.com/downloads/firmware/FW_WRT32X_1.0.170818.201.img
Firmware wydaje się mieć standardowy format jak sysupgrade dla WRT3200ACM

Póki co wydaje mi się, że najlepiej byłoby skompilować LEDE/OpenWRT dla WRT3200ACM, ze zmienionym układem partycji. Wgrać tak przygotowany plik factory i mieć nadzieje, że sam utworzy UBIFS? A później wgrać firmware Linksysa przez sysupgrade. Nie znam się na tym :P
Pomógłby ktoś obeznany w temacie poeksperymentować?

_________________
Router: Linksys WRT3200ACM-EU + AP: Netgear WNDR4300 V1


Ostatnio zmieniony 19 wrz 2017, 20:02 przez inteliboy, łącznie zmieniany 1 raz

Na górę
 Wyświetl profil  
Odpowiedz z cytatem  
 Tytuł: Re: Firmware z Linksys WRT32X na WRT3200ACM
Post: 17 wrz 2017, 17:08 
Offline
Administrator
Awatar użytkownika

Rejestracja: 10 kwie 2010, 00:28
Posty: 12985
Lokalizacja: Warszawa
Definicję partycji dla WRT3200ACM masz w dtsie, w target/linux/mvebu/files/arch/arm/boot/dts/armada-385-linksys-rango.dts Zmień sobie na nową, skompiluj i ew wgraj obraz jak nie boisz się uwalenia sprzętu.

_________________
http://eko.one.pl - prawie wszystko o OpenWrt


Na górę
 Wyświetl profil  
Odpowiedz z cytatem  
 Tytuł: Re: Firmware z Linksys WRT32X na WRT3200ACM
Post: 17 wrz 2017, 17:11 
Offline
Użytkownik

Rejestracja: 23 cze 2016, 21:46
Posty: 21
I to (po zmianie partycji przez mtdparts) teoretycznie wystarczy?
Najwyżej będę się później bawił z kwboot :P

_________________
Router: Linksys WRT3200ACM-EU + AP: Netgear WNDR4300 V1


Na górę
 Wyświetl profil  
Odpowiedz z cytatem  
 Tytuł: Re: Firmware z Linksys WRT32X na WRT3200ACM
Post: 17 wrz 2017, 17:13 
Offline
Administrator
Awatar użytkownika

Rejestracja: 10 kwie 2010, 00:28
Posty: 12985
Lokalizacja: Warszawa
Teoretycznie tak, będziesz miał obraz ze zmienionym rozkładem partycji. A czy faktycznie zadziała to już musisz zobaczyć.

_________________
http://eko.one.pl - prawie wszystko o OpenWrt


Na górę
 Wyświetl profil  
Odpowiedz z cytatem  
 Tytuł: Re: Firmware z Linksys WRT32X na WRT3200ACM
Post: 17 wrz 2017, 17:15 
Offline
Użytkownik

Rejestracja: 23 cze 2016, 21:46
Posty: 21
OK, dzięki, to będę się bawił, dam znać o postępach :)

_________________
Router: Linksys WRT3200ACM-EU + AP: Netgear WNDR4300 V1


Na górę
 Wyświetl profil  
Odpowiedz z cytatem  
 Tytuł: Re: Firmware z Linksys WRT32X na WRT3200ACM
Post: 17 wrz 2017, 23:23 
Offline
Użytkownik

Rejestracja: 23 cze 2016, 21:46
Posty: 21
Partycje ustawione, obraz OpenWRT skompilowany i wgrany na obydwa zestawy partycji a tu:
log kernela: https://pastebin.com/FXc8T3GW

Jakiś pomysł dlaczego nie może zamontować rootfs?
Podejrzewam, że ma to jakiś związek z "Bad block table found at page ....."
I muszę się zastosować do "Flash with bad blocks method" z https://wiki.openwrt.org/toh/linksys/ea3500

EDIT: dochodzi pierwsza w nocy, do tej pory nic sam nie wymyśliłem, więc przywróciłem poprzedni układ partycji i wgrałem oryginalny soft póki co. jakby ktoś miał jakiś pomysł, proszę dać znać a jak nie to poczekam na oficjalne obrazy OpenWRT/LEDE dla WRT32X i będę działał stamtąd.

_________________
Router: Linksys WRT3200ACM-EU + AP: Netgear WNDR4300 V1


Ostatnio zmieniony 19 wrz 2017, 20:01 przez inteliboy, łącznie zmieniany 1 raz

Na górę
 Wyświetl profil  
Odpowiedz z cytatem  
 Tytuł: Re: Firmware z Linksys WRT32X na WRT3200ACM
Post: 18 wrz 2017, 06:50 
Offline
Administrator
Awatar użytkownika

Rejestracja: 10 kwie 2010, 00:28
Posty: 12985
Lokalizacja: Warszawa
Co ty właściwie skompilowałeś że masz taki stary kernel?
Czemu inaczej nazwałeś partycje? To może mieć znaczenie, bo on może szukać określonych nazw w partycjach.

_________________
http://eko.one.pl - prawie wszystko o OpenWrt


Na górę
 Wyświetl profil  
Odpowiedz z cytatem  
 Tytuł: Re: Firmware z Linksys WRT32X na WRT3200ACM
Post: 18 wrz 2017, 08:06 
Offline
Użytkownik

Rejestracja: 23 cze 2016, 21:46
Posty: 21
To OpenWRT z trunka Designated Driver, w sumie ta sama wersja co w sofcie Linksysa, 50108.
Partycje nazwałem zgodnie z armada-385-linksys-rango.dts, ale też myślałem, że może to mieć jakiś wpływ i próbowałem różnych kombinacji nazw w mtdparts. Jak widać z resztą w logu, kiedy u-boot wybierze sobie partycję rootfs do bootowania to zmienia jej nazwę na ubi.
Czy sam U-Boot może mieć znaczenie w tym przypadku? Bo wiem, że WRT32X ma inny U-Boot. WRT3200ACM ma oznaczoną przez Linksys wersję v0.0.4 a WRT32X 2.0.6 lub 2.0.9 zależnie czy to pierwsza czy druga wersja ichniejszego firmware.
W ogóle to może skompiluje LEDE i na starszym Ubuntu, bo pod ręką poglądowo miałem wersje 17.10.

W obrazie Linksysa nie ma w ogole definicji partycji sysdiag, więc skompiluję tak samo bez tej definicji LEDE i zobaczymy.
EDIT: z LEDE dokładnie to samo, nie może odnaleźć rootfs.

_________________
Router: Linksys WRT3200ACM-EU + AP: Netgear WNDR4300 V1


Ostatnio zmieniony 19 wrz 2017, 20:00 przez inteliboy, łącznie zmieniany 1 raz

Na górę
 Wyświetl profil  
Odpowiedz z cytatem  
 Tytuł: Re: Firmware z Linksys WRT32X na WRT3200ACM
Post: 18 wrz 2017, 12:38 
Offline
Administrator
Awatar użytkownika

Rejestracja: 10 kwie 2010, 00:28
Posty: 12985
Lokalizacja: Warszawa
UBI error: no valid UBI magic found inside mtd6

a mtd6 podałeś jako root. Więc raczej tam nie masz ubifs.

_________________
http://eko.one.pl - prawie wszystko o OpenWrt


Na górę
 Wyświetl profil  
Odpowiedz z cytatem  
 Tytuł: Re: Firmware z Linksys WRT32X na WRT3200ACM
Post: 18 wrz 2017, 12:42 
Offline
Użytkownik

Rejestracja: 23 cze 2016, 21:46
Posty: 21
próbowałem odpalać ze wszystkimi mtblock od 4 do 8. napisałem post na forum OpenWRT może ktoś z WRT3200ACM też będzie się chciał pobawić i wpadnie na jakieś rozwiązanie :)

_________________
Router: Linksys WRT3200ACM-EU + AP: Netgear WNDR4300 V1


Na górę
 Wyświetl profil  
Odpowiedz z cytatem  
 Tytuł: Re: Firmware z Linksys WRT32X na WRT3200ACM
Post: 18 wrz 2017, 22:28 
Offline
Użytkownik

Rejestracja: 23 cze 2016, 21:46
Posty: 21
Uproszczona do bólu metoda wgrania softu z WRT32X do WRT3200ACM:
W konsoli U-Boot wpisujemy kolejno:
setenv mtdparts 'mtdparts=armada-nand:2048K(uboot)ro,128K(u_env),256K(s_env),256K@8064K(devinfo),123m@9m(firmware1),123m@132m(firmware2)'
setenv priKernAddr 0x0900000
setenv altKernAddr 0x8400000
setenv altFwSize 0x7b00000
setenv priFwSize 0x7b00000
setenv nandboot 'setenv bootargs console=ttyS0,115200 root=/dev/mtdblock6;nand read $defaultLoadAddr $priKernAddr $priKernSize; bootz $defaultLoadAddr'
setenv altnandboot 'setenv bootargs console=ttyS0,115200 root=/dev/mtdblock8;nand read $defaultLoadAddr $altKernAddr $altKernSize; bootz $defaultLoadAddr'
save

Ustawiamy IP peceta na 192.168.1.254 maskę na 255.255.255.0 i wrzucamy plik rango.img z załącznika do folderu TFTP. Podłączamy router kablem do peceta. Odapalmy TFTP i w konsoli U-Boot wpisujemy:
run update_both_images

po wgraniu się obrazu na obie partycje wpisujemy:
boot

wciskamy enter i to wszystko. należy pamiętać o zmienia adresu IP peceta na automatyczny :P

rango.img (pełne firmware skompilowane ze źródeł GPL - na stronie linksys do pobrania jest tylko sysupgrade): http://www108.zippyshare.com/v/lgm43Bri/file.html

Instrukcja cofnięcia wszystkich zmian:
Pobranie i zaserwowanie przez TFTP jakiegokolwiek firmware (pełnego, nie sysupgrade itp) dlaWRT3200ACM np LEDE, OpenWrt, oficjalne i zmiana nazwy na rango.img
I analogicznie użycie tych poleceń:

setenv mtdparts 'mtdparts=armada-nand:2048K(uboot)ro,128K(u_env),256K(s_env),256K@8064K(devinfo),1920K@8320K(sysdiag),80m@10m(kernel),74m@16m(rootfs),80m@90m(alt_kernel),74m@96m(alt_rootfs),160m@10m(ubifs),-@170m(syscfg)'
setenv nandboot 'setenv bootargs console=ttyS0,115200 root=/dev/mtdblock6 ro rootdelay=1 rootfstype=jffs2 earlyprintk $mtdparts;nand read $defaultLoadAddr $priKernAddr $priKernSize; bootm $defaultLoadAddr'
setenv altnandboot 'setenv bootargs console=ttyS0,115200 root=/dev/mtdblock8 ro rootdelay=1 rootfstype=jffs2 earlyprintk $mtdparts;nand read $defaultLoadAddr $altKernAddr $altKernSize; bootm $defaultLoadAddr'
setenv priKernAddr 0x0a00000
setenv altKernAddr 0x5a00000
setenv altFwSize 0x5000000
setenv priFwSize 0x5000000
save
run update_both_images
boot

_________________
Router: Linksys WRT3200ACM-EU + AP: Netgear WNDR4300 V1


Na górę
 Wyświetl profil  
Odpowiedz z cytatem  
Wyświetl posty nie starsze niż:  Sortuj wg  
Nowy temat Odpowiedz w temacie  [ Posty: 11 ] 

Strefa czasowa UTC+1godz. [letni]


Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 2 gości


Nie możesz tworzyć nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów

Szukaj:
Przejdź do:  
designed by digi-led.pl
...Copyright © 2010-2013, Ekipa openrouter.info