[LAB 3] Problema con Actividad previa 1

[LAB 3] Problema con Actividad previa 1

de Fabián Frommel -
Número de respuestas: 5

Buenos días,

Con Martín comenzamos a revisar las actividades previas del laboratiorio 3 y nos trancamos siguiendo el tutorial de la letra (https://github.com/contiki-os/contiki/tree/master/examples/er-rest-example).

Cuando hacemos la parte del README de Cooja HOWTO, al correr la línea:

make TARGET=cooja server-only.csc

nos levanta el simulador pero nos tira los errores que se pueden ver en la imagen y archivo de log adjuntos. Entendemos que el problema se da porque el código no entra en la ROM de la plataforma sky (usada en Cooja).

Cómo podríamos resolver este problema?

Desde ya muchas gracias por la ayuda.

Saludos,

Fabián.


En respuesta a Fabián Frommel

Re: [LAB 3] Problema con Actividad previa 1

de Javier Schandy -

Hola Fabián,

Es correcto, están teniendo un problema de memoria insuficiente para la plataforma SKY. Es decir que el programa ocupa más memoria de la disponible en el nodo.

Como el laboratorio es todo en Hardware, por ahora no vamos a simular. Es decir, hagan la sección que dice "TMOTES HOWTO", cambiando la plataforma sky por zoul.

Si tienen otro problema avisen.

Saludos

En respuesta a Javier Schandy

Re: [LAB 3] Problema con Actividad previa 1

de Jorge Martin Caceres Real -
Estimados,


Estuvimos dándole vuelta al Tutorial y no tuvimos éxito. No logramos acceder al CoAP server desde el copper, primariamente debido a que no podíamos dar con la dirección IPv6 del mote. Porque nunca logramos que nos apareciera 

"Tentative link-local IPv6 address fe80:0000:0000:0000:____:____:____:____"

Pero a partir de la dirección MAC pudimos armar la dirección IPv6. Entendemos que adamás es necesario tener dos motes para poder hacer el seguimiento del tutorial y al momento que pudimos dar con las direcciones IPs ya estábamos trabajando en remoto (cada uno tiene un solo mote consigo).

MAC: 00:12:4b:00:06:0d:b2:25

entonces la IPv6 sería: fe80::0212:4b00:060d:b225 ¿esto es correcto?


De acá nos surgen algunas consultas: ¿es posible trabajar solamente con CoAP server y el copper (por lo menos para ver algo) sin estar en juego el BR? Una de las razones de esta consulta es que no entendemos como es la dinámica del sistema, como están interoperando los diferentes sistemas (CoAP server, BR, copper).

Obviamente algo no esta funcionado bien ya que intento conectarme al copper usando (con el mote cargado con el CoAP server):

coap://[fd00::212:4b00:60d:b225]:5683/

Solamente podemos entrar a la interface y no podemos hacer nada más, no me imagino que puede estar pasando. Pero debemos tener en cuenta que el BR no está, estamos con un mote solo probando.

Disculpas por las vaguedad de las consultas, pero nos resulta bastante complejo plantear preguntas concretas ya que estamos bastantes perdidos.

Muchas gracias!

Saludos,


Martín

En respuesta a Jorge Martin Caceres Real

Re: [LAB 3] Problema con Actividad previa 1

de Javier Schandy -

Martín,

A continuación intentaré responder tus dudas:

1) La dirección link-local está bien si no le seteaste el node-id al nodo. Acordate que si lo hiciste, los últimos dos bytes pasan a ser el node-id. Además, para acceder desde Copper vas a tener que usar el prefijo fd00, como bien pusiste más abajo.

2) No. Sin el Border Router nunca vas a poder establecer una comunicación entre un nodo y el PC. En la clase de IPv6 mencionamos brevemente cómo funcionaba eso:

El BR hace de gateway, y es el encargado de routear los paquetes que vienen de afuera hacia la RSI, y de routear los paquetes que vienen de la RSI hacia afuera. Sin el border router, no podes establecer una comunicación entre un nodo de la RSI, y un dispositivo fuera de ella (tu PC usando el cliente Copper).

Te doy un ejemplo para ver si te puedo aclarar cómo interactúan:

Cuando vos abris Copper, pones la dirección del server CoAp, y le das PING, pasa lo siguiente:

1) Tu computadora genera un mensaje ICMPv6 de PING con destino al server de CoAp.

2) La aplicación tunslip6 que corre cuando ejecutas el comando "make connect router", ve un paquete generado por la PC con destino a un dispositivo con el prefijo "fd00". Como sabe que ese paquete es para la RSI, se lo pasa al BR, quien a su vez lo envía al nodo de destino por la RSI.

3) El server CoAP recibe el paquete y responde al PING. El paquete se routea a través de la RSI hasta llegar al BR, quien se lo pasa a la aplicación tunslip6, y luego se routea al dispositivo que hizo la consulta.

Perdón por lo coloquial de la explicación, pero me parece que lo importante es que entiendas conceptualmente como funciona. Cualquier otra duda consultame.

Saludos,

Javier

En respuesta a Javier Schandy

Re: [LAB 3] Problema con Actividad previa 1

de Mariana Siniscalchi -

Hola,

Teniendo en cuenta la explicación de Javier, ustedes podrían probar el BR solo, sin server, y entonces la parte del ping6 les debería funcionar. Para probar el funcionamiento del server, tienen que usar los dos nodos juntos, el server solo no funciona.

Les recomiendo que hagan la prueba del ping como les decía Javier, con el BR solo para empezar.

Esta bueno que puedan ir trabajando en el laboratorio, principalmente en las cuestiones prácticas. Tengan en cuenta que la clase de teórica de CoAP es este miércoles. Ahí se van a dar las bases de capa de aplicación y van a poder entender cómo funciona.

Saludos,

Mariana