Cette page appartient aux archives web de l'EPFL et n'est plus tenue à jour.
This page belongs to EPFL's web archive and is no longer updated.

WASAL

Testbed - Status
The WASADmin machine works just fine.

The wasal-node-01 (BC247) is removed from the testbed - Reason: plug assignment was changed.

The wasal-node-04 (BC241) was missing, now it is replaced. However it does not respond to ping. Need to check if the plug assignment was changed or if the digi connect module works fine.

In BC221 (wasal-node-13) the TinyNode was missing (ext. was there untouched) - Do you know who has removed it? I put new TinyNode there. Now all works fine.

In summary we have 26 nodes in the testbed; 25 of them are OK.

Best,
Michal
Posted by Michal Piorkowski at 18:50
Testbed reservation
The WASAdmin machine is up and running.

I'll be using the testbed from May 14th to May 18th.

Please DO NOT use the WASAdmin machine during this period.

The testbed will be available again from Tursday (May 18th) late evening.

Thanks,
Michal
Posted by Michal Piorkowski at 19:34
Setting-up lca2-s1-pc4 from scratch
Since lca2-s1-pc4 crashed a few days ago, we had to reinstall everything.

Michal installed Ubuntu, but we still need to configure all the other applications
(tinyos, wasadmin, etc) needed.

In this article, I'm going to try to establish (finally) a step-by-step guide for
setting up a working environment for WASAL under ubuntu

0. Initial conditions
- Freshly installed Ubuntu distribution (Breezy Badger)
- Access to a bash terminal with root privileges


1. Add package repositories :
Edit /etc/apt/sources.list to include the following lines :

deb ftp://sunsite.cnlab-switch.ch/mirror/ubuntu breezy main restricted universe multiverse
deb-src ftp://sunsite.cnlab-switch.ch/mirror/ubuntu breezy main restricted universe multiverse

Then, run :

# apt-get update
(This should take approximately one minute)


2. Install make :
# apt-get install make

3. Install Blackdown java sdk
# apt-get install j2sdk1.4

4. Install a cvs client :
# apt-get install cvs

5. Download latest tinyOS snapshot in /opt
# touch ~/.cvspass
# cvs -d:pserver:anonymous@tinyos.cvs.sourceforge.net:/cvsroot/tinyos login
# cvs -z3 -d:pserver:anonymous@tinyos.cvs.sourceforge.net:/cvsroot/tinyos co -P tinyos-1.x

6. Install necessary AVR compiling tools
# apt-get install binutils-avr
# apt-get install gcc-avr

7. Install C compiler (gcc)
# apt-get install gcc
Will install gcc-4.0
# apt-get install linux-kernel-headers
# apt-get install g++
# apt-get install libc6-dev

8. Download nesc in /usr/src and build :
# wget http://switch.dl.sourceforge.net/sourceforge/nescc/nesc-1.2.4.tar.gz
# tar xzvf nesc-1.2.4.tar.gz
# cd nesc-1.2.4
# ./configure
# make
# make install



9. Install java Comm API
# cd /usr/src
# cp IBMjavaComm.tgz .
# tar xzf IBMjavaComm.tgz
# cp -r IBMJava2-142/jre/ /usr/lib/j2se/1.4/

10. Build tinyOS :
# cd /opt/tinyos-1.x
# make
# make install

Set up environment variables by adding in /etc/bash.bashrc :

TOSROOT="/opt/tinyos-1.x"
export TOSROOT
TOSDIR="$TOSROOT/tos"
export TOSDIR
CLASSPATH=`$TOSROOT/tools/java/javapath`
export CLASSPATH

Build java tools :

# bash
# cd $TOSROOT/tools/java
# make

11. Build Shockfish related tools (cf $TOSROOT/contrib/shockfish/README)

11a. Install gcc-3.4 (script fails with gcc-4.0)
# apt-get install gcc-3.4

11a. Build mspgcc toolchain :
#cd $TOSROOT/tools/src/mspgcc

Apply attached patch to correct mirrors and SourceForge cvs address in build-mspgcc script :
#patch build-mspgcc mirrosAndCVS.patch

# CC="gcc-3.4" ./build-mspgcc install

Add msp toolchain binaries to the PATH, by adding the following in /etc/bash.bashrc :



