Aktualizacja: aktualnie Cezary buduje tylko obrazy ze zmienioną mapą flash. Obrazy z oryginalnym rozkładem partycji (przydatne do zrobienia backupu lub powrotu do OFW) możesz pobrać z www.lede-project.org


Modyfikacja

Netgear R7800 ma 128MB kostkę flash ale oryginalne obrazy wykorzystują tylko 30MB partycję „ubi” (mtd6) do zapisu danych użytkownika. Pozostaje niewykorzystana 68MB partycja „netgear” (mtd7) położona tuż za „ubi” a więc umożliwiająca uzyskanie ciągłego obszaru o rozmiarze ok. 98MB.

root@LEDE:~# cat /proc/mtd
dev:    size   erasesize  name
mtd0: 00c80000 00020000 "qcadata"
mtd1: 00500000 00020000 "APPSBL"
mtd2: 00080000 00020000 "APPSBLENV"
mtd3: 00140000 00020000 "art"
mtd4: 00140000 00020000 "artbak"
mtd5: 00200000 00020000 "kernel"
mtd6: 01e00000 00020000 "ubi"
mtd7: 04480000 00020000 "netgear"
mtd8: 00700000 00020000 "reserve"
mtd9: 02000000 00020000 "firmware"

Można to osiągnąć modyfikując mapę flash w pliku definicji routera. Cezary zbudował zmodyfikowane obrazy dla R7800 uwzględniające te zmiany i możesz przystąpić do zmiany OFW na LEDE.

Pamiętaj! Przed modyfikacją routera, szczególnie zmieniającą rozkład i zawartość fabrycznych partycji zrób pełną kopię zawartości flash!!!

Możesz to zrobić wgrywając obraz factory ze standardowym podziałem flash bezpośrednio z interfejsu OFW (Advanced → Administration → Firmware Update) lub uruchamiając router w trybie awaryjnym bootloadera (trzymając wciśnięty reset włącz zasilanie i cały czas wciskając reset czekaj na migającą białą diodę zasilania). Po restarcie logujesz się po SSH i robisz kopię wszystkich partycji:

root@LEDE:~# dd if=/dev/mtd0 of=/mnt/sda1/mtd0.backup
...
root@LEDE:~# dd if=/dev/mtd9 of=/mnt/sda1/mtd9.backup

Więcej informacji i gotowe skrypty na stronie OpenWRT: http://wiki.openwrt.org/doc/howto/generic.backup

Drugi krok to wgranie zmodyfikowanego obrazu. Pobieramy plik factory z tego miejsca (sysupgrade nie zmieni mapy flash) i wgrywamy przez TFTP. Po restarcie router ma do dyspozycji całą dostępną przestrzeń flash:

root@LEDE:~# cat /proc/mtd
dev:    size   erasesize  name
mtd0: 00c80000 00020000 "qcadata"
mtd1: 00500000 00020000 "APPSBL"
mtd2: 00080000 00020000 "APPSBLENV"
mtd3: 00140000 00020000 "art"
mtd4: 00140000 00020000 "artbak"
mtd5: 00200000 00020000 "kernel"
mtd6: 06280000 00020000 "ubi"
mtd7: 00700000 00020000 "reserve"
mtd8: 06480000 00020000 "firmware"
Powrót do OFW

Powrót do stanu wyjściowego rozpoczynasz od uruchomienia routera w trybie awaryjnym bootloadera i wgrania przez TFTP standardowego obrazu LEDE-factory. Jeżeli aktualizacja oprogramowania zakończyła się pomyślnie, to po zalogowaniu się po SSH zobaczysz poniższe wartości:

root@LEDE:~# cat /proc/mtd
dev:    size   erasesize  name
mtd0: 00c80000 00020000 "qcadata"
mtd1: 00500000 00020000 "APPSBL"
mtd2: 00080000 00020000 "APPSBLENV"
mtd3: 00140000 00020000 "art"
mtd4: 00140000 00020000 "artbak"
mtd5: 00200000 00020000 "kernel"
mtd6: 01e00000 00020000 "ubi"
mtd7: 04480000 00020000 "netgear"
mtd8: 00700000 00020000 "reserve"
mtd9: 02000000 00020000 "firmware"

