226

Odp: Netgear LBR20 Orbi

(IPQ40xx) # help nand
nand - NAND sub-system

Usage:
nand info - show available NAND devices
nand device [dev] - show or set current device
nand read - addr off|partition size
nand write - addr off|partition size
    read/write 'size' bytes starting at offset 'off'
    to/from memory address 'addr', skipping bad blocks.
nand read.raw - addr off|partition [count]
nand write.raw - addr off|partition [count]
    Use read.raw/write.raw to avoid ECC and access the flash as-is.
nand write.yaffs - addr off|partition size
    write 'size' bytes starting at offset 'off' with yaffs format
    from memory address 'addr', skipping bad blocks.
nand erase[.spread] [clean] off size - erase 'size' bytes from offset 'off'
    With '.spread', erase enough for given file size, otherwise,
    'size' includes skipped bad blocks.
nand erase.part [clean] partition - erase entire mtd partition'
nand erase.chip [clean] - erase entire chip'
nand bad - show bad blocks
nand dump[.oob] off - dump page
nand scrub [-y] off size | scrub.part partition | scrub.chip
    really clean NAND erasing bad blocks (UNSAFE)
nand markbad off [...] - mark bad block(s) at offset (UNSAFE)
nand biterr off bit - make a bit error at offset and bit position (UNSAFE)
(IPQ40xx) # nand info

Device 0: nand0, sector size 128 KiB
  Page size      2048 b
  OOB size         64 b
  Erase size   131072 b
(IPQ40xx) #

To chyba tylko jakaś cząstka nanda smile

227 (edytowany przez frutis 2024-01-28 08:19:40)

Odp: Netgear LBR20 Orbi

To pewnie dało by się wczytać obraz:

nand read 0x84000000 0xa600000 0x3c0000

EDIT:
A nboot to chyba tak powinien wyglądać:

nboot 0x84000000 0 0xa600000

228

Odp: Netgear LBR20 Orbi

Nie , nic nie zbootowało obrazu ( siedzi tam już openwrt).

(IPQ40xx) # nboot 0x84000000 0 0xa600000

Loading from nand0, offset 0xa600000
Fit image detected...
   FIT description: ARM OpenWrt FIT (Flattened Image Tree)
    Image 0 (kernel-1)
     Description:  ARM OpenWrt Linux-6.1.73
     Type:         Kernel Image
     Compression:  uncompressed
     Data Start:   0x840000e4
     Data Size:    3257456 Bytes = 3.1 MiB
     Architecture: ARM
     OS:           Linux
     Load Address: 0x80208000
     Entry Point:  0x80208000
     Hash algo:    crc32
     Hash value:   e2ea1a0b
     Hash algo:    sha1
     Hash value:   28d5e00f84284438ab9bacc56d87917d1a96222c
    Image 1 (fdt-1)
     Description:  ARM OpenWrt netgear_lbr20 device tree blob
     Type:         Flat Device Tree
     Compression:  uncompressed
     Data Start:   0x8431b68c
     Data Size:    20241 Bytes = 19.8 KiB
     Architecture: ARM
     Hash algo:    crc32
     Hash value:   7d8c507b
     Hash algo:    sha1
     Hash value:   721f1513e30c23e16ba55d3c1e57f360aa32049d
    Default Configuration: 'config@1'
    Configuration 0 (config@1)
     Description:  OpenWrt netgear_lbr20
     Kernel:       kernel-1
     FDT:          fdt-1
(IPQ40xx) # nand read 0x84000000 0xa600000 0x3c0000

NAND read: device 0 offset 0xa600000, size 0x3c0000
 3932160 bytes read: OK
(IPQ40xx) #

229 (edytowany przez MiG25 2024-01-28 08:54:56)

Odp: Netgear LBR20 Orbi

Ale obie faktycznie zgrają fw do tego adresu , i wykonanie komend uruchomi go :

setenv fdt_high 0x87000000
bootm 0x84000000

Można poprawiać w uboocie zmienną bootcmd , tylko narazie nie ma po co , openwrt się odpala za każdym razem , sprawdza crc tylko kernela i jest ok , a sysupgrade to crc poprawia.

230 (edytowany przez frutis 2024-01-28 09:32:02)

Odp: Netgear LBR20 Orbi

To jeśli da się tak odpalać to według mnie najlepiej by było wykorzystać ntgrdata jako rootfs i rootfs_data:

CI_UBIPART="ntgrdata"

A tutaj przykład jak można by tą partycję przygotować w trakcie sysupgrade: https://github.com/openwrt/openwrt/blob … buffalo.sh

EDIT:
Takie użycie pozwala wykorzystać najwięcej miejsca nie usuwając niczego zbędnego i nie zmieniając rozkładu partycji:

