Wpis z mikrobloga

Jest tu ktoś kto zna #openwrt i wie co nieco #mikrokontrolery? Chodzi o to, ze mam router DIR-615 D5, na którym jest 4MB flashchip a poleca się wgrać na niego obraz z DIR-620 D1 ale ten ma 8MB flashchip. Zasadniczo wszystko wydaje się być zgodne poza rozmiarem flashchip. Obraz systemu ma tam niecałe 0,5MB a potem chyba same zera. Pytanie czy w ogole jest sens ryzykowac wgrywanie obrazu? Czy tam na stałe jest zapisane gdzieś gdzie się kończy rejestr pamięci? #router #mikrokomputery #mips #linux #sieci
  • 24
  • Odpowiedz
@kebe: Powinny być adresy dla partycji przechowującej konfigurację, generalnie cały overlay. Więc jak dla mnie nie powinno działać... Skąd takie informacje żeby wgrywać obraz z modelu o innej ilości pamięci?
  • Odpowiedz
@kebe: Nie wgrywaj od urządzenia z większym flash, ubijesz go na pewno. Jeżeli wszystko się zgadza z lepszym modelem, to pozostaje wymienić flash na "kompatybilny" 8MB. Tylko programator musisz mieć, żeby pobawić się z bootloaderem, bo możliwe jest, że jak po prostu przekopiujesz ten z mniejszej kostki to nie ruszy (bo nie zna definicji większego flasha).
Alternatywnie, możesz się pobawić w skompilowanie obrazu pod 4MB kość. Tu musisz podmienić definicje
  • Odpowiedz
via Android
  • 0
@wu7c7i: Oficjalnego obrazu nie ma bo ten D5 to jakis ewenement, który nie ma recovery. Więc jak wygrywać to tylko raz :) na Wiki OpenWrt jest napisane, żeby spróbować obrazu DIR-620 D1 bo ten sam SoC i ilość RAM
  • Odpowiedz
@kebe: Na wiki nieraz gargantuiczne bzdury widziałem. Procek ten sam, ale różnica w rozmiarze kości sprawia, że nie można wgrać obrazu "ot tak". Najlepiej, jakbyś zdobył "fullflash" (obraz całej kości) z dir620, zapisał na 8MB kość i wlutował do 615 - najmniej roboty byłoby. W dir620 siedzi Macronix MX25L6405D, tylko od majfrendów - w PL pewnie coś z wylutu albo Winbonda w25q64bvsig łatwo dostaniesz, ale nikt nie daje gwarancji, że
  • Odpowiedz
@vvkurvv_ostry: Chciałem z niego robić range boostera. Ale za duzo zabaw z lutowaniem a i doswiaczenia nie mam. Generalnie jest do zabawy ten sprzęt jako, ze jest nieuzywany juz (kupilem za to TP-Linka WR1043ND). Może w wolnej chwili skompiluje to na 4MB i zobaczę czy ruszy.
Ale dzięki za porady :)
  • Odpowiedz
@Pan_Slon @vvkurvv_ostry Tyle, że ja chce rozszerzyć zasięg tego TP-Linka przy użyciu tego nieużywanego już D-linka. To jest robione dla dalszej rodziny, wiec nie chce sie pakować w koszty i czas marnować. Dwupiętrowy dom i dużo żelbetonu jednak tłumi sygnał () . Ale jak ktoś chce się pobawić :)
  • Odpowiedz
@Pan_Slon: No wiem. Do RT305x jest nawet bootloader ze wsparciem 32MB kości szeregowych flash. Ale ten routerek w temacie jest na trochę innym procu i nie wiadomo do końca, z czym tam uboot skompilowany jest. Strzelam, że popularny Winbond W25Q64BV podejdzie, ale głowy bym nie dał.
  • Odpowiedz
@Pan_Slon: OP coś poknocił. Strzelam, że nie zauważył dziury między bootloaderem a początkiem kernela. Nawet najbardziej okrojone dziwadła z VXworks miały większą zajętość.
W tych ralinkach kernel zaczyna się zwykle od offsetu 0x50000 (początkowe 320KB zajmuje częściowo bootloader, ale ok. połowa jest "pusta").
  • Odpowiedz
@Pan_Slon: Nope. Rozmiar może być taki sam, bo z identycznymi pakietami kompilowane są obrazy, ale jeśli rzeczywiście mapa pamięci dir620 jest pisana pod 8MB flash, to tu przy pierwszym bootowaniu wywali się na "unable to mount rootfs".
Zresztą to nie mój router, niech @kebe robi jak chce i pochwali się wynikiem.
  • Odpowiedz
@kebe: Powodzenia. http://eko.one.pl/?p=openwrt-kompilacja
DIR620 ma USB, a twój nie - w menuconfig wywal więc wszystko z obsługą usb, inaczej luci (webinterfejs) może ci nie wejść. Pakiety które wkompilujesz w obraz zajmują znacznie mniej miejsca, niż instalowane później z opkg, więc zaznacz od razu luci i luci-proto-relay (będzie potrzebne do postawienia repeatera w układzie APclient+AP).
To jest plik .dts do 620
https://dev.openwrt.org/browser/trunk/target/linux/ramips/dts/DIR-620-D1.dts?rev=47900
Znajdź go na dysku po sklonowaniu repo i
  • Odpowiedz
@vvkurvv_ostry Zbudowałem ze zmianami, które mi podałeś. Możesz mi tylko wyjaśnić który obraz mam wgrać? Mam initramfs-uImage.bin oraz squashfs-sysupgrade.bin.
  • Odpowiedz
@kebe: obraz initframfs służy do uruchomienia z pamięci RAM. Niestety, potrzebna do tego konsola szeregowa. Tutaj jest przykład, jak to zrobić ("I want to test the prebuilt images") http://wiki.umeahackerspace.se/w/index.php?title=Dir-300b5
Jak masz odpalony system z obrazu initframfs, to możesz się połączyć z routerem np. za pomocą WinScp i skopiować obraz sysupgrade do katalogu /tmp (w openwrt jest zawsze zmapowany na ramdysk), a następnie wykonać:

sysupgrade /tmp/squashfs-sysupgrade.bin

Wtedy programowany jest flash, i
  • Odpowiedz