Iomega ix2 200 add support - vanaware/openwrt GitHub Wiki

kirkwood: add support for Iomega Storcenter ix2-200

Iomega Storcenter ix2-200 is a dual SATA NAS powered by a Marvell Kirkwood SoC clocked at 1GHz. It has 256MB of RAM and 32MB of flash memory, 3x USB 2.0 and 1x 1Gbit/s NIC

Specification:

  • SoC: Marvell Kirkwood 88F6281
  • CPU/Speed: 1000Mhz
  • Flash-Chip: Hynix NAND
  • Flash size: 32 MiB,erase size:16 KiB,page size:512,OOB size:16
  • RAM: 256MB
  • LAN: 1x 1000 Mbps Ethernet
  • WiFi: none
  • 3x USB 2.0
  • UART: for serial console

Installation instructions - easy steps:

  1. download factory.bin and copy into tftp server
  2. access uboot environment with serial cable and run
    setenv mainlineLinux yes
    setenv arcNumber 1682 
    setenv console 'console=ttyS0,115200n8'
    setenv mtdparts 'mtdparts=orion_nand:0x100000@0x000000(u-boot)ro,0x20000@0xA0000(u-boot environment)ro,0x300000@0x100000(kernel),0x1C00000@0x400000(ubi)'
    setenv bootargs_root 'root='
    setenv bootcmd 'setenv bootargs ${console} ${mtdparts} ${bootargs_root}; nand read.e 0x800000 0x100000 0x300000; bootm 0x00800000'   
    saveenv
    setenv serverip 192.168.1.1
    setenv ipaddr 192.168.1.13
    tftpboot 0x00800000 factory.bin
    nand erase 0x100000 $(filesize)
    nand write 0x00800000 0x100000 $(filesize)
    run bootcmd
    
  3. access openwrt by dhcp ip address assigned by your router (p.ex: 192.168.1.13)