11b. Download MSP bootstrap loader
# apt-get install python-serial
# cd /opt/msp430/bin
# wget http://mspgcc.cvs.sourceforge.net/*checkout*/mspgcc/pybsl/bsl.py
# ln -s bsl.py msp430-bsl
# chmod a+x bsl.py

Add msp430 binaries to PATH by adding the following in /etc/bash.bashrc :
export PATH="$PATH:/opt/msp430/bin"


11c. Setup environnment for ShockFish
In /etc/bash.bashrc add :

export TOSMAKE_PATH="$TOSDIR/../contrib/shockfish/tools/make"
export MAKERULES="$TOSDIR/../tools/make/Makerules"

11d. Build Java Toolchain

We need ncc, so :
# apt-get install autoconf automake
# cd $TOSROOT/tools/src/ncc
# ./Bootstrap
# ./configure
# make install


Then, build Shockfish Java Toolchain :

# cd $TOSROOT/contrib/shockfish/tools/java
# make
Add it in the CLASSPATH, before tinyOS's classes, by modifying the line we entered earlier in /etc/bash.bashrc :

CLASSPATH="$TOSROOT/contrib/shockfish/tools/java:`$TOSROOT/tools/java/javapath`"

Build tinyOS Java Toolchain :
# cd $TOSROOT/tools/java
# make

12. Install RealPort drivers

Install kernel source :
# cd /usr/src
# apt-get install linux-source
# tar xjf linux-source-????.tar.bz2
# ln -s linux-source-???? linux-`uname -r`
# cp -v /boot/config-`uname -r` linux-`uname -r`/.config
# make -C linux-`uname -r`
(Feel free to interrupt with Ctrl-C after a few seconds)

Install ncurses (needed) :
# apt-get install libncurses-dev

Install digiConnect ME drivers :
# wget http://ftp1.digi.com/support/driver/40002086_M.tgz
# tar xzf 40002086_M.tgz
# cd dgrp-1.9/
# ./configure
# make all
# make install
# make postinstall
Posted by Aristidis Papaioannou at 17:45
Comments (1)
Tesbed in use
Hi,

I'll be using the testbed from May 5th to May 8th.

Please do not reprogram the nodes during this period.

The testbed will be available again from Tuesday (May 9th) morning on.

Thanks,
Michal
Posted by Michal Piorkowski at 13:19
Serial Forwarder running in WASAL Windows PC
Hi,
From now on, I will need to have a serial forwarder running continuously on WASAL's Windows PC.
However, I do not need to be logged myself on this machine. Let me know if you wish to log in.
Thanks,
Jacques
Posted by Jacques Panchard at 12:00
Comments (1)
Jacques Using testbed April 6 - April 8
Hi,
I'll be using the test bed from April 6th to April 9th.
Please do not reprogram the nodes during this period.
The test-bed will be available again from Monday morning on.
Thanks,
Jacques
Posted by Jacques Panchard at 11:35
WASAL's web site
check the WASAL's web site:

http://wasal.epfl.ch

any comments are welcome.

best,
michal
Posted by Michal Piorkowski at 12:41
Comments (1)
USB to Serial Adapter for Linux
alors la première chose à faire est de déterminer la version du kernel que tu
utilises, en tapant :
uname -r

Après, va dans le répertoire /urs/src et vérifie si tu as un répertoire linux à
l'intérieur (ou, le cas échéant, un répertoire linux-2.xx.xx).

Si tu ne l'as pas spécifié explicitement pendant l'installation, il ne devrait à
priori pas exister. Ainsi, tu devras très probablement télécharger les
kernel-sources en utilisant aptitude, ou ton outil de gestion de paquets debian
préféré ;)

Une autre solution consisterai naturellement à télécharger la toute dernière
version depuis www.kernel.org. Dans tous les cas, je suggèrerais fortement de
passer à une version 2.6.xx au lieu de 2.4...

Bref, une fois ton choix effectué, tu auras un répertoire linux dans /usr/src.
A ce moment, tu y rentres et tapes :

make menuconfig

(Si une erreur concernant ncurses ou libcurses apparait, il faut que tu
installes ces dernières, encore une fois via aptitude, ou apt-get, etc.)

Une fois ncurses (au fait, c'est une libraire "graphique" en ligne de commande)
tu auras un menu de configuration de ton kernel.

A ce stade, il faut choisis les différentes fonctionnalités dont tu veux inclure
le support dans le kernel (eg : type de processeur, adaptateur IDE ou SATA pour
le disque-dur, et surtout USB-SERIAL etc. comme indiqué dans le mail précédent).

Saches que, sauf cas exceptionnel, le matériel ne peut être endommagé par les
choix effectués au niveau du kernel : au pire un composant ne sera pas
accessible, mais c'est pas pour autant qu'il sera abîmé, une simple correction
du kernel réparant le problème. Donc, pas de stress ;-)

Une fois la configuration effectuée, enregistre les changements et quitte le
menu de configuration.

Il faut à présent compiler le kernel :

Pour les versions 2.6, il faut taper :

make && make modules_install

Pour les versions 2.4
make deps && make && make modules && make modules_install

(attention, ça fait très longtemps que je n'ai pas travaillé avec un noyau 2.4,
donc ces commandes peuvent être incorrectes. Je vérifierai rapidement sur le
net ou le README à ta place).

Une fois la compilation terminée (selon les choix, le CPU, etc. ça peut prendre
plusieurs dizaines de minutes), il suffit de copier le noyau dans un répertoire
et d'indiquer au bootloader qu'il faut le charger.

Donc, le noyau est en fait le fichier qui se trouvera par rapport à la racine
dans laquelle tu as tapé "make":

arch/i386/boot/bzImage

que tu peux copier par exemple dans /boot

cp arch/i386/boot/bzImage /boot/monKernel

Finalement, il faut configurer le bootloader. Je ne sais pas si tu utilises
LILO ou Grub, mais personellement ça fait plusieurs années que je n'utilise plus
que le dernier, donc si tu as LILO je ne saurai te dire exactement comment
faire, mais la procédure devrait être assez semblable.

Pour GRUB, il faut modifier le fichier de configuration qui devrait se trouver
sous :

/boot/grub
ou encore
/grub

et qui s'appelle soit menu.lst ou encore grub.conf

Tu reconnaitras dans ce fichier la partie qui sert à charger un noyau linux. Il
te suffira de *copier* (et non remplacer !!!) cette partie et de spécifier comme
fichier celui que l'on vient de créer. J'insiste, ne remplace pas l'ancienne
configuration car sinon tu ne pourras pas utiliser l'ancien kernel si jamais le
nouveau ne fonctionne pas tout de suite (à savoir, 99% du temps).

Après, il suffit de redémarrer et de choisir le nouveau kernel, et prier...

Quand tu recevras un message d'erreur lors du chargement du noyau, il te suffira
d'essayer d'identifier la cause (les messages d'erreur sont assez clairs, mais
sinon il y a toujours Google), de rebooter en utilisant l'ancien kernel (d'où
l'utilité d'avoir conservé l'enregistrement dans le fichier de configuration),
de retourner sous /usr/src/linux, faire make menuconfig, modifier les
configurations (typiquement ajouter le driver manquant), re-compiler, etc...

Et ce jusqu'à ce que ton nouveau kernel boot sans problème.
Posted by Jacques Panchard at 14:17
Installation CSN dur Debian
apt-get install python-imaging
apt-get install python pygresql

Install postgresql (7.4)
apt-get install postgresql

Install matplotlib (0.80 or higher) from
http://anakonda.altervista.org/debian/index.php?dir=packages/

Postgresql configuration
Databases location /var/lib/postgres/data

By default:
/etc/init.d/postgresql start

Postgresql binaries located in:
/usr/lib/postgresql/bin
/var/run/postgresql
Warning

Configuration file
/etc/postgresql/postgresql.conf