Następnie musisz zainstalować moduł umożliwiający zapis na wszystkich partycjach i przywrócić zawartość partycji „netgear” z kopii zapasowej:

root@LEDE:~# opkg update
root@LEDE:~# opkg install kmod-mtd-rw
root@LEDE:~# insmod mtd-rw.ko i_want_a_brick=1
root@LEDE:~# mtd write /mnt/sda1/mtd7.backup netgear
Unlocking netgear ...

Writing from /mnt/sda1/mtd7.backup to netgear …
root@LEDE:~#

Ostatni krok to ponowne uruchomienie routera w trybie awaryjnym bootloadera i wgranie przez TFTP oryginalnego oprogramowania Netgeara. Jeżeli router wystartował, możesz cieszyć się oryginalnym oprogramowaniem Netgera.

77

(375 odpowiedzi, napisanych Oprogramowanie / Software)

branetre napisał/a:

@Wally no ale jeśli wszystko działa po wgraniu OFW to raczej podczas wgrywania ta partycja jest tworzona na nowo.

Niekoniecznie, może nie jest w ogóle używana, może będzie w nowym sofcie, może...

branetre napisał/a:

Jest jakiś sposób na sprawdzenie pod OFW czy wszystkie partycje są w porządku ?

Obawiam się, że pozostaje tylko rozkręcić i podpiąć się konsolą. Chyba, że @pepe2k ma już zmodyfikowanego u-boota (z konsolą sieciową) dla tego routera.

branetre napisał/a:

Jeśli się okaże że faktycznie wywaliło mi tą partycję i jej niema, a na dodatek po jakimś czasie pojawią się problemy to mogę liczyć na Twój backup partycji z R7800 ? O ile da się go wgrać do mojego R7800. Pozdrawiam

Myślę, że nie powinno być problemu, jeżeli nie zawiera nic personalizowanego wink
Właśnie zmotywowałeś mnie do nauki i poszukiwań smile

78

(375 odpowiedzi, napisanych Oprogramowanie / Software)

branetre napisał/a:

@Wally wgrałem large z gui i bezproblemowo wróciłem tftp do ofw. Działa wszystko tak jak przed więc miałem farta

Jak to mówią: nie wiem, nie znam się smile
Może OFW do czegoś wykorzystuje tą partycję (cache itp.), opierałem się tylko na informacji z forum lede-project. Jak znajdę czas i dowiem się jak, to spróbuję się dowiedzieć, co tam siedzi(ało).
ALE, jak starzy mówili - strzeżonego ... więc kopia musi być. A od czasu SP3 do Win NT 4.0 nie zabieram się za poważniejsze zmiany bez kopii (6h snu na 3 dni nauki struktury NTFS i odzyskiwania danych z dysku, który nagle był widziany jako RAW, niezła trauma smile ale ile wtedy się człowiek nauczył...).

79

(375 odpowiedzi, napisanych Oprogramowanie / Software)

W tym tygodniu miałem sporo zajęć i właściwie brakło czasu na zabawę. Biorę się w weekend za powrót do OFW. Samo LEDE działa na powiększonym rootfs.
@branetre, proszę, nie mów, że przed eksperymentami z modyfikacjami flasha nie zrobiłeś kopii zawartości partycji smile Ja nie jestem takim twardzielem smile Kopia każdej partycji leży w dwóch kopiach na dwóch różnych nośnikach daleko od okien, prądu, gniazdek itp smile Tylko ,tfu, pożar może zaszkodzić (lub piep... prawo Murphy'ego).
Nawet nie wiesz, kiedy może się przydać - zobacz ile jest wątków o problemach z radiem, bo flashowanie/kombinowanie uwaliło "art"-a.

W skrócie procedura dla nie-twardzieli wygląda tak: OFW -> factory LEDE -> FULLFLASH BACKUP!!!! -> factory LEDE-large przez tftp.
Jeżeli chciałbyś wrócić do OFW (właśnie to muszę sprawdzić): factory LEDE przez tftp -> przywrócenie zawartości partycji "netgear" -> OFW przez tftp.

80

(26 odpowiedzi, napisanych Sprzęt / Hardware)

dyniek napisał/a:

O, super:-) To będe czekał na informacje jak przebiegła operacja i czy pacjent przeżył:-)

