Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Need help with blip porting (to rfa1/rfxlink) #316

Closed
andrasbiro opened this issue Oct 31, 2014 · 8 comments
Closed

Need help with blip porting (to rfa1/rfxlink) #316

andrasbiro opened this issue Oct 31, 2014 · 8 comments

Comments

@andrasbiro
Copy link
Member

Sorry if the is not proper place for asking help, but it's much more active than tinyos-devel.

So I'm porting blip2 to rfa1/rfxlink, and I'm stuck. Here is the branch: https://github.com/szte-wsn/tinyos-main/tree/rfa1blip It's based on the rfa1hwack branch (https://github.com/szte-wsn/tinyos-main/tree/rfa1hwack), I plan to merge that very soon.

Basicly, I created the rfa1hwack driver with 64 bit address match capabilities, so we don't need to rewrite half the stack, created a BlipCompatibilityLayer in rfxlink which sits on top of PacketLinkLayer and translates the rfxlink interfaces to the blip interfaces. This will be very easy to port to rf230 as well (but the iris' 8k RAM needs a lot of workaround, that's why I'm testing with rfa1), and any rfxlink platform with hwack driverlayer. The new atmega256rfr2 with it's 256k ROM and 32k RAM could be a very good platform for blip.

The current status:

  • TestLocalLink works (with TestLinkLocalC compilation Problem Solved #303 - why isn't this merged?)
  • UdpEcho compiles
  • PppRouter compiles and I can create the ppp device on the computer if I disable printf (probably because the mote has only one serial port and printf and the router can not share it?)
  • I can login into PppRouter's shell (after uncommented in the code)
  • I can't connect to UdpEcho motes via PppRouter. I tried to disable LPL on UdpEcho, but it didn't help
  • I can ping other addresses from the router's shell, and I see the outgoing messages, but the UdpEcho motes doesn't reply
  • I see no other messages, even when I try to connect to an UdpEcho via PppRouter, which is suspicious.

Unfortunately I don't know much about blip, I have no idea where should I start with debugging.
@bradjc @ppannuto You seemed to be the most active developers with blip, could you help? Or anyone else has any advice?

@immesys
Copy link
Contributor

immesys commented Oct 31, 2014

I have ported blip to rfxlink for the at86rf233. It works 98 percent with
only some troubles with RPL that may or may not be existing bugs.

I don't know much about blip either, but perhaps if we combine forces we
can merge our work and get something elegant and well tested. I didn't get
ppprouter quite working either, so there is stuff to be done.
On Oct 31, 2014 9:18 AM, "András Bíró" [email protected] wrote:

Sorry if the is not proper place for asking help, but it's much more
active than tinyos-devel.

So I'm porting blip2 to rfa1/rfxlink, and I'm stuck. Here is the branch:
https://github.com/szte-wsn/tinyos-main/tree/rfa1blip It's based on the
rfa1hwack branch (https://github.com/szte-wsn/tinyos-main/tree/rfa1hwack),
I plan to merge that very soon.

Basicly, I created the rfa1hwack driver with 64 bit address match
capabilities, so we don't need to rewrite half the stack, created a
BlipCompatibilityLayer in rfxlink which sits on top of PacketLinkLayer and
translates the rfxlink interfaces to the blip interfaces. This will be very
easy to port to rf230 as well (but the iris' 8k RAM needs a lot of
workaround, that's why I'm testing with rfa1), and any rfxlink platform
with hwack driverlayer. The new atmega256rfr2 with it's 256k ROM and 32k
RAM could be a very good platform for blip.

The current status:

  • TestLocalLink works (with TestLinkLocalC compilation Problem Solved #303
    TestLinkLocalC compilation Problem Solved #303 - why isn't this
    merged?)
  • UdpEcho compiles
  • PppRouter compiles and I can create the ppp device on the computer
    if I disable printf (probably because the mote has only one serial port and
    printf and the router can not share it?)
  • I can login into PppRouter's shell (after uncommented in the code)
  • I can't connect to UdpEcho motes via PppRouter. I tried to disable
    LPL on UdpEcho, but it didn't help
  • I can ping other addresses from the router's shell, and I see the
    outgoing messages, but the UdpEcho motes doesn't reply
  • I see no other messages, even when I try to connect to an UdpEcho
    via PppRouter, which is suspicious.

Unfortunately I don't know much about blip, I have no idea where should I
start with debugging.
@bradjc https://github.com/bradjc @ppannuto
https://github.com/ppannuto You seemed to be the most active developers
with blip, could you help? Or anyone else has any advice?


Reply to this email directly or view it on GitHub
#316.

@andrasbiro
Copy link
Member Author

So how did you test it without the router?

@immesys
Copy link
Contributor

immesys commented Oct 31, 2014

I tested it both without a router (make one node a dodag route and send traffic inside the network). And with @bradjc's raspberry pi based border router. In both cases I was sending to globally routable IP addresses over multihop.

@immesys
Copy link
Contributor

immesys commented Oct 31, 2014

Also, I highly recommend getting a packet sniffer. The CC2531 dongle along with https://github.com/andrewdodd/ccsniffpiper and wireshark works fantastically. I made more progress in the weekend after I got it than I did in the month preceding it.

@andrasbiro
Copy link
Member Author

Unfortunately, I don't think my employer would spend money on this, and I have not much interest in blip, so I wouldn't spend much on hw eighter. I only started working on this because it seemed to me that the blip developers didn't want to dig into the rfxlink stack and the rfxlink developers didn't want to dig into blip. Since I work on rfa1/rfxlink for quite some time, sometimes I receive emails about why doesn't blip works on rfxlink, and after the last email, I checked the blip code, and realized that it wouldn't be hard to port with hwack drivers.
I have telosb motes, but ppprouter seems to run out of its resources.

@andrasbiro
Copy link
Member Author

I had some progress, mostly in devices :)
-I bought a cheap cc2520 board and created a border router with raspberry pi with the repo of @bradjc (No identification chip yet and I think something wrong with the bridging, but it' enough for testing neighbor discovery and so on)
-I created a wireshark bridge (I will definitely push it to the repo but it needs a lot of cleanup). (Example: telosb connecting to a border router: https://www.cloudshark.org/captures/4bee5c82e4f7 )

(Here was quite a long description of a problem what I solved almost immediately I posted this - so just a status report):
I installed UdpEcho on the motes (with disabled static/dhcp addressing/LPL, and enabled blip_autoconf and router solicitations). I realized that the sequence numbering doesn't work on the mini. I fixed it, so the border router replies to the solicitation, but the mini doesn't accept it ("router says: sendDone: was not delivered! (5 tries)")

@andrasbiro
Copy link
Member Author

I think everything works now, I ported it to rf230 as well, although it's a bit challenging to fit any blip app into it's 8k ram (udpecho only fits without printf)

If anyone want to test it, please let me know the results. Everything is here: https://github.com/szte-wsn/tinyos-main/tree/rfa1blip

I will merge this very soon, just give some time for @mmaroti to check it.

@andrasbiro
Copy link
Member Author

This was fasten than I expected, everything is merged here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants