DS410 - Bootloop und Rettung

MeterP

Benutzer
Mitglied seit
06. Sep 2024
Beiträge
5
Punkte für Reaktionen
2
Punkte
3
Hi Team,

vor mir steht eine DS410, bei der wohl ein Update schiefgegangen oder nach Stromausfall Schluckauf aufgetreten ist. Ich habe Sie als Briefbeschwerer und Challenge von Kleinanzeigen.
Das Gerät lässt sich einschalten, die LED blinken, dann geht es wieder aus, um dann erneut zu starten.
Verbindung über die serielle Schnittstelle klappt, hier der Output:
Code:
U-Boot 1.3.3 (Mar 17 2010 - 13:41:27)

CPU:   8533_E, Version: 1.1, (0x803c0011)
Core:  E500, Version: 2.2, (0x80210022)
Clock Configuration:
       CPU:1067 MHz, CCB: 534 MHz,
       DDR: 267 MHz (534 MT/s data rate), LBC:  33 MHz
L1:    D-cache 32 kB enabled
       I-cache 32 kB enabled
I2C:   ready
DRAM:  Initializing
    DDR: 512 MB
FLASH:  4 MB
L2 cache 256KB: enabled
Using default environment

In:    serial
Out:   serial
Err:   serial

CPLD revision: 1.0
Synology Model: DS-410
DRAM Type: DIMM
Fan Status: Good

Net:   No ethernet found.
Press Ctrl+C to abort autoboot in 2 second
## Booting image at ffc00000 ...
   Image Name:   Linux-2.6.32.12
   Image Type:   PowerPC Linux Kernel Image (gzip compressed)
   Data Size:    1930719 Bytes =  1.8 MB
   Load Address: 00000000
   Entry Point:  00000000
   Verifying Checksum ... OK
   Uncompressing Kernel Image ... OK
## Loading RAMDisk Image at ffe00000 ...
   Image Name:   synology_ppc853x_410 5967
   Image Type:   PowerPC Linux RAMDisk Image (gzip compressed)
   Data Size:    959450 Bytes = 937 kB
   Load Address: 00000000
   Entry Point:  00000000
   Verifying Checksum ... Bad Data CRC
OK
   Booti

U-Boot 1.3.3 (Mar 17 2010 - 13:41:27)

CPU:   8533_E, Version: 1.1, (0x803c0011)
Core:  E500, Version: 2.2, (0x80210022)
Clock Configuration:
       CPU:1067 MHz, CCB: 534 MHz,
       DDR: 267 MHz (534 MT/s data rate), LBC:  33 MHz
L1:    D-cache 32 kB enabled
       I-cache 32 kB enabled
I2C:   ready
DRAM:  Initializing
    DDR: 512 MB
FLASH:  4 MB
L2 cache 256KB: enabled
Using default environment

In:    serial
Out:   serial
Err:   serial

CPLD revision: 1.0
Synology Model: DS-410
DRAM Type: DIMM
Fan Status: Good

Net:   No ethernet found.
Press Ctrl+C to abort autoboot in 2 second
Nach Senden des Abort-Signal kann ich mit U-Boot kommunizieren und die verfügbaren Kommandos anzeigen:
Code:
DS410><INTERRUPT>
DS410>?
?       - alias for 'help'
base    - print or set address offset
bootm   - boot application image from memory
bootp   - boot image via network using BootP/TFTP protocol
cmp     - memory compare
coninfo - print console devices and information
cp      - memory copy
crc32   - checksum calculation
echo    - echo args to console
erase   - erase FLASH memory
exit    - exit script
flinfo  - print FLASH memory information
go      - start application at address 'addr'
help    - print online help
icrc32  - checksum calculation
iloop   - infinite loop on address range
imd     - i2c memory display
iminfo  - print header information for application image
imls    - list all images found in flash
imm     - i2c memory modify (auto-incrementing)
imw     - memory write (fill)
inm     - memory modify (constant address)
iprobe  - probe to discover valid I2C chip addresses
loadb   - load binary file over serial line (kermit mode)
loady   - load binary file over serial line (ymodem mode)
loop    - infinite loop on address range
md      - memory display
mm      - memory modify (auto-incrementing)
mtest   - simple RAM test
mw      - memory write (fill)
nm      - memory modify (constant address)
pci     - list and access PCI Configuration Space
printenv- print environment variables
protect - enable or disable FLASH write protection
rarpboot- boot image via network using RARP/TFTP protocol
reset   - Perform RESET of the CPU
setenv  - set environment variables
test    - minimal test like /bin/sh
tftpboot- boot image via network using TFTP protocol
version - print monitor version