ntgrdata - 147MB
firmware - 60MB
kernel - 3840kB
rootfs - 57600kB
rootfs_data - 22784kB
reserved - 30MB

231 (edytowany przez MiG25 2024-01-28 12:23:27)

Odp: Netgear LBR20 Orbi

Pewnie tak , ale z tym to może poczekajmy . Narazie próbowałem po prostu zmienić nazwę partucji ntgrdata na ubifs , no i sysupgrade jej nie "uzdatnia" - najlepiej powinien ją zformatować , ale widzę ,że raczej tu jest tylko możliwe ręczne usuwanie voluminów , więc tu lista na przyszłość  , jakie orginał tworzy na ngrdata:

root@OpenWrt:/# ubinfo -a
UBI version:                    1
Count of UBI devices:           1
UBI control device major/minor: 10:126
Present UBI devices:            ubi0

ubi0
Volumes count:                           14
Logical eraseblock size:                 126976 bytes, 124.0 KiB
Total amount of logical eraseblocks:     1176 (149323776 bytes, 142.4 MiB)
Amount of available logical eraseblocks: 0 (0 bytes)
Maximum count of volumes                 128
Count of bad physical eraseblocks:       0
Count of reserved physical eraseblocks:  40
Current maximum erase counter value:     3
Minimum input/output unit size:          2048 bytes
Character device major/minor:            246:0
Present volumes:                         0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13

Volume ID:   0 (on ubi0)
Type:        dynamic
Alignment:   1
Size:        17 LEBs (2158592 bytes, 2.0 MiB)
State:       OK
Name:        vol_traffic
Character device major/minor: 246:1
-----------------------------------
Volume ID:   1 (on ubi0)
Type:        dynamic
Alignment:   1
Size:        17 LEBs (2158592 bytes, 2.0 MiB)
State:       OK
Name:        vol_traffic.bak
Character device major/minor: 246:2
-----------------------------------
Volume ID:   2 (on ubi0)
Type:        dynamic
Alignment:   1
Size:        42 LEBs (5332992 bytes, 5.0 MiB)
State:       OK
Name:        vol_devtable
Character device major/minor: 246:3
-----------------------------------
Volume ID:   3 (on ubi0)
Type:        dynamic
Alignment:   1
Size:        5 LEBs (634880 bytes, 620.0 KiB)
State:       OK
Name:        vol_oopsdump
Character device major/minor: 246:4
-----------------------------------
Volume ID:   4 (on ubi0)
Type:        dynamic
Alignment:   1
Size:        248 LEBs (31490048 bytes, 30.0 MiB)
State:       OK
Name:        vol_circle
Character device major/minor: 246:5
-----------------------------------
Volume ID:   5 (on ubi0)
Type:        dynamic
Alignment:   1
Size:        537 LEBs (68186112 bytes, 65.0 MiB)
State:       OK
Name:        vol_ntgr
Character device major/minor: 246:6
-----------------------------------
Volume ID:   6 (on ubi0)
Type:        dynamic
Alignment:   1
Size:        17 LEBs (2158592 bytes, 2.0 MiB)
State:       OK
Name:        vol_rae
Character device major/minor: 246:7
-----------------------------------
Volume ID:   7 (on ubi0)
Type:        dynamic
Alignment:   1
Size:        42 LEBs (5332992 bytes, 5.0 MiB)
State:       OK
Name:        vol_arlo
Character device major/minor: 246:8
-----------------------------------
Volume ID:   8 (on ubi0)
Type:        dynamic
Alignment:   1
Size:        17 LEBs (2158592 bytes, 2.0 MiB)
State:       OK
Name:        vol_traffic_mobile
Character device major/minor: 246:9
-----------------------------------
Volume ID:   9 (on ubi0)
Type:        dynamic
Alignment:   1
Size:        17 LEBs (2158592 bytes, 2.0 MiB)
State:       OK
Name:        vol_traffic_mobile.bak
Character device major/minor: 246:10
-----------------------------------
Volume ID:   10 (on ubi0)
Type:        dynamic
Alignment:   1
Size:        42 LEBs (5332992 bytes, 5.0 MiB)
State:       OK
Name:        vol_ntgrcrydata
Character device major/minor: 246:11
-----------------------------------
Volume ID:   11 (on ubi0)
Type:        dynamic
Alignment:   1
Size:        9 LEBs (1142784 bytes, 1.0 MiB)
State:       OK
Name:        vol_jdx
Character device major/minor: 246:12
-----------------------------------
Volume ID:   12 (on ubi0)
Type:        dynamic
Alignment:   1
Size:        39 LEBs (4952064 bytes, 4.7 MiB)
State:       OK
Name:        rootfs
Character device major/minor: 246:13
-----------------------------------
Volume ID:   13 (on ubi0)
Type:        dynamic
Alignment:   1
Size:        83 LEBs (10539008 bytes, 10.0 MiB)
State:       OK
Name:        rootfs_data
Character device major/minor: 246:14
root@OpenWrt:/#

