Closed benandrews54 closed 10 years ago
Hi, can you run
sudo apt-get install libncurses5-dev
and try to build again?
Hi,
I tried to run that code but every time I accepted the install the Pi dropped internet connection and I had to reinstall Raspbian to get the internet to work again.
I installed the libncurses-dev file rather than libncurses5-dev and it failed much later in the program with the error "../../core/net/tcpip.c:806: undefined reference to 'tcpip_set_inputfun2"
I have found an update on the issue. Whenever I install 6lbr the ethernet port on my Raspberry Pi stops working. I'm not sure why this is. Is there something I have forgotten to do? I think that might be why the tcpip might not be working
Hi,
You have this problem when the 6LBR creates the internal bridge and attaches Eth0 to that bridge : all the configuration of Eth0 is dropped. To avoid that, you should set in /etc/6lbr/6lbr.conf
CREATE_BRIDGE=MANUAL
And in /etc/network/interfaces, replace eth0 by br0, like this example :
iface eth0 inet static address 0.0.0.0 auto br0 iface br0 inet dhcp pre-up brctl addbr br0 pre-up brctl addif br0 eth0 pre-up ip addr flush dev eth0 post-down ip link set eth0 down post-down ip link set br0 down post-down brctl delif br0 eth0 post-down brctl delbr br0
I see that this information is cruelly missing from the wiki and the examples in the package
Thank you, I have managed to get the ethernet running while 6lbr is installed now. However, I am still getting the same error when I run the hello-world example.
There is no function named tcpip_set_inputfun2() in Contiki nor 6LBR, however it looks a lot like tcpip_set_inputfunc(). Which TARGET parameter are you using in your make hello_world command ? Also could you add the full compilation log and your cross-compiler version ?
Sorry, I do mean tcpip_set_inputfunc(). I am not setting any parameter, allowing it to default to native. Sorry if I sound a bit noobish but how do I find the full compilation log and the cross-compiler version exactly?
You can have the full compilation log by appending V=1 to the make command.
The error is known, it happens when you build IPv4 application in 6LBR version of Contiki. You should edit the Makefile and uncomment UIP_CONF_IPV6=1
If you want to explore more, have a look at 6lbr-demo which combine several examples and is guaranteed to work with 6LBR (and is used in simulation examples).
I have appended V=1 but can't seem to find the log file. I have tried to edit the makefile but it still doesn't work. Also, 6lbr-demo does not work either. Giving the error "tcpip.h:228:27: note: expected 'const union uip_ipaddr_t * ' but argument is of type 'union uip_ip6addr_t * '
Sorry, we're a bit busy right now :) V=1 does not create a log file, it only toggles the verbosity of the make process (so you can check the defines, target, ...) instead of only the name of the file being compiled.
About your error, it is a bit strange as uip_ipaddr_t is a typedef to uip_ip6addr_t when in IPv6 mode (see core/net/uip.h line 73), so the compiler should not complain (unless it's really picky)
Can you send the output of your make command (with V=1) ? Also, have you modified something in the Makefile or the source tree ? Have you done a 'make clean' before building 6lbr-demo ?
I've just understood your problem, 6lbr-demo is meant to be build for a sensor, not for a native platform like the RPi; that's why there are conflicting typedef. You should set the TARGET of the make command to the platform you are using for your sensors. For example if you are using Sky motes you should run :
make TARGET=sky 6lbr-demo.upload
Okay. So if I am using a Nooliberry but only want to use simulated motes for the time being what is my target?
Or am I completely missing the point?
Hi, sorry if I misinterpreted your question, but you can't directly interface a RPI+Nooliberry with a simulated WSN. What you can do for the time being is stick to sky motes for simulation and following the example of a 6LBR running on a Linux PC interfaced with a local, simulated WSN (using COOJA) through a serialsocket server in COOJA running on a simulated slip-radio:
https://github.com/cetic/6lbr/wiki/COOJA-Interface
When you need to switch to the Nooliberry and get 6LBR running on the RPi, you will have to interface it with real motes.
by the way, so as not to discourage tou, going from 6LBR on LinuxPC+ simulated slip radio to 6LBR on RPi + Nooliberry is simply a matter of editing a configuration file.
Okay, thank you so much for all the help. I will have a look into it tomorrow and let you know how I get on
Hi, I have managed to run 6lbr-demo on Linux (it took me a while to get hold of a Linux laptop, apologies) and the simulator runs fine. However, I can't seem to get "/etc/init.d/6lbr start" to work. It keeps telling me permission denied even though I am running as a super user. I am probably being really naive and I apologise in advance for my lack of knowledge!
No update since a long time, feel free to reopen if the issue is still present
Hi,
I am attempting to use 6lbr for my dissertation project but cannot seem to get it to work.
I have installed it on the Raspberry Pi and 6lbr starts okay in the terminal windows. However, when I try to 'make' the hello-world example I get errors saying that curses.h and term.h cannot be found in "../../platform/native/ctk/ctk-curses.c". I am sure there is something I am doing wrong and was wondering if anyone could point me in the right direction. I am using a Raspberry Pi with the Nooliberry add-on
Thanks, Ben