Hello, We would like to send UDP data from a USRP over the internet to a remote computer. The setup on the host side is: USRP Source --> UDP Sink And on the client side: UDP Source --> Throttle --> WX GUI FFT Sink This setup has worked on a local network using the client's IP address "10.10.0.175:9000" with the UDP sink and UDP source. However, when using the host's public static IP "166.149.xxx.xxx:9000", Gnuradio throws the following error: /Traceback (most recent call last): File "/home/matias/Documents/top_block.py", line 116, in <module> tb = top_block() File "/home/matias/Documents/top_block.py", line 76, in __init__ self.blocks_udp_source_0 = blocks.udp_source(gr.sizeof_gr_complex*1, "166.149.xxx.xxx", 9000, 1472, True) File "/opt/gnuradio-3.7.3/lib/python2.7/dist-packages/gnuradio/blocks/blocks_swig5.py", line 1974, in make return _blocks_swig5.udp_source_make(*args, **kwargs) RuntimeError: bind: Cannot assign requested address/ Does anyone know how to resolve this? We are using GNU Radio 3.7.3 on a virtual Ubuntu 12.04 LTS. Thanks, Matias Ponce CellAntenna Engineer CellAntenna Corporation 12453 NW 44th Street Coral Springs, FL 33065 Office: 954-340-7053 ext 10251 E-mail: firstname.lastname@example.org Web: http://www.cellantenna.com -- View this message in context: http://gnuradio.4.n7.nabble.com/Sending-Receiving-... Sent from the GnuRadio mailing list archive at Nabble.com.
on 2014-06-23 17:25
on 2014-06-23 17:32
Hi Matias, usually, binding ports over 9000 should be possible for normal users, but if you already made sure that your address is correct and there is nothing else occupying port 9000, I'd check with the Ubuntu folks if there is something like seLinux blocking such things. As a side note, never ever add a throttle block to a flowgraph which has a sample rate determined by a hardware device. There's only two things that can happen: 1. Either your hardware rate matches the throttle block exactly or is lower: The throttle block, aside from adding unwanted latency, doesn't have any effect 2. Your hardware rate is higher than your throttle rate: a backlog of samples will build up, up to the point where something (in your case, the UDP stack) will have to drop data. Greetings, Marcus
on 2014-06-23 18:03
The error you are getting is possibly due to your host machine using a LAN address to access the internet via NAT (network address translation). If this is the case then setting your receive ip address to '0.0.0.0' in the GRC 'UDP Source' should do the trick. This setting tells the 'UDP Source' to listen on all network interfaces. Mike -- Mike Jameson M0MIK BSc MIET Ettus Research Technical Support Email: email@example.com Web: http://ettus.com