Jest tam rootfs i rootfs data  , więc teoretycznie system wystartuje ,ajak zamiast ubiblock0_0 w DTS wpisze się ubiblock0_12 ...

EDIT: Nie ,orginał ma tylko 10 voluminów ... rootfs i rootfs_data są z partycji mtd23 i utworzonej pzez sysupgrade

232 (edytowany przez frutis 2024-01-28 11:50:40)

Odp: Netgear LBR20 Orbi

A gdybyś dodatkowo ustawił:

CI_ROOTPART="vol_ntgr"

?

Ale żeby ruszyć te volumeny to i tak trzeba napisać skrypt tak jak to wcześniej podlinkowałem.

EDIT:
System DNI który jest tutaj zaimplementowany działa chyba podobnie jak w tym opisie: https://github.com/openwrt/openwrt/blob … buffalo.sh
Tylko dla porównania bierze partycje firmware.

A tutaj przykład usuwania volumenów z ubi: https://github.com/openwrt/openwrt/blob … h#L83-L100

233 (edytowany przez MiG25 2024-01-28 15:14:59)

Odp: Netgear LBR20 Orbi

@Cezary , po wpisaniu tych limitów częstotliwości radio2 ma teraz standardowo ustawiony kanał 100 , ale i tak się nie uruchomi dopóki mu się tam nie wpisze country... (pozostałe radia tego nie wymagają).Wpisuje się gdzieś to , czy po prostu tak ma być?

Niestety ustawienie GPIO  może i pozwala na to ,żeby pojawił się modem w USB , ale mimo to ma problem z PINem ( każe wyjąć i włożyć SIM jeszcze raz). Także całą tą procedurę z ustawieniem gpio narazie umieściłem w rc.local . Pojawia się problem przy reboocie , orginał przed rebootem też "miga" GPIO 29...  Niemignięcie nim najprawdopodobniej powoduje to , że podczas startu również to "mgnięcie" trzeba zrobić  , no i zamiast włączenia to wtedy się wyłącza smile  Przy wyłączeniu całego zasilania i włączeniu jest ok.
Krótko pisząc , czy da się gdzieś wpisać komendy przed zamknięciem/rebootem ?

Pliki board sprawdzane inne , ale nie znalazłem nic lepszego ( żeby działały wszystkie kanały , czy działały "silniej") , także przed chwilą do Svena wysłałe m dwa maile , osobno z plikami dla IPQ4019 i QCA9888.

Czy będziesz mógł na podstawie tego stworzyć Twoją "wersję testową" z luci , czy może z mifi ?  Czy trzeba czekać na dołączenie BDF ?

234 (edytowany przez frutis 2024-01-28 15:46:41)

Odp: Netgear LBR20 Orbi

MiG25 napisał/a:

@Cezary , po wpisaniu tych limitów częstotliwości radio2 ma teraz standardowo ustawiony kanał 100 , ale i tak się nie uruchomi dopóki mu się tam nie wpisze country... (pozostałe radia tego nie wymagają).Wpisuje się gdzieś to , czy po prostu tak ma być?

Jak kiedyś porównywałem to bez wpisanego kraju nie są te opcje dodawane:

ieee80211d=1
ieee80211h=1

i wtedy radio nie wstaje. Ale problem tyczy się chyba tylko tych kanałów gdzie działa DFS.

MiG25 napisał/a:

Krótko pisząc , czy da się gdzieś wpisać komendy przed zamknięciem/rebootem ?

Możesz dodać coś takiego w /etc/init.d/jakis_skrypt:

shutdown() {
    # reset GPIO
}

235

Odp: Netgear LBR20 Orbi

MiG25 napisał/a:

@Cezary , po wpisaniu tych limitów częstotliwości radio2 ma teraz standardowo ustawiony kanał 100 , ale i tak się nie uruchomi dopóki mu się tam nie wpisze country... (pozostałe radia tego nie wymagają).Wpisuje się gdzieś to , czy po prostu tak ma być?

Linksys mają to zrobione przez uci-defaults, więc możesz zrobić identycznie: https://github.com/openwrt/openwrt/blob … 3_wireless

Ustawiają na stałe jakiś kraj, choć dla Linksysów zależy to od zmiennych. A tu musisz na stałe coś ustawić.

Krótko pisząc , czy da się gdzieś wpisać komendy przed zamknięciem/rebootem ?

Teoretycznie możesz zrobić w init.d odpowiedni wpis, ale to nic nie da jak ktoś zresetują wyłączając prąd. Zwykle tak się robi przy routerach. Więc już lepszy jest skrypt na init który restartuje to gpio i w commiecie trzeba będzie opisać jak uaktywnić modem.

