Fusb: (rd status -2) No such file or directory

I am getting this error:

fusb: (rd status -2) No such file or directory

What does it mean and what can I do to solve this.
Crazy thing is it doesn’t happen every time I call my rx script.
I tried to pull usrp power plug and usb plug but it did not help.

Johannes

I made a simple example to show how it happens.
It is a problem of lock/unlock in combination with usrp.

Like this the lock unlock disconnect seems to absolutely unusable :frowning:


#!/usr/bin/env python

from gnuradio import gr
from gnuradio import usrp

from time import sleep

class top_block(gr.top_block):
def init(self):
gr.top_block.init(self, “fusb error”)

    self.u = usrp.source_c ()
    self.sink = gr.null_sink(gr.sizeof_gr_complex)
    self.connect(self.u, self.sink)

def reconfigure(self):
    self.lock()
    print 'lock'
    self.unlock()
    print 'unlock'

if name == ‘main’:
app = top_block()
app.start()
#sleep(1)
print ‘start’
app.reconfigure()
print “reconfigured”
sleep(1)
print ‘now stopping’
app.stop()
print ‘stopped’

nick@smidgen:~/Desktop$ geany wat.pl
nick@smidgen:~/Desktop$ chmod u+x wat.pl
nick@smidgen:~/Desktop$ ./wat.pl
start
lock
unlock
reconfigured
now stopping
stopped
nick@smidgen:~/Desktop$

The gr-usrp component has been around, and essentially unchanged, for
some years now, and it’s been used with lock/unlock for that entire
time. Perhaps you can give us more information about your system?

–n

We are running Ubuntu 10.10, I can not look up the kernel version
because I am at home right now but it should be 2.6.35-28.
Do you need further details?

Johannes

This is precisely the problem I’m seeing that kills my USB. I have to
ctrl+c to keep that from happening.

On Fri, May 27, 2011 at 7:28 AM, Johannes S. [email protected]
wrote:

I am getting this error:

fusb: (rd status -2) No such file or directory

What does it mean and what can I do to solve this.
Crazy thing is it doesn’t happen every time I call my rx script.
I tried to pull usrp power plug and usb plug but it did not help.

The error is coming from the kernel. Can you describe your system setup?

Thomas

The error is coming from the kernel. Can you describe your system setup?

We tried to run the code on Ubuntu 10.04, 10.10 and 11.04.
Every time we get the fusb error :frowning:
It seems we have to throw away our USRP1’s and move to USRP2…

Johannes

On 30/05/2011 8:20 AM, Johannes S. wrote:

The error is coming from the kernel. Can you describe your system setup?
We tried to run the code on Ubuntu 10.04, 10.10 and 11.04.
Every time we get the fusb error :frowning:
It seems we have to throw away our USRP1’s and move to USRP2…

Johannes

Have you tried it under UHD?

Hello Marcus,

Have you tried it under UHD?

we did not try it under UHD.
Honestly I don’t have any experience with UHD.
But do you want to say that the “traditional API” is not supported
anymore?
If yes, what is the best way to get started with UHD?

Johannes

On Mon, May 30, 2011 at 5:20 AM, Johannes S. [email protected]
wrote:

We tried to run the code on Ubuntu 10.04, 10.10 and 11.04.
Every time we get the fusb error :frowning:
It seems we have to throw away our USRP1’s and move to USRP2…

I’m not able to reproduce this error with the posted examples. Please
try compiling with the --fusb-tech=libusb1 option and post any error
output. It may not solve the problem, but debugging with libusb is
simpler than debugging through the kernel.

Thomas

On 30/05/2011 9:41 AM, Johannes S. wrote:

we did not try it under UHD.
Honestly I don’t have any experience with UHD.
But do you want to say that the “traditional API” is not supported anymore?
If yes, what is the best way to get started with UHD?

Johannes

The traditional API is no longer under active development, and newer
cards are only supported under UHD. But also, UHD uses
a somewhat different approach to USB interaction, so it’s useful to
get a “differential analysis” to help see what’s going on.

The error message you’re seeing indicates basically that the kernel
thinks the USB device is no longer there–which is not something
that any amount of userland software should be capable of bringing
about by itself. This indicates to me that there’s some kind
of bug in the USB drivers in the kernel, or perhaps the USB machinery
in the FX2 on the USRP1. A big part of the USB machinery on
the FX2 is not handled by the firmware, but rather by a hardware
USB engine deep in the guts of the FX2 chip.