Pacjent żyje i ma 76MB wolnego miejsca (dzięki Cezary!). Jeszcze sprawdzę powrót do OFW i w weekend coś skrobnę.

81

(4,519 odpowiedzi, napisanych Oprogramowanie / Software)

Dorzucę swoje 3 grosze za R7800:
Next router? ath10k or mwlwifi based? something else?

82

(26 odpowiedzi, napisanych Sprzęt / Hardware)

dyniek napisał/a:

Wally, to rozumiem, ze w domu uzywasz urzadzen z N? Po tym co napsiales do chyba do firmy tego potwora kupie, skoro sciany mu nie straszne. A to co pisales do Cezarego o sofcie, to znaczy, ze jeszcze nie ma? Czy ten problem nie dotyczy 'normalnego' usera?:-)

W "normalnych" obrazach jest dostępne "tylko" ok. 30MB flash (przy rozmiarze kości 128MB) z czego część zajmuje system i dla użytkownika zostaje ok 19MB (w obrazach Cezarego ok. 17MB). Pozostaje niewykorzystana partycja o nazwie "netgear", która prawdopodobnie jest wykorzystywana przez OFW (info z forum LEDE) i nie jest "tykana" w obrazach LEDE, aby umożliwić powrót do OFW.
Jeżeli jednak kupuje się router z myślą tylko o OperWRT/LEDE, to ten niewykorzystany obszar flash (to ok. 70MB!) warto byłoby zagospodarować i mieć do dyspozycji ok 100MB.
Stąd właśnie pytanie do Cezarego o zmodyfikowany obraz, który umożliwi wykorzystanie tej partycji i połączenie jej z dostępną "ubi". Mam nadzieję, że będzie robił taki zmodyfikowany obraz, coś jak dla routerów z wymienionym na większy flashem.
Jeżeli faktycznie da się to wykorzystać i potem wrócić do OFW, obiecuję "popełnić" mały wpis krok-po-kroku (dla potomności) smile

83

(26 odpowiedzi, napisanych Sprzęt / Hardware)

proszę bardzo

A w porównaniu do mojego tp-linka WDR3600 (wiem, staruszek) jest wart każdej złotówki - w końcu pozbyłem się repeatera smile i to w domku z pustaków żużlowych, ba "przebił" się nawet dwie ściany dalej smile

84

(26 odpowiedzi, napisanych Sprzęt / Hardware)

dyniek napisał/a:

A z drugiej strony, któryś chipset faworyzować przy wyborze? Jeszcze coś innego omijać?
Przyglądam się linksysowi wrt1200ac. On w tabelce lede ma opis, że w v2potrzebuje nowszego drivera wifi. To aktualna informacja? Z tego powodu omijać wersję v2? Gdzie go szukać w Twoim repozytorium?

Polecam Netgeara R7800 - dość dobrze wspierany (ath10k), bardzo dobry zasięg i spory zapas mocy. Sprzęt bardzo polecany na smallnetbuilderze, hnyman z forum LEDE także go wybrał zamiast linksysa i nawet "popełnił" posta z uzasadnieniem smile

BTW Cezary, znajdziesz chwilkę na skompilowanie LEDE Luci wykorzystującego cały flash (backup partycji już zrobiony i router tylko czeka na nowy soft wink )?

85

(18 odpowiedzi, napisanych Oprogramowanie / Software)

Cezary napisał/a:

Będzie wraz z następnymi buildami.

Dzięki!

86

(18 odpowiedzi, napisanych Oprogramowanie / Software)

Cezary napisał/a:

Mój curl kompilowany na moim chodzi bez problemu.

Dobrze wiedzieć. Ale na http://dl.eko.one.pl/chaos_calmer/ar71xx/packages/ go nie ma, więc opkg musiało ciągnąć z głównego repo. Mógłbyś dorzucić ten pakiet na dl.eko?