Czy będziesz mógł na podstawie tego stworzyć Twoją "wersję testową" z luci , czy może z mifi ?  Czy trzeba czekać na dołączenie BDF ?

Jak prace będą zakończone to robię backport tego do siebie i będą normalnie dostępne obrazy.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

236

Odp: Netgear LBR20 Orbi

Cezary napisał/a:

Linksys mają to zrobione przez uci-defaults, więc możesz zrobić identycznie: https://github.com/openwrt/openwrt/blob … 3_wireless

Ustawiają na stałe jakiś kraj, choć dla Linksysów zależy to od zmiennych. A tu musisz na stałe coś ustawić.

Ale to rozwiązanie jest trochę niekompletne. Bo dla każdego kraju jest inny BDF. A używanie różnych BDF'ów nie jest zaimplementowane...

237

Odp: Netgear LBR20 Orbi

frutis napisał/a:
Cezary napisał/a:

Linksys mają to zrobione przez uci-defaults, więc możesz zrobić identycznie: https://github.com/openwrt/openwrt/blob … 3_wireless

Ustawiają na stałe jakiś kraj, choć dla Linksysów zależy to od zmiennych. A tu musisz na stałe coś ustawić.

Ale to rozwiązanie jest trochę niekompletne. Bo dla każdego kraju jest inny BDF. A używanie różnych BDF'ów nie jest zaimplementowane...

Dokładnie. I trzeba by prześledzić oryginalny soft co ciekawego robi z radiem żeby zrobić coś podobnego.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

238

Odp: Netgear LBR20 Orbi

A może po prostu przy pomocy uci.defaults ustawić kanał 149 , ten już się włącza bez ustawienia country... 
Wiem ,że w oginalnym tego kanału już nie ma , ale działa całkiem dobrze ( z dobrą siłą)  stąd wycięcie jest wyżej.

A może po prostu zostawić tak jak jest , i tak jak o noscan , HT40 itd ma o to użytkownik zadbać? Ty chyba w swoich buildach i tak dajesz country PL ?

239 (edytowany przez Cezary 2024-01-28 17:06:38)

Odp: Netgear LBR20 Orbi

Ja dodaje, tak. Ale developerzy nie lubią ani noscan ani countery (bo są z różnych krajów), Ale znów - można w commicie dodającym urządzenie napisać że  aby uruchomić radio trzeba koniecznie ustawić opcję country i zostawić cały bałagan na głowie użytkownika. Ot po prostu urządzenie ma swoje wymagania i aby był modem to zrób to, alby było wifi zrób to.

Tak np. było dla starego Sagema f@sta, gdzie żeby działało wifi trzeba było ustawić adres mac, bo tego nie ruszało. I user musi to samodzielnie zrobić.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

240

Odp: Netgear LBR20 Orbi

Panowie , czy możecie spojrzeć na to co teraz w githubie , i stwierdzić , co dopisać , żeby po aktualizacji Plikiem img przez nmrp openwrt stwierdził ,że jak nie ma ubifs przugotowanego i nie ma do czego dołączyć rootfs , to żeby go sobie przygotował ?
W chwili obecnej tylko przez initramfs i sysupgrade openwrt się uruchomi i będzie działał ( a żeby nie rozkręcać to dobrze ,żeby dało się to z img).

No i dwa , czy zajmujemy "reserved " , czy przejmujemy ntgrdata ( tu trzebaby nawet przy sysupgrade usuwać wszystkie te 10partycji orginalnych  , a tego sysupgrade nie ma zaimplementowane , on tylko może usunąć rootfs i rootfs_data) ,  czy bawić się w ich łączenie...
Już teraz na oerlay jest ponad 37MB miejsca , to nie jest chyba mało...

241

Odp: Netgear LBR20 Orbi

Coś mi się nie klei albo czegoś nie widzę lub nie rozumiem. Naprostujcie mnie:
- wgrywa się soft przez nmrp, tak?
- wgrywany soft to tak naprawdę złożony kernel + system plików, którzy przez bootloader jest wpisywany do jakiś domyślnych dla niego obszarów pamięci flash, tak?
- bootloader nie zna się i nie wie co wgrywa (w sensie nie wie czy i jaki tam jest system plików). Po prostu wgrywa dane binarne na flash, tak?
- przygotowany obraz standowi kompletny wolumin ubi, tak?
- to dlaczego po wgraniu przez nmrpflash nie widzi systemu plików skoro tam jest kompletny obraz systemu plików?

No chyba że bootloader coś robi z wgrywanym obrazem czego nie ogarniam jeszcze.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

242

Odp: Netgear LBR20 Orbi

Jak widzisz , stworzony plik img ma coś pomad 3,75MB ... I tyle gdzieś ngrp wgrywa do nand ( tu cały log z nmrp):

