OpenWrt 17+ versions on a GoFlexNet, but configuration and data is lost at every reboot. How to correctly install newer OpenWrt versions on GoFlex Net?

Hello everyone,

I am quite new to the OpenWrt world, and I am trying to learn something. I've got a Seagate GoFlex Net to hack and let become a NAS. I was able to successfully installing OpenWrt 15.05.1 "Chaos Calmer" from here using serial and tftp, and everything works perfectly.

Now I am trying to update the OpenWrt version to 18, but I am experiencing some issues. I can use the "sysupgade" tool, as it is not implemented in version 15.05.1, so I am trying to flash the new OpenWrt version using the serial + tftp and following the guides here, here and here. I am able to have the new kernel + root image flashed on the device, and the system up and running! But... at each reboot I lose every configuration and data (I even have to set the root password "for the first time" after each reboot). This happens with any sysupgade or factory bin images in OpenWrt Download section I try to use.

Is there a way to flash/install newer versions of OpenWrt on the GoFlex Net, and avoid losing configuration and data at each reboot?

For analysing the situation, I installed OpenWrt 18.01 using the very same steps for installing OpenWrt 15.05.1 with UBIfs that can be found here. In the following you may find are the flash layout I've got, some errors I have at boot, the mounted volumes and disk space, etc.

cmd: mtdparts (from uBoot)

dev:    size   erasesize  name
mtd0: 00100000 00020000 "u-boot"
mtd1: 00400000 00020000 "kernel"
mtd2: 02000000 00020000 "rootfs"
mtd3: 0db00000 00020000 "data"

cmd: df -hT

Filesystem           Type            Size      Used Available Use% Mounted on
rootfs               rootfs         57.2M      7.2M     50.0M  13% /
tmpfs                tmpfs          60.2M     72.0K     60.1M   0% /tmp
tmpfs                tmpfs         512.0K         0    512.0K   0% /dev

Boot output (1)

...
[    0.735912] nand: device found, Manufacturer ID: 0x2c, Chip ID: 0xda
[    0.742322] nand: Micron MT29F2G08AAD
[    0.746002] nand: 256 MiB, SLC, erase size: 128 KiB, page size: 2048, OOB size: 64
[    0.753677] Scanning device for bad blocks
[    0.974759] 4 cmdlinepart partitions found on MTD device orion_nand
[    0.981056] Creating 4 MTD partitions on "orion_nand":
[    0.986243] 0x000000000000-0x000000100000 : "u-boot"
[    0.991789] 0x000000100000-0x000000500000 : "kernel"
[    0.997265] 0x000000500000-0x000002500000 : "rootfs"
[    1.002868] mtd: device 2 (rootfs) set to be root filesystem
[    1.008653] mtdsplit: no squashfs found in "rootfs"
[    1.013588] 0x000002500000-0x000010000000 : "data"
...

Boot output (2)

...
[    2.282598] UBI: auto-attach mtd3
[    2.285942] ubi0: attaching mtd3
[    2.608426] ubi0: scanning is finished
[    2.621574] ubi0 error: 0xc03d0e10: too large reserved_pebs 1964, good PEBs 1752
[    2.629009] ubi0 error: 0xc03d0fb8: volume table check failed: record 0, error 9
[    2.636449] Volume table record 0 dump:
[    2.640296] 	reserved_pebs   1964
[    2.643631] 	alignment       1
[    2.646696] 	data_pad        0
[    2.649757] 	vol_type        1
[    2.652831] 	upd_marker      0
[    2.655895] 	name_len        6
[    2.658957] 	name            rootfs
[    2.662466] 	crc             0x48a1f8fb
[    2.666697] ubi0 error: 0xc03d4fc0: failed to attach mtd3, error -22
[    2.673135] UBI error: cannot attach mtd3
[    2.677351] hctosys: unable to open rtc device (rtc0)
[    2.700104] Freeing unused kernel memory: 6144K
...

the environment configuration:

