RTOS and GNU Radio

Hi all,
Â
I ran the tunnel.py, which is one of the gnuradio-examples, on two PCs
(fedora 9 (kernel: 2.6.27), GNU Radio 3.2 and Intel Pentium D). The RTT
is about 30ms. I read the paper “Enabling MAC Protocol Implementations
on Software-Defined Radios” which is written by George N. and found
that GNU radio needs 25ms in the user space in the example. I am
wondering if I can use the real time OS to reduce the latency in
the user space. However, I don’t see any RTOS in the build guide on the
GNU Radio Wiki (http://gnuradio.org/trac/wiki/BuildGuide ) . Does anyone
know about if RTOS can reduce the RTT of tunnel.py to less than 1ms?
Â
Thank you,
Jane

On Wed, Aug 12, 2009 at 11:05:19AM -0700, Jane C. wrote:

(http://gnuradio.org/trac/wiki/BuildGuide ) . Does anyone know about
if RTOS can reduce the RTT of tunnel.py to less than 1ms?

Before you go the RTOS route, I suggest that you simply try enabling
real-time scheduling on Linux.

Be sure you’re in group usrp, then add this line to
/etc/security/limits.conf:

@usrp - rtprio 50

Then in your GR program add a call to:

gr.enable_realtime_scheduling()

There are several examples that do this.

Eric

Hi all,

Eric, thank you for your reply.
I ran the tunnel.py with the username "useSDR"Â in group usrp and added

@usrp - rtprio 50 in the /etc/security/limits.conf. Â
gr.enable_realtime_scheduling() is in the orignial tunnel.py file.

However, I keep get an error as following:

File “tunnel_original.py”, line 78, in open_tun_interface
   tun = os.open(tun_device_filename, os.O_RDWR)
OSError: [Errno 13] Permission denied: ‘/dev/net/tun’

I think it is because I did not set the authority right on my linux
system.

I have tried many ways. I even set “root” in the group usrp. The RTT of
tunnel.py is still about 30 ms.

/etc/group
root:x:0:root,useSDR
usrp:x:501:useSDR,root

Does anyone have any idea what’s wrong?

Thank you,
Jane

— On Wed, 8/12/09, Eric B. [email protected] wrote:

From: Eric B. [email protected]
Subject: Re: [Discuss-gnuradio] RTOS and GNU Radio
To: “Jane C.” [email protected]
Cc: [email protected]
Date: Wednesday, August 12, 2009, 6:20 PM

On Wed, Aug 12, 2009 at 11:05:19AM -0700, Jane C. wrote:

(http://gnuradio.org/trac/wiki/BuildGuide ) . Does anyone know about
if RTOS can reduce the RTT of tunnel.py to less than 1ms?

Before you go the RTOS route, I suggest that you simply try enabling
real-time scheduling on Linux.

Be sure you’re in group usrp, then add this line to
/etc/security/limits.conf:

@usrp - rtprio 50

Then in your GR program add a call to:

 gr.enable_realtime_scheduling()

There are several examples that do this.

Eric

On Thursday 13 August 2009 20:09:55 Jane C. wrote:

File “tunnel_original.py”, line 78, in open_tun_interface
tun = os.open(tun_device_filename, os.O_RDWR)
OSError: [Errno 13] Permission denied: ‘/dev/net/tun’

This error is unrelated to the first one.

You dont have permission to create a tun device. Recommended proceeding:

  1. install tunctl
  2. “sudo chmod 666 /dev/net/tun”
  3. “sudo tunctl -u useSDR -n”

steps 2 and 3 have to be repeated after restarting the computer.

This way, you dont have to run tunnel.py as root.

Stefan


Stefan Brüns / Bergstraße 21 / 52062 Aachen
phone: +49 241 53809034 mobile: +49 151 50412019