http://ettus-apps.sourcerepo.com/redmine/ettus/projects/uhd/wiki

Takes you to a good starting point for UHD.

On 05/30/2011 07:29 PM, Thomas T. wrote:

Is it conceivable that this particular problem is specific to a
particular type of USB host controller, since various folks
have reported “I can’t make it break”, whereas a couple of folks
(Johannes and Brett) are able to make it break.

Marcus L.
Principal Investigator
Shirleys Bay Radio Astronomy Consortium

In your gnuradio generated code you use run() instead of start()
method and you forgot to put unlock().
After changing this it crashes with fusb error.

2011/5/27 Brett L. Trotter [email protected]:

On 05/30/2011 08:20 AM, Johannes S. wrote:

The error is coming from the kernel. Can you describe your system setup?

We tried to run the code on Ubuntu 10.04, 10.10 and 11.04.
Every time we get the fusb error :frowning:
It seems we have to throw away our USRP1’s and move to USRP2…

Lol dude, its not like that. There are quite a few USRP products, and
some of them are USB based. We will continue to support USRP1 and future
USB based products. Its just that we will support everything through
UHD. And if there is a problem, we will fix it once and fix it right.
http://code.ettus.com/redmine/ettus/projects/uhd/wiki

-Josh

Is it conceivable that this particular problem is specific to a particular
type of USB host controller, since various folks
have reported “I can’t make it break”, whereas a couple of folks (Johannes
and Brett) are able to make it break.

We tried with two different PCs and two IBM Notebooks. It happens
every time. So I am not sure if we can say that it is because of host
controller type.
Maybe it is an Ubuntu specific problem.

Hello Brett,
please use “Reply All” when answering, or send it only to the
mailinglist. But don’t send it only to me.

Of course I inserted unlock somewhere after lock. Also you have to
replace tb.run() with tb.start().

Johannes

2011/5/30 Brett L. Trotter [email protected]:

Hello Thomas,

I’m not able to reproduce this error with the posted examples. Please
try compiling with the --fusb-tech=libusb1 option and post any error
output. It may not solve the problem, but debugging with libusb is
simpler than debugging through the kernel.

Which distribution are you using? Is it Ubuntu as well?
I tried to compile with this option but I am getting the following
error when running configure:

checking for boost >= 1.35… no
configure: error: we could not detect the boost libraries (version
1.35 or higher).
If you are sure you have boost installed, then check your version
number looking in <boost/version.hpp>.

boost 1.42 is installed so I don’t understand this.

Johannes

On Tue, 2011-05-31 at 11:24 +0200, Johannes S. wrote:

Is it conceivable that this particular problem is specific to a particular
type of USB host controller, since various folks
have reported “I can’t make it break”, whereas a couple of folks (Johannes
and Brett) are able to make it break.

We tried with two different PCs and two IBM Notebooks. It happens
every time. So I am not sure if we can say that it is because of host
controller type.

You gotta be more specific. “IBM Notebooks” doesn’t tell us what USB
controller it is. At least give us the output of “lspci”.

Maybe it is an Ubuntu specific problem.

I’m running an IBM Notebook (a Lenovo x220) on Ubuntu 11.04 x86_64 and
mine works OK on both the legacy and UHD drivers.

–n

You gotta be more specific. “IBM Notebooks” doesn’t tell us what USB
controller it is. At least give us the output of “lspci”.

Actually our two Lab PC seem to have the same USB Controller:

“00:1d.0 USB Controller: Intel Corporation 82801JI (ICH10 Family) USB
UHCI Controller”

But I tried on another machine which has nvidia MCP61 USB Controller

The IBM Notebook (T61) has a Intel 82801H Controller.

USRP Revision is 4.2 (at least the one I have on my desktop)

-Johannes

I found that our gnuradio is based on a version from git from “Thu Feb
11 08:18:46 2010”
But there are some patches and changes from our side so it is not so
easy for us to just jump to the newest version
Today I compiled the newest version from git to see what happens with
the example code and I don’t get the fusb problem anymore.
Does anybody know which patch resolved the issue?

Johannes