go home
UserOptions RecentChanges JumpSearch HelpPage
This is the MIPv6 Wiki. See HowDoIEdit for help on editing.

or, an Excruciatingly Detailed Guide to creating a MIPv6 iPAQ mobile node.

Assumptions: 1. You already have an iPAQ with WINCE erased and any Linux bootldr installed. If it still runs WINCE, then please go to ftp://ftp.handhelds.org/pub/linux/dists/compaq/ipaq/stable/install.html and follow carefully along until you get to instruction 17, which congratulates you after installing bootldr-0000-2.14.8 and tells you to go to the familiar instruction page. This page is a great guide for general behaviour while installing stuff, but you should come back here for specific instructions; skip to the "load kernel" step below.]

  1. The iPAQ is powered, in a sleeve, with a network card installed that has contact with the external network. A Lucent-based 802.11b wireless card is best (Compaq WL-110, Lucent, Cabletron/Entrasys, etc.).

  2. You have a console window open via serial connection. The host machine has network connectivity, and has already collected the following files from ftp://lorien.handhelds.org/pub/linux/feeds/demo:

bootldr-0000-2.14.8

zImage-2.4.7-rmk3-np1-devfs-hh2

task-bootstrap-2.4.7-rmk3-np1-devfs-hh2.jffs2

Here we go:

As with the bootldr installation, generally you should see what the familiar installation page describes for the steps 3 and 4 as well.

Let's switch into the "shell-prompt# command-to-run" instruction format for awhile. This is just a run-through of everything used to make a sane, working environment.

# date (in UTC, e.g. 081712412001)

# ipkg update

# ipkg install bash

# bash

bash-2.03# ipkg install vim

bash-2.03# ipkg install handy-utils

bash-2.03# ipkg install mipv6-bits

bash-2.03# vi /etc/ipkg.conf, comment out crl-demo in the package src list

bash-2.03# ipkg install task-familiar-complete (ignore the xfree86-common dependency warnings)

bash-2.03# ipkg install ion

bash-2.03# ipkg install rxvt-aa

bash-2.03# ipkg install xstroke

bash-2.03# ipkg install menu-tiny

bash-2.03# ipkg install gtk-menu

bash-2.03# ipkg install xkbd

bash-2.03# /etc/init.d/x stop

bash-2.03# /etc/init.d/x start

bash-2.03# chmod 644 /etc/pcmcia/network.opts

bash-2.03# vi /etc/pcmcia/network.opts, turn off dhcp and pump, i.e. dhcp="n"

bash-2.03# vi /etc/modules, add in ipv6 and bitsy-uda1341

bash-2.03# ifconfig eth0 down

bash-2.03# modprobe ipv6

bash-2.03# modprobe bitsy-uda1341

If you have a wavelan card, assuming you have encryption off, bash-2.03# iwconfig eth0 essid < home network ap name >

Then bring up the card. If it sees a router, it'll auto-config a global IPv6 address. Afterwards you can set up an IPv4 address so you can talk to others or do nfs mounts. bash-2.03# ifconfig eth0 inet6 up

bash-2.03# ifconfig eth0 < v4 addr >/24 broadcast < bcast addr >

bash-2.03# route add -net default gw < IPv4 gw addr > eth0

bash-2.03# vi /etc/hosts < add ::1 localhost6, a global IPv6 identity, global homeagent IPv6 addr, global cn IPv6 addr >

bash-2.03# vi /etc/sysconfig/network-mip6.conf < set functionality, home address, home agent > don't forget /64 mask at end of these

bash-2.03# /etc/init.d/mobile_ip6 start

Now test:

First you can say:

bash-2.03# mipdiag -i,

and you should see:

Home Agent : 3ffe:1200:4140:12:208:c7ff:febf:3a9f/64 (HA's global addr)

Home Address : 3ffe:1200:4140:12:2e0:63ff:fe81:cc92/64 (MN's global addr)

Care-of Address : 3ffe:1200:4140:12:2e0:63ff:fe81:cc92 (same, 'til you move, then same ll addr with a different global net!)

Do this from an X terminal bash-2.03# wget -O - http://< correspondent node >/noise.mp3 | madplay -

and while this is happening -- it helps to check by watching a ping of the iPAQ from the CN

do this at the console: bash-2.03# ./manual_roam.sh < foreign network ap essid >

and back again to the home network.