User Tools

Site Tools


toh:seagate:goflexnet
This wiki is read only and for archival purposes only. >>>>>>>>>> Please use the new OpenWrt wiki at https://openwrt.org/ <<<<<<<<<<

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Previous revision
Last revision Both sides next revision
toh:seagate:goflexnet [2013/11/04 16:33]
toh:seagate:goflexnet [2017/04/29 08:18]
doz.me [Arch linux ARM install to GoFlex.net (external HDD, not NAND!) and set uBoot environment]
Line 1: Line 1:
 +====== Seagate GoFlexNet ======
  
 +===== Supported Versions =====
 +^ Model               ^ OpenWrt Version Supported ​  ^ Model Specific Notes   ^
 +| Seagate GoFlexNet ​  | WIP, trunk                  |                        |
 +
 +
 +<WRAP box center 80%> {{:​meta:​icons:​tango:​48px-emblem-question.svg.png }} If you can **confirm** that OpenWrt is running on this device (i.e. you or someone else has **tested** it), please update the data accordingly. -> Click //View/Edit data//
 +/* Special style definitions for the various Tables of Hardware. ​           */
 +{{page>​meta:​infobox:​tohstyles&​noheader&​nofooter&​noeditbtn&​inline&​indent&​link}}
 +---- datatable ----
 +cols    : Model, Versions, Supported Since Rev_url, Supported Since Rel, Supported Current Rel, Device Techdata_pageid
 +align   : l,c,l,c,c,c
 +filter ​ : Model=GoFlexNet
 +----</​WRAP>​
 +<WRAP center round important 60%>
 +Unfortunately the trunk version is not booting atm // 29 april 2017 //doz.me
 +</​WRAP>​
 +
 +
 +===== 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:​** [[http://​en.wikipedia.org/​wiki/​ARM_architecture|ARM ]]  armv5te |
 +| **Vendor:** Marvell | 
 +| **[[doc:​techref:​Bootloader]]:​** [[doc:​techref:​bootloader:​uboot | U-Boot]] | 
 +| **System-On-Chip:​** Marvell [[http://​www.marvell.com/​products/​processors/​embedded/​kirkwood/​HW_88F6281_OpenSource.pdf|MV88F6281 A0 (DDR2)]] with ARM926EJ-S CPU (Marvell Feroceon) | 
 +| **CPU Speed:** 1200 Mhz | 
 +| **Flash size:** 256 MiB / 1x Micron 29F2G08AAD | 
 +| **RAM:** 128 MiB / 1x Nanya NT5TU64M16DG-AC | 
 +| **Wireless:​** n/a | 
 +| **Ethernet:​** 1x GigE port / Marvell "​Alaska"​ 88E1116R |
 +| **USB:** 1x USB 2.0 port | 
 +| **Serial:** [[#​Serial|Yes]] | 
 +| **JTAG:** [[#​JTAG|Yes]] | 
 +| **SATA:** 2x (data & power) | 
 +
 +==== Flash Layout ====
 +^               ​original u-boot flash layout ​           ^^^^^
 +^ mtdparts ​   | mtd0     | mtd1     | mtd2      | mtd3      |
 +^ start (hex) | 0x000000 | 0x100000 | 0x500000 ​ | 0x2500000 |
 +^ size (hex)  | 0x100000 | 0x400000 | 0x2000000 | 0xdb00000 |
 +^ size (MB)   | 1        | 4        | 32        | 219       |
 +^ name        | u-boot ​  | kernel ​  | rootfs ​   | data      |
 +^ file system | raw      | uImage? ​ | JFFS2     | ?         |
 + 
 +^               ​u-boot with 2nd stage u-boot ​ flash layout ​         ^^^^^^^
 +^ mtdparts ​   | mtd0     | mtd1                | mtd2     | mtd3      | mtd4      |
 +^ start (hex) | 0x000000 | 0x100000 ​           | 0x200000 | 0x500000 ​ | 0x2500000 |
 +^ size (hex)  | 0x100000 | 0x100000 ​           | 0x300000 | 0x2000000 | 0xdb00000 |
 +^ size (MB)   | 1        | 1                   | 3        | 32        | 219       |
 +^ name        | u-boot ​  | second_stage_u-boot | kernel ​  | rootfs ​   | data      |
 +^ file system | raw      | raw                 | uImage? ​ | 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 ====
 +See [[:​toh:​seagate/​dockstar#​crypto.hardware.acceleration|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 [[http://​www.varkey.in/​wp-content/​uploads/​2011/​06/​IMG_0771.jpg|here]])
 +
 +{{media:​seagate:​goflex_net_1.jpg?​400|}}
 +
 +
 +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.)
 +
 +**NOTE** the board is not able to provide enough wattage @5v to drive standard 3.5" hard disks, and even with '​green'​ disks might not be powerful enough to drive 2 3.5" hd or use a 3.5" hd and a 2.5" at the same time (i.e. Raid1). Using a '​green'​ 3.5" and a regular 2.5" not at the same time works perfectly for me.
 +
 +{{media:​seagate:​goflex_net_2.jpg?​400|}}
 +{{media:​seagate:​goflex_net_3.jpg?​400|}}
 +
 +example:
 +
 +{{media:​seagate:​goflex_net_4.jpg?​400|}}
 +
 +==== 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 will 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.
 +On later versions the ssh access is already disabled. The option on the pogoplug site to enable ssh is missing or may be dependent on a public ipv4 and open ssh port on the router.
 +
 +Find IP address, BE and EF are the last two bytes of the MAC of your device (printed on the bottom of the GoFlexNet)
 +<​code>​
 +root@host ~ # ifconfig eth0 169.254.1.0 ​
 +root@host ~ # nmap -e eth0 -sP $(printf "​169.254.%d.%d"​ 0xbe 0xef)
 +</​code>​
 +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:
 +<​code>​
 +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/sda1
 +</​code>​
 +To 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 ====
 +<​code>​
 +#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
 +reset
 +
 +Hit any key to stop autoboot: ​ 0
 +
 +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
 +</​code>​
 +
 +==== Install OpenWrt Chaos Calmer 15.05.1 into NAND via serial cable and tftp-server (UBIFS!)====
 +Prerequisites
 +  * hookup a (USB-)serial to the goflexnet box and get it running (e.g. minicom)
 +  * connect the Goflexnet and your computer to a router (or directly and counfigure your computer with static IP 192.168.2.1)
 +Files to download
 +  * [[https://​www.dropbox.com/​s/​c7kevnx68hgoldw/​uboot.2016.05-tld-1.goflexnet.bodhi.tar|uboot]] (via [[http://​forum.doozan.com/​read.php?​3,​12381|doozan forum]])
 +  * [[https://​downloads.openwrt.org/​chaos_calmer/​15.05.1/​kirkwood/​generic/​openwrt-15.05.1-kirkwood-goflexnet-uImage|openwrt-15.05.1-kirkwood-goflexnet-uImage]]
 +  * [[https://​downloads.openwrt.org/​chaos_calmer/​15.05.1/​kirkwood/​generic/​openwrt-15.05.1-kirkwood-goflexnet-rootfs.ubifs|openwrt-15.05.1-kirkwood-goflexnet-rootfs.ubifs]]
 +
 +Todo
 +  * get data partition working
 +  * file ticket because trunk kernel won't boot
 +
 +
 +Extract the uboot
 +<​code>​
 +tar -xvf uboot.2016.05-tld-1.goflexnet.bodhi.tar
 +</​code>​
 +
 +Start a tftp server in that folder
 +<​code>​
 +sudo dnsmasq -p0 --enable-tftp --tftp-root=`pwd` -d --user=`whoami`
 +</​code>​
 +
 +Hit any key to stop autoboot in the uboot and set goflexnet ip, tftp-server ip, goflexnet mac:
 +<​code>​
 +setenv ipaddr '​192.168.1.1'​
 +setenv serverip '​192.168.1.2'​
 +setenv ethaddr '​yourmac'​ <<- it is written on the bottom of your goflexnet box
 +</​code>​
 +
 +download from tftp-server file uboot.2016.05-tld-1.goflexnet.mtd0.kwb to RAM start offset 0x6400000
 +<​code>​
 +tftp 0x6400000 uboot.2016.05-tld-1.goflexnet.mtd0.kwb
 +</​code>​
 +
 +Bytes transferred = 524288 (**80000** hex) ← this number is needed for nand write
 +erase nand start from 0 size 0x100000
 +<​code>​
 +nand erase 0x0 0x100000
 +</​code>​
 +
 +write nand from RAM start offset 0x6400000 to nand start 0x0 size **0x80000**
 +<​code>​
 +nand write.e 0x6400000 0x0 0x80000
 +</​code>​
 +
 +download from tftp-server file openwrt-15.05.1-kirkwood-goflexnet-uImage to RAM start offset 0x6400000
 +<​code>​
 +tftp 0x6400000 openwrt-15.05.1-kirkwood-goflexnet-uImage
 +</​code>​
 +
 +Bytes transferred = 1740617 (**1a8f49** hex) ← this number is needed for nand write
 +erase nand start from 0x100000 size 0x400000
 +<​code>​
 +nand erase 0x100000 0x400000
 +</​code>​
 +
 +write nand from RAM start offset 0x6400000 to nand start 0x100000 size **1a8f49**
 +<​code>​
 +nand write.e 0x6400000 0x100000 1a8f49
 +</​code>​
 +
 +erase nand rootfs (start 0x500000 size 0x2000000)
 +<​code>​
 +nand erase.part rootfs
 +</​code>​
 +NAND erase.part: device 0 offset 0x500000, size 0x2000000
 +Erasing at 0x24e0000 -- 100% complete.
 +OK
 +
 +select partition rootfs
 +<​code>​
 +ubi part rootfs
 +</​code>​
 +
 +<​code>​
 +ubi0: attaching mtd1
 +ubi0: scanning is finished
 +ubi0: empty MTD device detected
 +ubi0: attached mtd1 (name "​mtd=2",​ size 32 MiB)
 +ubi0: PEB size: 131072 bytes (128 KiB), LEB size: 129024 bytes
 +ubi0: min./max. I/O unit sizes: 2048/2048, sub-page size 512
 +ubi0: VID header offset: 512 (aligned 512), data offset: 2048
 +ubi0: good PEBs: 256, bad PEBs: 0, corrupted PEBs: 0
 +ubi0: user volume: 0, internal volumes: 1, max. volumes count: 128
 +ubi0: max/mean erase counter: 1/0, WL threshold: 4096, image sequence number: 0 
 +ubi0: available PEBs: 212, total reserved PEBs: 44, PEBs reserved for bad PEB h0
 +</​code>​
 +
 +
 +create ubi fs?
 +<​code>​
 +ubi create rootfs
 +</​code>​
 +No size specified -> Using max size (27353088)
 +Creating dynamic volume rootfs of size 27353088
 +
 +
 +download from tftp-server openwrt-15.05.1-kirkwood-goflexnet-rootfs.ubifs to RAM start offset 0x6400000
 +<​code>​
 +tftp 0x6400000 openwrt-15.05.1-kirkwood-goflexnet-rootfs.ubifs
 +</​code>​
 +Bytes transferred = 4644864 (**46e000** hex) ← this number is needed for nand write
 +
 +
 +write nand from RAM start offset 0x6400000 to nand start 0x500000 size **4c0000**
 +<​code>​
 +ubi write 0x6400000 rootfs 46e000
 +</​code>​
 +4644864 bytes written to volume rootfs
 +
 +reboot
 +<​code>​
 +reset
 +</​code>​
 +
 +Hit any key to stop autoboot! and set your mac-address from bottom side of the box (if you don't do this - ethernet wont work) and set other openwrt'​s environment
 +<​code>​
 +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 '​yourmacaddress'​
 +setenv ipaddr '​192.168.1.1'​
 +setenv serverip '​192.168.1.2'​
 +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
 +</​code>​
 +
 +
 +we did it: 
 +<​code>​
 +U-Boot 2016.05-tld-1 (Jun 12 2016 - 13:27:19 -0700)
 +Seagate GoFlex Net
 +
 +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 
 +
 +NAND read: device 0 offset 0x100000, size 0x400000
 + ​4194304 bytes read: OK
 +starting USB...
 +USB0:   USB EHCI 1.00
 +scanning bus 0 for devices... 1 USB Device(s) found
 +       ​scanning usb for storage devices... 0 Storage Device(s) found
 +## Booting kernel from Legacy Image at 06400000 ...
 +   Image Name:   ARM OpenWrt Linux-3.18.23
 +   ​Created: ​     2016-02-02 ​ 12:35:05 UTC
 +   Image Type:   ARM Linux Kernel Image (uncompressed)
 +   Data Size:    1740553 Bytes = 1.7 MiB
 +   Load Address: 00008000
 +   Entry Point: ​ 00008000
 +   ​Verifying Checksum ... OK
 +   ​Loading Kernel Image ... OK
 +Using machid 0xc11 from environment
 +
 +Starting kernel ...
 +
 +[    0.000000] Booting Linux on physical CPU 0x0
 +[    0.000000] Linux version 3.18.23 (buildbot@builder1) (gcc version 4.8.3 (OpenWrt/​Linaro GCC 4.8-2014.04 r47269) ) #1 Sun Jan 31 11:40:01 CET 2016
 +[    0.000000] CPU: Feroceon 88FR131 [56251311] revision 1 (ARMv5TE), cr=0005397f
 +[    0.000000] CPU: VIVT data cache, VIVT instruction cache
 +[    0.000000] Machine model: Seagate GoFlex Net
 +[    0.000000] Memory policy: Data cache writeback
 +[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 32512
 +[    0.000000] Kernel command line: console=ttyS0,​115200 mtdparts=orion_nand:​1M(u-boot),​4M@1M(kernel),​32M@5M(rootfs) rw,​219M@37M(data) ubi.mtd=2 rootfstype=ubifs
 +[    0.000000] PID hash table entries: 512 (order: -1, 2048 bytes)
 +[    0.000000] Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)
 +[    0.000000] Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)
 +[    0.000000] Memory: 124916K/​131072K available (3466K kernel code, 151K rwdata, 964K rodata, 136K init, 191K bss, 6156K reserved)
 +[    0.000000] Virtual kernel memory layout:
 +[    0.000000] ​    ​vector ​ : 0xffff0000 - 0xffff1000 ​  ​( ​  4 kB)
 +[    0.000000] ​    ​fixmap ​ : 0xffc00000 - 0xffe00000 ​  (2048 kB)
 +[    0.000000] ​    ​vmalloc : 0xc8800000 - 0xff000000 ​  ( 872 MB)
 +[    0.000000] ​    ​lowmem ​ : 0xc0000000 - 0xc8000000 ​  ( 128 MB)
 +[    0.000000] ​    ​modules : 0xbf000000 - 0xc0000000 ​  ​( ​ 16 MB)
 +[    0.000000] ​      .text : 0xc0008000 - 0xc045bd4c ​  (4432 kB)
 +[    0.000000] ​      .init : 0xc045c000 - 0xc047e000 ​  ( 136 kB)
 +[    0.000000] ​      .data : 0xc047e000 - 0xc04a3e04 ​  ( 152 kB)
 +[    0.000000] ​       .bss : 0xc04a3e04 - 0xc04d3b44 ​  ( 192 kB)
 +[    0.000000] NR_IRQS:16 nr_irqs:16 16
 +[    0.000015] sched_clock:​ 32 bits at 200MHz, resolution 5ns, wraps every 21474836475ns
 +[    0.000160] Calibrating delay loop... 1191.11 BogoMIPS (lpj=5955584)
 +[    0.090095] pid_max: default: 32768 minimum: 301
 +[    0.090239] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
 +[    0.090257] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
 +[    0.090729] CPU: Testing write buffer coherency: ok
 +[    0.091063] Setting up static identity map for 0x108d8 - 0x10914
 +[    0.091358] mvebu-soc-id:​ MVEBU SoC ID=0x6281, Rev=0x3
 +[    0.093121] pinctrl core: initialized pinctrl subsystem
 +[    0.093527] regulator-dummy:​ no parameters
 +[    0.097479] NET: Registered protocol family 16
 +[    0.097879] DMA: preallocated 256 KiB pool for atomic coherent allocations
 +[    0.098738] cpuidle: using governor ladder
 +[    0.099098] Feroceon L2: Enabling L2
 +[    0.099141] Feroceon L2: Cache support initialised.
 +[    0.099433] [Firmware Info]: /​ocp@f1000000/​ethernet-controller@72000/​ethernet0-port@0:​ local-mac-address is not set
 +[    0.107168] platform regulators:​regulator@1:​ Driver reg-fixed-voltage requests probe deferral
 +[    0.107555] SCSI subsystem initialized
 +[    0.107907] usbcore: registered new interface driver usbfs
 +[    0.107985] usbcore: registered new interface driver hub
 +[    0.108054] usbcore: registered new device driver usb
 +[    0.109001] Switched to clocksource orion_clocksource
 +[    0.110102] NET: Registered protocol family 2
 +[    0.110807] TCP established hash table entries: 1024 (order: 0, 4096 bytes)
 +[    0.110831] TCP bind hash table entries: 1024 (order: 0, 4096 bytes)
 +[    0.110850] TCP: Hash tables configured (established 1024 bind 1024)
 +[    0.110909] TCP: reno registered
 +[    0.110922] UDP hash table entries: 256 (order: 0, 4096 bytes)
 +[    0.110942] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
 +[    0.111119] NET: Registered protocol family 1
 +[    0.111965] futex hash table entries: 256 (order: -1, 3072 bytes)
 +[    0.112923] squashfs: version 4.0 (2009/​01/​31) Phillip Lougher
 +[    0.112943] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
 +[    0.113190] msgmni has been set to 243
 +[    0.114026] io scheduler noop registered
 +[    0.114045] io scheduler deadline registered (default)
 +[    0.115157] kirkwood-pinctrl f1010000.pin-controller:​ registered pinctrl driver
 +[    0.115719] irq: Cannot allocate irq_descs @ IRQ33, assuming pre-allocated
 +[    0.116042] irq: Cannot allocate irq_descs @ IRQ65, assuming pre-allocated
 +[    0.148632] Serial: 8250/16550 driver, 16 ports, IRQ sharing enabled
 +[    0.151718] console [ttyS0] disabled
 +[    0.151790] f1012000.serial:​ ttyS0 at MMIO 0xf1012000 (irq = 26, base_baud = 12500000) is a 16550A
 +[    0.548112] console [ttyS0] enabled
 +[    0.552993] nand: device found, Manufacturer ID: 0x2c, Chip ID: 0xda
 +[    0.559401] nand: Micron MT29F2G08AAD
 +[    0.563082] nand: 256MiB, SLC, page size: 2048, OOB size: 64
 +[    0.568781] Scanning device for bad blocks
 +[    0.790299] 3 cmdlinepart partitions found on MTD device orion_nand
 +[    0.796594] Creating 3 MTD partitions on "​orion_nand":​
 +[    0.801782] 0x000000000000-0x000000100000 : "​u-boot"​
 +[    0.807521] 0x000000100000-0x000000500000 : "​kernel"​
 +[    0.813225] 0x000000500000-0x000002500000 : "​rootfs"​
 +[    0.818886] mtd: device 2 (rootfs) set to be root filesystem
 +[    0.824691] mtdsplit: no squashfs found in "​rootfs"​
 +[    0.829695] mtdsplit: no squashfs found in "​orion_nand"​
 +[    0.835440] libphy: orion_mdio_bus:​ probed
 +[    0.888802] mv643xx_eth:​ MV-643xx 10/100/1000 ethernet driver version 1.4
 +[    0.897017] mv643xx_eth_port mv643xx_eth_port.0 eth0: port 0 with MAC address 00:​10:​75:​xx:​xx:​xx
 +[    0.905841] ehci_hcd: USB 2.0 '​Enhanced'​ Host Controller (EHCI) Driver
 +[    0.912418] ehci-pci: EHCI PCI platform driver
 +[    0.916946] ehci-platform:​ EHCI generic platform driver
 +[    0.922333] ehci-orion: EHCI orion driver
 +[    0.926507] orion-ehci f1050000.ehci:​ EHCI Host Controller
 +[    0.932065] orion-ehci f1050000.ehci:​ new USB bus registered, assigned bus number 1
 +[    0.939890] orion-ehci f1050000.ehci:​ irq 29, io mem 0xf1050000
 +[    0.959021] orion-ehci f1050000.ehci:​ USB 2.0 started, EHCI 1.00
 +[    0.965677] hub 1-0:1.0: USB hub found
 +[    0.969502] hub 1-0:1.0: 1 port detected
 +[    0.974015] usbcore: registered new interface driver usb-storage
 +[    0.982008] TCP: cubic registered
 +[    0.985345] NET: Registered protocol family 17
 +[    0.989908] bridge: automatic filtering via arp/​ip/​ip6tables has been deprecated. Update your scripts to load br_netfilter if you need this.
 +[    1.002617] Bridge firewalling registered
 +[    1.006761] 8021q: 802.1Q VLAN Support v1.8
 +[    1.012286] USB Power: 5000 mV 
 +[    1.015668] UBI: attaching mtd2 to ubi0
 +[    1.078150] UBI: scanning is finished
 +[    1.093646] UBI: attached mtd2 (name "​rootfs",​ size 32 MiB) to ubi0
 +[    1.099973] UBI: PEB size: 131072 bytes (128 KiB), LEB size: 129024 bytes
 +[    1.106791] UBI: min./max. I/O unit sizes: 2048/2048, sub-page size 512
 +[    1.113440] UBI: VID header offset: 512 (aligned 512), data offset: 2048
 +[    1.120179] UBI: good PEBs: 256, bad PEBs: 0, corrupted PEBs: 0
 +[    1.126123] UBI: user volume: 1, internal volumes: 1, max. volumes count: 128
 +[    1.133295] UBI: max/mean erase counter: 2/1, WL threshold: 4096, image sequence number: 0
 +[    1.141604] UBI: available PEBs: 0, total reserved PEBs: 256, PEBs reserved for bad PEB handling: 40
 +[    1.150967] drivers/​rtc/​hctosys.c:​ unable to open rtc device (rtc0)
 +[    1.158325] UBI: background thread "​ubi_bgt0d"​ started, PID 775
 +[    1.195356] UBIFS: background thread "​ubifs_bgt0_0"​ started, PID 780
 +[    1.228709] UBIFS: start fixing up free space
 +[    1.674642] UBIFS: free space fixup complete
 +[    1.721114] UBIFS: mounted UBI device 0, volume 0, name "​rootfs"​
 +[    1.727152] UBIFS: LEB size: 129024 bytes (126 KiB), min./max. I/O unit sizes: 2048 bytes/2048 bytes
 +[    1.736357] UBIFS: FS size: 25933824 bytes (24 MiB, 201 LEBs), journal size 9033728 bytes (8 MiB, 71 LEBs)
 +[    1.746066] UBIFS: reserved for root: 0 bytes (0 KiB)
 +[    1.751154] UBIFS: media format: w4/r0 (latest is w4/r0), UUID 910BF25D-BEAF-40CE-B84A-3220E8E2EAC5,​ small LPT model
 +[    1.762444] VFS: Mounted root (ubifs filesystem) on device 0:10.
 +[    1.768869] Freeing unused kernel memory: 136K (c045c000 - c047e000)
 +[    1.908005] init: Console is alive
 +[    2.037961] sata_mv f1080000.sata:​ slots 32 ports 2
 +[    2.045498] scsi host0: sata_mv
 +[    2.049289] scsi host1: sata_mv
 +[    2.052665] ata1: SATA max UDMA/133 irq 32
 +[    2.056785] ata2: SATA max UDMA/133 irq 32
 +[    2.409025] ata1: SATA link down (SStatus 0 SControl F300)
 +[    2.759019] ata2: SATA link down (SStatus 0 SControl F300)
 +[    2.913139] init: - preinit -
 +[    2.985670] random: procd urandom read with 4 bits of entropy available
 +Press the [f] key and hit [enter] to enter failsafe mode
 +Press the [1], [2], [3] or [4] key and hit [enter] to select the debug level
 +[    6.087058] mount_root: mounting /dev/root
 +[    6.103452] procd: - early -
 +[    7.185643] procd: - ubus -
 +[    8.192456] procd: - init -
 +Please press Enter to activate this console.
 +[   ​10.407705] NET: Registered protocol family 10
 +[   ​10.433489] ip6_tables: (C) 2000-2006 Netfilter Core Team
 +[   ​10.457405] ip_tables: (C) 2000-2006 Netfilter Core Team
 +[   ​10.492793] nf_conntrack version 0.5.0 (1953 buckets, 7812 max)
 +[   ​10.589545] xt_time: kernel timezone is -0000
 +[   ​10.613902] PPP generic driver version 2.4.2
 +[   ​10.636613] NET: Registered protocol family 24
 +[   ​13.588581] mv643xx_eth_port mv643xx_eth_port.0 eth0: link up, 100 Mb/s, full duplex, flow control disabled
 +[   ​13.598413] mv643xx_eth_port mv643xx_eth_port.0 eth0: link down
 +[   ​13.605554] IPv6: ADDRCONF(NETDEV_UP):​ eth0: link is not ready
 +[   ​34.611312] mv643xx_eth_port mv643xx_eth_port.0 eth0: link up, 100 Mb/s, full duplex, flow control disabled
 +[   ​34.621154] IPv6: ADDRCONF(NETDEV_CHANGE):​ eth0: link becomes ready
 +[   ​78.189036] random: nonblocking pool is initialized
 +</​code>​
 +
 +openwrt CC
 +<​code>​
 +BusyBox v1.23.2 (2016-01-02 02:33:25 CET) built-in shell (ash)
 +
 +  _______ ​                    ​________ ​       __
 + ​| ​      ​|.-----.-----.-----.| ​ |  |  |.----.| ​ |_
 + ​| ​  ​- ​  ​|| ​ _  |  -__|     ​|| ​ |  |  ||   ​_|| ​  _|
 + ​|_______|| ​  ​__|_____|__|__||________||__| ​ |____|
 +          |__| W I R E L E S S   F R E E D O M
 + ​-----------------------------------------------------
 + CHAOS CALMER (15.05.1, r48532)
 + ​-----------------------------------------------------
 +  * 1 1/2 oz Gin            Shake with a glassful
 +  * 1/4 oz Triple Sec       of broken ice and pour
 +  * 3/4 oz Lime Juice       ​unstrained into a goblet.
 +  * 1 1/2 oz Orange Juice
 +  * 1 tsp. Grenadine Syrup
 + ​-----------------------------------------------------
 +root@OpenWrt:/#​
 +</​code>​
 +
 +
 +
 +
 +==== Install OpenWrt TRUNK into NAND via serial cable and tftp-server ====
 +<WRAP center round alert 60%>
 +**as of writing (September 2016) the trunk kernel won't boot** ​
 +</​WRAP>​
 +
 +
 +
 +Files needed:
 +http://​dl.dropbox.com/​u/​1015928/​Kirkwood/​uboot/​newer-uboots-nonEFI_GPT-TESTED/​uboot.mtd0.kwb-2011.12-goflexnet-L2Coff-IDEpatched.tar.gz
 +(Mirror: http://​www.wit.dk/​temp/​SeagateGoFlexNet/​uboot.mtd0.kwb-2011.12-goflexnet-L2Coff-IDEpatched.tar.gz)
 +
 +(untar - this is uboot with working sata!)
 +
 +https://​downloads.openwrt.org/​snapshots/​trunk/​kirkwood/​generic/​openwrt-kirkwood-uImage
 +
 +https://​downloads.openwrt.org/​snapshots/​trunk/​kirkwood/​generic/​openwrt-kirkwood-generic-jffs2-nand-2048-128k.img
 +
 +Hit any key to stop autoboot in the uboot and set goflexnet ip, tftp-server ip, goflexnet mac:
 +<​code>​
 +setenv ipaddr '​192.168.1.1'​
 +setenv serverip '​192.168.1.2'​
 +setenv ethaddr '​00:​10:​75:​26:​28:​7D'​
 +</​code>​
 +
 +download from tftp-server file **uboot.mtd0.kwb-2011.12-goflexnet-L2Coff-IDEpatched** to RAM start offset 0x6400000
 +<​code>​tftp 0x6400000 uboot.mtd0.kwb-2011.12-goflexnet-L2Coff-IDEpatched</​code>​
 +Bytes transferred = 524288 (**80000** hex)  <- this number is needed for nand write
 +
 +erase nand start from 0 size 0x100000
 +<​code>​nand erase 0x0 0x100000</​code>​
 +write nand from RAM start offset 0x6400000 to nand start 0x0 size 0x**80000**
 +<​code>​nand write.e 0x6400000 0x0 0x80000</​code>​
 +
 +download from tftp-server file **openwrt-kirkwood-uImage** to RAM start offset 0x6400000
 +<​code>​tftp 0x6400000 openwrt-kirkwood-uImage</​code>​
 +Bytes transferred = 1266344 (**1352a8** hex) <- this number is needed for nand write
 +
 +erase nand start from 0x200000 size 0x300000
 +<​code>​nand erase 0x200000 0x300000</​code>​
 +write nand from RAM start offset 0x6400000 to nand start 0x200000 size 0x**1352a8**
 +<​code>​nand write.e 0x6400000 0x200000 0x1352a8</​code>​
 +
 +download from tftp-server file **openwrt-kirkwood--jffs2-nand-2048-128k.img** to RAM start offset 0x6400000
 +<​code>​tftp 0x6400000 openwrt-kirkwood--jffs2-nand-2048-128k.img</​code>​
 +Bytes transferred = 1837056 (**1c0800** hex) <- this number is needed for nand write
 +
 +erase nand start from 0x500000 size 0xfb00000
 +<​code>​nand erase 0x500000 0xfb00000</​code>​
 +write nand from RAM start offset 0x6400000 to nand start 0x500000 size 0x**1c0800**
 +<​code>​nand write.e 0x6400000 0x500000 0x1c0800</​code>​
 +reboot device
 +<​code>​reset</​code>​
 +Hit any key to stop autoboot! and set your mac-address from bottom side of the box (if you don't do this - ethernet wont work) and set other openwrt'​s environment
 +<​code>​
 +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 '​00:​10:​75:​26:​28:​7D'​
 +setenv ipaddr '​192.168.1.1'​
 +setenv serverip '​192.168.1.2'​
 +setenv stderr '​serial'​
 +setenv stdin '​serial'​
 +setenv stdout '​serial'​
 +setenv x_bootargs '​console=ttyS0,​115200 mtdparts=orion_nand:​1M(u-boot),​1M@1M(second_stage_u-boot),​3M@2M(kernel),​251M@5M(rootfs) rw'
 +setenv x_bootargs_root '​root=/​dev/​mtdblock3 rw rootfstype=jffs2'​
 +setenv x_bootcmd_kernel 'nand read 0x6400000 0x200000 0x300000'​
 +setenv x_bootcmd_usb 'usb start'
 +setenv machid c11
 +saveenv
 +reset
 +</​code>​
 +
 +Voilà, we did it! :)
 +
 +<​code>​
 +U-Boot 2011.12 (Apr 18 2012 - 23:08:20)
 +Seagate GoFlexNet
 +
 +SoC:   ​Kirkwood 88F6281_A0
 +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
 +
 +NAND read: device 0 offset 0x200000, size 0x300000
 + ​3145728 bytes read: OK
 +(Re)start USB...
 +USB:   ​Register 10011 NbrPorts 1
 +USB EHCI 1.00
 +scanning bus for devices... 1 USB Device(s) found
 +       ​scanning bus for storage devices... 0 Storage Device(s) found
 +## Booting kernel from Legacy Image at 06400000 ...
 +   Image Name:   ​Linux-3.3.8
 +   Image Type:   ARM Linux Kernel Image (uncompressed)
 +   Data Size:    1266192 Bytes = 1.2 MiB
 +   Load Address: 00008000
 +   Entry Point: ​ 00008000
 +   ​Verifying Checksum ... OK
 +   ​Loading Kernel Image ... OK
 +OK
 +
 +Starting kernel ...
 +
 +Uncompressing Linux... done, booting the kernel.
 +[    0.000000] Booting Linux on physical CPU 0
 +[    0.000000] Linux version 3.3.8 (openwrt@OpenWRT) (gcc version 4.6.4 (OpenWrt/​Linaro GCC 4.6-2013.05 r38047) ) #1 Thu Sep 19 01:30:05 MST 2013
 +[    0.000000] CPU: Feroceon 88FR131 [56251311] revision 1 (ARMv5TE), cr=00053977
 +[    0.000000] CPU: VIVT data cache, VIVT instruction cache
 +[    0.000000] Machine: Marvell eSATA SheevaPlug Reference Board
 +[    0.000000] Memory policy: ECC disabled, Data cache writeback
 +[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 32512
 +[    0.000000] Kernel command line: console=ttyS0,​115200 mtdparts=orion_nand:​1M(u-boot),​1M@1M(second_stage_u-boot),​3M@2M(kernel),​251M@5M(rootfs) rw root=/​dev/​mtdblock3 rw rootfstype=jffs2
 +[    0.000000] PID hash table entries: 512 (order: -1, 2048 bytes)
 +[    0.000000] Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)
 +[    0.000000] Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)
 +[    0.000000] Memory: 128MB = 128MB total
 +[    0.000000] Memory: 126284k/​126284k available, 4788k reserved, 0K highmem
 +[    0.000000] Virtual kernel memory layout:
 +[    0.000000] ​    ​vector ​ : 0xffff0000 - 0xffff1000 ​  ​( ​  4 kB)
 +[    0.000000] ​    ​fixmap ​ : 0xfff00000 - 0xfffe0000 ​  ( 896 kB)
 +[    0.000000] ​    ​vmalloc : 0xc8800000 - 0xff000000 ​  ( 872 MB)
 +[    0.000000] ​    ​lowmem ​ : 0xc0000000 - 0xc8000000 ​  ( 128 MB)
 +[    0.000000] ​    ​modules : 0xbf000000 - 0xc0000000 ​  ​( ​ 16 MB)
 +[    0.000000] ​      .text : 0xc0008000 - 0xc0324000 ​  (3184 kB)
 +[    0.000000] ​      .init : 0xc0324000 - 0xc0342000 ​  ( 120 kB)
 +[    0.000000] ​      .data : 0xc0342000 - 0xc035fb20 ​  ( 119 kB)
 +[    0.000000] ​       .bss : 0xc035fb44 - 0xc0389a90 ​  ( 168 kB)
 +[    0.000000] NR_IRQS:114
 +[    0.000000] gpiochip_add:​ registered GPIOs 0 to 31 on device: orion_gpio0
 +[    0.000000] gpiochip_add:​ registered GPIOs 32 to 49 on device: orion_gpio1
 +[    0.000000] sched_clock:​ 32 bits at 200MHz, resolution 5ns, wraps every 21474ms
 +[   ​15.378138] Calibrating delay loop... 1191.11 BogoMIPS (lpj=5955584)
 +[   ​15.468126] pid_max: default: 32768 minimum: 301
 +[   ​15.468266] Mount-cache hash table entries: 512
 +[   ​15.468584] CPU: Testing write buffer coherency: ok
 +[   ​15.468840] Setting up static identity map for 0x2757e8 - 0x275824
 +[   ​15.470513] NET: Registered protocol family 16
 +[   ​15.472748] Kirkwood: MV88F6281-A0,​ TCLK=200000000.
 +[   ​15.472764] Feroceon L2: Enabling L2
 +[   ​15.472801] Feroceon L2: Cache support initialised.
 +[   ​15.480475] bio: create slab <​bio-0>​ at 0
 +[   ​15.481375] SCSI subsystem initialized
 +[   ​15.481930] usbcore: registered new interface driver usbfs
 +[   ​15.482067] usbcore: registered new interface driver hub
 +[   ​15.482226] usbcore: registered new device driver usb
 +[   ​15.483324] Switching to clocksource orion_clocksource
 +[   ​15.484874] NET: Registered protocol family 2
 +[   ​15.485020] IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
 +[   ​15.485321] TCP established hash table entries: 4096 (order: 3, 32768 bytes)
 +[   ​15.485420] TCP bind hash table entries: 4096 (order: 2, 16384 bytes)
 +[   ​15.485474] TCP: Hash tables configured (established 4096 bind 4096)
 +[   ​15.485484] TCP reno registered
 +[   ​15.485494] UDP hash table entries: 256 (order: 0, 4096 bytes)
 +[   ​15.485516] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
 +[   ​15.485690] NET: Registered protocol family 1
 +[   ​15.487175] squashfs: version 4.0 (2009/​01/​31) Phillip Lougher
 +[   ​15.487189] JFFS2 version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
 +[   ​15.487525] msgmni has been set to 246
 +[   ​15.487555] io scheduler noop registered
 +[   ​15.487563] io scheduler deadline registered (default)
 +[   ​15.554884] Serial: 8250/16550 driver, 16 ports, IRQ sharing enabled
 +[   ​15.577632] serial8250.0:​ ttyS0 at MMIO 0xf1012000 (irq = 33) is a 16550A
 +[   ​15.918534] console [ttyS0] enabled
 +[   ​15.923472] ONFI flash detected
 +[   ​15.926716] ONFI param page 0 valid
 +[   ​15.930224] NAND device: Manufacturer ID: 0x2c, Chip ID: 0xda (Micron MT29F2G08AAD)
 +[   ​15.937929] Scanning device for bad blocks
 +[   ​16.094164] 4 cmdlinepart partitions found on MTD device orion_nand
 +[   ​16.100459] Creating 4 MTD partitions on "​orion_nand":​
 +[   ​16.105637] 0x000000000000-0x000000100000 : "​u-boot"​
 +[   ​16.111557] 0x000000100000-0x000000200000 : "​second_stage_u-boot"​
 +[   ​16.118542] 0x000000200000-0x000000500000 : "​kernel"​
 +[   ​16.124386] 0x000000500000-0x000010000000 : "​rootfs"​
 +[   ​16.130502] mv643xx_eth:​ MV-643xx 10/100/1000 ethernet driver version 1.4
 +[   ​16.137474] mv643xx_eth smi: probed
 +[   ​16.142824] mv643xx_eth_port mv643xx_eth_port.0:​ eth0: port 0 with MAC address 00:​10:​75:​26:​28:​7d
 +[   ​16.151794] ehci_hcd: USB 2.0 '​Enhanced'​ Host Controller (EHCI) Driver
 +[   ​16.158406] orion-ehci orion-ehci.0:​ Marvell Orion EHCI
 +[   ​16.163725] orion-ehci orion-ehci.0:​ new USB bus registered, assigned bus number 1
 +[   ​16.193367] orion-ehci orion-ehci.0:​ irq 19, io mem 0xf1050000
 +[   ​16.213355] orion-ehci orion-ehci.0:​ USB 2.0 started, EHCI 1.00
 +[   ​16.219848] hub 1-0:1.0: USB hub found
 +[   ​16.223640] hub 1-0:1.0: 1 port detected
 +[   ​16.228077] Initializing USB Mass Storage driver...
 +[   ​16.233153] usbcore: registered new interface driver usb-storage
 +[   ​16.239200] USB Mass Storage support registered.
 +[   ​16.244122] cpuidle: using governor ladder
 +[   ​16.249582] mmc0: mvsdio driver initialized,​ using GPIO 47 for card detection
 +[   ​16.256984] leds-gpio: probe of leds-gpio failed with error -22
 +[   ​16.263254] TCP cubic registered
 +[   ​16.266519] NET: Registered protocol family 17
 +[   ​16.271047] Bridge firewalling registered
 +[   ​16.275254] 8021q: 802.1Q VLAN Support v1.8
 +[   ​16.279588] drivers/​rtc/​hctosys.c:​ unable to open rtc device (rtc0)
 +[   ​17.972758] JFFS2 notice: (1) jffs2_build_xattr_subsystem:​ complete building xattr subsystem, 0 of xdatum (0 unchecked, 0 orphan) and 0 of xref (0 dead, 0 orphan) found.
 +[   ​17.991751] VFS: Mounted root (jffs2 filesystem) on device 31:3.
 +[   ​17.998179] Freeing init memory: 120K
 +procd: Console is alive
 +[   ​20.599310] Uniform Multi-Platform E-IDE driver
 +[   ​20.623458] sata_mv sata_mv.0: slots 32 ports 2
 +[   ​20.629741] scsi0 : sata_mv
 +[   ​20.632984] scsi1 : sata_mv
 +[   ​20.636119] ata1: SATA max UDMA/133 irq 21
 +[   ​20.640234] ata2: SATA max UDMA/133 irq 21
 +[   ​20.993364] ata1: SATA link down (SStatus 0 SControl F300)
 +[   ​21.503369] ata2: SATA link up 1.5 Gbps (SStatus 113 SControl F300)
 +[   ​21.883398] ata2.00: ATA-6: TOSHIBA MK1032GSX, AS021G, max UDMA/100
 +[   ​21.889697] ata2.00: 195371568 sectors, multi 16: LBA48 NCQ (depth 31/32)
 +[   ​21.953398] ata2.00: configured for UDMA/100
 +[   ​21.957957] scsi 1:0:0:0: Direct-Access ​    ​ATA ​     TOSHIBA MK1032GS AS02 PQ: 0 ANSI: 5
 +[   ​21.967355] sd 1:0:0:0: [sda] 195371568 512-byte logical blocks: (100 GB/93.1 GiB)
 +[   ​21.975267] sd 1:0:0:0: [sda] Write Protect is off
 +[   ​21.980167] sd 1:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn'​t support DPO or FUA
 +[   ​22.030739] ​ sda: sda1
 +[   ​22.034046] sd 1:0:0:0: [sda] Attached SCSI disk
 +[   ​22.045058] ohci_hcd: USB 1.1 '​Open'​ Host Controller (OHCI) Driver
 +[   ​22.052996] uhci_hcd: USB Universal Host Controller Interface driver
 +kmod: ran 28 iterations
 +procd: - preinit -
 +Press the [f] key and hit [enter] to enter failsafe mode
 +mount_root: mounting /dev/root
 +procd: - early -
 +procd: - init -
 +Please press Enter to activate this console.
 +[   ​28.126425] NET: Registered protocol family 10
 +[   ​28.193973] aoe: AoE v47 initialised.
 +[   ​28.253711] RPC: Registered named UNIX socket transport module.
 +[   ​28.259662] RPC: Registered udp transport module.
 +[   ​28.264413] RPC: Registered tcp transport module.
 +[   ​28.269131] RPC: Registered tcp NFSv4.1 backchannel transport module.
 +[   ​28.287417] NTFS driver 2.1.30 [Flags: R/O MODULE].
 +[   ​28.315502] tun: Universal TUN/TAP device driver, 1.6
 +[   ​28.320580] tun: (C) 1999-2004 Max Krasnyansky <​maxk@qualcomm.com>​
 +[   ​28.387485] Installing knfsd (copyright (C) 1996 okir@monad.swb.de).
 +[   ​28.411442] nf_conntrack version 0.5.0 (1975 buckets, 7900 max)
 +[   ​28.437469] ip6_tables: (C) 2000-2006 Netfilter Core Team
 +[   ​28.513508] sd 1:0:0:0: Attached scsi generic sg0 type 0
 +[   ​28.543385] u32 classifier
 +[   ​28.546104] ​    input device check on
 +[   ​28.549775] ​    ​Actions configured
 +[   ​28.564556] Mirror/​redirect action on
 +[   ​28.624722] netem: version 1.3
 +[   ​28.663524] fuse init (API version 7.18)
 +[   ​28.680251] ip_tables: (C) 2000-2006 Netfilter Core Team
 +[   ​28.726045] usbcore: registered new interface driver usblp
 +[   ​28.823510] xt_time: kernel timezone is -0000
 +[   ​28.851447] PPP generic driver version 2.4.2
 +[   ​28.861255] NET: Registered protocol family 24
 +[   ​33.545126] ADDRCONF(NETDEV_UP):​ eth0: link is not ready
 +[   ​36.346205] mv643xx_eth_port mv643xx_eth_port.0:​ eth0: link up, 1000 Mb/s, full duplex, flow control disabled
 +[   ​36.356457] ADDRCONF(NETDEV_CHANGE):​ eth0: link becomes ready
 +procd: - init complete -
 +
 +
 +
 +BusyBox v1.19.4 (2013-09-19 01:21:59 MST) built-in shell (ash)
 +Enter '​help'​ for a list of built-in commands.
 +
 +  _______ ​                    ​________ ​       __
 + ​| ​      ​|.-----.-----.-----.| ​ |  |  |.----.| ​ |_
 + ​| ​  ​- ​  ​|| ​ _  |  -__|     ​|| ​ |  |  ||   ​_|| ​  _|
 + ​|_______|| ​  ​__|_____|__|__||________||__| ​ |____|
 +          |__| W I R E L E S S   F R E E D O M
 + ​-----------------------------------------------------
 + ​BARRIER BREAKER (Bleeding Edge, r38047)
 + ​-----------------------------------------------------
 +  * 1/2 oz Galliano ​        Pour all ingredients into
 +  * 4 oz cold Coffee ​       an irish coffee mug filled
 +  * 1 1/2 oz Dark Rum       with crushed ice. Stir.
 +  * 2 tsp. Creme de Cacao
 + ​-----------------------------------------------------
 +root@OpenWrt:/#​ df -h
 +Filesystem ​               Size      Used Available Use% Mounted on
 +rootfs ​                 251.0M ​    ​22.5M ​   228.5M ​  9% /
 +/​dev/​root ​              ​251.0M ​    ​22.5M ​   228.5M ​  9% /
 +tmpfs                    61.7M    236.0K ​    ​61.5M ​  0% /tmp
 +tmpfs                   ​512.0K ​        ​0 ​   512.0K ​  0% /dev
 +/​dev/​sda1 ​               93.2G     ​88.6M ​    ​93.1G ​  0% /​tmp/​run/​mountd/​sda1
 +root@OpenWrt:/#​
 +</​code>​
 +
 +==== redstone63 rescue ====
 +all files are here: [[http://​us.mirror.archlinuxarm.org/​mirror/​ce/​|redstone_v63]]
 +
 +Checksums:
 +
 +ce_kernel_redstone_v63.img:​ c31ca085da5999651384cf4bb9978692
 +
 +ce_ramdisk_v2.0b.img.gz: ​   80787eea2389a1fe96ffc6715ec65d4c
 +
 +<​code>​
 +setenv ipaddr '​192.168.1.1'​
 +setenv serverip '​192.168.1.2'​
 +nand erase 0x100000 0x400000
 +tftp 0x800000 ce_kernel_redstone_v63.img
 +nand write.e 0x800000 0x100000 0x1e30f0
 +tftp 0x1000000 ce_ramdisk_v2.0b.img.gz
 +setenv bootargs $(console) root=/​dev/​mtdblock2 initrd=0x1000000,​0xb39a59
 +bootm 0x800000
 +</​code>​
 +
 +==== Recovery of a bricked uboot *without* jtag ====
 +Unlike the dockstar, the goflexnet has a newer bootrom which supports
 +serial boot. [http://​forum.doozan.com/​read.php?​3,​7852,​7852]
 +
 +<​code>​
 +wget ftp://​ftp.denx.de/​pub/​u-boot/​u-boot-2013.10.tar.bz2
 +tar jxf u-boot-2013.10.tar.bz2
 +cd u-boot-2013.10/​tools/​
 +gcc -o kwboot kwboot.c
 +./kwboot -b /​tmp/​openwrt-kirkwood-goflexhome-u-boot.kwb -t -p -B 115200 /​dev/​ttyUSB0
 +</​code>​
 +
 +Now the uboot is loaded into ram and executed. You have to flash u-boot into nand. See below how to flash it.
 +
 +====RECOVERY BRICKED UBOOT OF GOFLEXNET (BusPirate & Cygwin)====
 +information from console of BusPirate (SeeedStudio) "​HiZ>​i"​ - Bus Pirate v3.5 Firmware v6.1 r1676  Bootloader v4.4
 +in bash of Cygwin
 +<​code>​
 +git clone git://​git.code.sf.net/​p/​openocd/​code
 +cd code
 +./bootstrap
 +./configure --enable-maintainer-mode --disable-werror --disable-at91rm9200 --enable-buspirate
 +make && make install && make clean
 +
 +put buspirate.cfg to /​usr/​local/​share/​openocd/​scripts/​interface/​
 +put dockstar.cfg to /​usr/​local/​share/​openocd/​scripts/​board/​
 +put uboot.mtd0.goflexnet.original.kwb from http://​download.doozan.com/​uboot/​files/​uboot/​uboot.mtd0.goflexnet.original.kwb to /​usr/​local/​share/​openocd/​scripts/​
 +
 +cd /​usr/​local/​share/​openocd/​scripts
 +
 +(Seeed Studio BusPirate - GoFlex.net) ​ (GoFlex.net - Seeed Studio BusPirate)
 +(            nc         ​- ​  ​1 ​ nc   ​) ​ ( 10  GND   ​- ​   serial cable GND   )
 +(     ​6 ​ blue   ​(aux) ​  ​- ​  ​2 ​ IN   ​) ​ (  9  RxD   ​- ​   serial cable TxD   )
 +(     ​8 ​ gray   ​(mosi) ​ -   ​3 ​ TDI  )  (  8  TxD   ​- ​   serial cable RxD   )
 +(     ​9 ​ white  (cs)    -   ​4 ​ TMS  )  (  7  CN    -           ​nc ​         )
 +(     ​7 ​ purple (clk)   ​- ​  ​5 ​ TCK  )  (  6  DOT   ​- ​   10  black (miso) ​  )
 +power on goflex.net, serial, buspirate
 +
 +openocd.exe -f board/​dockstar.cfg
 +
 +in telnet 127.0.0.1 4444:
 +init
 +type '​halt'​ - press reset - press enter - release reset
 +
 +(repeat while not see this:
 +target state: halted
 +target halted in ARM state due to debug-request,​ current fashion: Supervisor
 +CPSR: 0x000000d3 pc: 0xffff0000
 +MMU: disabled, D-Cache: disabled, I-Cache: disabled
 +if you not see this - you can try command '​soft_reset_halt'​)
 +
 +dockstar_init
 +
 +(here are two options to choose from)
 +------
 +load_image uboot.mtd0.goflexnet.original.kwb 0x800000
 +(wait ~214 sec)
 +resume 0x800200
 +------
 +or you can erease nand and native write to nand:
 +------
 +nand probe 0
 +nand erase 0 0x0 0xa0000
 +nand write 0 uboot.mtd0.goflexnet.original.kwb 0 oob_softecc_kw
 +(wait ~569 sec)
 +(then poweroff goflexnet & buspirate, wait 5 secs adns poweron goflexnet)
 +------
 +
 +
 +in serial console:
 +Hit any key to stop autoboot: ​ 0
 +nand erase
 +nand write.e 0x800000 0x0 0x80000
 +reset
 +</​code>​
 +
 +buspirate.cfg
 +<​code>​
 +interface buspirate
 +buspirate_port /dev/ttyS15
 +buspirate_speed fast #normal or fast
 +buspirate_vreg 0
 +buspirate_mode open-drain
 +buspirate_pullup 0
 +reset_config srst_only
 +</​code>​
 +
 +dockstar.cfg
 +<​code>​
 +# Marvell SheevaPlug
 +
 +# I'm using a wiggler compatible cable
 +source [find interface/​buspirate.cfg]
 +source [find target/​feroceon.cfg]
 +jtag_khz 500
 +jtag_nsrst_delay 500
 +
 +$_TARGETNAME configure \
 + -work-area-phys 0x100000 \
 + -work-area-size 65536 \
 + -work-area-backup 0
 +
 +# Disabled for the dockstar
 +#arm7_9 dcc_downloads enable
 +
 +# this assumes the hardware default peripherals location before u-Boot moves it
 +set _FLASHNAME $_CHIPNAME.flash
 +nand device $_FLASHNAME orion 0 0xd8000000
 +
 +proc dockstar_init { } {
 +
 + # We need to assert DBGRQ while holding nSRST down.
 + # However DBGACK will be set only when nSRST is released.
 + # Furthermore,​ the JTAG interface doesn'​t respond at all when
 + # the CPU is in the WFI (wait for interrupts) state, so it is
 + # possible that initial tap examination failed. ​ So let's
 + # re-examine the target again here when nSRST is asserted which
 + # should then succeed.
 + jtag_reset 0 1
 + feroceon.cpu arp_examine
 + halt 0
 + jtag_reset 0 0
 + wait_halt
 +
 + arm mcr 15 0 0 1 0 0x00052078
 +
 + mww 0xD0001400 0x43000C30
 + mww 0xD0001404 0x39543000 ​
 + mww 0xD0001408 0x22125451 ​
 + mww 0xD000140C 0x00000833 ​
 + mww 0xD0001410 0x000000CC
 + mww 0xD0001414 0x00000000 ​
 + mww 0xD0001418 0x00000000
 + mww 0xD000141C 0x00000C52 ​
 + mww 0xD0001420 0x00000042 ​
 + mww 0xD0001424 0x0000F17F ​
 + mww 0xD0001428 0x00085520 ​
 + mww 0xD000147c 0x00008552 ​
 +
 + # 1st bank is 128 MB
 + mww 0xD0001504 0x07FFFFF1 ​
 + # 2nd bank of DRAM is not used
 + mww 0xD0001508 0x00000000 ​
 + mww 0xD000150C 0x00000000
 + # Commented the 3 following lines
 + #mww 0xD0001504 0x0FFFFFF1 ​
 + #mww 0xD0001508 0x10000000 ​
 + #mww 0xD000150C 0x0FFFFFF5 ​
 + mww 0xD0001514 0x00000000
 + mww 0xD000151C 0x00000000
 + mww 0xD0001494 0x003C0000 ​
 + mww 0xD0001498 0x00000000
 + mww 0xD000149C 0x0000F80F ​
 + mww 0xD0001480 0x00000001 ​
 + mww 0xD0020204 0x00000000
 + mww 0xD0020204 0x00000000
 + mww 0xD0020204 0x00000000
 + mww 0xD0020204 0x00000000
 + mww 0xD0020204 0x00000000
 + mww 0xD0020204 0x00000000
 + mww 0xD0020204 0x00000000
 + mww 0xD0020204 0x00000000
 + mww 0xD0020204 0x00000000
 + mww 0xD0020204 0x00000000
 + mww 0xD0020204 0x00000000
 + mww 0xD0020204 0x00000000
 + mww 0xD0020204 0x00000000
 + mww 0xD0020204 0x00000000
 + mww 0xD0020204 0x00000000
 + mww 0xD0020204 0x00000000
 + mww 0xD0020204 0x00000000
 + mww 0xD0020204 0x00000000
 + mww 0xD0020204 0x00000000
 + mww 0xD0020204 0x00000000
 + mww 0xD0020204 0x00000000
 + mww 0xD0020204 0x00000000
 + mww 0xD0020204 0x00000000
 + mww 0xD0020204 0x00000000
 + mww 0xD0020204 0x00000000
 + mww 0xD0020204 0x00000000
 + mww 0xD0020204 0x00000000
 + mww 0xD0020204 0x00000000
 + mww 0xD0020204 0x00000000
 + mww 0xD0020204 0x00000000
 + mww 0xD0020204 0x00000000
 + mww 0xD0020204 0x00000000
 + mww 0xD0020204 0x00000000
 + mww 0xD0020204 0x00000000
 + mww 0xD0020204 0x00000000
 + mww 0xD0020204 0x00000000
 + mww 0xD0020204 0x00000000
 +
 + mww 0xD0010000 0x01111111 ​
 + mww 0xD0010004 0x11113322 ​
 + mww 0xD0010008 0x00001111
 +
 + mww 0xD0010418 0x003E07CF
 + mww 0xD001041C 0x000F0F0F
 + mww 0xD0010470 0x01C7D943
 +
 +}
 +
 +proc sheevaplug_reflash_uboot { } {
 +
 + # reflash the u-Boot binary and reboot into it
 + sheevaplug_init
 + nand probe 0
 + nand erase 0 0x0 0xa0000
 + nand write 0 uboot.bin 0 oob_softecc_kw
 + resume
 +
 +}
 +
 +proc sheevaplug_reflash_uboot_env { } {
 +
 + # reflash the u-Boot environment variables area
 + sheevaplug_init
 + nand probe 0
 + nand erase 0 0xa0000 0x40000
 + nand write 0 uboot-env.bin 0xa0000 oob_softecc_kw
 + resume
 +
 +}
 +
 +proc sheevaplug_load_uboot { } {
 +
 + # load u-Boot into RAM and execute it
 + sheevaplug_init
 + #​load_image uboot.elf
 + #​verify_image uboot.elf
 + load_image u-boot
 + verify_image u-boot
 + resume 0x00600000
 +
 +}
 +
 +proc dockstar_reset_cpu { } {
 +
 +# System and User mode registers
 +#   r0: 00000000 ​      r1: 00000000 ​      r2: 00000000 ​      r3: 00000000
 +#   r4: 00000000 ​      r5: 00000000 ​      r6: 00000000 ​      r7: 00000000
 +#   r8: 00000000 ​      r9: 00000000 ​     r10: 00000000 ​     r11: 00000000
 +# r12: 00000000 ​  ​sp_usr:​ 7dddee86 ​  ​lr_usr:​ dffebe46 ​      pc: ffff0a42
 +# cpsr: 400000f3
 +
 + reg r1 0
 + reg r2 0
 + reg r3 0
 + reg r4 0
 + reg r5 0
 + reg r6 0
 + reg r7 0
 + reg r8 0
 + reg r9 0
 + reg r10 0
 + reg r11 0
 + reg r12 0
 + reg sp_usr 0
 + reg lr_usr 0
 + reg pc 0
 + # Set the CPU in Supervisor mode
 + reg cpsr 0x13
 +
 +# FIQ mode shadow registers
 +#   r8_fiq: fbcfff64 ​  ​r9_fiq:​ d7dfafd6 ​ r10_fiq: 1fff6d2e ​ r11_fiq: 1db65df4
 +# r12_fiq: ff5a6de4 ​  ​sp_fiq:​ 745fe7d5 ​  ​lr_fiq:​ 89f7ae3e spsr_fiq: 00000000
 +
 + reg r8_fiq 0
 + reg r9_fiq 0
 + reg r10_fiq 0
 + reg r11_fiq 0
 + reg r12_fiq 0
 + reg sp_fiq 0
 + reg lr_fiq 0
 + reg spsr_fiq 0
 +
 +#​ Supervisor mode shadow registers
 +#   sp_svc: fffeff84 ​  ​lr_svc:​ ffff0a43 spsr_svc: 00000000
 +
 + reg sp_svc 0
 + reg lr_svc 0
 + reg spsr_svc 0
 +
 +# Abort mode shadow registers
 +#   sp_abt: 51fe66f7 ​  ​lr_abt:​ d7abaef7 spsr_abt: 00000000
 +
 + reg sp_abt 0
 + reg lr_abt 0
 + reg spsr_abt 0
 +
 +# IRQ mode shadow registers
 +#   sp_irq: 7fdb4ed5 ​  ​lr_irq:​ 6d41122e spsr_irq: 00000000
 +
 + reg sp_irq 0
 + reg lr_irq 0
 + reg spsr_irq 0
 +
 +# Undefined instruction mode shadow registers
 +#   sp_und: 75ffef7e ​  ​lr_und:​ d75b6cd1 spsr_und: 00000000
 +
 + reg sp_und 0
 + reg lr_und 0
 + reg spsr_und 0
 +
 +}
 +</​code>​
 +
 +==== original/​default GoFlex.net uBoot environment (printenv/​setenv) ====
 +<​code>​
 +baudrate=115200
 +loads_echo=0
 +rootpath=/​mnt/​ARM_FS/​
 +run_diag=yes
 +console=console=ttyS0,​115200
 +CASset=min
 +MALLOC_len=1
 +ethprime=egiga0
 +bootargs_root=root=/​dev/​mtdblock2 ro
 +ethmtu=1500
 +usb0Mode=host
 +nandEcc=1bit
 +bootargs=console=ttyS0,​115200 root=/​dev/​mtdblock2 ro
 +ethaddr=00:​10:​75:​26:​3D:​9F
 +cesvcid=5RFAJDGYNLPLDUHN4BWUWC3EKJ
 +ceserialno=NA1Y0EG1
 +ceboardver=DISCOVERY:​0.1
 +ethact=egiga0
 +filesize=1b60000
 +fileaddr=1000000
 +netmask=255.255.0.0
 +ipaddr=192.168.1.1
 +serverip=192.168.1.2
 +bootcmd=nand read.e 0x800000 0x100000 0x300000; setenv bootargs $(console) $(bootargs_root);​ bootm 0x800000
 +arcNumber=3089
 +stdin=serial
 +stdout=serial
 +stderr=serial
 +mainlineLinux=no
 +enaMonExt=no
 +enaCpuStream=no
 +enaWrAllo=no
 +pexMode=RC
 +disL2Cache=no
 +setL2CacheWT=yes
 +disL2Prefetch=yes
 +enaICPref=yes
 +enaDCPref=yes
 +sata_dma_mode=yes
 +netbsd_en=no
 +vxworks_en=no
 +bootdelay=3
 +disaMvPnp=no
 +</​code>​
 +
 +==== Arch linux ARM install to GoFlex.net (external HDD, not NAND!) and set uBoot environment (via console cable) ====
 +taked from https://​archlinuxarm.org/​platforms/​armv5/​seagate-goflex-net
 +<​code>​
 +cd /tmp
 +wget http://​os.archlinuxarm.org/​os/​pogoplug/​mke2fs
 +chmod +x mke2fs
 +./mke2fs -j /dev/sda1
 +mkdir alarm
 +mount /dev/sda1 alarm
 +cd alarm
 +wget http://​os.archlinuxarm.org/​os/​pogoplug/​bsdtar
 +chmod +x bsdtar
 +wget http://​os.archlinuxarm.org/​os/​ArchLinuxARM-kirkwood-latest.tar.gz
 +./bsdtar -xpf ArchLinuxARM-kirkwood-latest.tar.gz
 +cd ..
 +umount alarm
 +reboot
 +</​code>​
 +
 +taked from https://​github.com/​archlinuxarm/​u-boot/​wiki/​GoFlex-Net
 +<​code>​
 +setenv baudrate '​115200'​
 +setenv bootcmd ide reset; usb start; setenv letter 9;for type in ide usb; do for disk in 0 1; do if ${type} part ${disk};​then setexpr letter $letter + 1;run load;​fi;​done;​done;'​
 +setenv bootdelay '​1'​
 +setenv bootm 'echo Booting from ${disk} ...; run setargs; bootm ${loadaddr};'​
 +setenv bootz 'echo Booting from ${disk} ...; run setargs; bootz ${loadaddr} - ${fdt_addr};'​
 +setenv console '​ttyS0'​
 +setenv ethact '​egiga0'​
 +setenv fdt_addr '​0x800000'​
 +setenv fdt_file '/​boot/​dtbs/​kirkwood-goflexnet.dtb'​
 +setenv importbootenv 'echo Importing environment (uEnv.txt)...;​ env import -t $loadaddr $filesize'​
 +setenv load 'echo Attempting to boot from ${type} ${disk}:​1...;​if run loadbootenv;​ then run importbootenv;​fi;​echo Checking if uenvcmd is set ...;if test -n $uenvcmd; then echo Running uenvcmd ...;run uenvcmd;​fi;​echo Running default loadzimage ...;if run loadzimage; then run loadfdt;run bootz;​fi;​echo Running default loaduimage ...;if run loaduimage; then run bootm;​fi;'​
 +setenv loadaddr '​0x810000'​
 +setenv loadbootenv 'load ${type} ${disk}:1 ${loadaddr} /​boot/​uEnv.txt'​
 +setenv loadfdt 'load ${type} ${disk}:1 ${fdt_addr} ${fdt_file}'​
 +setenv loaduimage 'load ${type} ${disk}:1 ${loadaddr} ${uimage}'​
 +setenv loadzimage 'load ${type} ${disk}:1 ${loadaddr} ${zimage}'​
 +setenv mtdids '​nand0=orion_nand'​
 +setenv mtdparts '​mtdparts=orion_nand:​1M(u-boot),​-(rootfs)'​
 +setenv setargs '​setenv bootargs console=${console},​${baudrate} ${optargs} root=/​dev/​sd${letter}1 rw rootwait ${mtdparts}'​
 +setenv uimage '/​boot/​uImage'​
 +setenv zimage '/​boot/​zImage'​
 +saveenv
 +reset
 +</​code>​
 +
 +===== Tags =====
 +{{tag>​GigabitEthernet 1NIC 0WNIC no_switch USB 4USB JTAG 128RAM gt32Flash ARM ARMv5 ARM926EJ-S crypto SATA marvell kirkwood}}
toh/seagate/goflexnet.txt · Last modified: 2017/04/29 08:19 by doz.me