(IPQ40xx) # nmrp
eth0 PHY0 Down Speed :10 Half duplex
eth0 PHY1 Down Speed :10 Half duplex
eth0 PHY2 Down Speed :10 Half duplex
eth0 PHY3 up Speed :1000 Full duplex
eth0 PHY4 Down Speed :10 Half duplex

 Client starts...[Listening] for ADVERTISE...
NMRP CONFIGING
Recv FW-UP option

No ST-UP option

NMRP WAITING FOR UPLOAD FIRMWARE or STRING TABLES!
eth0 PHY0 Down Speed :10 Half duplex
eth0 PHY1 Down Speed :10 Half duplex
eth0 PHY2 Down Speed :10 Half duplex
eth0 PHY3 up Speed :1000 Full duplex
eth0 PHY4 Down Speed :10 Half duplex
Listening on Port : 69, IP Address: 10.164.183.253 ...

waiting nmrp server to upload firmware!
Teth0 PHY0 Down Speed :10 Half duplex
eth0 PHY1 Down Speed :10 Half duplex
eth0 PHY2 Down Speed :10 Half duplex
eth0 PHY3 up Speed :1000 Full duplex
eth0 PHY4 Down Speed :10 Half duplex
Listening on Port : 69, IP Address: 10.164.183.253 ...
Teth0 PHY0 Down Speed :10 Half duplex
eth0 PHY1 Down Speed :10 Half duplex
eth0 PHY2 Down Speed :10 Half duplex
eth0 PHY3 up Speed :1000 Full duplex
eth0 PHY4 Down Speed :10 Half duplex
Listening on Port : 69, IP Address: 10.164.183.253 ...
Teth0 PHY0 Down Speed :10 Half duplex
eth0 PHY1 Down Speed :10 Half duplex
eth0 PHY2 Down Speed :10 Half duplex
eth0 PHY3 up Speed :1000 Full duplex
eth0 PHY4 Down Speed :10 Half duplex
Listening on Port : 69, IP Address: 10.164.183.253 ...
Teth0 PHY0 Down Speed :10 Half duplex
eth0 PHY1 Down Speed :10 Half duplex
eth0 PHY2 Down Speed :10 Half duplex
eth0 PHY3 up Speed :1000 Full duplex
eth0 PHY4 Down Speed :10 Half duplex
Listening on Port : 69, IP Address: 10.164.183.253 ...

 retry tftp_upload count exceeded;
TT
Rcv:
        T.................................................................
        .................................................................
        .................................................................
        .................................................................
        .................................................................
        .................................................................
        .................................................................
        .................................................................
        .................................................................
        .................................................................
        .................................................................
        ......................................................
Done!
Bytes transferred = 3932289 (3c0081 hex)
TFTP upload done
Ignore Magic number checking when upgrade via NMRP,Magic number is 27051956!
 131072 bytes read: OK
HW ID on board: 29766182+0+256+512+2x2+2x2+2x2+1
HW ID on image: 29766182+0+256+512+2x2+2x2+2x2+1
Firmware Image HW ID matched Board HW ID

Erasing: off a600000, size 20000
Erasing at 0xa600000 -- 100% complete. Cleanmarker written at 0xa600000.
OK
Writing: from RAM addr 84000080, to NAND off a600000, size 20000
 131072 bytes written: OK
Alive-timer 15
Erasing: off a620000, size 20000
Erasing at 0xa620000 -- 100% complete. Cleanmarker written at 0xa620000.
OK
Writing: from RAM addr 84020080, to NAND off a620000, size 20000
 131072 bytes written: OK
Alive-timer 15
Erasing: off a640000, size 20000
Erasing at 0xa640000 -- 100% complete. Cleanmarker written at 0xa640000.
OK
Writing: from RAM addr 84040080, to NAND off a640000, size 20000
 131072 bytes written: OK
Alive-timer 15
Erasing: off a660000, size 20000
Erasing at 0xa660000 -- 100% complete. Cleanmarker written at 0xa660000.
OK
Writing: from RAM addr 84060080, to NAND off a660000, size 20000
 131072 bytes written: OK
Alive-timer 15
Erasing: off a680000, size 20000
Erasing at 0xa680000 -- 100% complete. Cleanmarker written at 0xa680000.
OK
Writing: from RAM addr 84080080, to NAND off a680000, size 20000
 131072 bytes written: OK
Alive-timer 15
Erasing: off a6a0000, size 20000
Erasing at 0xa6a0000 -- 100% complete. Cleanmarker written at 0xa6a0000.
OK
Writing: from RAM addr 840a0080, to NAND off a6a0000, size 20000
 131072 bytes written: OK
