Seagate GoFlexNet
Supported Versions
| Model | OpenWrt Version Supported | Model Specific Notes |
|---|---|---|
| Seagate GoFlexNet | WIP, trunk |
Highlights
| CPU | Ram | Flash | Network | USB | Serial | JTag | SATA |
|---|---|---|---|---|---|---|---|
| Marvell Kirkwood@1200MHz | 128 MiB | 256 MiB | 1 gigE | 1x 2.0 | Yes | Yes | 2x data+power |
Hardware
Info
| Architecture: ARM armv5te |
| Vendor: Marvell |
| Bootloader: U-Boot |
| System-On-Chip: Marvell MV88F6281 A0 (DDR2) with ARM926EJ-S CPU (Marvell Feroceon) |
| CPU Speed: 1200 Mhz |
| Flash size: 256 MiB |
| RAM: 128 MiB / 1x Nanya NT5TU64M16DG-AC |
| Wireless: n/a |
| Ethernet: 1x GigE port / Marvell "Alaska" 88E1116R |
| USB: 1x USB 2.0 port |
| Serial: Yes |
| SATA: 2x (data & power) |
Flash Layout
| Original FlashLayout | ||||
|---|---|---|---|---|
| mtd# | mtd0 | mtd1 | mtd2 | mtd3 |
| start | 0x000000 | 0x100000 | 0x500000 | 0x2500000 |
| size | 0x100000 | 0x400000 | 0x2000000 | 0xdb00000 |
| in MiB | 1 | 4 | 32 | 219 |
| name | u-boot | uImage | root | data |
| file system | none | ??? | JFFS2 | ?? |
Specific Configuration
Interfaces
The default network configuration is:
| Interface Name | Description | Default configuration |
|---|---|---|
| eth0 | Ethernet port | DHCP |
Failsafe
The GoFlexNet cannot be put into failsafe mode by pressing the button.
It can however be put in failsafe mode using serial console and pressing 'f' and <enter> when prompted during boot-up
Buttons
The GoFlexNet's only button is not configurable and inevitably performs a hard reset when pressed, the button open the bridge between the positive pole and the power cord.
Crypto Hardware Acceleration
Photos
for serial cable (nokia's DKU-5, CA-42 and etc ttl…), 115200 8n1:
NOTE: The pins to use are the ones "covered up" by the tips of the arrows, i.e. the pins in the row toward the outer edge of the PCB. (for comparison, see here)
for enable 3.5" disks (3 pins sata power to +12V DC):
NOTE: The ellipse in the picture indicates three pins for Serial ATA +12 V. (Multiple pins are used for current (Ampere) considerations, compare https://en.wikipedia.org/wiki/Serial_ATA#Power_connectors.)
example:
Opening the case
There are no screws - the bottom cover is held by ten plastic snap on clips, three on the sides and two on the edges. To open the case, gently pry all around with a thin screwdriver until it is open.
The serial pins are accessible without further disassembly.
SSH
Connect device to Ethernet port. To prevent automatic updates by cloud engines (which may disable ssh access), use a separate switch or disconnect your router from the internet. If the ssh access was disabled by the automatic cloud engine update service, you need to login there and re-activate ssh.
Find IP address, BE and EF are the last two bytes of the MAC of your device (printed on the bottom of the GoFlexNet)
root@host ~ # ifconfig eth0 169.254.1.0 root@host ~ # nmap -e eth0 -sP $(printf "169.254.%d.%d" 0xbe 0xef) |
Connect to IP address via ssh (root / stxadmin) to see if it works.
Backup original firmware
Login to the original firmware via SSH (enable it first in popoplug site) or Serial cable (nokia's CA-52, DKU-5 and etc ttl…). Plug the flash drive (FAT32) to USB port in Seagate GoFlex Net, then:
mkdir /tmp/backup mount /dev/sda1 /tmp/backup cd /tmp/backup wget http://download.doozan.com/uboot/nanddump chmod +x nanddump ./nanddump -nof uboot-mtd0-dump /dev/mtd0 ./nanddump -nof uboot-original -s 0 -l 0x80000 /dev/mtd0 ./nanddump -nof uImage-mtd1-dump /dev/mtd1 ./nanddump -nof rootfs-mtd2-dump /dev/mtd2 umount /dev/sda1To create an image of mtd0, you need to dump the nand without ecc. using "dd if=/dev/mtd0 of=mtd0.DOESNOTWORK" will automatically do ecc for you and will result in a corrupt image.
Restore original firmware via serial cable and tftp-server
#set goflex net ip setenv ipaddr '192.168.1.1' #set tftp-server ip setenv serverip '192.168.1.2' #original uImage (backuped before) tftpboot 0x800000 uImage-mtd1-dump nand erase 0x100000 0x400000 nand write.e 0x800000 0x100000 0x400000 #original rootfs (backuped before) tftpboot 0x800000 rootfs-mtd2-dump nand erase 0x500000 0x2000000 nand write.e 0x800000 0x500000 0x2000000 resetenv setenv bootcmd 'nand read.e 0x800000 0x100000 0x300000; setenv bootargs $(console) $(bootargs_root); bootm 0x800000' #change value to your device setenv ethaddr '00:10:75:26:3D:9F' setenv cesvcid '5RFAJDGYNLPLDUHN4BWUWC3EKJ' setenv ceserialno 'NA1Y0EG1' setenv ceboardver 'DISCOVERY:0.1' saveenv reset
Testing your new uBoot, Writing new uBoot
download via tftp and run-test
#set goflex net ip setenv ipaddr '192.168.1.1' #set tftp-server ip setenv serverip '192.168.1.2' tftp 0x800000 uboot.mtd0.kwb go 0x800200Notice that we load the image at 0x800000 but start running it from 0x800200. This is because the first 0x200 bytes of are the kirkwood image header, and the real executable starts after the header.
Write new uBoot
# Erase the first 512k of /dev/mtd0 flash_erase /dev/mtd0 0 4 # Write the new bootloader nandwrite /dev/mtd0 uboot.mtd0.kwb # Cross your fingers and reboot..
Install OpenWrt in to NAND (mtd2) via serial cable and tftp-server
#set goflex net ip setenv ipaddr '192.168.1.1' #set tftp-server ip setenv serverip '192.168.1.2' setenv arcNumber '3089' setenv mainlineLinux 'yes' setenv bootcmd 'nand read.e 0x6400000 0x100000 0x400000; bootm 0x6400000;' setenv bootargs 'console=ttyS0,115200 root=/dev/mtdblock2 rw rootfstype=jffs2' saveenv mw 0x6400000 0xffff 0x400000 #flash kernel: http://downloads.openwrt.org/snapshots/trunk/kirkwood/openwrt-kirkwood-uImage tftpboot 0x6400000 openwrt-kirkwood-uImage nand erase 0x100000 0x400000 nand write.e 0x6400000 0x100000 0x400000 #flash rootfs: http://downloads.openwrt.org/snapshots/trunk/kirkwood/openwrt-kirkwood--jffs2-128k.img mw 0x6400000 0xffff 0x400000 tftpboot 0x6400000 openwrt-kirkwood--jffs2-128k.img nand erase 0x500000 0xfb00000 nand write.e 0x6400000 0x500000 0x400000 reset
Install OpenWrt in to NAND (mtd2) via ssh (not tested)
to enable SSH access for this Pogoplug device - register in https://goflexnet.pogoplug.com then, in settings - Activate a Pogoplug device, after that, in settings - Enable SSH access for this Pogoplug device and enter new password for root.
in ssh:
/usr/local/cloudengines/bin/blparam arcNumber='3089' /usr/local/cloudengines/bin/blparam mainlineLinux='yes' /usr/local/cloudengines/bin/blparam bootcmd='nand read.e 0x6400000 0x100000 0x400000; bootm 0x6400000;' /usr/local/cloudengines/bin/blparam bootargs='console=ttyS0,115200 root=/dev/mtdblock2 rw rootfstype=jffs2' killall -9 hbwd killall -9 hbplug cd /tmp wget http://downloads.openwrt.org/snapshots/trunk/kirkwood/openwrt-kirkwood-uImage wget http://downloads.openwrt.org/snapshots/trunk/kirkwood/openwrt-kirkwood--jffs2-128k.img flash_eraseall /dev/mtd1 nandwrite -p /dev/mtd1 openwrt-kirkwood-uImage flash_eraseall /dev/mtd2 nandwrite -p /dev/mtd2 openwrt-kirkwood--jffs2-128k.img flash_eraseall /dev/mtd3 #unplug power
Tags
toh/seagate/goflexnet.txt · Last modified: 2013/05/17 16:37 by doz.me