Okay. Nach einigen Recherchen kann das passieren, bei doozan gibt es viel hilfreiches wissen.
Wie im Bootlog steht, scheint das RamDisk Image synology_ppc853x_410 5967 beschädigt und muss neu drauf. Das Binary habe ich aus einem alten Updatepaket extrahiert.
TFTPBoot funktioniert nicht, da die LAN-Schnittstelle nicht hochkommt, weder am Switch noch direkt am PC.
USB gibt dieses U-Boot nicht her.
Also habe ich versucht, das Image über die serielle Schnittstelle aufzuspielen, das klappt auch:
Code:
DS410>loady
## Ready for binary (ymodem) download to 0x01000000 at 115200 bps...
C(STX)/0(CAN) packets, 5 retries
## Total Size      = 0x000ea41a = 959514 Bytes
DS410>iminfo

## Checking Image at 01000000 ...
   Image Name:   synology_ppc853x_410 5967
   Image Type:   PowerPC Linux RAMDisk Image (gzip compressed)
   Data Size:    959450 Bytes = 937 kB
   Load Address: 00000000
   Entry Point:  00000000
   Verifying Checksum ... OK

Allerdings lässt U-Boot nicht booten:
Code:
DS410>bootm
## Booting image at 01000000 ...
   Image Name:   synology_ppc853x_410 5967
   Image Type:   PowerPC Linux RAMDisk Image (gzip compressed)
   Data Size:    959450 Bytes = 937 kB
   Load Address: 00000000
   Entry Point:  00000000
   Verifying Checksum ... OK
Wrong Image Type for bootm command

Auch direktes Anspringen klappt nicht:
Code:
DS410>go 01000000
## Starting application at 0x01000000 ...
NIP: 01000000 XER: 20000000 LR: 1FFDDF24 REGS: 1ffadc38 TRAP: 0700 DAR: 00000000
MSR: 00029200 EE: 1 PR: 0 FP: 0 ME: 1 IR/DR: 00

GPR00: 1FFDDFB8 1FFADD28 1FFADF88 00000001 1FFB0274 1FFB0274 FFFFFFFE 00000006
GPR08: 00000041 00000020 FFFFFFFF 1FFADAE8 00000000 5DF7BDAF 1FFFC400 20010000
GPR16: 00000000 00000000 00000000 00000000 00000000 1FFAE014 1FFB0290 00000000
GPR24: 1FFB01C0 1FFADDD0 00000000 00000002 00000000 01000000 1FFFC9B0 1FFB0274
** Illegal Instruction **
Call backtrace:
01000000 1FFDDFB8 1FFE83FC 1FFE8AA4 1FFE8C0C 1FFDD6A0 1FFD7F14
1FFD15FC
Program Check Exception
### ERROR ### Please RESET the board ###

Und jetzt weiß ich auch nicht. So richtig tief stecke ich noch nicht im Speicheraufbau und dessen Organisation, wie kriege ich das Image jetzt an die Stelle des beschädigten?
Beim kopieren mache ich wohl was falsch oder stelle es mir zu einfach vor:
Code:
DS410>cp 01000000 ffe00000 937000
Copy to Flash... Outside available Flash

Hat jemand Rat? Braucht es noch Infos?
Freut sich auf Tipps
Peter
 

ctrlaltdelete

Benutzer
Contributor
Sehr erfahren
Maintainer
Mitglied seit
30. Dez 2012
Beiträge
13.633
Punkte für Reaktionen
5.809
Punkte
524
  • Like
Reaktionen: Ronny1978

goetz

Super-Moderator
Teammitglied
Sehr erfahren
Mitglied seit
18. Mrz 2009
Beiträge
14.160
Punkte für Reaktionen
407
Punkte
393

