discuss-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Discuss-gnuradio] LIBUSB_ERROR_PIPE and "improperly" stopping gnura


From: Eleftherios(Lef) Kampianakis
Subject: Re: [Discuss-gnuradio] LIBUSB_ERROR_PIPE and "improperly" stopping gnuradio
Date: Wed, 5 Nov 2014 12:45:30 -0800

Hello

Thank you for your reply.

No it  happens only  when I kill the script.  let me give you another example. I have a flowgraph in GRC that looks like this:

USRP source --> USRP sink

I connect the B210 to the macmini via USB3 and press the "execute the flow graph" button. The script is executed ok. 
I stop it using the "Kill the flowgraph" button and run it again. I get the follwoing message on the GRC console:

------------------------------------------------FIRST EXECUTION------------------------------------------------
Mac OS; Clang version 6.0 (clang-600.0.54); Boost_105600; UHD_003.007.003-0-unknown

-- Operating over USB 3.
-- Initialize CODEC control...
-- Initialize Radio control...
-- Performing register loopback test... pass
-- Performing register loopback test... pass
-- Performing CODEC loopback test... pass
-- Performing CODEC loopback test... pass
-- Asking for clock rate 32.000000 MHz
-- Actually got clock rate 32.000000 MHz
-- Performing timer loopback test... pass
-- Performing timer loopback test... pass

>>> Done

------------------------------------------------SECOND EXECUTION------------------------------------------------


Generating: "/Users/kampianakis/Desktop/top_block.py"

Executing: "/Users/kampianakis/Desktop/top_block.py"

Mac OS; Clang version 6.0 (clang-600.0.54); Boost_105600; UHD_003.007.003-0-unknown

-- Operating over USB 3.
Traceback (most recent call last):
  File "/Users/kampianakis/Desktop/top_block.py", line 78, in <module>
    tb = top_block()
  File "/Users/kampianakis/Desktop/top_block.py", line 35, in __init__
    channels=range(1),
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/gnuradio/uhd/__init__.py", line 122, in constructor_interceptor
    return old_constructor(*args)
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/gnuradio/uhd/uhd_swig.py", line 1753, in make
    return _uhd_swig.usrp_source_make(*args)
RuntimeError: RuntimeError: usb rx8 submit failed: LIBUSB_ERROR_PIPE


After this point the only thing that I can do is remove and re-insert the USB from the computer in order for my script to work. I assume this is not normal behavior (and also not a programming error) because this is a minimum working example, and its not working.

Best regards
Lefteris






On Tue, Nov 4, 2014 at 6:40 PM, Eleftherios(Lef) Kampianakis <address@hidden> wrote:
Hello all,

I am facing a strange problem when I am starting my gnuradio script. I keep getting the following message.


-- Operating over USB 3.

Traceback (most recent call last):
  File "file_sinks.py", line 104, in <module>
    tb = file_sinks()
  File "file_sinks.py", line 47, in __init__
    channels=range(2),
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/gnuradio/uhd/__init__.py", line 122, in constructor_interceptor
    return old_constructor(*args)
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/gnuradio/uhd/uhd_swig.py", line 1753, in make
    return _uhd_swig.usrp_source_make(*args)
RuntimeError: RuntimeError: usb rx8 submit failed: LIBUSB_ERROR_PIPE

I have been receiving  this error while executing UHD scripts, GRC flowgraphs and python scripts. As an example, the latest python script that I have developed looks like this:

    tb = file_sinks()
    try:
        while(True):
            raw_input('Press any key to begin..')
            tb.start()              
            raw_input('Press any key to stop..')
            tb.stop()
            tb.blocks_file_source_0.seek(0,0)
            tb.wait()
    except (KeyboardInterrupt):
        tb.stop()
        tb.blocks_file_source_0.seek(0,0)
        tb.wait()
        sys.exit()
        
    

In order to stop the script I issue a ctrl-c to the terminal and as you can see I manage the correspinding interrupt by properly stopping the top_block. However, the next time I execute the script I get the aforementioned error.

This error occurs even in simple GRC flow graphs whenever I press the stop button. However if I just close the WX window that pops up, I wont get it the next time I execute my script.

The only way to avoid this error in a future execution is to remove and re-insert the usb cable from the computer. My intuition is that it is a low-level driver problem but I cannt really figure out what's going on, let alone fix it.

Removing and re-inserting the USB cable as one can imagine is quite discomforting so any suggestions on how to approach this are more than welcome.

My setup is the following:
Macmini Late 2012, OSX 10.9.5 gnuradio 3.7.5.1 


--
Eleftherios(Lefteris) Kampianakis
Electronics and Computer Engineer
PHD Candidate and Researcher at Sensing Computing Communications Group (SGCC)
Department of Electrical Engineering
University of Washington
3927 Adams Lane, NE, Mercer Court D805B, 98105
website: http://staff.washington.edu/ekampian/
mail: address@hidden



--
Eleftherios(Lefteris) Kampianakis
Electronics and Computer Engineer
PHD Candidate and Researcher at Sensing Computing Communications Group (SGCC)
Department of Electrical Engineering
University of Washington
3927 Adams Lane, NE, Mercer Court D805B, 98105

reply via email to

[Prev in Thread] Current Thread [Next in Thread]