Installation steps nand bad blocks proof:

  1. download initramfs-uImage and copy into usb ext2 partition
    mkfs.ext2 -L ext2 /dev/sdh1
    mount -t ext2 /dev/sdh1 /mnt
    cp initramfs-uImage /mnt/initramfs.bin
    umount /mnt
    
  2. access uboot environment with serial cable and run
    setenv mainlineLinux yes
    setenv arcNumber 1682 
    setenv console 'console=ttyS0,115200n8'
    setenv mtdparts 'mtdparts=orion_nand:0x100000@0x000000(u-boot)ro,0x20000@0xA0000(u-boot environment)ro,0x300000@0x100000(kernel),0x1C00000@0x400000(ubi)'
    setenv bootargs_root 'root='
    setenv bootcmd 'setenv bootargs ${console} ${mtdparts} ${bootargs_root}; nand read.e 0x800000 0x100000 0x300000; bootm 0x00800000'   
    saveenv
    usb reset; ext2load usb 0:1 0x00800000 /initramfs.bin; bootm 0x00800000
    
  3. log into openwrt and sysupgrade to install into flash
    sysupgrade -n /tmp/sysupgrade.bin 
    
  4. access openwrt by dhcp ip address assigned by your router (p.ex: 192.168.1.13)
         __  __                      _ _
        |  \/  | __ _ _ ____   _____| | |
        | |\/| |/ _` | '__\ \ / / _ \ | |
        | |  | | (_| | |   \ V /  __/ | |
        |_|  |_|\__,_|_|    \_/ \___|_|_|
 _   _     ____              _
| | | |   | __ )  ___   ___ | |_
| | | |___|  _ \ / _ \ / _ \| __|
| |_| |___| |_) | (_) | (_) | |_
 \___/    |____/ \___/ \___/ \__|
 ** MARVELL BOARD: RD-88F6281A LE
U-Boot 1.1.4 (Sep  8 2009 - 09:31:54) Marvell version: 3.4.14
Mapower version: 2.0 (32MB) (2009/09/08)
U-Boot code: 00600000 -> 0067FFF0  BSS: -> 006CEE60
Soc: 88F6281 A0 (DDR2)
CPU running @ 1000Mhz L2 running @ 333Mhz
SysClock = 333Mhz , TClock = 200Mhz
DRAM CAS Latency = 5 tRP = 5 tRAS = 18 tRCD=6
DRAM CS[0] base 0x00000000   size 256MB
DRAM Total size 256MB  16bit width
Flash:  0 kB
Addresses 8M - 0M are saved for the U-Boot usage.
Mem malloc Initialization (8M - 7M): Done
NAND:32 MB
CPU : Marvell Feroceon (Rev 1)
Streaming disabled
Write allocate disabled
Module 0 is RGMII
Module 1 is TDM
USB 0: host mode
PEX 0: interface detected no Link.
Net:   egiga0, egiga1 [PRIME]
Fan lookup table initialized.
Current remote temperature: 46
Current fan speed: 0
Hit any key to stop autoboot:  0
Marvell>> setenv bootcmd 'setenv bootargs console=ttyS0,115200n8 root=/dev/sda1; usb start; ext2load usb 0:1 0x00800000 /uImage; bootm 0x00800000'
Marvell>> run bootcmd
(Re)start USB...
USB:   scanning bus for devices... 3 USB Device(s) found
       scanning bus for storage devices... 1 Storage Device(s) found
....
.
...................
.........................
...................................................
......................................................................................................
.......
2169962 bytes read
## Booting image at 00800000 ...
   Image Name:   ARM OpenWrt Linux-4.14.53
   Created:      2018-07-05  14:17:06 UTC
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    2169898 Bytes =  2.1 MB
   Load Address: 00008000
   Entry Point:  00008000
   Verifying Checksum ... OK
OK
Starting kernel ...
[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Linux version 4.14.53 (root@openwrt) (gcc version 7.3.0 (OpenWrt GCC 7.3.0 r7402-0f543883cd)) #0 Thu Jul 5 14:17:06 2018
[    0.000000] CPU: Feroceon 88FR131 [56251311] revision 1 (ARMv5TE), cr=0005397f
[    0.000000] CPU: VIVT data cache, VIVT instruction cache
[    0.000000] OF: fdt: Machine model: Iomega StorCenter ix2-200
[    0.000000] Memory policy: Data cache writeback
[    0.000000] random: get_random_bytes called from start_kernel+0x70/0x424 with crng_init=0
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 65024
[    0.000000] Kernel command line: console=ttyS0,115200n8 root=/dev/sda1
[    0.000000] PID hash table entries: 1024 (order: 0, 4096 bytes)
[    0.000000] Dentry cache hash table entries: 32768 (order: 5, 131072 bytes)
[    0.000000] Inode-cache hash table entries: 16384 (order: 4, 65536 bytes)
[    0.000000] Memory: 252200K/262144K available (4663K kernel code, 165K rwdata, 1216K rodata, 1024K init, 216K bss, 9944K reserved, 0K cma-reserved)
[    0.000000] Virtual kernel memory layout:
[    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
[    0.000000]     fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)
[    0.000000]     vmalloc : 0xd0800000 - 0xff800000   ( 752 MB)
[    0.000000]     lowmem  : 0xc0000000 - 0xd0000000   ( 256 MB)
[    0.000000]     modules : 0xbf000000 - 0xc0000000   (  16 MB)
[    0.000000]       .text : 0xc0008000 - 0xc058dd70   (5656 kB)
[    0.000000]       .init : 0xc0700000 - 0xc0800000   (1024 kB)
[    0.000000]       .data : 0xc0800000 - 0xc08296e0   ( 166 kB)
[    0.000000]        .bss : 0xc08296e0 - 0xc085f74c   ( 217 kB)
[    0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[    0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
[    0.000000] clocksource: orion_clocksource: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 9556302233 ns
[    0.000009] sched_clock: 32 bits at 200MHz, resolution 5ns, wraps every 10737418237ns
[    0.000044] Switching to timer-based delay loop, resolution 5ns
[    0.000132] Calibrating delay loop (skipped), value calculated using timer frequency.. 400.00 BogoMIPS (lpj=2000000)
[    0.000157] pid_max: default: 32768 minimum: 301
[    0.000320] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.000342] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.000901] CPU: Testing write buffer coherency: ok
[    0.001723] Setting up static identity map for 0x100000 - 0x10003c
[    0.002051] mvebu-soc-id: MVEBU SoC ID=0x6281, Rev=0x2
[    0.006327] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.006356] futex hash table entries: 256 (order: -1, 3072 bytes)
[    0.006460] pinctrl core: initialized pinctrl subsystem
[    0.007680] NET: Registered protocol family 16
[    0.008112] DMA: preallocated 256 KiB pool for atomic coherent allocations
[    0.009249] cpuidle: using governor ladder
[    0.009680] Feroceon L2: Enabling L2
[    0.009730] Feroceon L2: Cache support initialised.
[    0.010086] [Firmware Info]: /ocp@f1000000/ethernet-controller@76000/ethernet1-port@0: local-mac-address is not set
[    0.014459] No ATAGs?
[    0.032393] SCSI subsystem initialized
[    0.033170] usbcore: registered new interface driver usbfs
[    0.033240] usbcore: registered new interface driver hub
[    0.033308] usbcore: registered new device driver usb
[    0.035392] clocksource: Switched to clocksource orion_clocksource
[    0.036336] NET: Registered protocol family 2
[    0.037041] TCP established hash table entries: 2048 (order: 1, 8192 bytes)
[    0.037083] TCP bind hash table entries: 2048 (order: 1, 8192 bytes)
[    0.037119] TCP: Hash tables configured (established 2048 bind 2048)
[    0.037214] UDP hash table entries: 256 (order: 0, 4096 bytes)
[    0.037241] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
[    0.037414] NET: Registered protocol family 1
[    0.038615] Crashlog allocated RAM at address 0x3f00000
[    0.040469] workingset: timestamp_bits=30 max_order=16 bucket_order=0
[    0.045700] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.045716] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
[    0.054354] io scheduler noop registered
[    0.054371] io scheduler deadline registered (default)
[    0.056026] kirkwood-pinctrl f1010000.pin-controller: registered pinctrl driver
[    0.084260] Serial: 8250/16550 driver, 16 ports, IRQ sharing enabled
[    0.086833] console [ttyS0] disabled
[    0.086924] f1012000.serial: ttyS0 at MMIO 0xf1012000 (irq = 26, base_baud = 12500000) is a 16550A
[    0.554976] console [ttyS0] enabled
[    0.559832] sata_mv f1080000.sata: slots 32 ports 2
[    0.568752] scsi host0: sata_mv
[    0.572478] scsi host1: sata_mv
[    0.575847] ata1: SATA max UDMA/133 irq 33
[    0.579960] ata2: SATA max UDMA/133 irq 33
[    0.584584] nand: device found, Manufacturer ID: 0xad, Chip ID: 0x75
[    0.591005] nand: Hynix NAND 32MiB 3,3V 8-bit
[    0.595404] nand: 32 MiB, SLC, erase size: 16 KiB, page size: 512, OOB size: 16
[    0.602764] Scanning device for bad blocks
[    0.830496] 4 fixed-partitions partitions found on MTD device orion_nand
[    0.837244] Creating 4 MTD partitions on "orion_nand":
[    0.842412] 0x000000000000-0x000000100000 : "u-boot"
[    0.848103] 0x0000000a0000-0x0000000c0000 : "u-boot environment"
[    0.854726] 0x000000100000-0x000000400000 : "kernel"
[    0.860450] 0x000000400000-0x000002000000 : "ubi"
[    0.867338] libphy: Fixed MDIO Bus: probed
[    0.871741] libphy: orion_mdio_bus: probed
[    0.879509] mv643xx_eth: MV-643xx 10/100/1000 ethernet driver version 1.4
[    0.888384] mv643xx_eth_port mv643xx_eth_port.0 eth0: port 0 with MAC address 00:d0:b8:16:3f:38
[    0.897245] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    0.903801] ehci-pci: EHCI PCI platform driver
[    0.908349] ehci-orion: EHCI orion driver
[    0.912587] orion-ehci f1050000.ehci: EHCI Host Controller
[    0.918160] orion-ehci f1050000.ehci: new USB bus registered, assigned bus number 1
[    0.926035] orion-ehci f1050000.ehci: irq 30, io mem 0xf1050000
[    0.955408] orion-ehci f1050000.ehci: USB 2.0 started, EHCI 1.00
[    0.962097] hub 1-0:1.0: USB hub found
[    0.966136] hub 1-0:1.0: 1 port detected
[    0.970580] usbcore: registered new interface driver usb-storage
[    0.977067] rtc-mv f1010300.rtc: rtc core: registered f1010300.rtc as rtc0
[    0.984058] i2c /dev entries driver
[    0.988870] orion_wdt: Initial timeout 21 sec
[    0.999417] marvell-cesa f1030000.crypto: CESA device successfully registered
[    1.007642] NET: Registered protocol family 10
[    1.014106] Segment Routing with IPv6
[    1.017909] NET: Registered protocol family 17
[    1.022416] bridge: filtering via arp/ip/ip6tables is no longer available by default. Update your scripts to load br_netfilter if you need this.
[    1.035456] 8021q: 802.1Q VLAN Support v1.8
[    1.042561] UBI: auto-attach mtd3
[    1.045949] ubi0: attaching mtd3
[    1.318681] ubi0: scanning is finished
[    1.335374] ubi0: attached mtd3 (name "ubi", size 28 MiB)
[    1.340853] ubi0: PEB size: 16384 bytes (16 KiB), LEB size: 15872 bytes
[    1.347513] ubi0: min./max. I/O unit sizes: 512/512, sub-page size 256
[    1.354068] ubi0: VID header offset: 256 (aligned 256), data offset: 512
[    1.360818] ubi0: good PEBs: 1792, bad PEBs: 0, corrupted PEBs: 0
[    1.366956] ubi0: user volume: 2, internal volumes: 1, max. volumes count: 92
[    1.374126] ubi0: max/mean erase counter: 5/2, WL threshold: 4096, image sequence number: 1553037811
[    1.383319] ubi0: available PEBs: 0, total reserved PEBs: 1792, PEBs reserved for bad PEB handling: 40
[    1.393526] block ubiblock0_0: created from ubi0:0(rootfs)
[    1.399076] ubiblock: device ubiblock0_0 (rootfs) set to be root filesystem
[    1.406319] rtc-mv f1010300.rtc: setting system clock to 2018-07-06 01:06:58 UTC (1530839218)
[    1.415316] usb 1-1: new high-speed USB device number 2 using orion-ehci
[    1.422338] ubi0: background thread "ubi_bgt0d" started, PID 961
[    1.626459] hub 1-1:1.0: USB hub found
[    1.630438] hub 1-1:1.0: 4 ports detected
[    1.855778] random: fast init done
[    1.955404] usb 1-1.1: new high-speed USB device number 3 using orion-ehci
[    2.107278] usb-storage 1-1.1:1.0: USB Mass Storage device detected
[    2.113986] scsi host2: usb-storage 1-1.1:1.0
[    3.126279] scsi 2:0:0:0: Direct-Access     SanDisk  Cruzer Fit       1.00 PQ: 0 ANSI: 6
[    3.136097] sd 2:0:0:0: [sda] 15630336 512-byte logical blocks: (8.00 GB/7.45 GiB)
[    3.144822] sd 2:0:0:0: [sda] Write Protect is off
[    3.150451] sd 2:0:0:0: [sda] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
[    3.164371]  sda: sda1
[    3.169575] sd 2:0:0:0: [sda] Attached SCSI removable disk
[    6.455399] ata1: link is slow to respond, please be patient (ready=0)
[   10.655417] ata1: SATA link up 3.0 Gbps (SStatus 123 SControl F300)
[   10.666240] ata1.00: ATA-9: ST3000DM001-1ER166, CC25, max UDMA/133
[   10.672456] ata1.00: 5860533168 sectors, multi 0: LBA48 NCQ (depth 31/32)
[   10.688230] ata1.00: configured for UDMA/133
[   10.692855] scsi 0:0:0:0: Direct-Access     ATA      ST3000DM001-1ER1 CC25 PQ: 0 ANSI: 5
[   10.702277] sd 0:0:0:0: [sdb] 5860533168 512-byte logical blocks: (3.00 TB/2.73 TiB)
[   10.710103] sd 0:0:0:0: [sdb] 4096-byte physical blocks
[   10.715803] sd 0:0:0:0: [sdb] Write Protect is off
[   10.720760] sd 0:0:0:0: [sdb] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[   10.750199] sd 0:0:0:0: [sdb] Attached SCSI disk
[   16.255399] ata2: link is slow to respond, please be patient (ready=0)
[   20.385411] ata2: SATA link up 3.0 Gbps (SStatus 123 SControl F300)
[   20.396228] ata2.00: ATA-9: ST3000DM001-1ER166, CC25, max UDMA/133
[   20.402441] ata2.00: 5860533168 sectors, multi 0: LBA48 NCQ (depth 31/32)
[   20.418209] ata2.00: configured for UDMA/133
[   20.422830] scsi 1:0:0:0: Direct-Access     ATA      ST3000DM001-1ER1 CC25 PQ: 0 ANSI: 5
[   20.432151] sd 1:0:0:0: [sdc] 5860533168 512-byte logical blocks: (3.00 TB/2.73 TiB)
[   20.439974] sd 1:0:0:0: [sdc] 4096-byte physical blocks
[   20.445678] sd 1:0:0:0: [sdc] Write Protect is off
[   20.450630] sd 1:0:0:0: [sdc] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[   20.480535] sd 1:0:0:0: [sdc] Attached SCSI disk
[   20.489455] EXT4-fs (sda1): mounting ext2 file system using the ext4 subsystem
[   20.505987] EXT4-fs (sda1): mounted filesystem without journal. Opts: (null)
[   20.513122] VFS: Mounted root (ext2 filesystem) readonly on device 8:1.
[   20.523360] Freeing unused kernel memory: 1024K
[   20.661829] init: Console is alive
[   20.665487] init: - watchdog -
[   20.727197] kmodloader: loading kernel modules from /etc/modules-boot.d/*
[   20.744716] ehci-platform: EHCI generic platform driver
[   20.752436] kmodloader: done loading kernel modules from /etc/modules-boot.d/*
[   20.760669] init: - preinit -
[   20.932582] random: jshn: uninitialized urandom read (4 bytes read)
[   20.971953] random: jshn: uninitialized urandom read (4 bytes read)
[   21.007192] random: jshn: uninitialized urandom read (4 bytes read)
[   21.097189] mv643xx_eth_port mv643xx_eth_port.0 eth0: link up, 100 Mb/s, full duplex, flow control disabled
[   21.107026] mv643xx_eth_port mv643xx_eth_port.0 eth0: link down
[   21.114369] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
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
[   22.886611] mv643xx_eth_port mv643xx_eth_port.0 eth0: link up, 100 Mb/s, full duplex, flow control disabled
[   22.896473] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[   24.247853] UBIFS (ubi0:1): background thread "ubifs_bgt0_1" started, PID 1075
[   24.266848] UBIFS (ubi0:1): UBIFS: mounted UBI device 0, volume 1, name "rootfs_data"
[   24.274736] UBIFS (ubi0:1): LEB size: 15872 bytes (15 KiB), min./max. I/O unit sizes: 512 bytes/512 bytes
[   24.284378] UBIFS (ubi0:1): FS size: 9348608 bytes (8 MiB, 589 LEBs), journal size 476160 bytes (0 MiB, 30 LEBs)
[   24.294619] UBIFS (ubi0:1): reserved for root: 441557 bytes (431 KiB)
[   24.301111] UBIFS (ubi0:1): media format: w4/r0 (latest is w5/r0), UUID 6760B0D5-96E7-4A72-89A6-3F3D7CBA600A, small LPT model
[   24.317188] mount_root: switching to ubifs overlay
[   24.360697] urandom-seed: Seeding with /etc/urandom.seed
[   24.410305] procd: - early -
[   24.413316] procd: - watchdog -
[   25.292079] procd: - watchdog -
[   25.295519] procd: - ubus -
[   25.315178] urandom_read: 3 callbacks suppressed
[   25.315185] random: ubusd: uninitialized urandom read (4 bytes read)
[   25.350033] random: ubusd: uninitialized urandom read (4 bytes read)
[   25.356784] random: ubusd: uninitialized urandom read (4 bytes read)
[   25.364220] procd: - init -
Please press Enter to activate this console.
[   25.466901] kmodloader: loading kernel modules from /etc/modules.d/*
[   25.478407] ip6_tables: (C) 2000-2006 Netfilter Core Team
[   25.503439] ip_tables: (C) 2000-2006 Netfilter Core Team
[   25.515051] nf_conntrack version 0.5.0 (4096 buckets, 16384 max)
[   25.559703] xt_time: kernel timezone is -0000
[   25.571653] PPP generic driver version 2.4.2
[   25.577969] NET: Registered protocol family 24
[   25.585364] kmodloader: done loading kernel modules from /etc/modules.d/*
[   28.826754] random: crng init done
[   28.830180] random: 1 urandom warning(s) missed due to ratelimiting
[   29.088431] br-lan: port 1(eth0) entered blocking state
[   29.093732] br-lan: port 1(eth0) entered disabled state
[   29.099276] device eth0 entered promiscuous mode
[   29.176345] IPv6: ADDRCONF(NETDEV_UP): br-lan: link is not ready
[   30.737398] mv643xx_eth_port mv643xx_eth_port.0 eth0: link up, 100 Mb/s, full duplex, flow control disabled
[   30.747267] br-lan: port 1(eth0) entered blocking state
[   30.752523] br-lan: port 1(eth0) entered forwarding state
[   30.759389] IPv6: ADDRCONF(NETDEV_CHANGE): br-lan: link becomes ready