87

(18 odpowiedzi, napisanych Oprogramowanie / Software)

Cezary napisał/a:

To jeszcze pytanie skąd masz libcurl'a. Jeżeli ode mnie to ja domyślnie właśnie z libopenssl kompiluje, bo do transmission jest ta biblioteka potrzeba. Nie wiem jak sam curl na to reaguje. Tak czy siak - mogę curla jako binarkę kompilować że później problemów nie było.

Było standardowo - opkg update i opkg install curl. O ile pamiętam, to ciągnął się tylko curl bez zależności (nie mam pewności). Jeżeli będziesz testował następne obrazy może spróbuj zainstalować curla i sprawdzić czy działa. Jeżeli nie będziesz miał czasu, wystaw pakiet, potestuję. Na razie działa 7.38 z BB, więc się nie pali.

88

(18 odpowiedzi, napisanych Oprogramowanie / Software)

Cezary napisał/a:

Ten mój obraz to było luci?

Tak, luci CC RC2 dla WDR3600

89

(18 odpowiedzi, napisanych Oprogramowanie / Software)

build000 napisał/a:

Nie czytasz uważnie - najpierw libcurl trzeba skompilować dla/ze wsparciem dla libopenssl - wtedy działa "wszędzie i ze wszystkim". wink

Może i nie czytam uważnie (a może to Ty nie spojrzałeś na wyświetlane wersje w moich postach?), ale libcurl nadal jest w wersji z CC - libcurl/7.40.0 OpenSSL/1.0.2c (może ja czegoś nie rozumiem, ale wygląda na to, że jest skompilowana ze wsparciem dla openssl), zmieniłem tylko binarkę curla (wersja 7.38.0). Czyli ewidentnie wina nowej kompilacji curla 7.40.0 a nie libcurl (biblioteka bez zmian).

build000 napisał/a:

Ponoć polarssl wybrane jest jako główna biblioteka ssl, ponieważ jest "niby" bardziej bezpieczne i mniej pochłania czasu procesora, zasobów sprzętu, i.t.d., ale ma to też w praktyce swoje złe strony - chociażby Twój problem i/lub to, że na niektórych stronach curl zwyczajnie w ogóle nie będzie obsłużony (przy domyślnej kompilacji libcurl w openwrt)...

Może i nie będzie obsłużony, ale chyba nikt nie ściąga curlem Gmaila na router big_smile. A w większości typowych zastosowań działa i to jest najważniejsze.

90

(18 odpowiedzi, napisanych Oprogramowanie / Software)

Jak widać w przypadku CC openssl się nie sprawdziło big_smile natomiast wersja z BB:

curl -V
curl 7.38.0 (mips-openwrt-linux-gnu) libcurl/7.40.0 OpenSSL/1.0.2c
Protocols: file ftp ftps http https
Features: IPv6 Largefile SSL

z polarssl działała i działa w CC (jak widać na załączonym obrazku wink ).

91

(18 odpowiedzi, napisanych Oprogramowanie / Software)

Szybkie obejście: skopiowałem curl ze starego extroota BB ( big_smile ) i zlinkowałem libpolarssl.so.7 (tego chciała bestia) do libpolarssl.so i działa. Tak więc curl z CC ma rzeczywiście problem. Na razie zamiast kompilować jadę na wersji z BB.

Cezary, może przy okazji kolejnych kompilacji mógłbyś przekompilować curla (chyba nawet jest wersja 7.43)?

92

(18 odpowiedzi, napisanych Oprogramowanie / Software)

Cezary napisał/a:

Jak zawsze - nie wystarczy doinstalowane libpolarssl?

To była pierwsza myśl big_smile

opkg install libpolarssl
Package libpolarssl (1.3.11-1) installed in root is up to date.

Domyślnie istnieją tylko:

ls /usr/lib | grep libmbedtls
libmbedtls.so
libmbedtls.so.1.3.11
libmbedtls.so.9

i curl nie może załadować:

curl http://eko.one.pl
curl: can't load library 'libmbedtls.so.8'

