1 (edytowany przez zbynex 2016-10-23 14:05:21)

Temat: U-Boot Pepe2k Aktualizacja do nowszej wersji.

Dopadła mnie dzisiaj chwila bezczynności i postanowiłem zaktualizować poprzednią wersję u-boot od pepe2k do najnowszej. Byłem przekonany że z poziomu u-boot nie będzie problemów.

Łączę się z u-boot przez:  192.168.1.1/uboot.html wybieram właściwy plik obrazu nowego u-boot, dalej update  no i porażka. U-boot krzyczy ze zły rozmiar nowego pliku u-boot.

Do tej pory nigdy nie zagłębiałem się w upgrade u-boot z poziomu routera bo jak do tej pory wiązało się to z wymianą flash i szybciej było poskładać co trzeba na programatorze.

Proszę o podpowiedź jak najszybciej zrobić upgrade z poziomu u-boot lub gargoyle 1.9.1.1. Sprzęt taki jak w stopce.

WNDR 4300, WT3020F, TL-WR842NDV2 i MR3420V2 RamMOD FlashMOD U-Boot + Hilink E3372s + RTL2832u + IT9135v02 + HDD + VOIP + Gargoyle PL 1.10.0.1 by Obsy

2 (edytowany przez mar_w 2016-10-23 19:03:52)

Odp: U-Boot Pepe2k Aktualizacja do nowszej wersji.

Poszukaj w tematach.
Ten problem rozwiążesz instalując od Cezarego pakiet odblokowujący partycję mtd z uboot. Bo normalnie jest zablokowana przed zapisem. Umiesz dużo w openwrt to sobie poradzisz. (mtd-rw tak się nazywa/ł ten pakiet)

Xiaomi AX3000T @ Netgear R6220
* DVBT2 - T230C *

3 (edytowany przez zbynex 2016-10-24 10:45:25)

Odp: U-Boot Pepe2k Aktualizacja do nowszej wersji.

Czyli jak chcę wszystko poskładać na routerze to powinno wyglądać jak poniżej:

Instalacja i uruchomienie pakietu odblokowującego

# opkg update
# opkg install kmod-mtd-rw
# insmod mtd-rw.ko i_want_a_brick=1

Chwilowa kopia u-boot routera

# cat /dev/mtd0 > /tmp/mtd0-oryg

Zakładając że mam już w /tmp/ uboot pepe2k jako plik uboot-pepe2k składamy plik z nowym u-boot

# dd if=/tmp/mtd0-oryg of=/tmp/cutted bs=123K skip=1 && cat /tmp/uboot-pepe2k /tmp/cutted > /tmp/mtd0-nowy

Wgrywanie do flash

# mtd -e mtd0 write /tmp/mtd0-nowy mtd0

Zweryfikujcie czy po tej akcji smile nie będzie konieczne szybkie wyciąganie flasha smile

WNDR 4300, WT3020F, TL-WR842NDV2 i MR3420V2 RamMOD FlashMOD U-Boot + Hilink E3372s + RTL2832u + IT9135v02 + HDD + VOIP + Gargoyle PL 1.10.0.1 by Obsy

4 (edytowany przez mar_w 2016-10-24 11:29:14)

Odp: U-Boot Pepe2k Aktualizacja do nowszej wersji.

Składanie pamięci robi się jeżeli wykonujesz to przez programator. W systemie openwrt masz już zdefiniowane partycje więc...
Ja to robiłem dla z poziomu openwrt dla innego routera wg tej instrukcji: https://wiki.openwrt.org/toh/nexx/wt3020
Sekcja Openwrt support . - chodzi o zasadę działania
Oczywiście Kopie możesz sobie zrobic wszystkich partycji . Bedzie ich chyba okolo 6.

EDIT: posłuchaj @pepe2k. Nie sprawdziłem że jest większy

Xiaomi AX3000T @ Netgear R6220
* DVBT2 - T230C *

5

Odp: U-Boot Pepe2k Aktualizacja do nowszej wersji.

Nowa wersja jest większa i ma obsługę zapisywalnego environment, stąd brak możliwości aktualizacji bezpośrednio z wersji starszej.

