Benutzer-Werkzeuge

Webseiten-Werkzeuge


contiki:netzwerkprogrammierung

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Nächste Überarbeitung
Vorhergehende Überarbeitung
contiki:netzwerkprogrammierung [2016/03/22 16:17]
admin angelegt
contiki:netzwerkprogrammierung [2017/01/24 18:49] (aktuell)
Zeile 1: Zeile 1:
-====== FAQ Netzwerkprogrammierung ======+====== FAQ Netzwerke und -programmierung ======
  
 +===== Keine Verbindung zum Sensorknoten =====
 +
 +==== Link Lokale IPv6-Adressen ====
 +
 +Um mit Link-lokalen IPv6 Adressen zu arbeiten muss immer zwingend die Netzwerkschnittstelle
 +mit angegeben werden über die Nachrichten versendet werden sollen.
 +Bei Linux geschieht dies durch ein nachgestelltes %-Zeichen und den Namen der Netzwerkschnittstelle
 +nach der IP-Adresse:
 +
 +<code>
 + ping6 fe80::206:98ff:fe00:232%tap0
 +</code>
 +==== Fehlerhafte / fehlende Einträge in der Routingtabelle ====
 +
 +<code bash>
 + netstat -nr6 | grep <prefix>
 +</code>
 +
 +Fehlende Einträge können nachgetragen werden mit:
 +
 +<code bash>
 + sudo ip -6 route add aaaa::/64 dev eth0 
 +</code>
 +
 +Falsche Einträge können gelöscht werden: 
 +<code bash>
 + sudo ip -6 route del aaaa::/64 dev eth0
 +</code>
 +
 +=== Mögliche Ursachen: ===
 + 
 +== 1. Ein fehlerhaft konfigurierter RouterAdvertisment Daemon (''radvd''): ==
 +
 +<code bash>
 + ps -ax | grep radvd 
 +  # oder
 + service radvd status
 +</code>
 +
 +Mit diesen Kommandos lässt sich ermitteln, ob der Daemon auf dem System läuft. Die Konfigurationsdatei für den ''radvd'' findet sich in ''/etc/radvd.conf''
 +''radvd'' kann mit ''sudo service radvd start'' gestartet und mit ''sudo service radvd stop'' gestoppt werden.
 +
 +Anschließend das Netzwerkinterface neu starten:
 +<code bash>
 + sudo ifconfig eth0 down && sudo ifconfig eth0 up
 +</code>
 +
 +== 2. Ein dynamisch konfiguriertes Interface (z.B. tap0) hat noch keine IP-Adresse ==
 +
 +Wird Contiki mit dem Target ''minimal-net'' übersetzt und ausgeführt wird ein ''tap''-Interface erzeugt. Dieses hat
 +nur eine link-lokale IPv6-Adresse und damit existiert auch kein Eintrag in der lokalen Routingtabelle. 
 +
 +<code bash>
 + sudo ip -6 addr add aaaa::1/64 dev tap0
 +</code>
 +==== Fehlende Einträge in der Neighbor Tabelle ==== 
 +
 +Dieser Fehler betrifft vor allem Systeme bei denen Contiki als Borderrouter auf einem USB-Stick läuft:\\
 +https://github.com/contiki-os/contiki/wiki/Jackdaw-RNDIS-RPL-border-router
 +
 +Hierbei werden Neighbor Solications und Neighbor Advertisements nicht in das 6LoWPAN weitergeleitet. Es muss also
 +dafür gesorgt werden, dass das System keine NS/NA Nachrichten erzeugt. 
 +Dafür existieren zwei Ansätze:
 +
 +=== 1. NS/NA komplett abschalten ===
 +
 +<code bash>
 + ifconfig usb0 -arp
 +</code>
 +
 +=== 2. Die Neighbor Tabelle mit bekannten Systemen füllen ===
 +<code>
 + ip -6 neigh add 2001:638:812:b88b::200 lladdr 02:12:13:14:15:16 dev usb0
 +</code>
  
 ===== Umgang mit IP-Adressen ===== ===== Umgang mit IP-Adressen =====
contiki/netzwerkprogrammierung.1458663479.txt.gz · Zuletzt geändert: 2017/01/24 18:49 (Externe Bearbeitung)