setenv baudrate '115200'
setenv bootcmd '${x_bootcmd_kernel}; setenv bootargs ${x_bootargs} ${x_bootargs_root}; ${x_bootcmd_usb}; bootm 0x6400000;'
setenv bootdelay '3'
setenv ethact 'egiga0'
setenv ethaddr 'xx:xx:xx:xx:xx:xx' (it's an example here) 
setenv ipaddr '192.168.x.x' (same here)
setenv serverip '192.168.x.x' (and here)
setenv stderr 'serial'
setenv stdin 'serial'
setenv stdout 'serial'
setenv x_bootargs 'console=ttyS0,115200 mtdparts=orion_nand:1M(u-boot),4M@1M(kernel),32M@5M(rootfs),-(data) rw'
setenv x_bootargs_root 'ubi.mtd=2  rootfstype=ubifs'
setenv x_bootcmd_kernel 'nand read 0x6400000 0x100000 0x400000'
setenv x_bootcmd_usb 'usb start'
setenv machid c11
saveenv
reset

Thanks for all the help, and looking forward for learning something!

Anyone can help me on this issue?

I don't know about this particular device, but if you can't usedid you consider reverting to stock then installing OpenWrt factory?

I have a Seagate GoFlex Home - not sure how it differs, which is currently running the stock system but am hoping to install OpenWrt on it soon, so will be following you progress.

One thing I'd like to know is if you flash it with one system, is it easy enough to flash it with something else subsequently?

I did flash one of these boxes at one point and it went dead - no sign of life when switched on, so I'm a bit hesitant doing anything with a new box.

Hello, thanks for your reply. Yes, I am thinking about doing this, as I am thinking that UBI tools kind of screwed up the device's configuration. I'll try to see were I can find the original stock room. I will post here any progress. Thanks!

Thanks for your reply. I don't know if the models are so different, but I saw the same issue on devices which were not Seagate Goflex, so... Anyway ok, :slight_smile: I will post here my progress!

If you want to restore the original firmware this page might help:-

Unfortunately I can't connect to

http://support.goflexhome.hipserv.com/en/reflash

because my browser (Chromium) is not supported on their website.

Just be careful not to brick your device! If you are not sure, make research and seek answers before you flash.

It's not always easy to tell if device is bricked. I have one which has a flashing orange light but I can't connect a serial cable to see what is going on. I have another which shows no sign of life at all. I've read that it may be possible to connect to both of them using JTAG but I have no experience with it at all.

Ok, thanks a lot. Btw, I already use a serial connection for flashing and configuring my device: in case I brick my device, do you know if I can use that to unbrick?

Thanks a lot! I will give it a try ASAP!

In the meantime, I found a firmware backup here, and here is the GoFlex Net official website (where it seems you can download the firmware): https://www.seagate.com/support/external-hard-drives/network-storage/goflex-net/

https://openwrt.org/toh/seagate/goflexnet

Ok, thanks!

It depends on what goes wrong, and on the device. Some devices after harder to brick than others. Sometimes devices can get bricked beyound repair.

1 Like

Ok, I see. Thanks!

There is also

for the GoFlex Home...

The two device seem to be very similar in spec but the GoFlex Home flashing instructions seem to be much simpler and it also has a screenshot of OpenWrt 18.06.1 whereas the GoFlex Net page shows 15.05.1 with a notice saying that

as of writing (29 april 2017) the trunk kernel won't boot

I wouldn't flash a device with the firmware intended for another device, no matter how similar, unless I know for sure that it works.

2 Likes

I wasn't talking about the actual firmware itself, but the procedure seemed simpler...

1 Like

If you get really stuck I'd suggest the Doozan forum

There's quite a lot of useful info there in the uBoot section, and bodhi, who runs the forum, is very knowledgeable and helpful.

After following this guide

https://openwrt.org/toh/seagate/goflexhome#install_u-boot_and_openwrt_18061_into_nand_via_serial_cable_and_tftp-server

it mentions two particular files which are required:-

openwrt-kirkwood-goflexhome-uImage

openwrt-kirkwood-goflexhome-jffs2-128k.img

Where can I find them? And do they relate to 18.06.2?