User Tools

Site Tools


toh:i2se:duckbill

Differences

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

Link to this comparison view

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}}
  
toh/i2se/duckbill.txt · Last modified: 2013/10/27 19:44 (external edit)