MeterP

Benutzer
Mitglied seit
06. Sep 2024
Beiträge
5
Punkte für Reaktionen
2
Punkte
3
Servus, vielen Dank für die Antworten und Hinweise.

Die verlinkten Threads habe ich angesehen. Das Problem ist weiterhin, dass die DS keine Netzwerkverbindung findet. Hier die Standardumgebungsvariablen, die nach dem Booten eingetragen sind:
Code:
printenv

bootcmd=bootm FFC00000 FFE00000 FFF90000
bootdelay=2
baudrate=115200
loads_echo=1
ipaddr=192.168.1.78
serverip=192.168.1.77
rootpath=/nfsroot
gatewayip=192.168.1.1
netmask=255.255.0.0
hostname=DS410
loadaddr=1000000
stdin=serial
stdout=serial
stderr=serial
bootargs=console=ttyS0,115200 ip=off initrd=0x00800000,4M root=/dev/md0 rw syno_hw_version=DS410 ihd_num=4 netif_num=1

Environment size: 376/8188 bytes
DS410>
Eine Anpassung von ipaddr, netmask, gatewayip zur Laufzeit bringen das Gerät nicht ins Netzwerk.
Wenn ich PC und DS direkt mit LAN-Kabel verbinde, wird zwar erkannt, dass etwas angeschlossen ist am PC, aber auch hier bekomme ich keine erfolgreiche Verbindung.
Wahrscheinlich mache ich hier noch einen Fehler, oder die LAN-Schnittstelle der DS ist beschädigt.
Gibt es eine Möglichkeit die Binary rein über die serielle Schnittstelle zu laden und davon zu booten?

PS: Was hat es mit dem ip=off in den envs auf sich? Das hatte ich testhalber auch auf on gesetzt, aber das hat nichts geändert.

Sich die Geheimratsecken kratzend
Peter
 

MeterP

Benutzer
Mitglied seit
06. Sep 2024
Beiträge
5
Punkte für Reaktionen
2
Punkte
3
Hi,
kurzes Update,
habe die DS zum Booten bringen können, der Knackpunkt nach dem Aufspielen des BS Binary waren die Argumente für den bootm-command, also Speicheradressen der Images. Jetzt wird die DS im Synology Assistant gefunden, Installation vom DSM hängt irgendwie noch. Melde mich.

Peter
 
  • Like
Reaktionen: ctrlaltdelete

MeterP

Benutzer
Mitglied seit
06. Sep 2024
Beiträge
5
Punkte für Reaktionen
2
Punkte
3
Back again, also was ist passiert:
nach aufspielen der rd.bin über die COM konnte ich mit
Code:
bootm ffc00000 01000000 fff90000
den Bootvektor so verbiegen, dass die Station startete: bootm_arg.txt

Dann war Sie im Synology Assistant auch zu finden.
Nach Einbau einer (!) leeren HDD konnte ich DSM_DS410_5967.pat.tar mit dem Assistant installieren, beim letzten Schritt (Schreiben von Konfigurationsdaten(?)) hat der Assistant mit einem Timeout abgebrochen.
Jetzt ist die Station auch nach Neustart nicht mehr mit dem Assistant zu finden, taucht aber in der Netzwerkgeräteliste der Fritzbox weiter auf.
Log vom Booten über die COM: prompt_booting.txt
einige Minuten nach dem Booten piept sie nochmal kurz, am Terminal passiert aber nichts mehr...

Das muss jetzt erstmal durchgelesen werden. Vielleicht seht ihr ja auf die schnelle etwas, noch verstehe ich es nicht ganz.

Schöne Woche, Petro
 

Anhänge

  • bootm_arg.txt
    16 KB · Aufrufe: 1
  • prompt_booting.txt
    22,3 KB · Aufrufe: 0

Ronny1978

Benutzer
Sehr erfahren
Mitglied seit
09. Mai 2019
Beiträge
1.836
Punkte für Reaktionen
753
Punkte
128
Irgendwie kommen mir die Fragen bekannt vor? Hier gab es doch schon mehrere Beiträge wo uralte Synology gekauft werden und dann am Bootloader "rumgefummelt" wird/werden muss.
 


 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat