Benutzer-Werkzeuge

Webseiten-Werkzeuge


contiki:ravenrz_usb_stick_installation

AVR RavenRZ USB-Stick Installation

Um den Raven USB Stick in Verbindung mit Contiki 2.5 zu Nutzen, ist es notwendig eine vollständige Contiki Entwicklungsumgebung zur Verfügung zu haben, (siehe Installation der Contiki Entwicklungsumgebung). Soll der Jackdaw Raven USB Stick als RPL Border Router eingesetzt werden, müssen die Schritte unter Raven USB Stick als RPL Border Router beachtet werden.

Contiki 2.5 Installation

Sind diese Schritte erfolgt, so muss zuerst in das Windows XP Gastsystem gewechselt werden und anschließend von http://sourceforge.net/projects/contiki/files/Contiki/ Contiki 2.5 heruntergeladen werden. Es ist nun sinnvoll den Contiki Sourcecode in das Cygwin Verzeichnis zu entpacken, also beispielsweise unter C:\cygwin\home\Administrator\Contiki-2.5\ um anschließend einfacher mit Cygwin arbeiten zu können. Nun wird Cygwin gestartet und in das Contiki Source Code Verzeichnis gewechselt. Anschließend in das Verzeichnis /examples/ravenusbstick. Durch den Befehl make beginnt die Kompilierung. Ist diese abgeschlossen, so sollte nun im derzeitigen Verzeichnis die Datei ravenusbstick.elf zu sehen sein. Diese Datei wird nun mithilfe des AVR Studios auf den USB Stick geladen.

Zuerst muss jedoch der USB Stick mit dem Programmieradapter verbunden werden. Es wird empfohlen die Verbindung Spannungslos aufzubauen, d.h. den Programmieradapter sowie den USB Stick spannungslos zu verbinden und erst im Anschluß zuerst den Programmieradapter einschalten und danach den USB Stick mit dem USB-Port verbinden. Die korrekte Position des JTAG Anschlusses ist in der folgenden Abbildung zu sehen:

(Bildquelle sics.se)

Im nächsten Schritt das AVR Studio starten und sämtliche PopUps schließen, dann im Menü auf Tools/Program AVR/Auto Connect/ klicken

Im anschließend erscheinenden Fenster den Reiter Main auswählen und als Device den AT90USB1287 auswählen. Mit einem Klick auf Read Signature wird die korrekte Verbindung überprüft und die Microcontroller Signatur eingelesen. Wenn kein Sockel auf dem USB Stick vorhanden ist, so kann es vorkommen, dass an dieser Stelle eine Fehlermeldung auftritt, dies kann durch justieren der Steckverbindung behoben werden.

Wurde die Signatur korrekt eingelesen, so kann die .elf Datei auf den Microcontroller geladen werden, dazu den Reiter Program anklicken und im Feld ELF Production File Format die Datei ravensubstick.elf auswählen und anschließend auf Program klicken.

Einrichtung des USB Sticks unter Instant Contiki (Linux)

Da der USB-Stick nun als Router fungieren soll, muss dies unter Linux zuerst eingestellt werden. Zuerst muss der USB Stick mit Instant Contiki verbunden werden, dazu wie bei der Installation des Programmieradapters über Virtual Machine/Removable Devices/ den Menüpunkt „atmel jackdaw 6lowpan adaptor“ auswählen. Ubuntu erkennt den USB Stick automatisch, eine weitere Treiber Installation ist normalerweise nicht nötig. Zur Überprüfung in einer Konsole:

ifconfig

eingeben und überprüfen ob USB0 als Netzwerkinterface vorhanden ist und ob die Adressen korrekt gesetzt wurden.

Falls die link locale IPv6 Adresse nicht mit der in der obenstehen Abbildung übereinstimmt so kann diese mit:

sudo ip -6 address add fe80::0012:13ff:fe14:1516/64 scope link dev usb0

gesetzt werden. Das SuperUser Passowort ist wie der Benutzername „user“. Nun muss noch die globale IPv6 Adresse zugewiesen werden, dies geschieht durch den Befehl:

sudo ip -6 address add aaaa::1/64 dev usb0