W repozytorium jest skrypt do aktualizacji z poziomu systemu z odblokowaną partycją mtd0. Ale podejście jest nadal to samo: trzeba zrobić backup i skleić go z moim obrazem, który jest odpowiednio mniejszy, na tyle żeby nie nadpisał adresu MAC itd.

Pozdrowienia z Japonii!

6 (edytowany przez zbynex 2016-10-24 12:53:29)

Odp: U-Boot Pepe2k Aktualizacja do nowszej wersji.

pepe2k napisał/a:

Pozdrowienia z Japonii!

No to tylko życzyć udanych wakacji smile

pepe2kW napisał/a:

W repozytorium jest skrypt do aktualizacji z poziomu systemu z odblokowaną partycją mtd0.

Coś nie mogę trafić na ten skrypt. Możesz mnie naprowadzić.

I jeszcze pytanie czy ten skrypt zadziała bo router MR3420V2 identyfikuje się jako WR842NDV2 w związku z tym że Cezary nigdy nie kompiilował wersji dla przerobionych MR3420V2 a Pepe2k nie kompiluje U-Boota pod WR842NDV2. Czy w takiej sytuacju upgrade pójdzie automatycznie skryptem ?

WNDR 4300, WT3020F, TL-WR842NDV2 i MR3420V2 RamMOD FlashMOD U-Boot + Hilink E3372s + RTL2832u + IT9135v02 + HDD + VOIP + Gargoyle PL 1.10.0.1 by Obsy

7

Odp: U-Boot Pepe2k Aktualizacja do nowszej wersji.

Skrypt jest tutaj: https://github.com/pepe2k/u-boot_mod/tr … arget_util

Ten skrypt nic nie sprawdza poza sumą MD5, musisz sobie zerknąć gdzie on oczekuje obrazu, bo ja nie pamiętam (gdzieś w /etc/...).

8 (edytowany przez zbynex 2016-10-24 18:19:18)

Odp: U-Boot Pepe2k Aktualizacja do nowszej wersji.

@pepe2k dzieki wszystko jasne.

Ze skryptu wynika że ścieżka to: /etc/u-boot_mod
Faktycznie nic nie sprawdza poza rozszeżeniem pliku "bin" i sumą MD5

WNDR 4300, WT3020F, TL-WR842NDV2 i MR3420V2 RamMOD FlashMOD U-Boot + Hilink E3372s + RTL2832u + IT9135v02 + HDD + VOIP + Gargoyle PL 1.10.0.1 by Obsy

9 (edytowany przez zbynex 2016-10-24 20:25:18)

Odp: U-Boot Pepe2k Aktualizacja do nowszej wersji.

Myślałem że już po problemie ale jednak dalej jest. Kolejny problem to z sumą MD5. Zarówno po zmianie nazwy pliku md5sums pobranego od pepe2k na nazwę pliku "u-boot_mod__20161002__tp-link_tl-mr3420_v2.md5" jak i wygenerowaniu nowego pliku MD5 weryfikuje błędną sumę a jest identyczna od pepe2k jak i wygenerowana na podstawie pliku bin. Skrypt widzi plik sumy. Pliki u-boot_mod__20161002__tp-link_tl-mr3420_v2.bin oraz u-boot_mod__20161002__tp-link_tl-mr3420_v2.md5 są w katalogu /etc/u-boot_mod

Co prawda wgrałem uboota bo wywaliłem kontrolę MD5 ze skryptu ale chciałbym dojść gdzie popełniam błąd. Co jest nie tak z plikiem MD5 który wgrywam.

Zawartość wygenerowanego pliku u-boot_mod__20161002__tp-link_tl-mr3420_v2.md5 wygląda tak:

50f618abaddbfbcc64b9914c45fac0ff *u-boot_mod__20161002__tp-link_tl-mr3420_v2.bin

Chcę przebrnąć ten temat od początku do końca bo myślę że wielu kolegów może mieć taki sam problem z aktualizacją u-boot od pepe2k z poziomu Gargoyle. Jak się okazuje można utknąć w kilku miejscach.

WNDR 4300, WT3020F, TL-WR842NDV2 i MR3420V2 RamMOD FlashMOD U-Boot + Hilink E3372s + RTL2832u + IT9135v02 + HDD + VOIP + Gargoyle PL 1.10.0.1 by Obsy