Re: [Discuss-gnuradio] Getting USRP N210 running
Hi, Nick, Vadim, Josh, I got the same problem with two N210 in my institute, that only LED B F is on. I tried to reprogram the FPGA following the thread Bricking and recovery of N210 but it remains the same? Have you found how to work it out? Cheers, Hanwen 2010/12/14 Nick Foster n...@ettus.com On Tue, 2010-12-14 at 11:57 +0100, Vadim Uvin wrote: Hello list, I am trying to get USRP N210 running. I experience a problem when I connect it to my computer. I see only B and F LEDs on, the Ethernet LEDs are shut down after about one second of switching on USRP. mii-tools eth0 outputs 1000 MBit, half duplex, no link. Wiresharks shows no packets exchanged. I also have set up the UHD and configured the eth0 to static address 192.168.10.1, but uhd_find_devices shows nothing. Any ideas how I can proceed? Vadim, Have you tried another cable? Has your setup worked with USRP2s in the past? --n Thanks. Vadim. ___ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org http://lists.gnu.org/mailman/listinfo/discuss-gnuradio ___ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org http://lists.gnu.org/mailman/listinfo/discuss-gnuradio ___ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
[Discuss-gnuradio] Bug in 'gr_tagged_file_sink.cc'
Hi, I found a bug in the 'gr_tagged_file_sink.cc' file during my work on a burst detection. Line 203 should be changed to: 203 int count = fwrite (inbuf[d_itemsize*idx], d_itemsize, noutput_items-idx, d_handle); The original code was: 202 if(d_state == IN_BURST) { 203 int count = fwrite (inbuf[idx], d_itemsize, noutput_items-idx, d_handle); 204 if (count == 0) { 205 if(ferror(d_handle)) { 206 perror(gr_tagged_file_sink: error writing file); 207 } 208 } 209 idx = noutput_items; 210 } Daniel ___ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
[Discuss-gnuradio] How to reconfigure automatically the channel used to received data in USRPs
Hello everyone, Before to explain my problem I give some technical information about my hardaware. I'm using USRPs v1 and the boards integrated are XCVR2450 Transceivers. I'm using the script usrp_spectrum_sense.py in a USRP (called USRP1) to make sensing in the ISM band, after a few seconds it sends to another USRP (Called USRP2) a free sensed channel on the central frequency 2484 MHz. USRP2 listens to the channel 2484 MHz through the script benchmark_rx.py and it can properly receive the free ISM channel sent by USRP1. Then, I want to use the USRP2 to receive data from another USRP (called USRP3) that uses the script benchmark_tx.py. In the script benchmark_rx.py (used by USRP2) that listens to channel 2484 MHz I want to run another script that I called benchmark_rxr.py that waits for data sent by USRP3 to be received in the free ISM channel sent by USRP1. Relevant line of the code in the script benchmark_rx.py is attached below: p = Popen('python benchmark_rxr.py', shell = True) While this is the error that I get: usrp_open_interface:usb_claim_interface: failed interface 2 could not claim interface 2: Device or resource busy usrp_basic_rx: can't open rx interface Traceback (most recent call last): File benchmark_rxr.py, line 153, in module main() File benchmark_rxr.py, line 138, in main tb = my_top_block(demods[options.modulation], mods[options.modulation], rx_callback, options) File benchmark_rxr.py, line 46, in __init__ self.rxpath = usrp_receive_path.usrp_receive_path(demodulator, rx_callback, options) File /opt/gnuradio/gnuradio-examples/python/usrp/usrp_receive_path.py, line 65, in __init__ self._setup_usrp_source(options) File /opt/gnuradio/gnuradio-examples/python/usrp/usrp_receive_path.py, line 78, in _setup_usrp_source self.u = usrp_options.create_usrp_source(options) File /usr/local/lib/python2.6/dist-packages/gnuradio/usrp_options.py, line 88, in create_usrp_source gain=options.rx_gain, File /usr/local/lib/python2.6/dist-packages/gnuradio/blks2impl/generic_usrp.py, line 138, in __init__ _generic_usrp_base.__init__(self, **kwargs) File /usr/local/lib/python2.6/dist-packages/gnuradio/blks2impl/generic_usrp.py, line 63, in __init__ except: raise Exception, 'Failed to automatically setup a usrp device.' Exception: Failed to automatically setup a usrp device. I read different post with this problem such as Full duplex and half duplex does not work and help: cannot send after transport endpoint shutdown but I could not solve the problem yet. I need to close the reception in 2484 MHz channel for a new reception in another channel in USRP2. The only way to do that seems to close the port manually (i.e. pressing ctrl+c) but I want to do that by code. I tried different things before the line p = Popen('python benchmark_rxr.py', shell = True) such as id_process = os.getpid() and os.killpg(id_process, 2), or by tb.lock() and tb.unlock and so on, but nothing helped me, I keep obtaining the same error. I don't know what to do else, can I change by code reception frequency in USRP2? Any advice will be welcome, thanks a lot! Regards -- View this message in context: http://old.nabble.com/How-to-reconfigure-automatically-the-channel-used-to-received-data-in-USRPs-tp32414957p32414957.html Sent from the GnuRadio mailing list archive at Nabble.com. ___ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
Re: [Discuss-gnuradio] GRC squelch block with separate control signal?
Tom Rondeau said the following on 09/06/2011 11:28 AM: On Tue, Sep 6, 2011 at 10:22 AM, John Ackermann N8UR j...@febo.com mailto:j...@febo.com wrote: I want to implement the equivalent of a carrier-operated relay -- a squelch block that provides an on signal at a threshold input signal level, which then passes or blocks data at some point further downstream rather than right at the point where the sensing is happening. Are there GRC blocks that will allow this? Thanks, John John, Yes, look in Level Controls, there is a Simple Squelch, Standard Squelch, and Power Squelch as well as a simple Threshold. You'll have to look closer into this blocks to find out how they work. Tom Hi Tom -- The challenge is that the three squelch blocks all sense and switch the data stream at the same point -- the input signal is passed or not based on its level. What I need instead is to sense the stream at one point, and use that information to switch a different data stream. I could picture two blocks -- one that sets (and updates) a boolean variable based on the current signal level, and another that switches a separate sample stream based on whether that variable is true or false. Does GRC support message passing between blocks in that fashion? The practical example is an FM repeater where the transmitted signal is turned on only when the received signal level exceeds a threshold. Thanks, John ___ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
Re: [Discuss-gnuradio] How to reconfigure automatically the channel used to received data in USRPs
On Wed, Sep 7, 2011 at 3:27 AM, Lebowski80 ale.rasche...@gmail.com wrote: Hello everyone, Before to explain my problem I give some technical information about my hardaware. I'm using USRPs v1 and the boards integrated are XCVR2450 Transceivers. I'm using the script usrp_spectrum_sense.py in a USRP (called USRP1) to make sensing in the ISM band, after a few seconds it sends to another USRP (Called USRP2) a free sensed channel on the central frequency 2484 MHz. USRP2 listens to the channel 2484 MHz through the script benchmark_rx.py and it can properly receive the free ISM channel sent by USRP1. Then, I want to use the USRP2 to receive data from another USRP (called USRP3) that uses the script benchmark_tx.py. In the script benchmark_rx.py (used by USRP2) that listens to channel 2484 MHz I want to run another script that I called benchmark_rxr.py that waits for data sent by USRP3 to be received in the free ISM channel sent by USRP1. Relevant line of the code in the script benchmark_rx.py is attached below: p = Popen('python benchmark_rxr.py', shell = True) While this is the error that I get: usrp_open_interface:usb_claim_interface: failed interface 2 could not claim interface 2: Device or resource busy usrp_basic_rx: can't open rx interface Traceback (most recent call last): File benchmark_rxr.py, line 153, in module main() File benchmark_rxr.py, line 138, in main tb = my_top_block(demods[options.modulation], mods[options.modulation], rx_callback, options) File benchmark_rxr.py, line 46, in __init__ self.rxpath = usrp_receive_path.usrp_receive_path(demodulator, rx_callback, options) File /opt/gnuradio/gnuradio-examples/python/usrp/usrp_receive_path.py, line 65, in __init__ self._setup_usrp_source(options) File /opt/gnuradio/gnuradio-examples/python/usrp/usrp_receive_path.py, line 78, in _setup_usrp_source self.u = usrp_options.create_usrp_source(options) File /usr/local/lib/python2.6/dist-packages/gnuradio/usrp_options.py, line 88, in create_usrp_source gain=options.rx_gain, File /usr/local/lib/python2.6/dist-packages/gnuradio/blks2impl/generic_usrp.py, line 138, in __init__ _generic_usrp_base.__init__(self, **kwargs) File /usr/local/lib/python2.6/dist-packages/gnuradio/blks2impl/generic_usrp.py, line 63, in __init__ except: raise Exception, 'Failed to automatically setup a usrp device.' Exception: Failed to automatically setup a usrp device. I read different post with this problem such as Full duplex and half duplex does not work and help: cannot send after transport endpoint shutdown but I could not solve the problem yet. I need to close the reception in 2484 MHz channel for a new reception in another channel in USRP2. The only way to do that seems to close the port manually (i.e. pressing ctrl+c) but I want to do that by code. I tried different things before the line p = Popen('python benchmark_rxr.py', shell = True) such as id_process = os.getpid() and os.killpg(id_process, 2), or by tb.lock() and tb.unlock and so on, but nothing helped me, I keep obtaining the same error. I don't know what to do else, can I change by code reception frequency in USRP2? Any advice will be welcome, thanks a lot! You need to run both RX and TX in the same flowgraph. You can't open them in separate flowgraphs. --n Regards -- View this message in context: http://old.nabble.com/How-to-reconfigure-automatically-the-channel-used-to-received-data-in-USRPs-tp32414957p32414957.html Sent from the GnuRadio mailing list archive at Nabble.com. ___ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org https://lists.gnu.org/mailman/listinfo/discuss-gnuradio ___ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
Re: [Discuss-gnuradio] How to reconfigure automatically the channel used to received data in USRPs
Hello Nick, What do you mean? Actually I'm running RX and TX in two different flowgraphs on USRP1, the first one in usrp_spectrum_sense.py to look for a free channel (so the RX). In this script I also run benchmark_tx.py by the command p = Popen('python benchmark_tx.py', shell = True), then my second flowgrapgh (the TX). My problem is that on USRP2 I want to reconfigure the RX channel by python (RX channel = 2484 MHz in the script benchmark_rx.py and RX channel = channel received by USRP1 in the script benchamrk_rxr.py run by benchmark_rx.py with the command p = Popen('python benchmark_rxr.py', shell = True)). So I'm wondering if there exists the possibility to reconfigure the parameters of a script in the same USRP (i.e. RX frequency channel) while it is running and if this is not possible what do people mean with USRP reconfigurability? I really need an answer to understand the potentiality of my hardware, thanks a lot! Regards Nick Foster-4 wrote: On Wed, Sep 7, 2011 at 3:27 AM, Lebowski80 ale.rasche...@gmail.com wrote: Hello everyone, Before to explain my problem I give some technical information about my hardaware. I'm using USRPs v1 and the boards integrated are XCVR2450 Transceivers. I'm using the script usrp_spectrum_sense.py in a USRP (called USRP1) to make sensing in the ISM band, after a few seconds it sends to another USRP (Called USRP2) a free sensed channel on the central frequency 2484 MHz. USRP2 listens to the channel 2484 MHz through the script benchmark_rx.py and it can properly receive the free ISM channel sent by USRP1. Then, I want to use the USRP2 to receive data from another USRP (called USRP3) that uses the script benchmark_tx.py. In the script benchmark_rx.py (used by USRP2) that listens to channel 2484 MHz I want to run another script that I called benchmark_rxr.py that waits for data sent by USRP3 to be received in the free ISM channel sent by USRP1. Relevant line of the code in the script benchmark_rx.py is attached below: p = Popen('python benchmark_rxr.py', shell = True) While this is the error that I get: usrp_open_interface:usb_claim_interface: failed interface 2 could not claim interface 2: Device or resource busy usrp_basic_rx: can't open rx interface Traceback (most recent call last): File benchmark_rxr.py, line 153, in module main() File benchmark_rxr.py, line 138, in main tb = my_top_block(demods[options.modulation], mods[options.modulation], rx_callback, options) File benchmark_rxr.py, line 46, in __init__ self.rxpath = usrp_receive_path.usrp_receive_path(demodulator, rx_callback, options) File /opt/gnuradio/gnuradio-examples/python/usrp/usrp_receive_path.py, line 65, in __init__ self._setup_usrp_source(options) File /opt/gnuradio/gnuradio-examples/python/usrp/usrp_receive_path.py, line 78, in _setup_usrp_source self.u = usrp_options.create_usrp_source(options) File /usr/local/lib/python2.6/dist-packages/gnuradio/usrp_options.py, line 88, in create_usrp_source gain=options.rx_gain, File /usr/local/lib/python2.6/dist-packages/gnuradio/blks2impl/generic_usrp.py, line 138, in __init__ _generic_usrp_base.__init__(self, **kwargs) File /usr/local/lib/python2.6/dist-packages/gnuradio/blks2impl/generic_usrp.py, line 63, in __init__ except: raise Exception, 'Failed to automatically setup a usrp device.' Exception: Failed to automatically setup a usrp device. I read different post with this problem such as Full duplex and half duplex does not work and help: cannot send after transport endpoint shutdown but I could not solve the problem yet. I need to close the reception in 2484 MHz channel for a new reception in another channel in USRP2. The only way to do that seems to close the port manually (i.e. pressing ctrl+c) but I want to do that by code. I tried different things before the line p = Popen('python benchmark_rxr.py', shell = True) such as id_process = os.getpid() and os.killpg(id_process, 2), or by tb.lock() and tb.unlock and so on, but nothing helped me, I keep obtaining the same error. I don't know what to do else, can I change by code reception frequency in USRP2? Any advice will be welcome, thanks a lot! You need to run both RX and TX in the same flowgraph. You can't open them in separate flowgraphs. --n Regards -- View this message in context: http://old.nabble.com/How-to-reconfigure-automatically-the-channel-used-to-received-data-in-USRPs-tp32414957p32414957.html Sent from the GnuRadio mailing list archive at Nabble.com. ___ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org https://lists.gnu.org/mailman/listinfo/discuss-gnuradio ___ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org https://lists.gnu.org/mailman/listinfo/discuss-gnuradio -- View this message in context:
Re: [Discuss-gnuradio] How to reconfigure automatically the channel used to received data in USRPs
On 07/09/2011 12:31 PM, Lebowski80 wrote: Hello Nick, What do you mean? Actually I'm running RX and TX in two different flowgraphs on USRP1, the first one in usrp_spectrum_sense.py to look for a free channel (so the RX). In this script I also run benchmark_tx.py by the command p = Popen('python benchmark_tx.py', shell = True), then my second flowgrapgh (the TX). My problem is that on USRP2 I want to reconfigure the RX channel by python (RX channel = 2484 MHz in the script benchmark_rx.py and RX channel = channel received by USRP1 in the script benchamrk_rxr.py run by benchmark_rx.py with the command p = Popen('python benchmark_rxr.py', shell = True)). So I'm wondering if there exists the possibility to reconfigure the parameters of a script in the same USRP (i.e. RX frequency channel) while it is running and if this is not possible what do people mean with USRP reconfigurability? I really need an answer to understand the potentiality of my hardware, thanks a lot! Regards So, presumably, your benchmark_rxr.py script attempts to independently create a USRP2 source/sink block, in order to change the frequency of your (executing) benchmark_rx.py. This isn't allowed. The network-level socket used to communicate with the USRP2 cannot be shared among multiple programs/processes. That's a limitation of the systems networking stack, and not a limitation of the hardware. A properly constructed flow-graph will have a source block, whose parameters can be changed dynamically during execution of the flow-graph. You can see how this works in general by building yourself a simple flow-graph with GRC, and observing that you can (for example) create a UHD/USRP2 source block, with frequency and gain parameters that can be changed at run-time by text input widgets, for example. When I'm building flow-graphs that need to have parameters tweaked at run-time *by an external agent*, I use the XMLRPC-server block within GRC to allow me to modify runtime parameters from an external program. Most (but not ALL) blocks in Gnu Radio that take parameters *that could reasonably be changed at runtime*, allow those parameters to be changed at runtime. Using GRC to see how this all fits together (by constructing a flow-graph, and then examining the resulting code) lets you see how it's done. The benchmark_* examples may not actually be the best starting point for doing this type of work, since they're old, they don't support UHD, and they were designed to fulfill a specific purpose. YES, they can be re-purposed, but only if you understand how they work, and how they use the underlying Gnu Radio architecture. ___ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
Re: [Discuss-gnuradio] How to reconfigure automatically the channel used to received data in USRPs
Short answer: You cannot open a new USRP instance to reconfigure an already-running USRP instance. You must reconfigure the existing instance. The best advice I can give is that only one flowgraph can be operational per USRP device. In your setup, USRP#1 will run a single flowgraph with a source and/or sink, USRP#2 will run a single flowgraph with a source and/or sink, and USRP#3 will run a single flowgraph with a source and/or sink. If you wish to change the parameters of USRP#2 while it is running, rather than try to open a new USRP device in your benchmark_rxr.py flowgraph, use any of the standard interprocess communication methods to talk to your already-running USRP#2 script and reconfigure it as necessary. --n On Wed, Sep 7, 2011 at 9:31 AM, Lebowski80 ale.rasche...@gmail.com wrote: Hello Nick, What do you mean? Actually I'm running RX and TX in two different flowgraphs on USRP1, the first one in usrp_spectrum_sense.py to look for a free channel (so the RX). In this script I also run benchmark_tx.py by the command p = Popen('python benchmark_tx.py', shell = True), then my second flowgrapgh (the TX). My problem is that on USRP2 I want to reconfigure the RX channel by python (RX channel = 2484 MHz in the script benchmark_rx.py and RX channel = channel received by USRP1 in the script benchamrk_rxr.py run by benchmark_rx.py with the command p = Popen('python benchmark_rxr.py', shell = True)). So I'm wondering if there exists the possibility to reconfigure the parameters of a script in the same USRP (i.e. RX frequency channel) while it is running and if this is not possible what do people mean with USRP reconfigurability? I really need an answer to understand the potentiality of my hardware, thanks a lot! Regards Nick Foster-4 wrote: On Wed, Sep 7, 2011 at 3:27 AM, Lebowski80 ale.rasche...@gmail.com wrote: Hello everyone, Before to explain my problem I give some technical information about my hardaware. I'm using USRPs v1 and the boards integrated are XCVR2450 Transceivers. I'm using the script usrp_spectrum_sense.py in a USRP (called USRP1) to make sensing in the ISM band, after a few seconds it sends to another USRP (Called USRP2) a free sensed channel on the central frequency 2484 MHz. USRP2 listens to the channel 2484 MHz through the script benchmark_rx.py and it can properly receive the free ISM channel sent by USRP1. Then, I want to use the USRP2 to receive data from another USRP (called USRP3) that uses the script benchmark_tx.py. In the script benchmark_rx.py (used by USRP2) that listens to channel 2484 MHz I want to run another script that I called benchmark_rxr.py that waits for data sent by USRP3 to be received in the free ISM channel sent by USRP1. Relevant line of the code in the script benchmark_rx.py is attached below: p = Popen('python benchmark_rxr.py', shell = True) While this is the error that I get: usrp_open_interface:usb_claim_interface: failed interface 2 could not claim interface 2: Device or resource busy usrp_basic_rx: can't open rx interface Traceback (most recent call last): File benchmark_rxr.py, line 153, in module main() File benchmark_rxr.py, line 138, in main tb = my_top_block(demods[options.modulation], mods[options.modulation], rx_callback, options) File benchmark_rxr.py, line 46, in __init__ self.rxpath = usrp_receive_path.usrp_receive_path(demodulator, rx_callback, options) File /opt/gnuradio/gnuradio-examples/python/usrp/usrp_receive_path.py, line 65, in __init__ self._setup_usrp_source(options) File /opt/gnuradio/gnuradio-examples/python/usrp/usrp_receive_path.py, line 78, in _setup_usrp_source self.u = usrp_options.create_usrp_source(options) File /usr/local/lib/python2.6/dist-packages/gnuradio/usrp_options.py, line 88, in create_usrp_source gain=options.rx_gain, File /usr/local/lib/python2.6/dist-packages/gnuradio/blks2impl/generic_usrp.py, line 138, in __init__ _generic_usrp_base.__init__(self, **kwargs) File /usr/local/lib/python2.6/dist-packages/gnuradio/blks2impl/generic_usrp.py, line 63, in __init__ except: raise Exception, 'Failed to automatically setup a usrp device.' Exception: Failed to automatically setup a usrp device. I read different post with this problem such as Full duplex and half duplex does not work and help: cannot send after transport endpoint shutdown but I could not solve the problem yet. I need to close the reception in 2484 MHz channel for a new reception in another channel in USRP2. The only way to do that seems to close the port manually (i.e. pressing ctrl+c) but I want to do that by code. I tried different things before the line p = Popen('python benchmark_rxr.py', shell = True) such as id_process = os.getpid() and os.killpg(id_process, 2), or by tb.lock() and tb.unlock and so on, but
Re: [Discuss-gnuradio] OFDM Implementation
Hello sumit, Thanks for your help i went through that document that you refered to, and i tried to implement that OFDM transmitter part. This document only explain about OFDM flow graph or transmitter. Is there any other document or information related to OFDM modulator and demodulator (Transceiver)? i haver to implement OFDM transmission and reception via USRP. i will really appriciate if you can help me that or someone else who knows how to implement by using GNU radio companion. Thanks in advance. Regards, Waq. -- View this message in context: http://old.nabble.com/OFDM-Implementation-tp32380874p32418951.html Sent from the GnuRadio mailing list archive at Nabble.com. ___ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
Re: [Discuss-gnuradio] OFDM Implementation
Try to understand these http://pwnhome.wordpress.com/2011/04/26/intro-to-gnuradio-and-the-usrp-part-5-simple-transceiver/ here u need to put those ofdm blocks .. thats it also go through some modifications as written in http://pwnhome.wordpress.com/2011/04/19/intro-to-gnuradio-and-the-usrp-part-4/ or else work with benchmark_ofdm.py its very easy.. :) may i know what daughter boards do you have... waqasme wrote: Hello sumit, Thanks for your help i went through that document that you refered to, and i tried to implement that OFDM transmitter part. This document only explain about OFDM flow graph or transmitter. Is there any other document or information related to OFDM modulator and demodulator (Transceiver)? i haver to implement OFDM transmission and reception via USRP. i will really appriciate if you can help me that or someone else who knows how to implement by using GNU radio companion. Thanks in advance. Regards, Waq. - Sumit Kr. Research Assistant Communication Research center IIIT Hyderabad India -- View this message in context: http://old.nabble.com/OFDM-Implementation-tp32380874p32419597.html Sent from the GnuRadio mailing list archive at Nabble.com. ___ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org https://lists.gnu.org/mailman/listinfo/discuss-gnuradio