Damit der USB Stick nun Router Advertisments versendet, gibt es die Software radvd, diese muss jedoch zuerst installiert werden, dazu:

sudo apt-get install radvd

Zur Konfiguration muss die Datei radvd.conf unter /etc/radvd.conf erstellt werden.

nano /etc/radvd.conf

folgender Konfigurationsparameter müssen nun gespeichert werden:

interface usb0
{
    AdvSendAdvert on;
    AdvLinkMTU 1280;
    AdvCurHopLimit 128;
    AdvReachableTime 360000;
    MinRtrAdvInterval 100;
    MaxRtrAdvInterval 150;
    AdvDefaultLifetime 200;
    prefix AAAA::/64
    {
        AdvOnLink on;
        AdvAutonomous on;
        AdvPreferredLifetime 4294967295; 
        AdvValidLifetime 4294967295; 
    };
};

Quelle: sics.se

Ist dies geschehen, so muss nur noch das IPv6 Forwarding aktiviert werden:

sudo su
echo 1 > /proc/sys/net/ipv6/conf/all/forwarding

und im Anschluß radvd gestartet werden.

/etc/init.d/radvd restart

Da diese Schritte bei jedem Neuverbinden des USB Sticks notwendig sind, ist es sinnvoll hierfür ein sh-Script zu Nutzen. Beispielsweise mit folgendem Inhalt:

sudo ip -6 address add aaaa::1/64 dev usb0
sudo sysctl -w net.ipv6.conf.all.forwarding=1
sudo /etc/init.d/radvd stop
sudo /etc/init.d/radvd start

Einrichtung des USB Sticks unter Windows

Die folgenden Befehle können dazu benutzt werden den Raven USB-Stick unter Windows einzurichten:

@echo off
 
ipconfig
REM die Ziffer nach der Link-Lokalen IPv6-Adresse ist der Schnittstellenindex!
 
netsh interface ipv6 show interface
 
echo.
echo. 
echo Geben Sie den Schnittstellenindex des Interfaces ein:
set /p Index=
 
ipv6 ifc %Index% advertises forwards
ipv6 adu %Index%/2001:db8::1 
ipv6 rtu 2001:db8::/64 %Index% publish
 
pause
 
netsh interface ipv6 show interface %Index%
 
echo Anzeige des Neighbor Caches:
netsh interface ipv6 show neighbor %Index%
 
pause

Die Befehle sollten in einer .bat Datei gespeichert und ausgeführt werden. Da sich beim Ein- und Ausstecken des USB-Sticks der Schnittstellenindex ändern kann, ist dieser manuell einzugeben um die Konfiguration abzuschließen.

Einrichtung des USB Sticks unter Windows (Statische Adresse)

Die meisten RAVENRZ-Sticks im Labor sind mit deaktivierten RPL-Routing konfiguriert. Dadurch reicht es einen statischen IPv6-Präfix auf dem Interface zu konfigurieren.

Allerdings müssen noch manuelle Einträge im Neighbor-Cache für die Geräte im 6LoWPAN angelegt werden. https://github.com/contiki-os/contiki/wiki/Jackdaw-RNDIS-RPL-border-router

1. Herausfinden des Schnittstellenindex

netsh interface ipv6 show interface 

alternativ lässt sich

route print -6 

verwenden, dort wird im oberen Teil die Schnittstellenliste mit der Netz-Hardware angezeigt.

2. Konfiguration des Interfaces

netsh interface ipv6 add address <Schnittstellenindex> bbbb::1/64

3. Hinzufügen des Neighbor-Cache Eintrags

netsh interface ipv6 add neighbor bbbb::11:22ff:fe33:4455 33-33-ff-33-44-55 interface=nn

4. Optionale Einträge (für Routing, etc.)

netsh interface ipv6 set interface <Schnittstellenindex> advertise=enabled forwarding=enabled
netsh interface ipv6 add route bbbb::/64 <Schnittstellenindex> publish=yes
contiki/ravenrz_usb_stick_installation.txt · Zuletzt geändert: 2017/01/24 18:49 (Externe Bearbeitung)