[Tinyos-devel] Re: [Tinyos-help] BaseStationP trasparent bridging problem

Omprakash Gnawali gnawali at usc.edu
Thu Mar 6 18:29:09 PST 2008


On Thu, Mar 6, 2008 at 4:15 PM, Salvo Fiduccia <salvofid at libero.it> wrote:
> Hi all,
>
>  in SerialActiveMessageP there is a note in the AMSend.send command:
>  "Do not set the source address or group, as doing so
>  prevents transparent bridging"
>
>  I think this is correct, but the same don't happen in the send command of ActiveMessageC: in the micaz implementation, in CC2420csmaP, the Send.send command sets the header source field with the node id, so these istructions (BaseStationP) don't have effect:
>
>  task void radioSendTask() {
>   .............
>   273     call RadioPacket.clear(msg);
>   274     call RadioAMPacket.setSource(msg, source);
>   275
>   276     if (call RadioSend.send[id](addr, msg, len)....
>   ....
>  }
>

I am not sure if there is a straight forward resolution to this topic.
The question is if the BaseStation application should provide for
transparent serial to radio bridging. Some people use a BaseStation
and some PC application to generate packets. One example is how Tenet
uses CTP - a PC software generates a CTP beacon, encapsulates it as a
serial packet and sends it to the base station. I believe there were
some protocols like that in the core distribution of TinyOS 1.x as
well. Our experience is if the bridging is not transparent, then it is
easy to make an error - program the BaseStation as node y and have the
PC software generate packet as node x and you have a problem when the
children of the root start building the neighbor and routing tables.
On the other hand, a transparent bridging would make node id for the
BaseStation not useful at all which prevents from using ACKs for
unicast transmissions - so how useful is it?

- om_p


More information about the Tinyos-devel mailing list