Een paar jaar terug heb ik een WD Sentinel DS5100 tweedehands aangeschaft. Die NAS heeft dual BIOS, dus als de eerste BIOS faalt dan schakelt die automatisch over naar de tweede. Vanaf aankoop bootte die al naar de tweede BIOS (die herstartte eerst een paar keer voordat die opstartte). De primaire BIOS was toen eigenlijk al 'kapot'.
Eigenlijk heb ik die nooit echt gebruikt omdat dat ding standaard Windows Server 2012 R2 draait en ik wilde Linux. Maar Linux kon de system fan niet aanspreken omdat WD een eigen driver geschreven heeft die de fan aanstuurt en die werkt natuurlijk enkel onder Windows, en die fan draait standaard altijd 100%... Ik had er dus een hobbyprojectje van gemaakt om onder Linux die fan aan te kunnen spreken door de Windows driver te analyseren.
Vorige week was ik er mee bezig en de NAS was gewoon idle Windows aan het draaien totdat die plots een BSOD kreeg (als ik het me goed herinner 'critical process died'). De daaropvolgende reboot deed de NAS niets meer, bleef maar domweg draaien zonder video-output. Verdere resets hielpen niet. Zonder randapparatuur en harde schijven geprobeerd, verschillende RAM-slots, ... maar doet niets.
Nu heeft dat ding een aansluiting voor seriële poort. Ik heb daar dus een usb adapter aangehangen en uitgelezen en krijg daar toegang tot een soort Linux-omgeving op basis van Busybox? Die draait op een server management processor:
Code: Selecteer alles
CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177
CPU: VIVT data cache, VIVT instruction cache
Machine: ASPEED-AST2300
Code: Selecteer alles
Scheduled delayed BIOS check - SLP_S3#=high, PCH_BIOS_OK=low
timer event# 11 start: 30 sec
...
# timer event 11
CMD_DELAYED_CHECK
Switched to Backup BIOS - SLP_S3#=high, PCH_BIOS_OK=low
PWRBTSW
timer event 8
CMD_REBOOT_HOST
timer event 9
PWRBTSW
CMD_REBOOT_HOST_SM1
timer event 0
CMD_RELEASE_RST
SLP_S3# -> HI count=1
MEM_EVENT[3:0]=0xf
tasklet count=1
timer event# 10 start: 90 sec
timer event 10
CMD_IS_BIOS_OK?
In Backup BIOS already
Wat me ook opvalt in de logs is dat het mounten van het flashgeheugen faalt, ik vermoed van de twee BIOS'en:
Code: Selecteer alles
mount: mounting dev/mtdblock0 on /mnt/flash0 failed: No such device or address
mount: mounting dev/mtdblock1 on /mnt/flash1 failed: No such device or address
Ik dus wat enthousiast een CH341A BIOS flasher gekocht om dan tot de vaststelling te komen dat die chips niet met een klem te programmeren zijn.
(dit is een voorbeeld van een soortgelijke WSON8-chip, niet van de effectieve chip) Om dan nog wat meer geld uit te geven voor een hot air gun of iets dergelijks om die chips eraf te halen en uit te lezen is wat te veel van het goede...
Dus ik dacht, ik vraag hier eens of er mogelijks geïnteresseerden zijn met de apparatuur om die chips los te krijgen zodat die met de programmer uit te lezen zijn. Of om mee te denken wat het probleem zou kunnen zijn.
Als de chips helemaal kapot zijn en ook niet uit te lezen zijn zit ik met een ander probleem want de originele BIOS voor dit systeem is nergens te vinden online.
Alle input wordt geapprecieerd.
Volledige logs:
Code: Selecteer alles
PHY NOT READY faradaynic#0
Hit any key to stop autoboot: 3 2 1 0
## Booting kernel from Legacy Image at 20080000 ...
Image Name:
Image Type: ARM Linux Kernel Image (gzip compressed)
Data Size: 1906080 Bytes = 1.8 MB
Load Address: 40008000
Entry Point: 40008000
## Loading init Ramdisk from Legacy Image at 20300000 ...
Image Name:
Image Type: ARM Linux RAMDisk Image (gzip compressed)
Data Size: 4642171 Bytes = 4.4 MB
Load Address: 40800000
Entry Point: 40800000
Uncompressing Kernel Image ... OK
Starting kernel ...
Initializing cgroup subsys cpu
Linux version 2.6.28.9 (root@shaun-Ubuntu) (gcc version 4.3.2 (crosstool-NG-1.4.1) ) #56 Sat Sep 28 11:59:56 PDT 2013
CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177
CPU: VIVT data cache, VIVT instruction cache
Machine: ASPEED-AST2300
Memory policy: ECC disabled, Data cache writeback
Built 1 zonelists in Zone order, mobility grouping on. Total pages: 20320
Kernel command line: root=/dev/ram initrd=0x40800000,0x1000000 init=/linuxrc mem=80M rw console=ttyS1 ethaddr=00:90:A9:40:ED:1A
PID hash table entries: 512 (order: 9, 2048 bytes)
Console: colour dummy device 80x30
console [ttyS1] enabled
Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)
Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)
Memory: 80MB = 80MB total
Memory: 60700KB available (3484K code, 392K data, 112K init)
SLUB: Genslabs=12, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
Calibrating delay loop... 191.69 BogoMIPS (lpj=958464)
Mount-cache hash table entries: 512
Initializing cgroup subsys ns
Initializing cgroup subsys cpuacct
CPU: Testing write buffer coherency: ok
net_namespace: 552 bytes
NET: Registered protocol family 16
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
Sangoma WANPIPE Router v1.1 (c) 1995-2000 Sangoma Technologies Inc.
NET: Registered protocol family 2
IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
TCP established hash table entries: 4096 (order: 3, 32768 bytes)
TCP bind hash table entries: 4096 (order: 2, 16384 bytes)
TCP: Hash tables configured (established 4096 bind 4096)
TCP reno registered
NET: Registered protocol family 1
checking if image is initramfs...it isn't (no cpio magic); looks like an initrd
Freeing initrd memory: 16384K
NetWinder Floating Point Emulator V0.97 (extended precision)
audit: initializing netlink socket (disabled)
type=2000 audit(3.120:1): initialized
NTFS driver 2.1.29 [Flags: R/W].
JFFS2 version 2.2. (NAND) (SUMMARY) © 2001-2006 Red Hat, Inc.
yaffs Sep 28 2013 11:55:18 Installing.
msgmni has been set to 150
alg: No test for cipher_null (cipher_null-generic)
alg: No test for digest_null (digest_null-generic)
alg: No test for compress_null (compress_null-generic)
alg: No test for stdrng (krng)
Block layer SCSI generic (bsg) driver version 0.4 loaded (major 253)
io scheduler noop registered
io scheduler anticipatory registered
io scheduler deadline registered
io scheduler cfq registered (default)
Non-volatile memory driver v1.2
ttyS0 at MMIO 0x1e783000 (irq = 9) is a GUC-MVP2000 UART
ttyS1 at MMIO 0x1e784000 (irq = 10) is a GUC-MVP2000 UART
brd: module loaded
Ethernet Channel Bonding Driver: v3.3.0 (June 10, 2008)
bonding: Warning: either miimon or arp_interval and arp_ip_target module parameters must be specified, otherwise bonding will not detect link failures! see bonding.txt for details.
saved_command_line=root=/dev/ram initrd=0x40800000,0x1000000 init=/linuxrc mem=80M rw console=ttyS1 ethaddr=00:90:A9:40:ED:1A len=106
ethaddr=<00:90:A9:40:ED:1A>
FTGMAC100: ASPEED FTGMAC Driver, (Linux Kernel 2.6.28.9) 09/13/2010 - by ASPEED
FTGMAC100: eth0: at 0xfe660000 IRQ:2 noWait:0, MAC 20:20:20:20:20:20
FTGMAC100: eth0:ftgmac100_reset, phyAddr=0x0, miiPhyId=0x001c_c915
FTGMAC100: eth0:ftgmac100_reset, BMSR=0x7949
FTGMAC100: eth0:ftgmac100_reset, phyLinkSpeed=1 Full Duplex
FTGMAC100: lp->rx_descs = ffc00000, lp->rx_rx_descs_dma = 434b9000
FTGMAC100: lp->rx_buf = 00000000, lp->rx_buf_dma = 0
FTGMAC100: lp->tx_descs = ffc01000, lp->tx_rx_descs_dma = 435c8000
FTGMAC100: lp->tx_buf = 00000000, lp->tx_buf_dma = 0
saved_command_line=root=/dev/ram initrd=0x40800000,0x1000000 init=/linuxrc mem=80M rw console=ttyS1 ethaddr=00:90:A9:40:ED:1A len=106
ethaddr=<00:90:A9:40:ED:1A>
FTGMAC100: eth1: at 0xfe680000 IRQ:3 noWait:0, MAC 20:20:20:20:20:20
FTGMAC100: eth1:ftgmac100_reset, phyAddr=0xff, miiPhyId=0x0000_ffff
FTGMAC100: eth1:ftgmac100_reset, phyLinkSpeed=1 Full Duplex
FTGMAC100: lp->rx_descs = ffc02000, lp->rx_rx_descs_dma = 43577000
FTGMAC100: lp->rx_buf = 00000000, lp->rx_buf_dma = 0
FTGMAC100: lp->tx_descs = ffc03000, lp->tx_rx_descs_dma = 435cf000
FTGMAC100: lp->tx_buf = 00000000, lp->tx_buf_dma = 0
tun: Universal TUN/TAP device driver, 1.6
tun: (C) 1999-2004 Max Krasnyansky <[email protected]>
Driver 'sd' needs updating - please use bus_type methods
Driver 'sr' needs updating - please use bus_type methods
uhci_hcd: USB Universal Host Controller Interface driver
UHCI Base address is c585a000, phy 1e6b0000
: UHCI Host Controller
: new USB bus registered, assigned bus number 1
uhci_check_and_reset_hc: cmd = 0x0000
Performing full reset
: irq 14, io base 0x00000000
usb usb1: configuration #1 chosen from 1 choice
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 1 port detected
Initializing USB Mass Storage driver...
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
usbcore: registered new interface driver libusual
mice: PS/2 mouse device common for all mice
success to register interrupt for INT_WDT (27)
UMVP2500 WDT is installed.(irq = 27, heartbeat = 6 secs, nowayout = 0)
cpuidle: using governor ladder
usbcore: registered new interface driver usbhid
usbhid: v2.6:USB HID core driver
TCP cubic registered
Initializing XFRM netlink socket
NET: Registered protocol family 17
802.1Q VLAN Support v1.8 Ben Greear <[email protected]>
All bugs added by David S. Miller <[email protected]>
registered taskstats version 1
RAMDISK: Compressed image found at block 0
VFS: Mounted root (ext2 filesystem).
Freeing init memory: 112K
mount: mounting dev/mtdblock0 on /mnt/flash0 failed: No such device or address
mount: mounting dev/mtdblock1 on /mnt/flash1 failed: No such device or address
set MAC to 00:90:A9:40:ED:1A
installing bmcport80
WD BMC port80 driver ver 0.2 loaded major=250
WD_BMC: GPIO D/C/B/A Configuration dir=0x01000000
WD_BMC: GPIO H/G/F/E Configuration dir=0x00000082
WD_BMC: GPIO L/K/J/I Configuration dir=0x01000000
WD_BMC: GPIO P/O/N/M Configuration dir=0x00c0ff17
WD_BMC: SCU70 hwtrap=0a4db442
WD_BMC: SCU70 hwtrap=0a0db442
WD_BMC: SCU90=00070000
WD_BMC: SCU04=ff8f64d8
WD_BMC: SCU88=c1000004
Scheduled delayed BIOS check - SLP_S3#=high, PCH_BIOS_OK=low
timer event# 11 start: 30 sec
installing adc
adc major = 249
installing aspeed_i2c
i2c ioaccess_major = 248
installing mailbox with bmc_mac=00:90:A9:40:ED:1A
WD BMC mailbox driver ver 1.0 loaded major=247
thermald v1.0
udhcpc (v1.13.4) started
FTGMAC100: eth0:ftgmac100_open
FTGMAC100: eth0:ftgmac100_reset, phyAddr=0x0, miiPhyId=0x001c_c915
FTGMAC100: eth0:ftgmac100_reset, BMSR=0x7949
FTGMAC100: eth0:ftgmac100_reset, phyLinkSpeed=1 Full Duplex
FTGMAC100: PHYSTS_CHG
FTGMAC100: eth0: PHY interrupt status, read_phy_reg(0x13) INSR = 0x0040
FTGMAC100: eth0: PHY interrupt status, read_phy_reg(0x11) PHYSR = 0x4000
FTGMAC100: eth0:ftgmac100_phy_cfg, LCR reg=0x24
Sending discover...
Sending discover...
Sending discover...
No lease, failing
Please press Enter to activate this console.
# timer event 11
CMD_DELAYED_CHECK
Switched to Backup BIOS - SLP_S3#=high, PCH_BIOS_OK=low
PWRBTSW
timer event 8
CMD_REBOOT_HOST
timer event 9
PWRBTSW
CMD_REBOOT_HOST_SM1
timer event 0
CMD_RELEASE_RST
SLP_S3# -> HI count=1
MEM_EVENT[3:0]=0xf
tasklet count=1
timer event# 10 start: 90 sec
timer event 10
CMD_IS_BIOS_OK?
In Backup BIOS already