Brick
You most probably flashed wrong firmware, not dedicated to your hardware. heh?
Other reason could be loosen heatsink, thats common that when system is unstable [too hot, cooling problems] then kernel wont load due to errors.
Below you can read on your own responsibility
Contents
Regular boot output
Normal boot output:
Trying devtype=0 chipsel=0 reading z.boot2 (vzx=0xbbd0bcbc) is 0x003c0000 Reading NAND CS0, addr 0x003c0000, size 0x00000800 to 0x01740000 Reading NAND CS0, addr 0x003c0800, size 0x002a7000 to 0x01740800 Found. ROMFS found at 0x0x01740000, Volume name = MIPSLINUX_XLOAD Found 1 file(s) to be processed in ROMFS. Processing vmlinux_xload.zbf (start: 0x01740090, size: 0x002a7424) Checking zboot file signature .. OK. Warning: header version mismatched. *** Fully Encrypted. src_addr = 0x017400b0, dest addr = 0x01f40000 XLOADING src=0x817400b0, dest=0x81f40000, size=0x002a7404 xload.c:77: Waiting for XLOAD completion. xload.c:87: XLOAD done, status = 0x6. Decompressing to 0x84000000 .. OK (5201176/0x4f5d18). Load time total 0/0 msec. Execute at 0x84404000 .. Linux version 2.6.22.19-19-4 (ting@build30-System-Product-Name) (gcc version 4.3.2 (Sourcery G++ Lite 4.3-51) ) #9 PREEMPT Mon Aug 1 14:35:04 CST 2011 Physical map 0xc0000000 to 0x04000000, max remap/kernel size: 0x0c000000/0x18000000. Configured for SMP865x, detected SMP8655 (revision unknown). Detected CPU/System/DSP Frequencies: 499.50/333.00/333.00MHz SMP86xx Enabled Devices under Linux/XENV 0xcfd0bcbc = 0x001b3efc PCIHost Ethernet Ethernet1 IR FIP I2CM I2CS USB PCIDev1 PCIDev2 PCIDev3 PCIDev4 SATA SCARD SCARD1 CPU revision is: 0001937c FPU revision is: 01739300
Boot modes
First try to powering on with serial console active and 1 pressed as kilnakorr suggest (http://forum.wdlxtv.com/viewtopic.php?f=&t=6753) (or here: http://forum.wdlxtv.com/viewtopic.php?f=43&t=7798&p=65351#p65344). let see what will happen...In my case [my kernel was ok] that's do nothing special, just boots from nand.
The WD can be started in 3 different ways. Once started, press quickly:
0: The device enters into YAMON mode. 1: The device starts using the first copy of the kernel. 2: The device starts using the second copy of the kernel.
So the first thing to try is to restart the device pressing 1 or 2.
Booting with yamon
If that wont help then you can use yamon to boot new kernel loaded from ram [sucked from tftp]. To get into yamon just after powering on with serial console active press 0 and keep it.
First you need to setup tftp and nfs server to provide required firmware files [in example at 192.168.1.123 host]. then go back to box and setup networking:
setenv ipaddr 192.168.1.100 setenv subnetmask 255.255.255.0 setenv gateway 192.168.1.1 load -b tftp://192.168.1.123/wdtvlive.fff 0x84000000
Note: There are some extracted kernels (different from the ones that come with the regular firmware) available at this site: http://masu.6f.sk/index.php/Wdtv_kernel. You can try booting them only if the original kernel won't boot.
The hard part is to load rootfs needed for boot, tftp is limitted to ~32MB and thus you need to use nfs. Even there are original roots from 1.02.21 that size is below 30MB its compressed romfs and i was unable to load it through tftp.
Booting with a different kernel and rootfs
At this stage you are on your own as i have not crossed that line!
load -b tftp://192.168.1.123/wdtvlive.fff 0x84000000 go . root=/dev/nfs nfsroot=192.168.1.123:/wdlxtv/wdtvlive.bin ip=::::::dhcp rdinit=/none console=ttyS0 mem=135MB
Use setxenv for other interesting possibilities. and better next time watch what you are playing and what firmware
you are loading. wish you success with debricking [as i have ].
Force flash a kernel
You can force-restore the kernels (by flashing them) if you can load them from the network by using these steps (WARNING: you can cause damage to your WDTV if you don't know what you are doing! Also, make sure you are flashing a correct kernel for your platform!). Original details are in this thread: http://forum.wdlxtv.com/viewtopic.php?f=43&t=7798&p=65351#p65344
In my case it didn't work. What I do is: - Connect the WDTVlive to the serial cable. - Then, turn it on while pressing 0, so the device enters into YAMON mode. - Go to this web http://masu.6f.sk/index.php/Wdtv_kernel#Booting and download both files (kernel.0x0c0000.romfs.nand and kernel.0x3c0000.romfs.nand). Whe are going to flash the memory of the device with this files. - Create a TFTP Server with a directory that containg both files.
The next steps are using YAMON - Configure the Network parameters of the device
setenv ipaddr 192.168.1.100 setenv subnetmask 255.255.255.0 setenv gateway 192.168.1.1 net init
TO RESTORE THE FIRST KERNEL - copy the first file from tftp server to RAM
load -b tftp://192.168.1.8/kernel.0x0c0000.romfs.nand 0x84000000 Start = 0x84000000, range = (0x84000000,0x842fffff), format = BINARY Length = 0x300000 (3145728) Checksum = 0x80b86ca5 (10'2159570085)
- The save from RAM to ROM
nflash write 0x000c0000 0x84000000 0x300000 0
TO RESTORE THE SECOND KERNEL - Same process as before but with the other file and other ROM memory direction
load -b tftp://192.168.1.8/kernel.0x3c0000.romfs.nand 0x84000000 nflash write 0x003c0000 0x84000000 0x300000 0
- I think its not necessary to restore both kernels.
- After restarting the device, it has detected and update from the USB and has started to update.
Load kernel from NAND
Go into YAMON and issue these commands:
nflash read 0x000c0000 0x85000000 0x00300000 0 dump romfs 0x85000000 load zbf 0x85000090 go 0x84000000 console=ttyS0 mem=200MB
Load kernel from Ethernet
net init load -b tftp://192.168.1.142/wdtv/vmlinux.bin 0x84000000 go 0x84000000 root=/dev/nfs rw nfsroot=192.168.1.142:/tftpboot/rootfs-my-wdtv,nolock ip=::::::dhcp console=ttyS0 mem=200MB init=/init
Automatically boot a custom kernel from NAND
This is probably dangerous! I haven't heard any report (yet) that it works, but might be worth a chance if your NAND is broken.
This is done by setting Yamon as default boot option instead encrypted kernel From running firmware
Default boot mode is 2. Set env variables to execute yamon as default option
/bin/setxenv 0 -b z.default_boot 0x00000000 /bin/setxenv 1 -b z.default_boot 0x00000000
Load kernel from NAND flash (romfs version) rootfs will be handled by kernel inird which defaults into loading partition form NAND.
/bin/setxenv 0 y.start "nflash read 0x000c0000 0x85000000 0x00300000 0; load zbf 0x85000090; go 0x84000000 console=ttyS0 mem=200MB" /bin/setxenv 1 y.start "nflash read 0x000c0000 0x85000000 0x00300000 0; load zbf 0x85000090; go 0x84000000 console=ttyS0 mem=200MB"
Automatically boot a custom kernel from TFTP
This is probably dangerous! I haven't heard any report (yet) that it works, but might be worth a chance if your NAND is broken.
Load kernel from TFTP server over ethernet (romfs version) rootfs will be mounted from NFS over ethernet
/bin/setxenv 0 y.start "net init; load -b tftp://192.168.1.142/wdtv/vmlinux-noinitrd.bin 0x84000000; go 0x84000000 root=/dev/nfs rw nfsroot=192.168.1.142:/tftpboot/rootfs-my-wdtv,nolock ip=::::::dhcp console=ttyS0 mem=200MB init=/init" /bin/setxenv 1 y.start "net init; load -b tftp://192.168.1.142/wdtv/vmlinux-noinitrd.bin 0x84000000; go 0x84000000 root=/dev/nfs rw nfsroot=192.168.1.142:/tftpboot/rootfs-my-wdtv,nolock ip=::::::dhcp console=ttyS0 mem=200MB init=/init"
Notes: This variable does not exist This variable will force yamon to autoboot prompt Changing default commandline
/bin/setxenv 0 a.linux_cmd "console=ttyS0 mem=200M" /bin/setxenv 1 a.linux_cmd "console=ttyS0 mem=200M"
Additional resources:
http://forum.wdlxtv.com/viewtopic.php?f=3&t=6595
http://forum.wdlxtv.com/viewtopic.php?f=43&t=7798&p=65351#p65351