This describes how to set up the "HEAD" branch of the Etud/wand code. This code may break at any time, so be warned.

Follow the instructions in MetaNet on getting an IP range. Use the following instructions for compiling and setting up Etud and wand, and use the instructions in MetaNet related to zebra and ospfd, and DNS and other issues.

Repeat: this document only describes how to set up the "HEAD" branch of the Etud/wand code. Its not a complete HOWTO for connecting to the MetaNet.

To check out the codebase:

cvs login

when prompted for a password press enter. Now type:

cvs -z3 co -r HEAD wand

cd wand
make install

Yeah, it is that easy. This should have compiled cleanly. If it hasn't, ask on the meta-admin mailing list, or find someone who knows about this on IRC to ask about why its not working. It's probably a broken CVS commit, so it should be fixed fairly quickly.

Check the config files - they are placed in /usr/local/etc by default.


daemonise true
module "/usr/local/lib/wand/drivers/"
macaddr "00:01:02:03:04:05"
udpport 22222
mtu 1280

The macaddr is IMPORTANT. Make sure you pick one that you know wont conflict with anything else on the metanet. We typically use the MAC of an ethernet card on the machine we run Etud on - eg, eth0. udpport is probably not needed any more, but keep it there. The only other driver you can use is '' instead of '' but I recommend using


udpport 44444
server ""

udpport isn't needed - it defaults to 44444 anyway. you need to get the right server entry in there - get hold of one of the metanet admins for that.


Again, you need a 2.4.x series kernel. We've not tried it under 2.5.x, and we know if wont work under 2.2.

Having netlink_dev and ethertap compiled (modules) into your kernel is still perhaps a good thing to do, however you really want to use the new TUN/TAP support CONFIG_TUN is the option to look for. Again, modules are good.

You might still need /sbin/ip (see iproute(8)?), this usually comes in a package called iproute (eg Debian) or iproute2 depending on your distribution.

The CVS tree contains some debian-style init scripts that will start things up nicely. They are placed in misc/debian/etc/init.d/ . If you are running debian, feel free to copy these to /etc/init.d and use update-rc.d to get debian to run them on startup. I put Etud at level 19, and wand at level 20.

These scripts rely on having an entry in /etc/network/interfaces for your Etud device - typically wan0

noauto wan0
iface wan0 inet static
       address <your 192.168 ip address>

The init scripts then call 'ifup wan0'.

Alternatively, you can ignore the init scripts and run Etud/wand simply, assuming you have good config files as mentioned earlier, by doing
/usr/local/sbin/Etud ifconfig wan0 <192.168 ip address> netmask broadcast /usr/local/sbin/wand

NOTE: the mtu is IMPORTANT if you want zebra/ospfd to work. All OSPFD talkers must have the same MTU. 1280 is the MTU for ipv6, which we are going to play with at some point. As of 7 Dec 1:51 pm, the mtu is being set via the config file so you should check it here.

Error Messages

  • Didn't write 'GETMAC'/etc/init.d/wand: line 73: 9371 Segmentation fault start-stop-daemon --start --quiet --pidfile ${PID_FILE} --exec $DAEMON

Did you try to start wand before starting Etud?

  • Failed to initialise interface. Aborting...

Did you try to start Etud when another Etud was already running?