Alive-timer 15
Erasing: off a6c0000, size 20000
Erasing at 0xa6c0000 -- 100% complete. Cleanmarker written at 0xa6c0000.
OK
Writing: from RAM addr 840c0080, to NAND off a6c0000, size 20000
 131072 bytes written: OK
Alive-timer 15
Erasing: off a6e0000, size 20000
Erasing at 0xa6e0000 -- 100% complete. Cleanmarker written at 0xa6e0000.
OK
Writing: from RAM addr 840e0080, to NAND off a6e0000, size 20000
 131072 bytes written: OK
Alive-timer 15
Erasing: off a700000, size 20000
Erasing at 0xa700000 -- 100% complete. Cleanmarker written at 0xa700000.
OK
Writing: from RAM addr 84100080, to NAND off a700000, size 20000
 131072 bytes written: OK
Alive-timer 15
Erasing: off a720000, size 20000
Erasing at 0xa720000 -- 100% complete. Cleanmarker written at 0xa720000.
OK
Writing: from RAM addr 84120080, to NAND off a720000, size 20000
 131072 bytes written: OK
Alive-timer 15
Erasing: off a740000, size 20000
Erasing at 0xa740000 -- 100% complete. Cleanmarker written at 0xa740000.
OK
Writing: from RAM addr 84140080, to NAND off a740000, size 20000
 131072 bytes written: OK
Alive-timer 15
Erasing: off a760000, size 20000
Erasing at 0xa760000 -- 100% complete. Cleanmarker written at 0xa760000.
OK
Writing: from RAM addr 84160080, to NAND off a760000, size 20000
 131072 bytes written: OK
Alive-timer 15
Erasing: off a780000, size 20000
Erasing at 0xa780000 -- 100% complete. Cleanmarker written at 0xa780000.
OK
Writing: from RAM addr 84180080, to NAND off a780000, size 20000
 131072 bytes written: OK
Alive-timer 15
Erasing: off a7a0000, size 20000
Erasing at 0xa7a0000 -- 100% complete. Cleanmarker written at 0xa7a0000.
OK
Writing: from RAM addr 841a0080, to NAND off a7a0000, size 20000
 131072 bytes written: OK
Alive-timer 15
Erasing: off a7c0000, size 20000
Erasing at 0xa7c0000 -- 100% complete. Cleanmarker written at 0xa7c0000.
OK
Writing: from RAM addr 841c0080, to NAND off a7c0000, size 20000
 131072 bytes written: OK
Alive-timer 15
Erasing: off a7e0000, size 20000
Erasing at 0xa7e0000 -- 100% complete. Cleanmarker written at 0xa7e0000.
OK
Writing: from RAM addr 841e0080, to NAND off a7e0000, size 20000
 131072 bytes written: OK
Alive-timer 15
Erasing: off a800000, size 20000
Erasing at 0xa800000 -- 100% complete. Cleanmarker written at 0xa800000.
OK
Writing: from RAM addr 84200080, to NAND off a800000, size 20000
 131072 bytes written: OK
Alive-timer 15
Erasing: off a820000, size 20000
Erasing at 0xa820000 -- 100% complete. Cleanmarker written at 0xa820000.
OK
Writing: from RAM addr 84220080, to NAND off a820000, size 20000
 131072 bytes written: OK
Alive-timer 15
Erasing: off a840000, size 20000
Erasing at 0xa840000 -- 100% complete. Cleanmarker written at 0xa840000.
OK
Writing: from RAM addr 84240080, to NAND off a840000, size 20000
 131072 bytes written: OK
Alive-timer 15
Erasing: off a860000, size 20000
Erasing at 0xa860000 -- 100% complete. Cleanmarker written at 0xa860000.
OK
Writing: from RAM addr 84260080, to NAND off a860000, size 20000
 131072 bytes written: OK
Alive-timer 16
Erasing: off a880000, size 20000
Erasing at 0xa880000 -- 100% complete. Cleanmarker written at 0xa880000.
OK
Writing: from RAM addr 84280080, to NAND off a880000, size 20000
 131072 bytes written: OK
Alive-timer 16
Erasing: off a8a0000, size 20000
Erasing at 0xa8a0000 -- 100% complete. Cleanmarker written at 0xa8a0000.
OK
Writing: from RAM addr 842a0080, to NAND off a8a0000, size 20000
 131072 bytes written: OK
Alive-timer 16
Erasing: off a8c0000, size 20000
Erasing at 0xa8c0000 -- 100% complete. Cleanmarker written at 0xa8c0000.
OK
Writing: from RAM addr 842c0080, to NAND off a8c0000, size 20000
 131072 bytes written: OK
Alive-timer 16
Erasing: off a8e0000, size 20000
Erasing at 0xa8e0000 -- 100% complete. Cleanmarker written at 0xa8e0000.
OK
Writing: from RAM addr 842e0080, to NAND off a8e0000, size 20000
 131072 bytes written: OK
