Seagate GoFlexHome
Supported Versions
Hardware Highlights
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 |
Wireless | n/a |
Ethernet | 1x GigE port / Marvell “Alaska” 88E1116R |
USB | 1x USB 2.0 port |
Serial | Yes |
Note: No green led working NIC / data partition (mtd3) does not seem to be 216 MiB(see serial installation wiki (french side) + command df -h
)
Serial
→ port.serial general information about the serial port, serial port cable, etc.
How to connect to the Serial Port of this specific device:
Serial port
Pinout J1: 8 Rx (in) 9 Tx (out) 10 GND (3.3V) Port: 115200 8N1
Serial connection parameters for Seagate GoFlexHome | 115200, 8N1 |
---|
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 |
Crypto Hardware Acceleration
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 GoFlexHome)
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
If you want to restore the original firmware at a later point use this guide to make a backup. You need to login to the original firmware via ssh first. Another method beside using “dd” is nanddump. To be on the safe side, you should take a 2nd backup with the nanddump method. Assuming you have a USB Stick or other USB drive mapped via sda - you can try this:
cd /tmp mkdir backup mount /dev/sda1 /tmp/backup wget http://plugapps.com/os/pogoplug/uboot/nanddump chmod +x nanddump ./nanddump -nf backup/mtd0 /dev/mtd0 ./nanddump -nf backup/mtd1 /dev/mtd1 ./nanddump -nf backup/mtd2 /dev/mtd2 umount /dev/sda1
Install u-boot and OpenWrt into NAND via serial cable and tftp-server
Installation
Prepare on PC
Download files (change the 18.06.2 in the following link into whatever is the last OpenWrt release) https://downloads.openwrt.org/releases/18.06.2/targets/kirkwood/generic/u-boot-goflexhome/u-boot.kwb
Start tftp-server
sudo dnsmasq -p0 --enable-tftp --tftp-root="/tmp" -d
Copy files u-boot.kwb, openwrt-18.06.2-kirkwood-seagate_goflexhome-squashfs-factory.bin to /tmp
Install u-boot
Hit any key to stop autoboot in the u-boot and set goflexhome ip, tftp-server ip, set your mac-address from bottom of the machine:
setenv ipaddr '192.168.1.1' setenv serverip '192.168.1.2' setenv ethaddr '00:10:75:xx:xx:xx' saveenv
download from tftp-server u-boot.kwb file to RAM start offset 0x6400000
tftp 0x6400000 u-boot.kwb
or
tftpboot 0x6400000 u-boot.kwb
Bytes transferred = 607044 (94344 hex)
erase nand start from 0x0 size 0x100000
nand erase 0x0 0x100000
write nand from RAM start offset 0x6400000 to nand start 0x0 size 0x100000 (1MB)
nand write 0x6400000 0x0 0x100000
reboot device
reset
now you are rebooting in the new u-boot
Install OpenWrt
Hit any key to stop autoboot in the u-boot and set goflexhome ip, tftp-server ip, set your mac-address from bottom of the machine:
setenv ipaddr '192.168.1.1' setenv serverip '192.168.1.2' setenv ethaddr '00:10:75:xx:xx:xx' saveenv
download from tftp-server file openwrt-18.06.2-kirkwood-seagate_goflexhome-squashfs-factory.bin to RAM start default offset 0x800000
tftpboot openwrt-18.06.2-kirkwood-seagate_goflexhome-squashfs-factory.bin
Load address: 0x800000 ... Bytes transferred = 4063232 (3e0000 hex)
erase nand UBI partition
nand erase.part ubi
write nand from RAM start offset 0x800000 to nand UBI partition size 0x3e0000
nand write 0x800000 ubi 0x600000
reboot device
reset
Congratulations!
_______ ________ __ | |.-----.-----.-----.| | | |.----.| |_ | - || _ | -__| || | | || _|| _| |_______|| __|_____|__|__||________||__| |____| |__| W I R E L E S S F R E E D O M ----------------------------------------------------- OpenWrt 18.06.2, r7258-5eb055306f -----------------------------------------------------
Upgrading from Chaos Calmer 15.05.1 to LEDE 17.01.4 using SSH and MTD
In version 15.05.01 'sysupgrade' not available for GoFlex Home. Use 'mtd' instead to flash the firmware. Note: This is upgrade instruction from already installed OpenWrt. Also, if you have serial access you can still do the normal installation as above.
- Backup configuration.
- To ssh into the OpenWrt GoFlex Home device.
- Check list mtd devices:
cat /proc/mtd
output:
dev: size erasesize name mtd0: 00100000 00020000 "u-boot" mtd1: 00400000 00020000 "kernel" mtd2: 02000000 00020000 "rootfs"
- Download last firmware release LEDE 17.01.4 to /tmp:
wget -P /tmp http://downloads.openwrt.org/releases/17.01.4/targets/kirkwood/generic/lede-17.01.4-kirkwood-goflexhome-squashfs-sysupgrade.tar
- Extract files from a tar file to /tmp:
tar -xvf /tmp/lede-17.01.4-kirkwood-goflexhome-squashfs-sysupgrade.tar -C /tmp
- Check extracted files:
ls /tmp/sysupgrade-goflexhome/
output:
CONTROL kernel root
- Erase 'kernel':
mtd erase /dev/mtd1
- Write 'kernel':
mtd write /tmp/sysupgrade-goflexhome/kernel /dev/mtd1
- Erase 'rootfs':
mtd erase /dev/mtd2
- Write 'rootfs' with reboot after:
mtd -r write /tmp/sysupgrade-goflexhome/root /dev/mtd2