Base commands
============
/usr/lib/postgresql/bin/initdb -D /usr/local/pgsql/data
/usr/lib/postgresql/bin/postmaster -D /usr/local/pgsql/data >logfile 2>&1 &
/usr/lib/postgresql/bin/createdb test
/usr/lib/postgresql/bin/psql test
Posted by Jacques Panchard at 10:47
Comments (1)
Debian TinyOS installation
(From http://www.comnets.uni-bremen.de/typo3site/index.php?id=48)

Get nesc version 1.2 or higher from sourceforge
http://sourceforge.net/projects/nescc


Install debian packages for tinyos (from http://thomer.com/tinyos/)
avr-binutils_2.13.2.1-2_i386.deb
avr-gcc_3.3tinyos-2_i386.deb
avr-libc_20030512cvs-2_i386.deb
nesc_1.1.2a-2_i386.deb
tinyos-tools_1.1.0-2_i386.deb

Get TinyOS from CVS

$ cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/tinyos login

$ cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/tinyos co tinyos-1.x

Get tinyos tools for debian
http://thomer.com/tinyos/tinyos-tools_1.1.0-2_i386.deb

Setup Environment by inserting this (adopted to your pathes) into .bashrc and sourcing .bashrc

#tinyos

export TOSROOT="/home/mab/source/work/tinyos-1.x"

export TOSDIR=$TOSROOT/tos

export MAKERULES="$TOSROOT/tools/make/Makerules"



#java

export JDKROOT="/usr/lib/j2sdk1.5-sun"

export JAVAXROOT="/usr/lib/j2sdk1.5-sun"

export CLASSPATH=".:$TOSROOT/tools/java:$JAVAXROOT/jre/lib/ext/comm.jar:$TOSROOT/tools/java/jars/jdom.jar"

export PATH="$PATH:$JDKROOT/bin"



#msp

export MSPGCCROOT="/opt/msp430"

export PATH="$PATH:$MSPGCCROOT/bin"



export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/lib/:$JAVAXROOT/jre/bin/"

export TELOS_REV=B


Setup msp430-gcc

$ cd tinyos-1.x/tools/src/mspgcc

As root:

$ sudo ./build-mspgcc install

(When your standard gcc's version is 4.0, set:

$ export CC=gcc-3.4

and/or

$ export CXX=gcc-3.4)
Setup msp430-bsl

$ cd tinyos-1.x/tools/src/mspgcc-pybsl

as root:

$ ln -s bsl.py /opt/msp430/bin/msp430-bsl


Setup NesC

Get the actual NesC:

prdownloads.sourceforge.net/nescc/nesc-1.1.3.tar.gz

Get a patch for NesC:

bugs.gentoo.org/attachment.cgi

$ tar xvzf nesc-1.1.3.tar.gz

$ cd nesc-1.1.3

$ patch -p1 < nescc-1.1.3-noinline.patch

$ ./configure

$ make

$ make install


Setup java

New:

apt-get install java-package

Download J2SE(TM) Development Kit 5.0 Update 5 - Linux self-extracting file.

fakeroot make-jpkg jdk-1_5_0_05-linux-i586.bin

dpkg -i sun-j2sdk1.5_1.5.0+update05_i386.deb


Setup javax.comm
java.sun.com/products/javacomm/downloads/index.html

$ tar xvzf javax_comm-2_0_3-....zip

$ cp commapi/comm.jar $JDKROOT/jre/lib/ext/

$ /bin/echo Driver=gnu.io.RXTXCommDriver > JDKROOT/jre/lib/javax.comm.properties


Copy libgetenv.so to the right place:
cp tinyos-1.x/tools/java/jni/libgetenv.so /usr/lib/j2sdk1.5-sun/jre/lib/i386/

Install tinyos scripts

$ cd $TOSROOT/tools/scripts

$ make install prefix=/usr/local


Make tinyos java tools

$ cd $TOSROOT/tools/java

$ make

$ make


Verify setup with toscheck

$ cd $TOSROOT/tools/scripts

$ ./toscheck



you can ignore warnings of: avr-*, uisp(??), graphviz/dot


Prepare Deluge (???)

$ cd $TOSROOT/beta/Deluge

$ mkdir -p net/tinyos/deluge

$ cp delugetools/* net/tinyos/deluge


Make TinyOS

$ cd $TOSROOT/

$ TINYOS_NP=BNP make


Make Applications

$ cd apps

$ make telosb

(fails probably for some applications.)


Modifications for net.tinyos.oscope

Modify tools/java/net/tinyos/oscope/Makefile:

MIG = mig -target=telosb -v java -I$(TOSDIR)/lib/CC2420Radio/

Check contrib/shockfish/README to
see if there is anything missing


References

Installation on Debian and RedHat with avr: www.eecs.harvard.edu/~mainland/tinyos/

Installation on RedHat without avr: www.owlnet.rice.edu/~tm/tinyos/telos-linux.pdf

Installation on Redhat with avr: www.tinyos.net/tinyos-1.x/doc/install.html

TinyOS Tutorial: www.tinyos.net/tinyos-1.x/doc/tutorial/

Moteiv support page: www.moteiv.com/support.php
Posted by Jacques Panchard at 16:20
Comments (1)
Page : « Previous 1 2 3 4 Next »