Alive-timer 16
Erasing: off a900000, size 20000
Erasing at 0xa900000 -- 100% complete. Cleanmarker written at 0xa900000.
OK
Writing: from RAM addr 84300080, to NAND off a900000, size 20000
 131072 bytes written: OK
Alive-timer 16
Erasing: off a920000, size 20000
Erasing at 0xa920000 -- 100% complete. Cleanmarker written at 0xa920000.
OK
Writing: from RAM addr 84320080, to NAND off a920000, size 20000
 131072 bytes written: OK
Alive-timer 16
Erasing: off a940000, size 20000
Erasing at 0xa940000 -- 100% complete. Cleanmarker written at 0xa940000.
OK
Writing: from RAM addr 84340080, to NAND off a940000, size 20000
 131072 bytes written: OK
Alive-timer 16
Erasing: off a960000, size 20000
Erasing at 0xa960000 -- 100% complete. Cleanmarker written at 0xa960000.
OK
Writing: from RAM addr 84360080, to NAND off a960000, size 20000
 131072 bytes written: OK
Alive-timer 16
Erasing: off a980000, size 20000
Erasing at 0xa980000 -- 100% complete. Cleanmarker written at 0xa980000.
OK
Writing: from RAM addr 84380080, to NAND off a980000, size 20000
 131072 bytes written: OK
Alive-timer 16
Erasing: off a9a0000, size 20000
Erasing at 0xa9a0000 -- 100% complete. Cleanmarker written at 0xa9a0000.
OK
Writing: from RAM addr 843a0080, to NAND off a9a0000, size 20000
 131072 bytes written: OK
Alive-timer 16
Erasing: off a9c0000, size 20000
Erasing at 0xa9c0000 -- 100% complete. Cleanmarker written at 0xa9c0000.
OK
Writing: from RAM addr 843c0080, to NAND off a9c0000, size 20000
 131072 bytes written: OK
Alive-timer 16
boot_partition_set 1
Burn BOOT PARTITION (= 1) into boarddata2 block
 131072 bytes read: OK
Erasing: off d80000, size 20000
Erasing at 0xd80000 -- 100% complete. Cleanmarker written at 0xd80000.
OK
Writing: from RAM addr 871cf2a0, to NAND off d80000, size 20000
 131072 bytes written: OK
Alive-timer 16
Done.
 131072 bytes read: OK
Original board MODEL ID: LBR20
New MODEL ID from image: LBR20
Updating MODEL ID
 131072 bytes read: OK
Erasing: off d00000, size 20000
Erasing at 0xd00000 -- 100% complete. Cleanmarker written at 0xd00000.
OK
Writing: from RAM addr 871cf4b8, to NAND off d00000, size 20000
 131072 bytes written: OK
Alive-timer 16
done

NMRP Send Closing REQ
eth0 PHY0 Down Speed :10 Half duplex
eth0 PHY1 Down Speed :10 Half duplex
eth0 PHY2 Down Speed :10 Half duplex
eth0 PHY3 up Speed :1000 Full duplex
eth0 PHY4 Down Speed :10 Half duplex

NMRP CLOSEDRestore to factory default
Erasing at 0xce0000 -- 100% complete. Cleanmarker written at 0xce0000.
nand erase OK
boot_partition_set 1
Burn BOOT PARTITION (= 1) into boarddata2 block
 131072 bytes read: OK
Erasing: off d80000, size 20000
Erasing at 0xd80000 -- 100% complete. Cleanmarker written at 0xd80000.
OK
Writing: from RAM addr 871cf2f0, to NAND off d80000, size 20000
 131072 bytes written: OK
Alive-timer 16
Done.

NMRP is complete. Please switch OFF power.

Zaczyna na a600000 ,kończy na a9c000  , czyli tylko kernel , z partycją ubifs nic nie robi . I być może tu jest cały pies pogrzebany , jak przygotować podzieloną partycję  dla tego img , wydaje mi się ,że taki img musiałby mieć coś ok 50MB...

243

Odp: Netgear LBR20 Orbi

Więc przygotowany obraz nie stanowi kompletnego pliku img , brakuje całego ubifs.

Grzebałem w generic.mk wpisując do lbr20:

    IMAGE/factory.img := append-kernel | pad-offset 128k 64 | \
        append-uImage-fakehdr filesystem | pad-to $$$$(KERNEL_SIZE) | \
        netgear-dni

Ale to co jest w netgear-orbi też tego nie robiło...

244

Odp: Netgear LBR20 Orbi

Jak naciśniesz reset dłużej podczas uruchamiania to przechodzi w tryb aktualizacji i można mu soft wysłać po tftp na adres 192.168.1.1. Wgrywając oryginał wgrywa wszystko co ma w pliku czyli:

