Differences

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

toh:i2se:duckbill [2013/10/27 19:44] (current)
Line 1: Line 1:
 +====== I2SE Duckbill ======
 +
 +Tiny USB pen drive like device which can be used as controller for Home Automation
 +and/or as developer board. Vendor offers versions with several RF add-ons, e.g. WM-Bus or Z-Wave.
 +
 +
 +===== Supported Versions =====
 +^ Version/Model ^ Launch Date ^ S/N ^ OpenWrt Version Supported ^ Model Specific Notes ^
 +| v1  |  2013-10  | - |  trunk  | - |
 +
 +===== Hardware Highlights =====
 +^ SoC ^ Ram ^ Flash ^ Network ^ USB ^ Serial ^ JTag ^
 +| Freescale i.MX283 @ 454 MHz | 128 MiB | - (SD card) | 1 x 10/100 Mbit | Yes | Yes | ? |
 +
 +Manufacturer's site: [[http://www.i2se.com/homeautomation.html]]
 +
 +===== Installation =====
 +
 +At time of writing not all patches are merged into OpenWrt's mainline yet. So the following
 +scripts still use some external references.
 +
 +First, compile U-Boot and OpenWrt. You can use the following script:
 +<code>
 +#!/bin/bash
 +#
 +# This script downloads OpenWRT MXS target and U-Boot and compiles for
 +# I2SE' Duckbill device.
 +#
 +
 +# clone repository and checkout mxs branch
 +git clone git@github.com:mhei/openwrt.git openwrt.git
 +( cd openwrt.git; git checkout -b mxs origin/mxs )
 +
 +# create a default config for I2SE's Duckbill device
 +cat <<EOF > openwrt.git/.config
 +CONFIG_TARGET_mxs=y
 +CONFIG_TARGET_mxs_duckbill=y
 +EOF
 +
 +make -C openwrt.git defconfig
 +
 +# compile all
 +make -C openwrt.git -j8
 +
 +# clone u-boot repository and checkout duckbill branch
 +git clone git@github.com:mhei/u-boot.git u-boot.git
 +( cd u-boot.git; git checkout -b duckbill origin/duckbill )
 +
 +# tweak environment for u-boot cross-compiling by using OpenWRT's toolchain
 +TS_PATH="$(pwd)/openwrt.git/staging_dir/toolchain-arm_v5te_gcc-4.6-linaro_uClibc-0.9.33.2_eabi/bin"
 +export CROSS_COMPILE="arm-openwrt-linux-"
 +export PATH="$TS_PATH:$PATH"
 +
 +make -C u-boot.git duckbill_config
 +make -C u-boot.git -j8 u-boot.sb
 +
 +u-boot.git/tools/mxsboot sd u-boot.git/u-boot.sb u-boot.git/bootpart
 +</code>
 +
 +After this, you could use the following script for preparing a SD card with the OpenWrt's
 +default SD card layout.
 +
 +<code>
 +#!/bin/bash
 +#
 +# This script installs OpenWRT on a SD card for a I2SE Duckbill device.
 +#
 +# Attention: this script destroys all data on the device!
 +# Use at your own risk.
 +#
 +SDCARD=/dev/sdd
 +
 +#
 +# Attention: the following deletes all partitions from the SD card
 +# and re-partition the SD card into 3 primary partitions:
 +# Partition 1: boot partition for U-Boot
 +# Partition 2: OpenWRT system 1
 +# Partition 3: OpenWRT system 2
 +#
 +fdisk "$SDCARD" <<EOF
 +o
 +n
 +p
 +1
 +2048
 ++1M
 +n
 +p
 +2
 +4096
 ++48M
 +n
 +p
 +3
 +102400
 ++48M
 +t
 +1
 +53
 +p
 +w
 +EOF
 +
 +# write boot partition
 +dd if=u-boot.git/bootpart of=${SDCARD}1 conv=fsync
 +
 +# write image 1
 +dd if=openwrt.git/bin/mxs/openwrt-mxs-root.ext4 of=${SDCARD}2 conv=fsync
 +
 +# write image 2
 +dd if=openwrt.git/bin/mxs/openwrt-mxs-root.ext4 of=${SDCARD}3 conv=fsync
 +</code>
 +
 +==== SD card layout ====
 +
 +  - Partition 1: boot partition for U-Boot
 +  - Partition 2: OpenWRT system 1
 +  - Partition 3: OpenWRT system 2
 +
 +==== Upgrading OpenWrt ====
 +
 +Not yet supported. However, the SD card layout is prepared for "safe-upgrade". That means that
 +you can write the update to a second partition, leaving the currently running system alone,
 +and then switch over to the new system by setting a flag in the bootloader.
 +See next chapter for details.
 +
 +=== Terminal Upgrade Process ===
 +
 +  * Login as root via SSH on 192.168.1.1
 +  * Determine whether you run system 1 or 2 at the moment: if "cat /proc/cmdline" contains "root=/dev/mmcblk0p2" then you are running system 1 and have to write the new firmware into system 2 (/dev/mmcblk0p3). Use /dev/mmcblk0p2    when you are running the system 1 at the moment.
 +  * Use the following commands to write the partiton image:
 +
 +<code>
 +cd /tmp/
 +wget http://downloads.openwrt.org/snapshots/trunk/mxs/openwrt-mxs-root.ext4
 +dd if=openwrt-mxs-root.ext4 of=/dev/mmcblk0p3 conv=fsync
 +</code>
 +
 +  * Now tell U-Boot to use the other system (adopt according to your current system) and reboot:
 +
 +<code>
 +fw_setenv bootsys 2
 +reboot</code>
 +
 +
 +===== Tags =====
 +
 +{{tag>FastEthernet 1NIC USB 128RAM DevBoard}}

Back to top

toh/i2se/duckbill.txt · Last modified: 2013/10/27 19:44 (external edit)