Benutzer-Werkzeuge

Webseiten-Werkzeuge


contiki:raven_usb_rpl_border_router

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
contiki:raven_usb_rpl_border_router [2013/03/16 08:52] sven_zehlcontiki:raven_usb_rpl_border_router [2018/12/13 03:36] (aktuell) – [> Contiki 3.1] admin
Zeile 1: Zeile 1:
 ====== Der Jackdaw Raven USB Stick als RPL Border Router ====== ====== Der Jackdaw Raven USB Stick als RPL Border Router ======
 +
 +===== > Contiki 3.1 =====
 +
 +Der RPL-Code für den Ravenusb-Stick benutzt immer noch den alten ''sicslowmac_driver''. Wärend die cc2538dk Boards ContikiMAC benutzen.
 +
 +  * https://github.com/contiki-os/contiki/wiki/Radio-duty-cycling#The_ContikiMAC_Radio_Duty_Cycling_Mechanism
 +  * https://github.com/contiki-os/contiki/wiki/Contikimac
 +  * https://github.com/contiki-os/contiki/wiki/Change-mac-or-radio-duty-cycling-protocols 
 +
 +Der alte Treiber kann in ''contiki/platform/avr-ravenusb/contiki-conf.h'' mit ''#if 0'' abgeschaltet werden. \\
 +In Zeile 300 steckt aber noch ein Schreibfehler: ''framer802154'' statt ''framer_802154''
 +<code c>
 +263  /* Network setup */
 +264 #if 0              /* No radio cycling */
 +265 #define NETSTACK_CONF_MAC         nullmac_driver
 +266 #define NETSTACK_CONF_RDC         sicslowmac_driver
 +267 #define NETSTACK_CONF_FRAMER      framer_802154
 +
 +299 #if NETSTACK_CONF_WITH_IPV6
 +300 #define NETSTACK_CONF_FRAMER      framer_802154
 +</code>
 +
 +In ''contiki/platform/avr-ravenusb/Makefile.avr-ravenusb'' muss noch Zeile 70 angepasst werden:
 +
 +<code >
 +MODULES+=core/net/mac core/net/mac/contikimac \
 +</code>
 +
 +Aktiviere IPv6 und entferne ''fakeuip.c'' aus dem Makefile:
 +
 +<code make>
 +all: ravenusbstick
 +
 +#Define CONTIKI_NO_NET=1 for a passthrough ipv6/6lowpan interface using fakeuip.c
 +#Define CONTIKI_WITH_IPV6 = 1 to include the uip6 stack (for rpl, internal webserver)
 +#Do make clean when switching to remove the duplicate library modules
 +#CONTIKI_NO_NET=1
 +CONTIKI_WITH_IPV6=1
 +
 +CONTIKI = ../..
 +
 +MODULES+=core/net/mac/sicslowmac core/net core/net/mac core/net/llsec
 +
 +#PROJECT_SOURCEFILES += fakeuip.c
 +
 +include $(CONTIKI)/Makefile.include
 +</code>
 +===== Contiki 3.1 =====
 +
 +Die Fehlermeldungen aus Contiki 3.0 sollten behoben sein. Der Fehler wurde im Mai 2016 im aktuellen
 +Git-Repository gefixed.
 +
 +
 +Standardmäßig ist die Anzahl der Neighbors sowie der Routen jeweils auf 2 begrenzt, diese können jedoch problemlos auf 8-10 erhöht werden. Dazu müssen lediglich innerhalb der Datei ''platform/avr-ravenusb/contiki-conf.h'' die folgenden Änderungen vorgenommen werden:
 +
 +<code c>
 +/* See uip-ds6.h */
 +// #define NBR_TABLE_CONF_MAX_NEIGHBORS     2
 +#define NBR_TABLE_CONF_MAX_NEIGHBORS     4
 +#define UIP_CONF_DS6_DEFRT_NBU   2
 +#define UIP_CONF_DS6_PREFIX_NBU  3
 +//#define UIP_CONF_MAX_ROUTES      2
 +#define UIP_CONF_MAX_ROUTES      8
 +#define UIP_CONF_DS6_ADDR_NBU    3
 +#define UIP_CONF_DS6_MADDR_NBU   0
 +#define UIP_CONF_DS6_AADDR_NBU   0
 +
 +</code>
 +===== Contiki 3.0 =====
 +
 +Wenn man die Einstellungen im Makefile wie für 2.x vorgenommen hat gibt
 +es einige Fehlermeldungen
 +
 +**Compiler-Fehler**: 
 +  ../../platform/avr-ravenusb/./cdc_task.c:608:38: error: 'r' undeclared
 +
 +In Zeile 608 steckt ein Fehler. Die Variable ''r'' muss eigentlich ''route'' heißen:
 +  route = uip_ds6_route_next(route)) { 
 +
 +**Fehler beim Linken:** undefined references
 +
 +Es muss noch ''core/net'' zu den Modulen in ''Makefile.ravenusbstick'' hinzugefügt werden
 +  MODULES+=core/net/mac/sicslowmac core/net core/net/mac core/net/llsec
 +
 +Der IPv6-Prefix ist im Quelltext fest kodiert. Um ihn zu ändern muss der Code in ''platform/avr-ravenusb/contiki-raven-main.c'' angepasst werden:
 +
 +<code c>
 +uip_ip6addr_t ipaddr;
 +uip_ip6addr(&ipaddr, 0x2001, 0xdb8, 0, 0, 0, 0, 0, 0x200);  //!! Aenderung hier!!
 +uip_ds6_addr_add(&ipaddr, 0, ADDR_MANUAL);
 +rpl_set_prefix(dag, &ipaddr, 64);
 +</code>
 +
 +
 +===== Contiki 2.x =====
 +
 +
  
 Vor einiger Zeit sind innerhalb des Contiki Quellcodes einige Änderungen bezüglich RPL und dem Raven USB Stick durchgeführt worden (https://github.com/contiki-os/contiki/wiki/Jackdaw-RNDIS-RPL-border-router), wodurch es nun möglich ist den Raven USB Stick als RPL Border Router zu verwenden. Vor einiger Zeit sind innerhalb des Contiki Quellcodes einige Änderungen bezüglich RPL und dem Raven USB Stick durchgeführt worden (https://github.com/contiki-os/contiki/wiki/Jackdaw-RNDIS-RPL-border-router), wodurch es nun möglich ist den Raven USB Stick als RPL Border Router zu verwenden.
contiki/raven_usb_rpl_border_router.1363423962.txt.gz · Zuletzt geändert: 2017/01/24 18:49 (Externe Bearbeitung)