1

Temat: DIR300 B5 a OpenWrt

Podjąłem próbę zmuszenia takiego routerka do współpracy z OpenWrt.
Zrobiłem wg poradnika: http://wiki.umeahackerspace.se/w/index. … =Dir-300b5
Czyli załadowałem obraz "initframs" do ramu spod bootloadera, a z ramu przez sysupgrade obraz z tej strony do flash.

Mogę potwierdzić, że to działa, ale obraz był stary, bodaj BB rc2, więc poleciałem po bandzie i załadowałem obraz CC rc3 dla modelu DIR 610A1 od Cezarego (identyczny hardware). Tyle, że sysupgrade wywaliło mi "platform check image failed", więc załadowałem tftp prosto z bootloadera na flash.
I wywala się w ten sposób bootlog
Tutaj ktoś odpalił BB build39923 z marca 2014 na DIR600b5 (bebechy jak w DIR300) i potwierdził, że buildy dla DIR610A1 też działały na DIR 300B5 i 600B5, oraz że nowsze BB nie działały.

Byłbym nawet skłonny przystać na te stare BB, ale jak podłączę repo od normalnego BB do BB rcX to raczej nie będzie działać?
I wreszcie, po co ta kołomyja z initframs, kiedy bootloader ma możliwość załadowania bezpośrednio na flash?

Router ma podobne bebechy co Hame MPR-A1, czyli rt5530, 32MB RAM i 4MB spi flash.

2

Odp: DIR300 B5 a OpenWrt

Więc weź obraz od mpr-a1 i sprawdź.

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

3

Odp: DIR300 B5 a OpenWrt

Yup, obrazy MPR-A1 Barrier Breaker, jak i CC rc3 z twojego repo i BB z oficjalnego udało się odpalić. Niestety, nadaje się to wszystko do samodzielnej kompilacji, bo (oczywiście) diody nie działają, a ten dlink nie ma portu USB, więc cały niepotrzebny syf z nim związany należałoby wywalić. Niestety, żaden w miarę nowy obraz dla DIR610 nie działa, znalazłem jeszcze tylko to: https://dev.openwrt.org/ticket/18046
wygląda, jakby rootfs nie był w ogóle budowany.

4

Odp: DIR300 B5 a OpenWrt

Odświeżam temat, bo próbowałem skompilować działający obraz dla DIR300 B5 i utknąłem. Czego bym nie zrobił, dalej wywala się na "Unable to mount root fs on unknown-block(0,0)"
Kompiluję CC 15.05 z wybranym DIR610 A1 (prawie identyczny hardware), w pliku .dts podmieniłem

compatible = "f25l32pa", "m25p80";

na

compatible = "w25q32", "m25p80";

zgodnie z modelem kości, który siedzi w routerze. Dopisałem też do kernel command line:

board=DIR-610-A1

Pokazuje się to w logach przy uruchomieniu, ale jak widać nic nie dało. Mój obraz initframs działa, układ diód i portów zgadza się, flashuję spod niego mój sysupgrade i (nadal) kicha.

Ma ktoś pomysł, co mogę jeszcze zmienić, aby naprawić wsparcie dla tego routera?

5

Odp: DIR300 B5 a OpenWrt

Logi, nikt tutaj nie wróży.

6

Odp: DIR300 B5 a OpenWrt

Bieżący bootlog, który i tak jest niemal identyczny, jak ten zalinkowany w pierwszym poście.

7

Odp: DIR300 B5 a OpenWrt

Te routery mają firmware z nagłówkiem Seama?
Jeżeli tak, to zajrzyj do konfiguracji kernela i zobacz czy masz zaznaczone MTD_SPLIT_SEAMA_FW. Coś mi się wydaje, że o tym zapomnieli...

8 (edytowany przez unreal 2015-10-07 18:47:57)

Odp: DIR300 B5 a OpenWrt

pepe2k napisał/a:

Te routery mają firmware z nagłówkiem Seama?
Jeżeli tak, to zajrzyj do konfiguracji kernela i zobacz czy masz zaznaczone MTD_SPLIT_SEAMA_FW. Coś mi się wydaje, że o tym zapomnieli...

Bullseye
Bingo
Strzał w dziesiątkę
Router właśnie wstał pod CC 15.05.

Dla zainteresowanych instrukcja, jak naprawić wsparcie:
make kernel_menuconfig, i wybieramy w menu kolejno:
Device Drivers -> Memory Technology Device (MTD) Support -> Openwrt specific MTD options
zaznaczyć "Seama firmware parser" i zapisać konfigurację (Save)

Teraz w bootlogu pokazuje się:

[    0.490000] m25p80 spi32766.0: w25q32 (4096 Kbytes)
[    0.500000] 4 ofpart partitions found on MTD device spi32766.0
[    0.520000] Creating 4 MTD partitions on "spi32766.0":
[    0.530000] 0x000000000000-0x000000030000 : "u-boot"
[    0.540000] 0x000000030000-0x000000040000 : "devdata"
[    0.550000] 0x000000040000-0x000000050000 : "factory"
[    0.560000] 0x000000050000-0x000000400000 : "firmware"
[    0.630000] 2 seama-fw partitions found on MTD device firmware
[    0.640000] 0x000000050000-0x000000160000 : "kernel"
[    0.650000] 0x000000160000-0x000000400000 : "rootfs"

Wydaje się, że konfig DIR610 A1 pasuje mniej więcej dobrze. Diody sygnalizują właściwie, łapie MAC adresy interfejsów poprawnie, radio działa. Niestety, nie udało mi się wywołać failsafe za pomocą przycisków wps i reset, ale guziki nie są mi potrzebne.

9

Odp: DIR300 B5 a OpenWrt

unreal napisał/a:

Bullseye
Bingo
Strzał w dziesiątkę
Router właśnie wstał pod CC 15.05.

Dla zainteresowanych instrukcja, jak naprawić wsparcie:
[...]

No, to teraz wyślij łatkę: https://dev.openwrt.org/wiki/SubmittingPatches

10

Odp: DIR300 B5 a OpenWrt

pepe2k napisał/a:
unreal napisał/a:

Bullseye
Bingo
Strzał w dziesiątkę
Router właśnie wstał pod CC 15.05.

Dla zainteresowanych instrukcja, jak naprawić wsparcie:
[...]

No, to teraz wyślij łatkę: https://dev.openwrt.org/wiki/SubmittingPatches

Dobra, sam wysłałem.

11

Odp: DIR300 B5 a OpenWrt

Update: w trunku w końcu naprawione (https://dev.openwrt.org/changeset/47340, https://dev.openwrt.org/changeset/47341).