Po podlinkowaniu do libmbedtls.so.1.3.11 - błąd 48. Linkowanie do libssl.so.1.0.0 - to samo.

93

(18 odpowiedzi, napisanych Oprogramowanie / Software)

Po zainstalowaniu na CC RC2 (aktualny obraz Cezarego) curl miał problem ze znalezieniem libmbedtls.so.8, więc zlinkowałem do libmbedtls.so.1.3.11 (tak jak jest linkowane libmbedtls.so.9) i zaczął już wyświetlać info:

# curl -V
curl 7.40.0 (mips-openwrt-linux-gnu) libcurl/7.40.0 OpenSSL/1.0.2c
Protocols: file ftp ftps http https
Features: IPv6 Largefile SSL

Niestety, próba pobrania jakiejkolwiek strony kończy się błędem 48:

# curl http://eko.one.pl
curl: (48) Error

Co może być przyczyną ?

build000 napisał/a:

...No właśnie - musiałeś spróbować, żeby się przekonać (plus taki, że wiesz to teraz na pewno i z autopsji - praktyka czyni mistrzem wink )...

pewnie, że tak smile poza tym nikt nie mówił że się nie da smile

build000 napisał/a:

- f2fs nie nadaje się na extroot

szkoda, mógłby trochę mniej zajeżdżać penki. Swoją drogą, skoro można odpalić dużego Linucha z rootem na F2FS (przynajmniej Archa), to może to tylko kwestia czasu.

build000 napisał/a:

- rób to "po bożemu": ext3, ext3, ext4
big_smile

łee, nuda big_smile a gdzie urozmaicenie i emocje? big_smile

I niestety chyba się nie da wykorzystać F2FS dla extroota:
- mkfs.f2fs ma problem z zapisaniem SIT area na pendrive - nie tworzy fs.
- fs utworzony na Linuchu: fsck.f2fs znajduje błędy (ale ich nie usunie - ograniczenie f2fs-tools 1.4)
- zamontowanie filesystemu pod CC - OK ale brak UUID (block info nie widzi pena), więc montowanie extroota po /dev/sxx raczej do bani (drugi pen musi być)
- i do tego jeszcze ta informacja na OpenWRT wiki - "BTRFS, JFS, UBI, XFS and potentially other (F2FS…) are not supported in /etc/config/fstab. Use manual scripting."

Pozostaje więc chyba tylko trzymać kciuki za rozwój tego filesystemu.

build000 napisał/a:

A co za problem ściągnąć sobie z repo obraz bez luci i doinstalować luci - przecież chcesz, póki co, to przetestować ?

Rano były tylko obrazy dla ar71xx nand a obrazy z openwrt.org zawsze miały "braki" smile
Im człowiek starszy, tym musi być bardziej cierpliwy, a jak widzisz czekałem tylko pół dnia.  big_smile

Cezary - dzięki!

Cezary napisał/a:

Przecież f2fs jest w pakietach. Dla CC nie dla BB.

Dzięki za info. Niestety nie śledzę tych wszystkich pakietów a jedyne co znalazłem było dla BB.

Pozostaje więc czekać na Twój obraz CC z LuCI dla WDR3600.

Na forum OpenWRT swego czasu była dyskusja o systemie plików F2FS - idealny dla kart SD czy penków. Jest nawet Git-branch: post abraXxl'a. Git jest dla BB: tree/f2fs
Cezary, czy myślałeś może nad kompilacją tego filesystemu? Mogłoby to być znaczne wydłużenie życia flashy z extrootem.

99

(3 odpowiedzi, napisanych Oprogramowanie / Software)

Już wyszła wersja RTM? smile Dopiero co wyszło RC2... W każdym razie dzięki za dodanie do listy TODO wink

Cezary, mam małą prośbę - mógłbyś skompilować plugin 1-Wire dla collectd (collectd-mod-onewire) dla BB ar71xx? Zależności są kompilowane (libow-capi) lecz samego modułu brak. Z tym modułem mielibyśmy gotowe statystyki/wykresy dla temperatur z DS-ów.