Odp: DGT RGW VDSL2 G
W sumie nie. Ja swoje przykleiłem na klej termoprzewodzący, który jest mega mocny i teraz bez podgrzania suszarką się nie obejdzie :E
Nie jesteś zalogowany. Proszę się zalogować lub zarejestrować.
eko.one.pl → Oprogramowanie / Software → DGT RGW VDSL2 G
Strony Poprzednia 1 2 3 4 5 6 7 Następna
Zaloguj się lub zarejestruj by napisać odpowiedź
W sumie nie. Ja swoje przykleiłem na klej termoprzewodzący, który jest mega mocny i teraz bez podgrzania suszarką się nie obejdzie :E
Z openwrt się chwilowo poddaje, pytanie z innej beczki. Czy jest możliwość zmiany koloru led w aktualnym firmwarze? Szukałem katalogu z ledami, w openwrt jest ścieżka ładna, ale tutaj niestety brak. Te diody są 2 stanowe, stan niski świecą na czerwono, stan wysoki na zielono. Podczas wciśnięcia przycisku wps dioda miga czerwono zielono. Mnie interesowałby kolor czerwony. Będzie z tym problem?
Będzie. W oryginalnym sofcie diody mogą być inaczej sterowane i dostęp do nich a tych bardziej oprogramowanie ich może być trudne.
Znalazłem tylko 2 pliki powiązane bezpośrednio z ledami, nie wiem na ile są potrzebne. Są to rc.led_test1 i rc.led_test2
ich zawartość. Jednak to raczej nie to. Nie bardzo wiem jak szukać i pod jakimi nazwami.
#!/bin/sh
SERIAL=`cat /proc/nvram/DGTserial`
BOARD=`awk '// {print substr($1,1,4) }' /proc/nvram/DGTserial`
if [ "$BOARD" = "0776" ];then
dgtioctl clr 22
dgtioctl clr 24
dgtioctl set 2
dgtioctl set 4
dgtioctl set 11
dgtioctl clr 5
dgtioctl clr 31
dgtioctl set 25
dgtioctl set 21
dgtioctl set 14
dgtioctl set 26
dgtioctl set 27
dgtioctl set 12
sleep 1
dgtioctl set 22
dgtioctl set 24
dgtioctl clr 2
dgtioctl clr 4
dgtioctl clr 11
dgtioctl set 5
dgtioctl set 31
dgtioctl clr 25
dgtioctl clr 21
dgtioctl clr 14
dgtioctl clr 26
dgtioctl clr 27
dgtioctl clr 12
fi#!/bin/sh
SERIAL=`cat /proc/nvram/DGTserial`
BOARD=`awk '// {print substr($1,1,4) }' /proc/nvram/DGTserial`
if [ "$BOARD" = "0776" ];then
dgtioctl clr 22;sleep 1
dgtioctl clr 24;sleep 1
dgtioctl set 2;sleep 1
dgtioctl set 4;sleep 1
dgtioctl set 11;sleep 1
dgtioctl clr 5;sleep 1
dgtioctl clr 31;sleep 1
dgtioctl set 25;sleep 1
dgtioctl set 21;sleep 1
dgtioctl set 14;sleep 1
dgtioctl set 26;sleep 1
dgtioctl set 27;sleep 1
dgtioctl set 12;sleep 1
dgtioctl set 22;sleep 1
dgtioctl set 24;sleep 1
dgtioctl clr 2;sleep 1
dgtioctl clr 4;sleep 1
dgtioctl clr 11;sleep 1
dgtioctl set 5;sleep 1
dgtioctl set 31;sleep 1
dgtioctl clr 25;sleep 1
dgtioctl clr 21;sleep 1
dgtioctl clr 14;sleep 1
dgtioctl clr 26;sleep 1
dgtioctl clr 27;sleep 1
dgtioctl clr 12;sleep 1
fiCo zauważyłem, przy zmianie board id np na ten 96368 dioda od wifi jest czerwona, ale wifi działa, czyli jakby nie było to skonfigurowane i jakby jej nie widział firmware wtedy. Ogólnie to ten CFE jest okrojony, nawet nie można zmienić mac adresu na inny ( w sensie inny producent niż dgt bo wywala info ).
Jeszcze znalazłem jakiś plik ledctl, ale on chyba nie ma tu nic do gadania.
Z tymi ledami to chyba łatwiej będzie kupić niebiesko czerwone i wlutować niż się z tym bawić.
Może faktycznie tak są sterowane. Wiec dgtioctl set 1; sleep 1; dgtioctl clr 1 i tak dalej po wszystkich numerach jedź, może znajdziesz które są od ledów.
Będę próbował, ale najpierw muszę znaleźć jak wyedytowć ten plik w tym busybox.
Idąc tym tropem znalazłem plik dgtioctl Niestety, ale zawartość wygląda to prakytycznie same krzaki, chociaż widzę nazwy GPIO, więc już coś, może w hexedytorze coś wynajdę.
Po co chcesz edytować? Po prostu napisz polecenie w konsoli.
Zaraz, zaraz, ale jakie polecenie to co jest w tych skryptach? dgtioctl set 4;sleep 1 itp? Kilka próbowałem i nic. Dzisiaj coś mi głowa nie pracuje.
Coś to ustawia więc sprawdzaj numerki po kolei.
Ok rozumiem.
Właśnie zacząłem sprawdzać te polecenia i dająć dgtioctl clr 22;sleep 1 zgasła dioda power dająć dgtioctl set 22;sleep 1 zapaliła się. Próbuję dalej ![]()
Haha udało mi się zapalić czerwoną diodę od power. Zaraz zrobię podsumowanie co i jak działa
Nawet można tymi poleceniami rozjaśniać te diody.
Ok tak na szybko to co mi się udało:
dgtioctl clr 2 od adsl zapala zieloną/ set ją gasi
dgtioctl clr 5 zapala czerwoną od internetu /set zapala poprzednią
dgtioctl clr 10 zapala zieloną od voip ( podniesiona słuchawka) /set gasi
dgtioctl set 22 zapala pomarańczową diodę od power/ clr zapala poprzednią
dgtioctl set 23 zapala czerwoną od wifi / clr zapala zieloną
dgtioctl set 24 też zapala czerwoną od power / polecenie clr zapala zieloną
dgtioctl clr 26 zapala zieloną od voip/ set ją gasi
dgtioctl set 31 zapala pomarańczową od internetu / clr zapala zieloną
dgtioctl clr 34 przycisk reset, nie używaćTrzeba to teraz dodać do firmwaru, żeby się tak odpalały przy restarcie. Może z tym rc.test. leds trzeba pokombinować? Zmienić tylko board na moją i zobaczyć lub jakiś skrypt, który po uruchomieniu je odpali.
Nowe wieści, udało mi się rozpakować ori firmware za pomocą firmware mod kit, tak samo z openwrt. Nie musiałem usuwać żadnych linijek w hexeditorze jak pod windowsem. Teraz spróbuję porównać co i jak i zobaczymy co z tego wyjdzie. Może się uda ruszyć w końcu openwrt.
Log z openwrt
Scan Time: 2014-01-05 23:07:50
Signatures: 193
Target File: /home/xxx/Pulpit/fmk/openwrt.bin
MD5 Checksum: 01ecb2396ca003727c1010196cd753d9
DECIMAL HEX DESCRIPTION
-------------------------------------------------------------------------------------------------------
1179648 0x120000 Squashfs filesystem, little endian, version 4.0, compression: size: 1757818 bytes, 622 inodes, blocksize: 262144 bytes, created: Sun Jan 5 02:17:15 2014 config.log z openwrt
FW_SIZE='2949124'
HEADER_TYPE=''
HEADER_SIZE=''
HEADER_IMAGE_SIZE='1179648'
HEADER_IMAGE_OFFSET='0'
FOOTER_SIZE='96'
FOOTER_OFFSET='2949028'
FS_TYPE='squashfs'
FS_OFFSET='1179648'
FS_COMPRESSION='lzma'
FS_BLOCKSIZE='262144'
ENDIANESS='-le'
MKFS="./src/others/squashfs-4.2-official/mksquashfs"log z dgt
Scan Time: 2014-01-05 23:09:48
Signatures: 193
Target File: /home/xxx/Pulpit/fmk/bcm.1609.bin
MD5 Checksum: e9bfeff7ae8ecd7b49e1d1e944e6cd58
DECIMAL HEX DESCRIPTION
-------------------------------------------------------------------------------------------------------
1024 0x400 Squashfs filesystem, little endian, non-standard signature, version 4.0, compression:gzip, size: 10001068 bytes, 1225 inodes, blocksize: 65536 bytes, created: Wed Jul 18 16:33:34 2012
10003468 0x98A40C LZMA compressed data, properties: 0x6D, dictionary size: 4194304 bytes, uncompressed size: 4134144 bytes
10758211 0xA42843 Broadcom header, number of sections: 1160982971,config.log z dgt
FW_SIZE='11393142'
HEADER_TYPE=''
HEADER_SIZE=''
HEADER_IMAGE_SIZE='1024'
HEADER_IMAGE_OFFSET='0'
FOOTER_SIZE='2736'
FOOTER_OFFSET='11390406'
FS_TYPE='squashfs'
FS_OFFSET='1024'
FS_COMPRESSION='gzip'
FS_BLOCKSIZE='65536'
ENDIANESS='-le'
MKFS="./src/others/squashfs-4.2/mksquashfs"Spróbuję jeszcze z innym firmwarem od dgt i openwrt, żeby można było wykluczyć jakieś pomyłki.
Ok log z dgt stara wersja
Scan Time: 2014-01-05 23:58:40
Signatures: 193
Target File: /home/xxx/Pulpit/fmk/bcm.old1.bin
MD5 Checksum: 825b8dbab3e498b71d46e6124ce8e327
DECIMAL HEX DESCRIPTION
-------------------------------------------------------------------------------------------------------
1024 0x400 Squashfs filesystem, little endian, non-standard signature, version 4.0, compression:gzip, size: 8918004 bytes, 825 inodes, blocksize: 65536 bytes, created: Mon Oct 18 13:25:38 2010
8922124 0x88240C LZMA compressed data, properties: 0x6D, dictionary size: 4194304 bytes, uncompressed size: 3360340 bytesconfig.log dgt
FW_SIZE='10042885'
HEADER_TYPE=''
HEADER_SIZE=''
HEADER_IMAGE_SIZE='1024'
HEADER_IMAGE_OFFSET='0'
FOOTER_SIZE='2720'
FOOTER_OFFSET='10040165'
FS_TYPE='squashfs'
FS_OFFSET='1024'
FS_COMPRESSION='gzip'
FS_BLOCKSIZE='65536'
ENDIANESS='-le'
MKFS="./src/others/squashfs-4.2/mksquashfs"i openwrt inna wersja
Scan Time: 2014-01-06 00:06:19
Signatures: 193
Target File: /home/xxx/Pulpit/fmk/openwrt.bin
MD5 Checksum: b842725e933871669d2b1975dd31d3bc
DECIMAL HEX DESCRIPTION
-------------------------------------------------------------------------------------------------------
1179648 0x120000 Squashfs filesystem, little endian, version 4.0, compression: size: 1757498 bytes, 618 inodes, blocksize: 262144 bytes, created: Tue Dec 17 19:37:02 2013config.log
FW_SIZE='2949124'
HEADER_TYPE=''
HEADER_SIZE=''
HEADER_IMAGE_SIZE='1179648'
HEADER_IMAGE_OFFSET='0'
FOOTER_SIZE='96'
FOOTER_OFFSET='2949028'
FS_TYPE='squashfs'
FS_OFFSET='1179648'
FS_COMPRESSION='lzma'
FS_BLOCKSIZE='262144'
ENDIANESS='-le'
MKFS="./src/others/squashfs-4.2-official/mksquashfs"Próbowałem rozpakowany firmware od dgt ponownie spakować, ale wywala
New firmware image will be larger than original image!
Building firmware images larger than the original can brick your device!
Try re-running with the -min option, or remove any unnecessary files.
REFUSING to create new firmware image.
Original file size: 11393142
Current file size: 12493824 (plus footer of 2736 bytes)
Quitting...
Nawet nie sprawdzam bo na bank nie ruszy. Coś inaczej chyba trzeba go spakować. Próbwałem z opcją -min, ale to samo. W przypadku openwrt to samo.
Udało mi się rozpakować i spakować ponownie firmware DGND3700_2013-12-20_A_D.chk, sprawdzałem w hexedytorze wsio się zgadza. Będę próbował dalej.
Co ciekawe w przypadku dgt header jest strasznie mały zajmuje ok 1kb, natomiast w openwrt waży ok 1mb.
Doszedłem mniej więcej do tego, że być może problem leży w kompresji. Po rozpakowaniu firmwaru od dgt początek rootfs w hex edytorze to shsq9 ( w każdym firmwarze) można go 7zipem spokojnie rozpakować, natomiast w przypadku openwrt to hsqs i jego 7zipem nie da rady. Następnie po spakowaniu ori firmwaru od dgt FMK wychodzi większy rozmiar i co ciekawe już jest spakowany inaczej bo początek rootfs to hsqs jak w przypadku openwrt. 7zip nie daje rady wypakowac rootfs. Oczywiście squashfs-4.2-official daje sobie radę z obydwoma. Następnie bawiłem się próbując odpalić zmodowany firmware czyli nagłówek z dgt + rootfs z openwrt spakowany FMK, ale nie ruszył komunikat jak wcześniej. Próbowałem jeszcze odpalić poprzez komendę r i co ciekawe to rootfs z openwrt niby zdekompresował, ale dalej nic.
odpalenie samego rootfs.img po wypakowaniu FMK. Sam rootfs.img zarówno od dgt jak i openwrt utworzony przy pomocy FMK też nie idzie przy komendzie r. Natomiast co ciekawe po spakowaniu wypakowanego rootfs 7zipem nie całego na dodatek, chodzi o sam początek bo pod windą nie da rady tego spakować niby dekompresuje co pokazałem niżej.
CFE> r rootfs.img
Retry loading it as a compressed image.
Loading 192.168.1.100:rootfs.img ...
Finished loading 11392118 bytes
Code Address: 0x73687371, Entry Address: 0xc9040000
LZMA: Prossible old LZMA format, trying to decompress..
**Exception 8: EPC=806132B8, Cause=000005EA (Exc26 )
RA=8073D5D8, VAddr=00000000
0 ($00) = 8061EFB0 AT ($01) = 8073D2F4
v0 ($02) = 806135AC v1 ($03) = 80800011
a0 ($04) = 73687371 a1 ($05) = 80800011i tak byle jak spakowany rootfs od openwrt po wypakowaniu fmk i spakowaniu jako zip jak widać niby go przyjmuje
r rootfs.zip
Retry loading it as a compressed image.
Loading 192.168.1.100:rootfs.zip ...
Finished loading 2404514 bytes
Code Address: 0x504B0304, Entry Address: 0x14000000
Decompression OK!
Entry at 0x14000000
Closing network.
Disabling Switch ports.
Flushing Receive Buffers...
0 buffers found.
Closing DMA Channels.
Starting program at 0x14000000
**Exception 8: EPC=8061EFB0, Cause=806210BC (FPUExc )
RA=20323430, VAddr=8073D313
0 ($00) = 14000000 AT ($01) = 80611BCC
v0 ($02) = 00000000 v1 ($03) = 14000000
a0 ($04) = 53746172 a1 ($05) = 2070726FW oryginalne boot wygląda tak
Booting from latest image (0xb9000000) ...
Code Address: 0x80010000, Entry Address: 0x80014230
Decompression OK!
Entry at 0x80014230
Closing network.
Disabling Switch ports.
Flushing Receive Buffers...
0 buffers found.
Closing DMA Channels.
Starting program at 0x80014230
Linux version 2.6.30 (krom@krom) (gcc version 4.4.2 (Buildroot 2010.02-git) ) #2 Mon Oct 18 13:10:16 CEST 2010
Parallel flash device: name AM29LV320MTi nowsza wersja fw
CFE> r
Booting from latest image (0xb9000000) ...
Code Address: 0x80010000, Entry Address: 0x803127f0
Decompression OK!
Entry at 0x803127f0
Closing network.
Disabling Switch ports.
Flushing Receive Buffers...
0 buffers found.
Closing DMA Channels.
Starting program at 0x803127f0
Linux version 2.6.30 (krom@krom) (gcc version 4.4.2 (Buildroot 2010.02-git) ) #1 SMP PREEMPT Wed Jul 18 16:15:00 CEST 2012
Parallel flash device: name AM29LV320MTGdyby udało mi się spakować ten firmware jak w oryginale tzn żeby początek był shqs a nie hsqs to może go przyjmie. Aktualnie nic z tego jak widać. Chyba, że to chodzi jeszcze o coś innego. Jakieś pomysły? Bo być może problem jednak leży gdzie indziej.
Inna kolejność bajtów? sqsh jest dla cpu z big endian, hsqs jest dla little endian
I tutaj kolejna sprawa znalazłem program Broadcom_Firmware_Tool_v1.0_Beta1_standalone i w nim po otwarciu firmware od dgt jest zaznaczone Big Endian, natomiast w FMK jak wypakowywałem firmware jest tylko little endian, który więc mówi prawdę? Dobra właśnie czytam co to to Big Endian bo jeszcze nie wiem, nie zwracałem na to uwagi.
Z ciekawości przeglądam sobie pdf odnośnie cfe od broadcoma. Znalazłem na necie coś co mnie zastanawia. Otóż u mnie nie ma komendy flashimage jest tylko f a to nie to samo
Przykład z innego cfe
f Write image to the flash
i Erase persistent storage data
b Change board parameters
reset Reset the board
flashimage Flashes a compressed image after the bootloader.
help Obtain help for CFE commands
Czyli ten firmware od dgt nie jest skompresowany? skoro daje się wypakować przez 7zipa po usunięciu nagłówka?
Jutro zrobię chyba kabel do jtaga i zgram na wszelki wypade bootloader.
I jeszcze sprawa po wypakowaniu firmware`u od dgt w logu pojawia się info o kompresji gzip? W openwrt tego nie ma.
FS_TYPE='squashfs'
FS_OFFSET='1179648'
FS_COMPRESSION='lzma'
FS_BLOCKSIZE='262144'
ENDIANESS='-le'
dgt
FS_TYPE='squashfs'
FS_OFFSET='1024'
FS_COMPRESSION='gzip'
FS_BLOCKSIZE='65536'
ENDIANESS='-le'
Nie wierzę, że tylko w tym routerze jest problem z wgraniem openwrt. Nikt się nie spotkał z podobnym problemem? Najłatwiej byłoby wgrać inny bootloader, ale skąd taki wziąć?
To są dwa różne typy kompresji po prostu.
Tyle to i ja wiem
Pytanie tylko czy rootfs w dgt jest faktycznie skompresowany jako gzip i dlatego go przyjmuje a lzma nie rusza poprzez f, może jakby była komenda flash to by działało.
Ale nie masz. Bootloadery są przez producentów różnie obcinane i musisz sobie radzić z tym co jest.
To muszę kombinować z tą kompresją, żeby początek nagłówka był shsq to wtedy ruszy bo już mi zaczyna brakować pomysłów a na pomoc DGT nie ma co liczyć bo nawet na żadnego maila o ori firmware nie odpisali.
I jeszcze coś. Sprawdziłem jeszcze w 7zipie firmware od dgt po obcięciu nagłówka ( to co się daje wypakować ) i kompresja LZMA ZLIB
Bigendian-
System plików SquashFS-LZMA 4.0
Czyli dobrze pokazuje FMK, tylko skąd mu się ten gzip wziął. Zresztą firmware musi być spakowany skoro po rozpakowaniu zajmuje 34mb a po spakowaniu 9,50mb
Edit:
No wreszcie udało mi się spakować rootfs openwrt jak w oryginale! Co prawda w squashfs 3.1 ale początek jest shsq i można go otworzyć w 7zipie pod windą. Dodałem nagłówek na chama w hexedytorze, ale nie ruszyło. Próbuję dalej. Jutro zrobię mixa z firmwareami od dgt, dam nagłówek z jednego do drugiego i zobaczymy czy ruszy, jeżeli nie to znaczy, że nagłówek zawiera coś co blokuje wgranie firmwaru ( suma kontrolna crc? skoro wywala błąd Illegal image ! Image crc failed.) i może to nie o to shsq chodzi.
Exportable Little endian filesystem, data block size 65536, compressed data, compressed metadata, compressed fragments, duplicates are removed
lzmadic 65536Jeszcze jedna sprawa, zmodyfikowałem jeden bit w firmwarze dgt, zmieniłem w nagłówku z 1 na 2 i zapisałem, rozmiar taki sam, nie przyjął, więc zmieniłem spowrotem z 2 na 1 i przyjął fimware. Wsadziłem jeszcze nagłówek z jednego firmware od dgt do drugiego, też nie przyjął. Chociaż wykrył najpierw invalid image format jak zmieniłem z 1 na 2, a ten drugi to obcięty nagłówek z jednego firmware i wklejony do 2 i co dziwne wywaliło to co widać, albo błąd po prostu. Firmware wrzucałem przez stronę cfe.
CFE>
web info: Upload 11393142 bytes, invalid image format.[J
CFE>
web info: Waiting for connection on socket 0.[J
CFE>
web info: Waiting for connection on socket 1.[J
CFE>
web info: Upload 11393142 bytes, Broadcom image format.[J
CFE> Illegal image ! Image crc failed.
Resetting board...˙zmiana z 2 na 1 jak w ori i przyjął.
CFE>
web info: Upload 11393142 bytes, Broadcom image format.[J
CFE>
Flashing root file system and kernel at 0xb8040000: .......................................................................................
.
*** Image flash done *** !To oznacza, że w tym przypadku nie chodzi o kompresje tylko w nagłówku jest zaszyta jakaś suma którą najpierw sprawdza, żeby to ruszyło dalej. Sprawdza wielkość pliku i coś jeszcze. wydaje mi się, że to o to chodzi, ale jak to rozszyfrować.
{íĎáŃů .ŞÓjÂ.ŹËăŻÔÁøb»nY.Ăř%._‰,‰ďŮ0¤Á‰4Xś.«Ř`GÄŔ.ü{ĽĎ4$[`2[ Ć6\/ŕ2çn0.ÄxâMŕ„ń..đńű`â˙,¤:§.6şt"ü”nP%>9Ű<9ŐkK_XŁÂq•,Bh<}ěx‚Tŕ_)[o‡égAµÖ2W‡eŠ^EÔ®.Xů~¸G|đ´Słé.®šf+í€?tń”›¸.úW±.üPR˛ĹOă~«.ňÉ!TáͲđH2Ü}l©3ă6ć}żŞ4AÚyżrV…7˛H-b.@.°@MŐj8Ur.d®.ëĘPç.9.Ű.ë?ýλšđá·–1Öö0759.;0730.;0776. i końcówka przed rootfs
úO&.ą–¦%ħńq.........Á]¤No cóż muszę dalej szukać i czytać.
Stwierdziłem, że nie będę się bawił w edycję hexeditorem, znalazłem coś takiego bcm963xx_4.06L.03_consumer_release.tar.gz
Zobaczymy co tam ciekawego jest, tym bardziej, że firmware 2 pierwsze dostali od Broadcoma z tego co sami napisali w pliku, więc musieli mieć sdk, zobaczymy co z tego wyjdzie.
Dobra pytanie mam takie coś
xxx@xxx-desktop:~/Pulpit/hostTools$ ./createimg
Usage: ./createimg [-bnmtpswiohv] [--help] [--version]
example:
createimg -b 96362GW -n 12 -m 02:10:18:18:12:01 -t 0 -i cfe_fs_kernel -o cfe_fs_kernel.img
where:
[-b] board id name
[-n] number of mac address
[-m] base mac address
[-t] main thread number
[-p] PSI Size
[-s] GPON Serial Number
[-w] GPON Password
[-i] input image name
[-o] ouput image name
[-f] whole flash image name
[-h] help
[-v] versioni jeszcze takie coś
xxx@xxx-desktop:~/Pulpit/hostTools$ ./bcmImageBuilder
Usage: ./bcmImageBuilder {-h|--help|-v|--version}
[--littleendian]
--chip <chipid> -- chip id {6328|6362|6368|6816}
--board <boardid> --blocksize {64|128}
--output <filename> --cfefile <filename>
[--rootfsfile <filename> --kernelfile <filename> [-i|--include-cfe]]
-h, --help Print a summary of the options
-v, --version Print the version number
-l, --littleendian Build little endian image
--chip <chip id> Chip id
--board <board name> Board name
--blocksize <block size> Flash memory block size in KBytes
--output <filename> Output image file name
--cfefile <filename> CFE imgage name
--kernelfile <filename> Kernel image name
--rootfsfile <filename> Root file system image name
-i, --include-cfe Add CFE to kernel and rootfs image+ są jeszcze cmplzma, lzmacmd mksquashfs
Jednak zastanawia mnie ten bcmImageBuilder, potrzebuję do niego kernel i rootfs rootfs w sumie mam, ale skąd mam wziąć kernel? Jakieś konkretne formaty będzie wymagał?
Zrobiłem kabel jtag, ale coś mi nie pasuje na 2 pinach po podłączeniu do lpt mam 4,5v a na 2 3,3v zastowsowałem 100ohm rezystory. Nie chcę uwalić routera, więc nie podłączyłem jeszcze. To normalne? CHciałem zrobić backup cfe na wszelki wypadek.
Zrobiłem obraz tym bcmImageBuilder, ale firmware go nie przyjmuje.
Bawiłem się też zmienioną wersją Open bcmImageBuilder, udało mi się zrobić obraz wiem nawet, rozpracowałem też początkowe wpisy w nagłówku i chyba jedyny problem to jest to, nie wiadomo co to jest. Jak to rozszyfrować. Tu chyba jest główny problem, bo reszta w nagłówku się zgadza.
firmware od Broadcoma
zYč_iĘ2˛Ů.ŇeSÜ.ą..űÓ=c.©Uť.:fF 8˙‹…tďs8Ę´-}..‚üažĺi.ţö. Jµ*8?Ľ”őĐK¦ń~čße¤$ŕî.x.Eé-1ľ8.Z`.…͆9.A.,ŰnÔĺ..SV°T.%.е'yFŮ%”„Žömž™.´:˙.×lurśá.Ç.âU}xXS4kţŰů.8'.Çâý.ÝÍ™.«(í/o°´5J..Ď_qß”rŇB.Xăűsôe.0$EäóăÁ`(P¬.mĎU.÷aŕ.ř.đ˝-g9ÔM"éŠ.fň¨G‡ŔĄUO‹Ę‘.µ"T.ç..Ş—üfE˙24ÔX.“sÖ\
i najnowszy firmware DGT jak widać na końcu są wersje routerów 0759.;0730.;0776
{íĎáŃů .ŞÓjÂ.ŹËăŻÔÁøb»nY.Ăř%._‰,‰ďŮ0¤Á‰4Xś.«Ř`GÄŔ.ü{ĽĎ4$[`2[ Ć6\/ŕ2çn0.ÄxâMŕ„ń..đńű`â˙,¤:§.6şt"ü”nP%>9Ű<9ŐkK_XŁÂq•,Bh<}ěx‚Tŕ_)[o‡égAµÖ2W‡eŠ^EÔ®.Xů~¸G|đ´Słé.®šf+í€?tń”›¸.úW±.üPR˛ĹOă~«.ňÉ!TáͲđH2Ü}l©3ă6ć}żŞ4AÚyżrV…7˛H-b.@.°@MŐj8Ur.d®.ëĘPç.9.Ű.ë?ýλšđá·–1Öö0759.;0730.;0776
Co to może być?
Zamiast bawić się jtagiem, robię dump z cfe przez dm, gdyby wpadł na to wcześniej ![]()
CFE sprawdza chyba tylko sam tag sumę CRC
Jak będę miał wolny czas to posiedzę nad tym jeszcze. Chociaż jestem początkujący w tym temacie
Rozgryzłem które wpisy odpowiadają za to gdzie szuka obrazu, kernela. Na samym początku się znajduje w tagu. Nie rozgryzłem jeszcze co oznaczają te wpisy co dałem wyżej. Są tylko w obrazach od dgt, w każdym i czy mają jakieś znaczenie.
A i doszedłem, że u mnie jest BigEndian, nawet w CFE na początku się wyświetla BE, a nie LE.
/***************************************************************************
* Function Name: verifyTag
* Description : check on the input file by tag verification
* Returns : 0 - ok, -1 bad input image file
***************************************************************************/
int verifyTag(PFILE_TAG pTag)
{
UINT32 crc;
int status = 0;
// check tag validate token first
crc = CRC32_INIT_VALUE;
crc = getCrc32((char*) pTag, (UINT32)TAG_LEN-TOKEN_LEN, crc);
crc = htonl(crc);
if (crc != (UINT32)(*(UINT32*)(pTag->tagValidationToken)))
{
printf("Illegal image ! Tag crc failed.\n");
status = -1;
}
return status;
}Znalazłem na https://github.com/guillaumelecerf/cfe_ … reateimg.c
Według tego wszystko się zgadza, ale do momentu tych krzaków, chyba dgt sobie własny system sprawdzania opracowało, nie wiem.
http://wiki.openwrt.org/doc/techref/brcm63xx.imagetag
Ktoś ma jakiś pomysł, co się kryje pod tym?
To samo co wyżej tylko w hex.
7B ED CF E1 D1 F9 20 98 AA D3 6A C2 0E 8F CB E3 AF D4 C1 C3 B8 62 BB 6E 59 0B C3 F8 25 09 5F 89 2C 89 EF D9 30 A4 C1 89 34 58 9C 18 AB D8 60 47 C4 C0 0D FC 7B BC CF 34 24 5B 60 32 5B A0 C6 36 5C 2F E0 32 E7 6E 30 10 C4 78 E2 4D E0 84 F1 18 10 F0 F1 FB 60 E2 FF 2C A4 3A A7 05 36 BA 74 22 FC 94 6E 50 25 3E 39 DB 3C 39 D5 6B 4B 5F 58 A3 C2 71 95 2C 42 68 3C 7D EC 78 82 54 E0 5F 29 5B 6F 87 E9 67 41 B5 D6 32 57 87 65 8A 5E 45 D4 AE 0D 58 F9 7E B8 47 7C F0 B4 53 B3 E9 02 AE 9A 66 2B ED 80 3F 74 F1 94 9B B8 0B FA 57 B1 14 FC 50 52 B2 C5 4F E3 7E AB 01 F2 C9 21 54 E1 CD B2 F0 48 32 DC 7D 6C A9 33 E3 36 E6 7D BF AA 34 41 DA 79 BF 72 56 85 37 B2 48 2D 62 16 40 98 B0 40 4D D5 6A 38 55 72 1E 64 AE 17 EB CA 50 E7 18 39 0D DB 0F EB 3F FD CE BB 9A F0 E1 B7 96 31 D6 C3 B6 30 37 35 39 2E 3B 30 37 33 30 2E 3B 30 37 37 36 2E
Co ciekawe mój bootloader też ma inaczej rozplanowany chociażby adres ip, serial itp. Prawie pod sam koniec i nie zajmuje 64kb tylko 132kb, a bez obcinania niezapisanego miejsca ( kończy się przed obrazem ) 256kb. A i jeszcze zauważyłem ciekawą rzecz, otóż obraz oczywiście jest taki sam po wgraniu na pamięć jak ten co się wrzuca, natomiast za obrazem jest niezapisana pamięć i dalej są jakieś bzdety bliżej nie określone. Podejrzewam, że to konfiguracja routera bo po flashu konfiguracja zostaje.
Udało mi się odpalić kernel openwrt ( wyczytałem, że cfe przyjmuje pliki elf) Zmienię zaraz board na 96368 i zobaczę co będzie.
CFE> r vmlinux.elf
0x80010000/3450252 0x8035a58c/249676 Entry at 0x80014af0
Closing network.
Disabling Switch ports.
Flushing Receive Buffers...
0 buffers found.
Closing DMA Channels.
Starting program at 0x80014af0
[ 0.000000] Linux version 3.10.24 (fnord@tschunk) (gcc version 4.6.4 (OpenWrt/Linaro GCC 4.6-2013.05 r39211) ) #1 Fri Jan 10 00:21:14 UTC 2014
[ 0.000000] Detected Broadcom 0x6368 CPU revision b2
[ 0.000000] CPU frequency is 400 MHz
[ 0.000000] 64MB of RAM installed
[ 0.000000] registering 38 GPIOs
[ 0.000000] board_bcm963xx: Boot address 0xb8000000
[ 0.000000] board_bcm963xx: CFE version: 1.0.37-106.17
[ 0.000000] bcm63xx_nvram: nvram checksum failed, contents may be invalid (expected 00000000, got 189e4e90)
[ 0.000000] board_bcm963xx: unknown bcm963xx board:
[ 0.000000] bootconsole [early0] enabled
[ 0.000000] CPU revision is: 0002a031 (Broadcom BMIPS4350)
[ 0.000000] Kernel panic - not syncing: unable to detect bcm963xx boardJakieś pomysły co dalej?
Po zmianie board na 96368MVWG to samo pokazuje unable to detect bcm963xx board
Da się coś z tym zrobić?
Bi nie zna. Albo sobie w bootloaderze zmień na coś co openwrt zna, albo sobie do kernela dorób nowe oznaczenie platformy.
Rozumiem, że jakbym dorobił to wtedy odpali sam kernel tak? Wtedy mógłbym wgrać openwrt sobie? W bootloaderze nie zmienię, ale dziwne, że nie zna platformy 96368MVWG.
Nvram bcm63xx_nvram: nvram checksum failed, contents may be invalid (expected 00000000, got 189e4e90) nie ma tutaj żadnego związku z kernel panic?
Strony Poprzednia 1 2 3 4 5 6 7 Następna
Zaloguj się lub zarejestruj by napisać odpowiedź
eko.one.pl → Oprogramowanie / Software → DGT RGW VDSL2 G
Forum oparte o PunBB, wspierane przez Informer Technologies, Inc