Quantcast
Channel: Linux Device Hacking
Viewing all articles
Browse latest Browse all 3247

GoFlexNet bricked (2 replies)

$
0
0
Hi there,

Think my GFN is finally bricked.
Here is what I did, from scratch:
Main reason to order this device was to build a SqueezePlug, so I followed the SqueezeboxWiki instruction SqueezeBoxWiki. Preparing the USB stick was easy, the bootloader has been replaced following GFNImage and arcNumber was adapted.

Boot from USB stick went fine, last step of the wiki is to install the Rescue System to NAND. At step:
fw_setenv rescue_bootcmd 'if test $rescue_installed -eq 1; then run rescue_set_bootargs; nand read.e 0x500000 0x100000 0x400000; bootm 0x500000; else run pogo_bootcmd; fi
I've got the "Too few good blocks..." response, I was seeking for info on that and learned here: Newer uBoot as workaround to 3.2 kernel problem? that a new uBoot would help to resolve that problem. So, I set up UART and netconsole and successfully installed
uboot.mtd0.kwb-2011.12-goflexnet-L2Coff-IDEpatched.kwb .
That went fine:
U-Boot 2011.12 (Apr 18 2012 - 23:08:20)
Seagate GoFlexNet

SoC:   Kirkwood 88F6281_A1
DRAM:  128 MiB
WARNING: Caches not enabled
NAND:  256 MiB
In:    serial
Out:   serial
Err:   serial
Net:   egiga0
88E1116 Initialized on egiga0
Hit any key to stop autoboot:  0
GoFlexNet> tftpboot 0x800000 uboot.mtd0.kwb-2011.12-goflexnet-L2Coff-IDEpatched.kwb
Using egiga0 device
TFTP from server 192.168.2.113; our IP address is 192.168.2.118
Filename 'uboot.mtd0.kwb-2011.12-goflexnet-L2Coff-IDEpatched.kwb'.
Load address: 0x800000
Loading: ####################################
done
Bytes transferred = 524288 (80000 hex)
GoFlexNet> nand erase 0x0 0x80000

NAND erase: device 0 offset 0x0, size 0x80000
Erasing at 0x60000 -- 100% complete.
OK
GoFlexNet> nand write.e 0x800000 0x0 0x80000

NAND write: device 0 offset 0x0, size 0x80000
 524288 bytes written: OK
GoFlexNet> reset
resetting ...

But now, the GFN didn't boot from USB stick anymore, even after setting the arcNumber to 3089 again.
Next, I was trying to boot from USB manually, using the USB boot variables I found in
GoFlex Net not booting from USB Stick. Dockstar does! .
But it seems that I mixed something up in the uBoot env settings:
GoFlexNet> usb start
(Re)start USB...
USB:   Register 10011 NbrPorts 1
USB EHCI 1.00
scanning bus for devices... 2 USB Device(s) found
       scanning bus for storage devices... 1 Storage Device(s) found
GoFlexNet> run usb_bootcmd
## Error: "usb_bootcmd" not defined
GoFlexNet> usb_boot=mw 0x800000 0 1; ext2load usb $usb_device 0x800000 /boot/uIm
age; if ext2load usb $usb_device 0x1100000 /boot/uInitrd; then bootm 0x800000 0x
1100000; else bootm 0x800000; fi
Unknown command '0x800000' - try 'help'
** No boot file defined **
** No boot file defined **
Wrong Image Format for bootm command
ERROR: can't get kernel image!

From that post: Re: Restore MTD backup via serial
I deduced I might need to install uboot.UARTgoflexnet-IDEpatched-netconsoleON.kwb to fix this.
So I did:
U-Boot 2011.12 (Apr 18 2012 - 23:08:20)
Seagate GoFlexNet

SoC:   Kirkwood 88F6281_A1
DRAM:  128 MiB
WARNING: Caches not enabled
NAND:  256 MiB
In:    serial
Out:   serial
Err:   serial
Net:   egiga0
88E1116 Initialized on egiga0
Hit any key to stop autoboot:  0
GoFlexNet> tftpboot 0x800000 uboot.UARTgoflexnet-IDEpatched-netconsoleON.kwb
Using egiga0 device
TFTP from server 192.168.2.113; our IP address is 192.168.2.118
Filename 'uboot.UARTgoflexnet-IDEpatched-netconsoleON.kwb'.
Load address: 0x800000
Loading: ####################################
done
Bytes transferred = 524288 (80000 hex)
GoFlexNet> version

U-Boot 2011.12 (Apr 18 2012 - 23:08:20)
Seagate GoFlexNet
arm-none-linux-gnueabi-gcc (Sourcery G++ Lite 2009q3-67) 4.4.1
GNU ld (Sourcery G++ Lite 2009q3-67) 2.19.51.20090709
GoFlexNet> nand erase 0x0 0x80000

NAND erase: device 0 offset 0x0, size 0x80000
Erasing at 0x60000 -- 100% complete.
OK
GoFlexNet> nand write.e 0x800000 0x0 0x80000

NAND write: device 0 offset 0x0, size 0x80000
 524288 bytes written: OK
GoFlexNet> version

U-Boot 2011.12 (Apr 18 2012 - 23:08:20)
Seagate GoFlexNet
arm-none-linux-gnueabi-gcc (Sourcery G++ Lite 2009q3-67) 4.4.1
GNU ld (Sourcery G++ Lite 2009q3-67) 2.19.51.20090709
GoFlexNet> reset
resetting ...

From here onwards, the device doesn't respond on UART connection (Windows Hyperterminal) and the status LED remains dark. The system is still consuming power (4 W) but I assume it finally mutated into a zombie :-(

Could someone tell me at which point I made the deadly mistake?

Viewing all articles
Browse latest Browse all 3247

Trending Articles