Question about how GNURadio interacts with the linux kernel


#1

Hi everybody,

I am trying to understand how GNUradio interacts with the kernel to send
and
receive data packets using the tunnel communication example.

Since we don’t recompile the kernel when installing gnuradio, the USRP
board
is just recognized as a USB device.

So, after setting up the static routes (the gr0 and gr1 in the tunnel
example) how is the data packet handed to the gnuradio?

Also, If I want to implement a different MAC protocol in GNURadio. how
do I
go about it?

Thank you,

Naveen


#2

On Thu, Apr 27, 2006 at 12:21:47PM -0400, Naveen Manicka wrote:

Hi everybody,

I am trying to understand how GNUradio interacts with the kernel to send and
receive data packets using the tunnel communication example.

Have you read the README in gnuradio-examples/python/gmsk2 and the
documents that it references?

See /usr/src/linux/Documentation/networking/tuntap.txt and/or Google
for “universal tun tap”. The Linux kernel includes the tun module.
You may have to “modprobe tun” if it’s not loaded by default. If
/dev/net/tun doesn’t exist, try “modprobe tun”.

Since we don’t recompile the kernel when installing gnuradio, the USRP board
is just recognized as a USB device.

It’s always just recognized as a USB device.
As the README says, we use the “tun driver” to push and pull packets
into the kernel from user mode.

In the tunnel_ip_null_mac.py code, look at open_tun_interface, and
then look at all references to tun_fd.

So, after setting up the static routes (the gr0 and gr1 in the tunnel
example) how is the data packet handed to the gnuradio?

From the outside use ping, tcp, udp, whatever… It looks like a
network interface.

Also, If I want to implement a different MAC protocol in GNURadio. how do I
go about it?

More on that later…

Thank you,
Naveen

Eric


#3

Hi Eric,

If I want to implement a different MAC protocol in GNURadio, how
do I go about it?

Thanks,
Naveen


Naveen Manicka
DEGAS Networking Group
University of Delaware
Email: removed_email_address@domain.invalid