[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