Issue with tuntap_pdu

I am trying to run the example simple_trx.py script from the gr-mac
module
and I am having an issue related to what I believe is
gr::blocks::tuntap_pdu.

This is what I am doing.

I open up a couple of terminal windows and in two of them I place in
these
separate commands.

[root@xxxx project]# ./simple_trx.py --radio-addr 85 --dest-addr 86
–port
12345 -a addr=10.2.8.104

[root@xxxx project]# ./simple_trx.py --radio-addr 86 --dest-addr 85
–port
12346 -a addr=10.2.8.105

The former will run just fine and then the second one gives me this
error

[root@xxxx project]# ./simple_trx.py --radio-addr 86 --dest-addr 85
–port
12346 -a addr=10.2.8.105
linux; GNU C++ version 4.4.7 20120313 (Red Hat 4.4.7-4); Boost_104100;
UHD_003.007.001-64-g92b0b7ab

libGL error: failed to load driver: nouveau
libGL error: Try again with LIBGL_DEBUG=verbose for more details.
Using Volk machine: sse4_2_64
Simple MAC ARQ in non-blocking mode
<virtual_channel_encoder[25]> MTU: 128
‘post_msg’ not found. Using ‘message_port_pub’ instead.
Virtual channel encoder in non-blocking mode
<virtual_channel_encoder[26]> MTU: 128
‘post_msg’ not found. Using ‘message_port_pub’ instead.
Virtual channel encoder in non-blocking mode
– Opening a USRP2/N-Series device…
– Current recv frame size: 1472 bytes
– Current send frame size: 1472 bytes
– Detecting internal GPSDO… Found an internal GPSDO
– found
– Setting references to the internal GPSDO
– Initializing time to the internal GPSDO
<burst_tagger[36]> tag name: length, multiplier: 32.000000, tag front:
0,
tag rear: 16, drop residue: yes, verbose: yes
bits per symbol = 1
M&M clock recovery omega = 4.000000
M&M clock recovery gain mu = 0.175000
M&M clock recovery mu = 0.500000
M&M clock recovery omega rel. limit = 0.005000
frequency error = 0.000000
Traceback (most recent call last):
File “./simple_trx.py”, line 386, in
tb = simple_trx(args=options.args,
tx_lo_offset=options.tx_lo_offset,
rx_lo_offset=options.rx_lo_offset, rate=options.rate,
rx_antenna=options.rx_antenna, rx_freq=options.rx_freq,
tx_freq=options.tx_freq, rx_gain=options.rx_gain,
tx_gain=options.tx_gain,
samps_per_sym=options.samps_per_sym, ampl=options.ampl,
arq_timeout=options.arq_timeout, dest_addr=options.dest_addr,
max_arq_attempts=options.max_arq_attempts,
radio_addr=options.radio_addr,
iface=options.iface, mtu=options.mtu, port=options.port)
File “./simple_trx.py”, line 157, in init
self.blocks_tuntap_pdu_0 = blocks.tuntap_pdu(iface, mtu*0 + 1514)
File
“/usr/local/lib64/python2.6/site-packages/gnuradio/blocks/blocks_swig5.py”,
line 1796, in make
return _blocks_swig5.tuntap_pdu_make(*args, **kwargs)
RuntimeError: gr::tuntap_pdu::make: tun_alloc failed (are you running as
root?)

Of course I am running this as root. Why can’t I have two instances of
this
running?

Jonathan F.

On Thu, Nov 6, 2014 at 6:41 PM, Jonathan F.
[email protected]
wrote:

–port 12345 -a addr=10.2.8.104

– Opening a USRP2/N-Series device…
M&M clock recovery gain mu = 0.175000
arq_timeout=options.arq_timeout, dest_addr=options.dest_addr,

Of course I am running this as root. Why can’t I have two instances of
this running?

Jonathan F.

Alright figured out my issue.

I needed to specify a different interface for the second instance of
simple_trx so I couldn’t let it default to “tun0” so I specified it as
“tun1”.

Jonathan F.