User Tools

Site Tools


toh:iomega:iconnect

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
toh:iomega:iconnect [2013/02/02 15:10]
toh:iomega:iconnect [2014/06/24 23:55] (current)
diizzy Fix code block and spelling
Line 3: Line 3:
  
 ===== Supported Versions ===== ===== Supported Versions =====
-^ Version/​Model ^ S/N ^ Launch Date ^ OpenWrt Version Supported ^ Model Specific Notes ^ +^ Version/​Model ^ S/N ^ OpenWrt Version Supported ^ Model Specific Notes ^ 
-all | - | trunk,WIP | - | - |+All | - | Attitude Adjustment 12.09| - |
  
  
Line 42: Line 42:
 This may be important when you connect USB storage.\\ This may be important when you connect USB storage.\\
 If many devices are connected at once then they will be mounted according to numeration of port. If many devices are connected at once then they will be mounted according to numeration of port.
 +===== Flash Layout =====
 +
 +^           ​OpenWrt FlashLayout ​          ​^^^^^^
 +^ mtd#     | mtd0      | mtd0         | mtd1            | mtd2      | mtd3      |
 +^ Start    | 0x00000 ​  | 0x080000 ​    ​|0x100000 ​        | 0x0400000 | 0x02400000 |
 +^ End      | 0x80000 ​  | 0x100000 ​    ​|0x400000 ​        | 0x2400000 | 0x20000000 |
 +^ Size     | 0x80000 ​  | 0x20000 ​     |0x300000 ​        | 0x2000000 | 0x17600000 |
 +^ Size MiB | 800KB     | 200KB        |4                | 32        | 473     |
 +^ Name     | U-Boot ​   | U-Boot env   ​|uImage (kernel) ​ | rootfs ​   | data      |
 +^ File system ​ | //none// | //none// | //​none// ​       | JFFS2     ​| ​  |
 +
 +===== Installation of OpenWRT from Trunk =====
 +
 +This tutorial assumes that you are using Windows 7 OS.
 +You will need:\\
 +[[http://​www.chiark.greenend.org.uk/​~sgtatham/​putty/​download.html|PuTTY]]\\
 +[[http://​winscp.net/​|WinSCP]]\\
 +[[http://​tftpd32.jounin.net|tftpd]]\\
 +[[http://​downloads.openwrt.org/​snapshots/​trunk/​kirkwood/​|Files from Trunk]]
 +
 +:!: Correctly if you want to use UBIFS you need to compile your own images. \\
 +Make sure that you **enable** "​Include kernel in root filesystem"​ and "​Include DTB in root filesystem"​ which you can find under "​Target Images"​ in menuconfig.
 +
 +==== 1. Connect Serial Cable ====
 +
 +Using description above connect serial cable to board and establish connection with serial console using PuTTY.
 +
 +==== 2. Connecting LAN ====
 +Connect LAN cable between your computer and iConnect.
 +
 +Set computer IP to 192.168.1.5
 +
 +Go to Start -> Control Panel -> Network and Sharing Center -> Local Area connection -> Properties -> Internet Protocol Version 4(TCP/IPv4)
 +
 +Choose "Use the following IP address"​ and set:
 +<​code>​
 +IP address: 192.168.1.5
 +Subnet mask: 255.255.255.0
 +</​code>​
 +
 +Confirm by clicking OK.
 +
 +==== 3. Tftp server configuration ====
 +Extract zip to c:\tftpd, create folder c:​\tftpd\files.
 +
 +Download from [[http://​downloads.openwrt.org/​snapshots/​trunk/​kirkwood/​|trunk repository]] or final version if available:
 +<​file>​
 +openwrt-kirkwood-uImage
 +openwrt-kirkwood--jffs2-128k.img
 +openwrt-kirkwood-iconnect-u-boot.kwb
 +</​file>​
 +and copy them to c:​\tftpd\files.
 +
 +Run tftpd, click "​Settings"​ button, choose TFTP tab and set "Base Directory"​ to c:​\tftpd\files,​ click OK button.
 +
 +Check if "​Server interface"​ is 192.168.1.5,​ if not choose it from the list.
 +
 +==== 4. Updating U-Boot ====
 +<​html>​
 +<span style="​color:​red;">​!!! This is risky operation which can brick your iConnect. ​ !!!<​br/>​
 +Please first skip to next point and continue with you current U-Boot.<​br/>​
 +If you will be having problems with running OpenWRT then come back here.</​span>​
 +</​html>​\\
 +Even when you brick it, you may use JTAG connector to bring it live.\\
 +
 +=== 4.1 Backup your env settings ===
 +
 +Power up iConnect and watch serial console output. When you notice:
 +
 +<​code>​
 +Hit any key to stop autoboot: ​ 0
 +</​code>​
 +press enter. Then type:
 +<​code>​
 +printenv
 +</​code>​
 +you will see all env variables, copy it and save to text file it will be needed later.
 +
 +=== 4.2 Flashing new U-Boot ===
 +Set tftp server and iConnect IP addresses.
 +<​code>​
 +setenv serverip 192.168.1.5
 +setenv ipaddr 192.168.1.200
 +</​code>​
 +
 +Flash new U-Boot
 +<​code>​
 +mw 0x0800000 0xffff 0x100000 ​
 +tftp 0x0800000 openwrt-kirkwood-iconnect-u-boot.kwb
 +nand erase 0x0 0x100000
 +nand write 0x0800000 0x0 0x100000
 +</​code>​
 +
 +Result should be similar to this:
 +<​code>​
 +iconnect => setenv serverip 192.168.1.5
 +iconnect => setenv ipaddr 192.168.1.200
 +iconnect => mw 0x0800000 0xffff 0x100000
 +iconnect => tftp 0x0800000 openwrt-kirkwood-iconnect-u-boot.kwb
 +Using egiga0 device
 +TFTP from server 192.168.1.5;​ our IP address is 192.168.1.200
 +Filename '​openwrt-kirkwood-iconnect-u-boot.kwb'​.
 +Load address: 0x800000
 +Loading: ############################​
 +done
 +Bytes transferred = 401136 (61ef0 hex)
 +
 +iconnect => nand erase 0x0 0x100000
 +
 +NAND erase: device 0 offset 0x0, size 0x100000
 +Erasing at 0xe0000 -- 100% complete.
 +OK
 +
 +iconnect => nand write 0x0800000 0x0 0x100000
 +
 +NAND write: device 0 offset 0x0, size 0x100000
 + ​1048576 bytes written: OK
 +</​code>​
 +
 +If there were no errors then type reset.
 +<​code>​
 +reset
 +</​code>​
 +
 +If your iConnect does not bring up (blue diode don't blink), something went wrong and it is bricked.
 +Don't be scary there is a way to bring it up, you must use JTAG connector, see article Flashing U-Boot with JTAG.
 +
 +
 +==== 5. Default U-Boot configuration ====
 +
 +To prevent any problems caused by old environment configuration it is best to reset them to default values.
 +
 +Here is a default configuration of first run U-Boot.
 +<​code>​
 +iconnect => printenv
 +baudrate=115200
 +bootargs_root=noinitrd ubi.mtd=2 root=ubi0:​rootfs rootfstype=ubifs
 +bootcmd=setenv bootargs ${console} ${mtdparts} ${bootargs_root};​ ubi part rootfs; ubifsmount rootfs; ubifsload 0x800000 ${kernel}; bootm 0x800000
 +bootdelay=3
 +console=console=ttyS0,​115200
 +ethact=egiga0
 +kernel=/​boot/​uImage
 +mtdids=nand0=orion_nand
 +mtdparts=mtdparts=orion_nand:​0x80000@0x0(uboot),​0x20000@0x80000(uboot_env),​-@0xa0000(rootfs)
 +stderr=serial
 +stdin=serial
 +stdout=serial
 +
 +Environment size: 487/131068 bytes
 +</​code>​
 +
 +There are three ways to do that.
 +
 +=== 5.1 Remove unwanted env (safe way) ===
 +To remove env variables use:
 +<​code>​
 +setenv env_name ''​
 +</​code>​
 +
 +reapeat for each variable to remove.
 +
 +=== 5.2 Reset bootenv (safe) ===
 +<​code>​
 +env default -a
 +saveenv
 +</​code>​
 +
 +=== 5.3 Erase flash where env is stored (little bit risky) ===
 +To force U-Boot to recreate whole env with basic configuration you may erase this part of flash memory. It can be risky if env storage location is changed with future version and you erase part of U-Boot.
 +
 +Execute:
 +<​code>​
 +nand erase 0x80000 0x100000
 +reset
 +</​code>​
 +
 +After reset you will get two errors:
 +<​code>​
 +*** Warning - bad CRC, using default environment
 +Warning: failed to set MAC address
 +</​code>​
 +To fix it you must restore MAC address (search for ethaddr in your backup file) and save env values:
 +<​code>​
 +setenv ethaddr '​00:​D0:##:##:##:##'​
 +saveenv
 +reset
 +</​code>​
 +
 +After restart you shouldn'​t see any errors.
 +
 +==== 6. Flash OpenWRT with fresh U-Boot ====
 +
 +=== 6.1 Setting up environment ===
 +
 +Find in your backup file MAC address, variable ethaddr.
 +
 +Now add MAC, set server IP to 1.5, and iConnect IP to 1.200, save and restart:
 +<​code>​
 +setenv ethaddr '​00:​D0:##:##:##:##'​
 +setenv serverip '​192.168.1.5' ​
 +setenv ipaddr '​192.168.1.200'​
 +saveenv
 +reset
 +</​code>​
 +
 +=== 6.2 Flashing JFFS2 images/​filesystem (not recommended) ===
 +:!: Please refer to section 6.4 if you want to use ubifs (recommended)
 +
 +Set boot parameters:
 +<​code>​
 +setenv machid '​B36'​
 +setenv arcNumber '​2870'​
 +setenv loadaddr '​0x6400000'​
 +setenv console '​console=ttyS0,​115200 panic=20'​
 +setenv bootargs_root '​root=/​dev/​mtdblock2 rootfstype=jffs2'​
 +</​code>​
 +
 +Add scripts which will make flashing easy:
 +<​code>​
 +setenv kernel_name '​openwrt-kirkwood-uImage'​
 +setenv rootfs_name '​openwrt-kirkwood--jffs2-128k.img'​
 +
 +setenv download_kernel 'mw $(loadaddr) 0xffff 0x300000; tftp $(loadaddr) $(kernel_name);'​
 +setenv flash_kernel 'nand erase 0x100000 0x400000; nand write.e $(loadaddr) 0x100000 0x400000;'​
 +
 +setenv download_rootfs 'mw $(loadaddr) 0xffff 0x200000; tftp $(loadaddr) $(rootfs_name);'​
 +setenv flash_rootfs 'nand erase 0x500000 0xfb00000; nand write.e $(loadaddr) 0x500000 0x200000;'​
 +
 +setenv load_openwrt '​setenv bootargs $(console) $(bootargs_root);​ nand read $(loadaddr) 0x100000 0x400000; bootm $(loadaddr)'​
 +setenv bootcmd 'run load_openwrt'​
 +saveenv
 +</​code>​
 +
 +=== 6.3 Flashing images (jffs2) ====
 +Flash images by executing:
 +<​code>​
 +run download_kernel
 +run flash_kernel
 +run download_rootfs
 +run flash_rootfs
 +reset
 +</​code>​
 +
 +Results:
 +<​code>​
 +iconnect => run download_kernel
 +Using egiga0 device
 +TFTP from server 192.168.1.5;​ our IP address is 192.168.1.200
 +Filename '​openwrt-kirkwood-uImage'​.
 +Load address: 0x6400000
 +Loading: #################################################################​
 +         ######################​
 +done
 +Bytes transferred = 1264864 (134ce0 hex)
 +
 +iconnect => run flash_kernel
 +
 +NAND erase: device 0 offset 0x100000, size 0x400000
 +Erasing at 0x4e0000 -- 100% complete.
 +OK
 +
 +NAND write: device 0 offset 0x100000, size 0x400000
 + ​4194304 bytes written: OK
 +
 +connect => run download_rootfs
 +Using egiga0 device
 +TFTP from server 192.168.1.5;​ our IP address is 192.168.1.200
 +Filename '​openwrt-kirkwood--jffs2-128k.img'​.
 +Load address: 0x6400000
 +Loading: #################################################################​
 +         ##################################​
 +done
 +Bytes transferred = 1443840 (160800 hex)
 +
 +iconnect => run flash_rootfs
 +
 +NAND erase: device 0 offset 0x500000, size 0xfb00000
 +Skipping bad block at  0x0b5a0000
 +Skipping bad block at  0x0b5e0000
 +Skipping bad block at  0x0b620000
 +Erasing at 0xffe0000 -- 100% complete.
 +OK
 +
 +NAND write: device 0 offset 0x500000, size 0x200000
 + ​2097152 bytes written: OK
 +
 +reset
 +</​code>​
 +
 +=== 6.4 Flashing images (ubifs) ===
 +It's **important** that you reset u-boot before flashing otherwise it will most likely fail to boot.
 +
 +<​code>​
 +nand erase 0x200000 0x1fe00000
 +ubi part root ; ubi remove rootfs ; ubi create rootfs
 +tftpboot 0x800000 openwrt-kirkwood-iconnect-rootfs.ubifs ; ubi write 0x800000 rootfs ${filesize} ; reset
 +</​code>​
 +
 +=== 6.5 First boot (jffs2) ====
 +This is a bootlog from first start of OpenWRT:
 +<​code>​
 +U-Boot 2012.10 (Feb 12 2013 - 18:24:56) Iomega iConnect
 +
 +SoC:   ​Kirkwood 88F6281_A0
 +DRAM:  256 MiB
 +WARNING: Caches not enabled
 +NAND:  512 MiB
 +In:    serial
 +Out:   ​serial
 +Err:   ​serial
 +Net:   ​egiga0
 +Hit any key to stop autoboot: ​ 0
 +
 +NAND read: device 0 offset 0x100000, size 0x400000
 + ​4194304 bytes read: OK
 +## Booting kernel from Legacy Image at 06400000 ...
 +   Image Name:   ​Linux-3.3.8
 +   Image Type:   ARM Linux Kernel Image (uncompressed)
 +   Data Size:    1264640 Bytes = 1.2 MiB
 +   Load Address: 00008000
 +   Entry Point: ​ 00008000
 +   ​Verifying Checksum ... OK
 +   ​Loading Kernel Image ... OK
 +OK
 +Using machid 0xb36 from environment
 +
 +Starting kernel ...
 +
 +Uncompressing Linux... done, booting the kernel.
 +[    0.000000] Booting Linux on physical CPU 0
 +[    0.000000] Linux version 3.3.8 (openwrt@OpenWRTBuild) (gcc version 4.6.4 20121210 (prerelease) (Linaro GCC 4.6-2012.12) ) #1 Wed Jan 30 08:21:48 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: Iomega iConnect Wireless
 +
 +/* A lot of other lines */
 +
 +[   ​14.512806] NAND device: Manufacturer ID: 0xad, Chip ID: 0xdc (Hynix NAND 512MiB 3,3V 8-bit)
 +[   ​14.521316] Scanning device for bad blocks
 +[   ​14.633823] Bad eraseblock 1453 at 0x00000b5a0000
 +[   ​14.638673] Bad eraseblock 1455 at 0x00000b5e0000
 +[   ​14.643509] Bad eraseblock 1457 at 0x00000b620000
 +[   ​14.768850] Bad eraseblock 3075 at 0x000018060000
 +[   ​14.773689] Bad eraseblock 3077 at 0x0000180a0000
 +[   ​14.854509] Creating 4 MTD partitions on "​orion_nand":​
 +[   ​14.859696] 0x000000000000-0x000000100000 : "​u-boot"​
 +[   ​14.865801] 0x000000100000-0x000000400000 : "​uImage"​
 +[   ​14.871789] 0x000000400000-0x000002400000 : "​rootfs"​
 +[   ​14.877811] 0x000002400000-0x000020000000 : "​data"​
 +
 +/* A lot of other lines */
 +
 +[   ​16.409415] jffs2_scan_eraseblock():​ End of filesystem marker found at 0x260000
 +[   ​16.416814] jffs2_build_filesystem():​ unlocking the mtd device... done.
 +[   ​16.423471] jffs2_build_filesystem():​ erasing all blocks after the end marker... done.
 +[   ​22.954602] 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.
 +[   ​22.974126] VFS: Mounted root (jffs2 filesystem) on device 31:2.
 +[   ​22.980637] Freeing init memory: 124K
 +- preinit -
 +Press the [f] key and hit [enter] to enter failsafe mode
 +- regular preinit -
 +- init -
 +
 +Please press Enter to activate this console. ​
 +
 +[Enter]
 +
 +BusyBox v1.19.4 (2013-02-12 18:25:46 UTC) 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, r35572)
 + ​-----------------------------------------------------
 +  * 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:/#​
 +</​code>​
 +
 +We have working OpenWRT.
 +
 +=== 6.6 First boot (ubifs) ====
 +This is a bootlog from first start of OpenWRT:
 +<​code>​
 +U-Boot 2014.04 (Jun 23 2014 - 12:47:24) Iomega iConnect
 +
 +SoC:   ​Kirkwood 88F6281_A0
 +DRAM:  256 MiB
 +WARNING: Caches not enabled
 +NAND:  512 MiB
 +In:    serial
 +Out:   ​serial
 +Err:   ​serial
 +Net:   ​egiga0
 +Hit any key to stop autoboot: ​ 0
 +UBI: attaching mtd1 to ubi0
 +UBI: physical eraseblock size:   ​131072 bytes (128 KiB)
 +UBI: logical eraseblock size:    129024 bytes
 +UBI: smallest flash I/O unit:    2048
 +UBI: sub-page size:              512
 +UBI: VID header offset: ​         512 (aligned 512)
 +UBI: data offset: ​               2048
 +UBI: attached mtd1 to ubi0
 +UBI: MTD device name:            "​mtd=3"​
 +UBI: MTD device size:            510 MiB
 +UBI: number of good PEBs:        4080
 +UBI: number of bad PEBs:         0
 +UBI: max. allowed volumes: ​      128
 +UBI: wear-leveling threshold: ​   4096
 +UBI: number of internal volumes: 1
 +UBI: number of user volumes: ​    1
 +UBI: available PEBs:             0
 +UBI: total number of reserved PEBs: 4080
 +UBI: number of PEBs reserved for bad PEB handling: 40
 +UBI: max/mean erase counter: 4/1
 +UBIFS: mounted UBI device 0, volume 0, name "​rootfs"​
 +UBIFS: mounted read-only
 +UBIFS: file system size:   ​519321600 bytes (507150 KiB, 495 MiB, 4025 LEBs)
 +UBIFS: journal size:       ​9033728 bytes (8822 KiB, 8 MiB, 71 LEBs)
 +UBIFS: media format: ​      w4/r0 (latest is w4/r0)
 +UBIFS: default compressor: LZO
 +UBIFS: reserved for root:  0 bytes (0 KiB)
 +Loading file '/​boot/​zImage'​ to addr 0x00800000 with size 1535068 (0x00176c5c)...
 +Done
 +Loading file '/​boot/​iconnect.dtb'​ to addr 0x00700000 with size 8674 (0x000021e2)...
 +Done
 +Unmounting UBIFS volume rootfs!
 +Kernel image @ 0x800000 [ 0x000000 - 0x176c58 ]
 +## Flattened Device Tree blob at 00700000
 +   ​Booting using the fdt blob at 0x700000
 +   ​reserving fdt memory region: addr=700000 size=3000
 +   ​Loading Device Tree to 0fb13000, end 0fb18fff ... OK
 +
 +Starting kernel ...
 +
 +Uncompressing Linux... done, booting the kernel.
 +[    0.000000] Booting Linux on physical CPU 0x0
 +[    0.000000] Linux version 3.10.36 (root@devbox) (gcc version 4.8.3 (OpenWrt/​Linaro GCC 4.8-2014.04 r41029) ) #3 Mon Jun 23 15:37:45 CEST 2014
 +[    0.000000] CPU: Feroceon 88FR131 [56251311] revision 1 (ARMv5TE), cr=00053977
 +[    0.000000] CPU: VIVT data cache, VIVT instruction cache
 +[    0.000000] Machine: Marvell Kirkwood (Flattened Device Tree), model: Iomega Iconnect
 +[    0.000000] Memory policy: ECC disabled, Data cache writeback
 +[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 65024
 +[    0.000000] Kernel command line: console=ttyS0,​115200 mtdparts=orion_nand:​0xe0000@0x0(uboot),​0x20000@0xe0000(uboot_env),​0x100000@0x100000(second_stage_uboot),​-@0x200000(root) ubi.mtd=3 root=ubi0:​rootfs rootfstype=ubifs rw
 +[    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: 256MB = 256MB total
 +[    0.000000] Memory: 252296k/​252296k available, 9848k 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 : 0xd0800000 - 0xff000000 ​  ( 744 MB)
 +[    0.000000] ​    ​lowmem ​ : 0xc0000000 - 0xd0000000 ​  ( 256 MB)
 +[    0.000000] ​    ​modules : 0xbf000000 - 0xc0000000 ​  ​( ​ 16 MB)
 +[    0.000000] ​      .text : 0xc0008000 - 0xc03e2d64 ​  (3948 kB)
 +[    0.000000] ​      .init : 0xc03e3000 - 0xc040427c ​  ( 133 kB)
 +[    0.000000] ​      .data : 0xc0406000 - 0xc042a69c ​  ( 146 kB)
 +[    0.000000] ​       .bss : 0xc042a69c - 0xc045676c ​  ( 177 kB)
 +[    0.000000] NR_IRQS:114
 +[    0.000000] sched_clock:​ 32 bits at 200MHz, resolution 5ns, wraps every 21474ms
 +[   ​12.340147] Calibrating delay loop... 990.41 BogoMIPS (lpj=4952064)
 +[   ​12.380122] pid_max: default: 32768 minimum: 301
 +[   ​12.380256] Mount-cache hash table entries: 512
 +[   ​12.382629] CPU: Testing write buffer coherency: ok
 +[   ​12.383014] Setting up static identity map for 0xc0010390 - 0xc00103cc
 +[   ​12.384671] pinctrl core: initialized pinctrl subsystem
 +[   ​12.385733] regulator-dummy:​ no parameters
 +[   ​12.386266] NET: Registered protocol family 16
 +[   ​12.386728] DMA: preallocated 256 KiB pool for atomic coherent allocations
 +[   ​12.389621] Kirkwood: MV88F6281-A0,​ TCLK=200000000.
 +[   ​12.389645] Feroceon L2: Enabling L2
 +[   ​12.389690] Feroceon L2: Cache support initialised.
 +[   ​12.402763] bio: create slab <​bio-0>​ at 0
 +[   ​12.403299] mvebu-pcie pcie-controller.1:​ PCIe0.0: link down
 +[   ​12.403552] mvebu-pcie pcie-controller.1:​ PCI host bridge to bus 0000:00
 +[   ​12.403573] pci_bus 0000:00: root bus resource [io  0x1000-0xfffff]
 +[   ​12.403587] pci_bus 0000:00: root bus resource [mem 0xe0000000-0xe7ffffff]
 +[   ​12.403601] pci_bus 0000:00: root bus resource [bus 00-ff]
 +[   ​12.403912] PCI: bus0: Fast back to back transfers disabled
 +[   ​12.403931] pci 0000:​00:​01.0:​ bridge configuration invalid ([bus 00-00]), reconfiguring
 +[   ​12.404152] PCI: bus1: Fast back to back transfers enabled
 +[   ​12.404214] pci 0000:​00:​01.0:​ PCI bridge to [bus 01]
 +[   ​12.404235] PCI: enabling device 0000:​00:​01.0 (0140 -> 0143)
 +[   ​12.405353] SCSI subsystem initialized
 +[   ​12.406095] usbcore: registered new interface driver usbfs
 +[   ​12.406262] usbcore: registered new interface driver hub
 +[   ​12.406463] usbcore: registered new device driver usb
 +[   ​12.408047] Switching to clocksource orion_clocksource
 +[   ​12.410025] NET: Registered protocol family 2
 +[   ​12.410536] TCP established hash table entries: 2048 (order: 2, 16384 bytes)
 +[   ​12.410603] TCP bind hash table entries: 2048 (order: 1, 8192 bytes)
 +[   ​12.410639] TCP: Hash tables configured (established 2048 bind 2048)
 +[   ​12.410703] TCP: reno registered
 +[   ​12.410717] UDP hash table entries: 256 (order: 0, 4096 bytes)
 +[   ​12.410747] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
 +[   ​12.410946] NET: Registered protocol family 1
 +[   ​12.411198] Unpacking initramfs...
 +[   ​12.411213] Initramfs unpacking failed: junk in compressed archive
 +[   ​12.421530] Freeing initrd memory: 3068K (c4501000 - c4800000)
 +[   ​12.423119] squashfs: version 4.0 (2009/​01/​31) Phillip Lougher
 +[   ​12.423136] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
 +[   ​12.423383] msgmni has been set to 498
 +[   ​12.423790] io scheduler noop registered
 +[   ​12.423802] io scheduler deadline registered (default)
 +[   ​12.424790] kirkwood-pinctrl f1010000.pinctrl:​ registered pinctrl driver
 +[   ​12.506810] Serial: 8250/16550 driver, 2 ports, IRQ sharing disabled
 +[   ​12.508327] f1012000.serial:​ ttyS0 at MMIO 0xf1012000 (irq = 33) is a 16550A
 +[   ​12.934469] console [ttyS0] enabled
 +[   ​12.940258] NAND device: Manufacturer ID: 0xad, Chip ID: 0xdc (Hynix NAND 512MiB 3,3V 8-bit), 512MiB, page size: 2048, OOB size: 64
 +[   ​12.952181] Scanning device for bad blocks
 +[   ​13.262706] 4 cmdlinepart partitions found on MTD device orion_nand
 +[   ​13.269012] Creating 4 MTD partitions on "​orion_nand":​
 +[   ​13.274175] 0x000000000000-0x0000000e0000 : "​uboot"​
 +[   ​13.280185] 0x0000000e0000-0x000000100000 : "​uboot_env"​
 +[   ​13.286452] 0x000000100000-0x000000200000 : "​second_stage_uboot"​
 +[   ​13.293478] 0x000000200000-0x000020000000 : "​root"​
 +[   ​13.300542] libphy: orion_mdio_bus:​ probed
 +[   ​13.305424] mv643xx_eth:​ MV-643xx 10/100/1000 ethernet driver version 1.4
 +[   ​13.313588] mv643xx_eth_port mv643xx_eth_port.0 eth0: port 0 with MAC address 00:​d0:​b8:​0d:​99:​d3
 +[   ​13.322527] ehci_hcd: USB 2.0 '​Enhanced'​ Host Controller (EHCI) Driver
 +[   ​13.329106] ehci-pci: EHCI PCI platform driver
 +[   ​13.333733] ehci-platform:​ EHCI generic platform driver
 +[   ​13.339198] ehci-orion: EHCI orion driver
 +[   ​13.343328] orion-ehci f1050000.ehci:​ EHCI Host Controller
 +[   ​13.348887] orion-ehci f1050000.ehci:​ new USB bus registered, assigned bus number 1
 +[   ​13.356689] orion-ehci f1050000.ehci:​ irq 19, io mem 0xf1050000
 +[   ​13.378089] orion-ehci f1050000.ehci:​ USB 2.0 started, EHCI 1.00
 +[   ​13.384810] hub 1-0:1.0: USB hub found
 +[   ​13.388622] hub 1-0:1.0: 1 port detected
 +[   ​13.393209] usbcore: registered new interface driver usb-storage
 +[   ​13.399747] cpuidle: using governor ladder
 +[   ​13.404642] leds-gpio gpio-leds.2:​ pins are not configured from the driver
 +[   ​13.413818] TCP: cubic registered
 +[   ​13.417153] NET: Registered protocol family 17
 +[   ​13.421902] 8021q: 802.1Q VLAN Support v1.8
 +[   ​13.427255] regulator-dummy:​ disabling
 +[   ​13.431526] UBI: attaching mtd3 to ubi0
 +[   ​13.708290] usb 1-1: new high-speed USB device number 2 using orion-ehci
 +[   ​13.898279] hub 1-1:1.0: USB hub found
 +[   ​13.902335] hub 1-1:1.0: 4 ports detected
 +[   ​14.246031] UBI: scanning is finished
 +[   ​14.264588] UBI warning: print_rsvd_warning:​ cannot reserve enough PEBs for bad PEB handling, reserved 40, need 80
 +[   ​14.276801] UBI: attached mtd3 (name "​root",​ size 510 MiB) to ubi0
 +[   ​14.283046] UBI: PEB size: 131072 bytes (128 KiB), LEB size: 129024 bytes
 +[   ​14.289880] UBI: min./max. I/O unit sizes: 2048/2048, sub-page size 512
 +[   ​14.296520] UBI: VID header offset: 512 (aligned 512), data offset: 2048
 +[   ​14.303263] UBI: good PEBs: 4080, bad PEBs: 0, corrupted PEBs: 0
 +[   ​14.309314] UBI: user volume: 1, internal volumes: 1, max. volumes count: 128
 +[   ​14.316481] UBI: max/mean erase counter: 4/1, WL threshold: 4096, image sequence number: 0
 +[   ​14.324805] UBI: available PEBs: 0, total reserved PEBs: 4080, PEBs reserved for bad PEB handling: 40
 +[   ​14.334085] drivers/​rtc/​hctosys.c:​ unable to open rtc device (rtc0)
 +[   ​14.341108] UBI: background thread "​ubi_bgt0d"​ started, PID 748
 +[   ​14.377820] UBIFS: background thread "​ubifs_bgt0_0"​ started, PID 750
 +[   ​14.410442] UBIFS: start fixing up free space
 +[   ​17.118001] UBIFS: free space fixup complete
 +[   ​17.179311] UBIFS: mounted UBI device 0, volume 0, name "​rootfs"​
 +[   ​17.185355] UBIFS: LEB size: 129024 bytes (126 KiB), min./max. I/O unit sizes: 2048 bytes/2048 bytes
 +[   ​17.194560] UBIFS: FS size: 519321600 bytes (495 MiB, 4025 LEBs), journal size 9033728 bytes (8 MiB, 71 LEBs)
 +[   ​17.204531] UBIFS: reserved for root: 0 bytes (0 KiB)
 +[   ​17.209622] UBIFS: media format: w4/r0 (latest is w4/r0), UUID 776A9DD4-F13A-4884-ACFA-A71ECCBAAC6E,​ small LPT model
 +[   ​17.269677] VFS: Mounted root (ubifs filesystem) on device 0:10.
 +[   ​17.276181] Freeing unused kernel memory: 132K (c03e3000 - c0404000)
 +procd: Console is alive
 +[   ​17.737666] Button Hotplug driver version 0.4.1
 +procd: - preinit -
 +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
 +mounting /dev/root
 +procd: - early -
 +procd: - ubus -
 +procd: - init -
 +Please press Enter to activate this console.
 +[   ​25.216079] NET: Registered protocol family 10
 +[   ​25.266254] RPC: Registered named UNIX socket transport module.
 +[   ​25.272250] RPC: Registered udp transport module.
 +[   ​25.276978] RPC: Registered tcp transport module.
 +[   ​25.281719] RPC: Registered tcp NFSv4.1 backchannel transport module.
 +[   ​25.361168] tun: Universal TUN/TAP device driver, 1.6
 +[   ​25.366246] tun: (C) 1999-2004 Max Krasnyansky <​maxk@qualcomm.com>​
 +[   ​25.434358] Installing knfsd (copyright (C) 1996 okir@monad.swb.de).
 +[   ​25.456325] nf_conntrack version 0.5.0 (3992 buckets, 15968 max)
 +[   ​25.468764] ip6_tables: (C) 2000-2006 Netfilter Core Team
 +[   ​25.504973] hidraw: raw HID events driver (C) Jiri Kosina
 +[   ​25.516603] ip_tables: (C) 2000-2006 Netfilter Core Team
 +[   ​25.540339] rtc-mv f1010300.rtc:​ rtc core: registered f1010300.rtc as rtc0
 +[   ​25.558819] usbcore: registered new interface driver usbhid
 +[   ​25.564424] usbhid: USB HID core driver
 +[   ​25.580701] xt_time: kernel timezone is -0000
 +[   ​28.151391] IPv6: ADDRCONF(NETDEV_UP):​ eth0: link is not ready
 +procd: - init complete -
 +[   ​30.401641] mv643xx_eth_port mv643xx_eth_port.0 eth0: link up, 1000 Mb/s, full duplex, flow control disabled
 +[   ​30.411873] IPv6: ADDRCONF(NETDEV_CHANGE):​ eth0: link becomes ready
 +
 +
 +
 +BusyBox v1.22.1 (2014-06-23 01:37:36 CEST) 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, r41029)
 + ​-----------------------------------------------------
 +  * 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:/#​
 +</​code>​
 +
 +==== 7. Accessing iConnect with SSH ====
 +To activate SSH you must first login with telnet.
 +
 +In PuTTY set:
 +<​code>​
 +IP: 192.168.1.1
 +Port: 23
 +Connection type: Telnet
 +</​code>​
 +
 +when logged in type:
 +<​code>​
 +passwd root
 +
 +Changing password for root
 +New password:
 +Retype password:
 +Password for root changed by root
 +</​code>​
 +
 +Telnet access will be disabled, SsH will be enabled.
 +
 +==== 8. Setting up Internet access ====
 +By default in OpenWRT network address is set to static 192.168.1.1 which may cause conflicts if you have router with the same address. We can change it.
 +
 +Using WinSCP (or vi) open file /​etc/​config/​network
 +
 +If you want to keep it static just change ipaddr value.
 +
 +If you want to use DHCP in local network set it to:
 +<​code>​
 +config interface '​lan'​
 +        option ifname '​eth0'​
 +        option proto '​dhcp'​
 +</​code>​
 +
 +If you want to use Internet connection from your provider change it to:
 +<​code>​
 +config interface '​wan'​
 +        option ifname '​eth0'​
 +        option proto '​dhcp'​
 +        #option macaddr '​00:​30:##:##:##:##'​ #Optional
 +</​code>​
 +
 +WAN or LAN names make different from firewall point of view.
 +
 +Save it and reset iConnect.
 +
 +More about network configuration:​ [[http://​wiki.openwrt.org/​doc/​uci/​network|Network Wiki]]
 +
 +==== 9. Setting up the Wireless Adapter access ====
 +
 +To install the RT3090 driver you need to install the kmod-rt2800-pci package:
 +
 +<​code>​
 +opkg update
 +opkg install kmod-rt2800-pci
 +opkg install iw
 +</​code>​
 +
 +Then you should see the options to enable the wireless adapter in luci.
 +
 +===== Flashing U-Boot with JTAG (unbricking bootloader) =====
 +
 +==== 1. Introduction ====
 +This tutorial will show how to flash U-Boot on Iomega iConnect using JTAG.\\
 +It is based on my own experience as I broke U-Boot by improper flashing using serial cable and tftp server.\\
 +\\
 +You might found already one tutorial here http://​hardsoftmix.blogspot.com/​2011/​07/​jtag-on-iconnect.html,​ it is written for OpenOCD 0.40
 + and works fine if you will use this version and your JTAG interface is working with it like [[http://​www.amontec.com/​jtagkey-tiny.shtml|Amontec JTAGkey-Tiny]].\\
 +\\
 +Since I bought my own JTAG interface [[http://​www.distortec.com/​jtag-lock-pick-tiny-2|JTAG-lock-pick Tiny 2]], which support is included since OpenOCD 0.61 and this version has some
 +changes in command names which makes it incompatible with old scripts, I decided to write my own tutorial. Additionally I will use
 +OpenOCD on Windows.
 +
 +==== 2. Hardware and software used ====
 +
 +Serial Interface based on board PL-2303 which originally was an USB cable for some old Nokia phone.\\
 +\\
 +JTAG interface used:\\
 +- [[http://​www.distortec.com/​jtag-lock-pick-tiny-2|JTAG-lock-pick Tiny 2]] ([[http://​www.freddiechopin.pl/​pl/​download/​category/​5-jtag-lock-pick|manual,​ drivers, eeprom]]) - based on latest high speed version of [[http://​www.ftdichip.com/​Products/​ICs/​FT232H.htm|FT232HL]] chip, works with OpenOCD 0.61 and higher\\
 +- [[http://​www.amontec.com/​jtagkey-tiny.shtml|Amontec JTAGkey-Tiny]] - based on [[http://​www.ftdichip.com/​Products/​ICs/​FT2232D.htm|FT2232L]],​ works with OpenOCD 0.40 and higher\\
 +- [[http://​www.kamami.pl/​index.php?​ukey=product&​productID=68017|ZL30PRG]] (copy of ST-Link v1) - works with OpenOCD 0.61 and higher but only with ST ARMs so it is useless for iConnect (checked)\\
 +- see also [[http://​openocd.sourceforge.net/​doc/​html/​Debug-Adapter-Hardware.html#​Debug-Adapter-Hardware|supported hardware list]] on OpenOCD page\\
 +\\
 +Software: OpenOCD [[http://​openocd.sourceforge.net/​|Linux]] / [[http://​www.freddiechopin.pl/​pl/​download/​category/​4-openocd|Windows]]\\
 +
 +==== 3. Installing JTAG inteface in Windows ====
 +For FTDI chips there are at least four drivers avaliable. You may use:\\
 +\\
 +- FTDI [[http://​www.ftdichip.com/​Drivers/​D2XX.htm|D2XX Direct drivers]]\\
 +- FTDI [[http://​www.ftdichip.com/​Drivers/​VCP.htm|Virtual COM Port (VCP) drivers]]\\
 +- [[http://​libusbx.org/​|WinUSB]] (libusbx.org)\\
 +- [[http://​sourceforge.net/​apps/​trac/​libusb-win32/​|libusb-win32]]\\
 +\\
 +It is quite confusing which one to choose.\\
 +As I read in manual for JTAG-lock-pick Tiny 2 best option is to use WinUSB drivers so I will use that one.\\
 +Amontec JTAGkey-Tiny works with libusb-win32.\\
 +\\
 +Instalation is simple, just connect JTAG to usb wait till system inform you that cannot find a drivers, then install it manually by device manager providing a patch to WinUSB drivers.\\
 +\\
 +In case that you have a problems with installing drivers or want to replace it use [[http://​sourceforge.net/​projects/​libwdi/​files/​zadig/​|Zadig]].\\
 +
 +==== 4. Installing OpenOCD in Windows ====
 +
 +Get latest stable version from [[http://​www.freddiechopin.pl/​pl/​download/​category/​4-openocd|www.freddiechopin.pl]] page, 0.61 is current at this moment (February 2013) and will be used in this article.\\
 +Unzip it to C: and open openocd-0.6.1 folder.\\
 +Download {{:​media:​toh:​iomega:​iconnect:​openocd.config.files.zip|board configuration files}} for OpenOCD:\\
 +- copy iconnect.cfg ​ to openocd\scripts\board\\
 +- copy iconnect_connection.cfg to openocd\bin or \openocd\bin-x64\\
 +
 +I have 64bit Windows 7 and will use bin-x64 since now.\\
 +
 +==== 5. Configuration ====
 +
 +Open openocd_iconnect.cfg find the line:\\
 +<​code>​
 +# Specify JTAG interface configuration file
 +source [find interface/​ftdi/​jtag-lock-pick_tiny_2.cfg]
 +</​code>​
 +browse C:​\openocd-0.6.1\scripts\interface and find a cfg file whch describes yours interface and replace name.\\
 +
 +==== 6. Connecting with OpenOCD to board ====
 +
 +Hold "​Shift"​ button and right click on bin-x64 folder and choose "Open command line here"​.\\
 +\\
 +Run:\\
 +<​code>​
 +openocd-x64-0.6.1.exe -f openocd_iconnect.cfg
 +</​code>​
 +You should see output similar to this:
 +
 +<​code>​
 +C:​\openocd-0.6.1\bin-x64>​openocd-x64-0.6.1.exe -f openocd_iconnect.cfg
 +Open On-Chip Debugger 0.6.1 (2012-10-07-10:​39)
 +Licensed under GNU GPL v2
 +For bug reports, read
 +        http://​openocd.sourceforge.net/​doc/​doxygen/​bugs.html
 +Info : only one transport option; autoselect '​jtag'​
 +trst_and_srst separate srst_gates_jtag trst_push_pull srst_open_drain
 +adapter_nsrst_delay:​ 200
 +jtag_ntrst_delay:​ 200
 +adapter speed: 6000 kHz
 +adapter_nsrst_assert_width:​ 1000
 +adapter_nsrst_delay:​ 200
 +debug_level:​ 1
 +    TargetName ​        ​Type ​      ​Endian TapName ​           State
 +--  ------------------ ---------- ------ ------------------ ------------
 + 0* feroceon.cpu ​      ​feroceon ​  ​little feroceon.cpu ​      ​running
 +target state: halted
 +target halted in ARM state due to debug-request,​ current mode: Supervisor
 +cpsr: 0x000000d3 pc: 0xffff0000
 +MMU: disabled, D-Cache: disabled, I-Cache: disabled
 +background polling: on
 +TAP: feroceon.cpu (enabled)
 +target state: halted
 +target halted in ARM state due to debug-request,​ current mode: Supervisor
 +cpsr: 0x000000d3 pc: 0xffff0000
 +MMU: disabled, D-Cache: disabled, I-Cache: disabled
 +</​code>​
 +
 +in case that you have got an error like this below, try again.
 +<​code>​
 +TARGET: feroceon.cpu - Not halted
 +
 +Runtime Error: openocd_iconnect.cfg:​40:​
 +in procedure '​script'​
 +at file "​embedded:​startup.tcl",​ line 58
 +in procedure '​reset'​ called at file "​openocd_iconnect.cfg",​ line 40
 +</​code>​
 +
 +If still not working go to //​openocd_iconnect.cfg//​ and comment line //reset halt//, uncomment //reset run// and //​soft_reset_halt//​.\\
 +In case of further problems refer to OpenOCD manual section Reset Configuration.
 +
 +==== 7. Connect to OpenOCD telnet interface. ====
 +
 +You may use [[http://​www.chiark.greenend.org.uk/​~sgtatham/​putty/​download.html|PuTTY]] for that.\\
 +\\
 +Configure as follow:
 +<​code>​
 +Host Name: 127.0.0.1
 +Port: 4444
 +Connection type: Telnet
 +</​code>​
 +You may want to save configuration for future usage.\\
 +\\
 +Now click "​Open"​ button, you should see welcome message:\\
 +<​code>​
 +Open On-Chip Debugger
 +>
 +</​code>​
 +
 +==== 8. First method - direct flash U-Boot ====
 +
 +Download U-Boot image openwrt-kirkwood-iconnect-u-boot.kwb from:\\
 +- OpenWRT trunk http://​downloads.openwrt.org/​snapshots/​trunk/​kirkwood/​uboot-kirkwood-iconnect/​\\
 +- or from stable branch http://​downloads.openwrt.org/​attitude_adjustment/​ if already relased.\\
 +\\
 +Save it to C:​\openocd-0.6.1\bin-x64\\
 +\\
 +Go to PuTTY session and execute:\\
 +<​code>​
 +iconnect_reflash_uboot
 +</​code>​
 +
 +If it works you are lucky, unfortunately it does not work for me. I keep getting error:
 +<​code>​
 +nand write 0 openwrt-kirkwood-iconnect-u-boot.kwb 0 oob_softecc_kw
 +timed out while waiting for target halted
 +error executing hosted NAND write
 +Unable to write data to NAND device
 +failed writing file openwrt-kirkwood-iconnect-u-boot.kwb to NAND flash 0 at offset 0x00000000
 +</​code>​
 +So I found second option.
 +
 +==== 9. Second method - booting U-Boot in RAM and flashing image using it. ====
 +
 +Download U-Boot image openwrt-kirkwood-iconnect-u-boot.kwb from:\\
 +- OpenWRT trunk http://​downloads.openwrt.org/​snapshots/​trunk/​kirkwood/​uboot-kirkwood-iconnect/​\\
 +- or from stable branch http://​downloads.openwrt.org/​attitude_adjustment/​ if already relased.\\
 +\\
 +This is alternative to direct flashing which is not working in my case.\\
 +We will run U-Boot in RAM and flash it's image using U-Boot itself and tftp server.\\
 +\\
 +You need:\\
 +- serial cable installed and connected to board serial port\\
 +- download tftpd server ZIP file from here http://​tftpd32.jounin.net/​\\
 +
 +=== 9.1 Prepare network card settings ===
 +
 +Go to Start -> Control Pannel -> Network and Sharing Center -> Local Area connection -> Properties -> Internet Protocol Version 4(TCP/IPv4)
 +
 +Choose "Use the following IP address"​ and set:
 +
 +IP address: 192.168.1.5
 +Sybnet mask: 255.255.255.0
 +
 +Confirm by clicking OK.
 +
 +=== 9.2 Prepare tftpd server ===
 +
 +Extract tftpd zip to //​c:​\tftpd//,​ create folder //​c:​\tftpd\files//​.
 +
 +Copy downloaded //​openwrt-kirkwood-iconnect-u-boot.kwb//​ to //​c:​\tftpd\files//​.
 +
 +Run tftpd, click "​Settings"​ button, choose TFTP tab and set "Base Directory"​ to //​c:​\tftpd\files//,​ click OK button.
 +
 +Check if Server interface is 192.168.1.5,​ if not choose it from the list.
 +
 +=== 9.3 Runing U-Boot from RAM. ===
 +
 +Establish Connection with board as described in point 6 and 7.
 +
 +Using PuTTY connect to your serial cable, put window in visible area and monitor it.
 +
 +In OpenOCD telnet connection (established in point 7) run:
 +<​code>​
 +Open On-Chip Debugger
 +> iconnect_load_uboot_bin
 +</​code>​
 +
 +you should see this:
 +<​code>​
 +target state: halted
 +target halted in ARM state due to debug-request,​ current mode: Supervisor
 +cpsr: 0x000000d3 pc: 0xffff0000
 +MMU: disabled, D-Cache: disabled, I-Cache: disabled
 +use of EmbeddedICE dbgrq instead of breakpoint for target halt disabled
 +400620 bytes written at address 0x00600000
 +downloaded 400620 bytes in 18.702635s (20.918 KiB/s)
 +>
 +</​code>​
 +Then on serial console you will see booting U-Boot:
 +<​code>​
 +U-Boot 2012.10 (Feb 12 2013 - 18:24:56) Iomega iConnect
 +
 +SoC:   ​Kirkwood 88F6281_A0
 +DRAM:  128 MiB
 +WARNING: Caches not enabled
 +NAND:  512 MiB
 +*** Warning - bad CRC, using default environment
 +
 +In:    serial
 +Out:   ​serial
 +Err:   ​serial
 +Net:   ​egiga0
 +Warning: failed to set MAC address
 +
 +Hit any key to stop autoboot: ​ 0 
 +iconnect =>
 +</​code>​
 +Press enter key as soon as you will see "Hit any key to stop autoboot"​.
 +
 +=== 9.4 Configure basic env variables ===
 +
 +We need to set server address and iConnect address to establish communication.
 +
 +In Serial console execute:
 +<​code>​
 +setenv ethaddr '​00:​D0:​01:​01:​01:​01'​
 +setenv serverip 192.168.1.5
 +setenv ipaddr 192.168.1.200
 +</​code>​
 +then:
 +<​code>​
 +mw 0x0800000 0xffff 0x100000 ​
 +nand erase 0x0 0x100000
 +tftp 0x0800000 openwrt-kirkwood-iconnect-u-boot.kwb
 +nand write 0x0800000 0x0 0x100000
 +</​code>​
 +Here is an output which you will see:
 +<​code>​
 +iconnect => setenv ethaddr '​00:​D0:​01:​01:​01:​01'​
 +iconnect => setenv serverip 192.168.1.5
 +iconnect => setenv ipaddr 192.168.1.200
 +iconnect => mw 0x0800000 0xffff 0x100000
 +iconnect => nand erase 0x0 0x100000
 +
 +NAND erase: device 0 offset 0x0, size 0x100000
 +Erasing at 0xe0000 -- 100% complete.
 +OK
 +
 +iconnect => tftp 0x0800000 openwrt-kirkwood-iconnect-u-boot.kwb
 +Using egiga0 device
 +TFTP from server 192.168.1.5;​ our IP address is 192.168.1.200
 +Filename '​openwrt-kirkwood-iconnect-u-boot.kwb'​.
 +Load address: 0x800000
 +Loading: ############################​
 +done
 +Bytes transferred = 401136 (61ef0 hex)
 +
 +iconnect => nand write 0x0800000 0x0 0x100000
 +
 +NAND write: device 0 offset 0x0, size 0x100000
 + ​1048576 bytes written: OK
 +</​code>​
 +Now reset it by executing:
 +<​code>​
 +reset
 +</​code>​
 +After reset the blue LED should start blinking and on serial console you will see U-Boot boot messages.
 +
 +That's all your iConnect is unbricked.
 +
 +==== 10. Post rescue procedure. ====
 +
 +You should set basic env settings by executing:
 +<​code>​
 +setenv ethaddr '​00:​D0:##:##:##:##'​ #Put here your real MAC address
 +setenv serverip 192.168.1.5
 +setenv ipaddr 192.168.1.200
 +saveenv
 +</​code>​
 +For OpenWRT installation instructions see above.
  
toh/iomega/iconnect.1359814217.txt.bz2 · Last modified: 2013/02/02 15:10 (external edit)