Done!
Bytes transferred = 44435585 (2a60881 hex)
 131072 bytes read: OK
HW ID on board: 29766182+0+256+512+2x2+2x2+2x2+1
HW ID on image: 29766182+0+256+512+2x2+2x2+2x2+1
Firmware Image HW ID matched Board HW ID

 131072 bytes read: OK
MODEL ID on board: LBR20
MODEL ID on image: LBR20
Firmware Image MODEL ID matched Board model ID

 131072 bytes read: OK
MODEL ID on board: LBR20
MODEL ID on image: LBR20
Firmware Image MODEL ID matched Board model ID

Erasing: off a600000, size 20000
Erasing at 0xa600000 -- 100% complete. Cleanmarker written at 0xa600000.
OK


...


Writing: from RAM addr 86a40080, to NAND off d040000, size 20000
 131072 bytes written: OK
Alive-timer 32
Erasing: off d060000, size 20000
Erasing at 0xd060000 -- 100% complete. Cleanmarker written at 0xd060000.
OK
Writing: from RAM addr 86a60080, to NAND off d060000, size 20000
 131072 bytes written: OK
Alive-timer 32
boot_partition_set 1
Burn BOOT PARTITION (= 1) into boarddata2 block
 131072 bytes read: OK
Erasing: off d80000, size 20000
Erasing at 0xd80000 -- 100% complete. Cleanmarker written at 0xd80000.
OK
Writing: from RAM addr 871cfc90, to NAND off d80000, size 20000
 131072 bytes written: OK
Alive-timer 32
Done.
Done
Rebooting...
resetting ...

Wgrał d060000−a600000 = 2A60000 czyli ponad 42MB zaczynając od partycji kernela, adresu a600000. Czyli robi wszystko co mu się da żeby wgrał.

Plik oryginału ma:

$ ls -ls LBR20-V2.7.5.6.img 
43400 -rw-r--r-- 1 cezary cezary 44435585 gru  8  2022 LBR20-V2.7.5.6.img
Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

245

Odp: Netgear LBR20 Orbi

Ok , to tylko teraz trzeba mieć taki plik img rozszerzony o całe ubifs  ... A mi takiego pliku nie tworzy, i to w tym IMAGE/factory.img coś trzeba dopisać ,tylko nie wiem co , powiesz ?:)

246

Odp: Netgear LBR20 Orbi

MiG25 napisał/a:

Więc przygotowany obraz nie stanowi kompletnego pliku img , brakuje całego ubifs.

Grzebałem w generic.mk wpisując do lbr20:

    IMAGE/factory.img := append-kernel | pad-offset 128k 64 | \
        append-uImage-fakehdr filesystem | pad-to $$$$(KERNEL_SIZE) | \
        netgear-dni

Ale to co jest w netgear-orbi też tego nie robiło...

O append-rootfs zapomniałeś?

W sensie powinno to być

append-rootfs | pad-rootfs | netgear-dni

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

247 (edytowany przez MiG25 2024-01-28 19:18:11)

Odp: Netgear LBR20 Orbi

tak jest w netgear orbi :

IMAGE/factory.img := append-kernel | pad-offset 128k 64 | \
        append-uImage-fakehdr filesystem | pad-to $$$$(KERNEL_SIZE) | \
        append-rootfs | pad-rootfs | netgear-dni

Plik img miał wtedy coś koło 8,5MB , i to coś wgrane nie przedstawiało się później jako ubi0 , ubiattach tego nie widział.

EDIT: Nie wiem , może jakaś kopia tej partycji ubifs dołączona spowoduje , że nmrp/tftp wgra to na to miejsce i z miejsca użyje...

248 (edytowany przez frutis 2024-01-28 19:24:23)

Odp: Netgear LBR20 Orbi

Oficjalna aktualizacja ma mniejszy rozmiar samego kernela:
- LBR20-V2.7.5.6.img - 3456kB
- LBR20-V9.2.5.2.41SF-HW.img - 3840kB

EDIT:
Dasz radę wrzucić oficjalny firmware przez nmrp?

249 (edytowany przez MiG25 2024-01-28 19:26:07)

Odp: Netgear LBR20 Orbi

@frutis , ok ale ona ma tam system squash to raz , ma 3 partycje  ( kernel , root fs  i rootfs_data) .

A my z  rootfs i rootfs_data zrobiliśmy jedną , i jeszcze chcemy żeby się zmieniła w ubi0....

Więc najprościej byłoby do tego końca kernela dokleić całą to nową partycję ubifs ( chyba jej kopię z działającego sstemu , chyba ,że umiemy taką stworzyć).

250

Odp: Netgear LBR20 Orbi

Tak wiem, tylko chodzi mi o to jak się zachowa nmrp. Czy to obsłuży.