# Packet data transmission through USRP N210

**URL:** <https://www.ruby-forum.com/t/packet-data-transmission-through-usrp-n210/230689>\
**Category:** GNU Radio\
**Created:** [June 30, 2014, 2:40am UTC](https://www.ruby-forum.com/t/packet-data-transmission-through-usrp-n210/230689 "2014-06-30T02:40:16Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![jason\_sam](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/7993a0/32.png) [@jason\_sam](https://www.ruby-forum.com/u/jason_sam)\
**Post date:** [June 30, 2014, 2:40am UTC](https://www.ruby-forum.com/t/packet-data-transmission-through-usrp-n210/230689/1 "2014-06-30T02:40:16Z")

</div>

Dear all,

I’m trying to transmit data packets with variable length through  
GNURadio  
Companion v3.7.4 and USRP N210 (LTFX&LFRX). Firstly I found tunnel.py in  
repository but that file has not been updated for almost 3 years. And  
when  
I ran it, an import error with no receiver path module occurs.

Now I’m searching an approach to build an unidirectional link between  
two  
hosts. One PC can transmit any size packets to the other one though the  
virtual interfaces created by TUNTAP PDUs.

By referring to an example for testing Header/Payload Demux, I work out  
a  
flow graph forwarding variable length packets through two virtual  
interfaces created in the same host. For the flow graph,  
“Test\_Flow\_Graph.grc” file is attached.

Nevertheless, since the transmitter and receiver are performed in the  
same  
host in one flow graph, length tags can be passed through Tagged Stream  
Mux  
block and Header/Payload Demux block. And the tags will act as the mark  
to  
tell the receiver where is the first byte of a packet. But if  
transmitter  
and receiver are separated to two hosts and they are connected by USRP,  
receiver can only obtain data streams without tags. To fix this problem,  
I  
try to put a constant “1” source to the trigger port of Header/Payload  
demux. Actually in this way receiver can extract the payload by  
explicitly  
calibrating the header, however, if one byte is missed, all data stream  
will shift, which will cause Header/Payload demux block unable to detect  
the correct header. The transmitter.grc and receiver.grc are also  
attached.

Can someone help me with how to synchronize the sender and receiver  
without  
utilization of OFDM? The synchronization means that the receiver can  
tell  
which byte is the initial byte of each packet.

BTW, Can I use the length tag’s value as the payload value of packet  
encoder block? If it’s work, I think packet encoder/decoder would do the  
synchronization by access code.
