User Tools

Site Tools


toh:i2se:duckbill
>>>>> Wiki-merge in process >>>>> wiki.openwrt.org + openwrt.org are going to be merged soon, this wiki therefore being read only. Once pages are transfered to openwrt.org, you can edit them again.

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]
toh:i2se:duckbill [2015/06/10 11:52] (current)
tmomas [Supported Versions] updated to 15.05-rc1 (image available)
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 ​ | - |  15.05-rc1 ​ | - |
 +
 +===== 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}}