Finally getting around to playing with some of the stuff in gr-extras.
Having compiled 3.6.2, and the extras, I found the tuntap block, and
was hoping to use it to implement some RF Networking with the GMSK
modules.
I found the tuntap block, and noticed that it had an input and output.
I was expecting my flowgraph to take the userspace end of the network
interface, with the other end being the network device.
I found the presentation from the recent conference on a basic MAC
layer, and that seemed to imply the input could be almost anything,
but didn’t leave me any the wiser as to exactly how to use it.
What I was hoping to do was essentially this (and a similiar) RX chain:
tuntap --> packet framer --> GMSK_Mod --> USRP
But the input to the tuntap block has confused me. Can I just give
it a Null source ? (With the block picking up data from the network
device ?)
Also, even when connecting it to a source, I seem to have another
issue, as I get this error at runtime:
RuntimeError: gr_make_tuntap: tun_alloc failed
Despite having the /dev/net/tun device, and it being writable by the
user running the flow graph. This happens if I specify “Automatic” or
a specific network device.
Anyone want to point me in the right direction ? Or even anyone have
an example ?
interface, with the other end being the network device.
I found the presentation from the recent conference on a basic MAC
layer, and that seemed to imply the input could be almost anything,
but didn’t leave me any the wiser as to exactly how to use it.
Basically, the TUN/TAP block was there for the purposes of replacing
tunnel.py. Few people actually want to pipe stuff through a virtual
ethernet interface.
For the example, we will probably replace that block with the “socket
msg” block. You can just open netcat on the host/port and use it like a
wireless IM chat session There will soon be a demonstration video w/
the MAC layer stuff presented.
What I was hoping to do was essentially this (and a similiar) RX chain:
tuntap --> packet framer --> GMSK_Mod --> USRP
Instead, try the “socket to blob” block. Outside the flowgraph, open a
socket and send packets.
But the input to the tuntap block has confused me. Can I just give
it a Null source ? (With the block picking up data from the network
device ?)
I pushed a change adding 1 to the input and output
ports. You shouldnt need to actually connect.
an example ?
I think you need to run as root to allocate tun/tap stuff. I copied the
tun_alloc from here: /usr/src/linux/Documentation/networking/tuntap.txt
but didn’t leave me any the wiser as to exactly how to use it.
Basically, the TUN/TAP block was there for the purposes of replacing
tunnel.py. Few people actually want to pipe stuff through a virtual
ethernet interface.
Heh, I always did like to be different
For the example, we will probably replace that block with the “socket
msg” block. You can just open netcat on the host/port and use it like a
wireless IM chat session There will soon be a demonstration video w/
the MAC layer stuff presented.
I shall look forward to that
ports. You shouldnt need to actually connect.
Great, thanks. Everything now works as expected, and wireshark receives
ethernet frames from my RX tun interface, when I connect the GMSK
Modulator and Demodulator together back-to-back. And yes, it also works
with the Socket-to-Blob blocks
Now I just have to figure out what filtering, amplification, levels,
and frequency offsets I need to make it work via my USRP and also
soundcard interfaces.
Not had much success yet, and my rates are somewhat more narrow-band
than most examples out there. Ah well, I’ll figure it out at somepoint
Thanks again
Iain
This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.