The Linux Kernel Mailing List
 help / color / mirror / Atom feed
From: George Nychis <gnychis@cmu.edu>
To: Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Cc: discuss-gnuradio@gnu.org
Subject: USB ehci problems with USRP, -71 EPROTO
Date: Wed, 14 Feb 2007 20:01:32 -0500	[thread overview]
Message-ID: <45D3B0EC.8030804@cmu.edu> (raw)

Hey all,

I am having troubles connecting and interfacing to a device called a 
USRP via USB which is used with GNU Radio.  At one time, the setup 
worked perfectly fine with no errors.  Then i tried to give a regular 
user permission to the USB device and everything went downhill.

Now, whenever I plugin the device sometimes I sometimes get the error:
usb 1-7: device descriptor read/all, error -71

Whenever I don't get the error, I try to proceed normally to uploading a 
new image to the USRP and I get the following error from gnuradio:
write_internal_ram failed: error sending control message: Protocol error

This generates the following dmesg errors:
usb 1-7: usbfs: USBDEVFS_CONTROL failed cmd python rqt 64 rq 160 len 3 
ret -71
usb 1-7: usbfs: USBDEVFS_CONTROL failed cmd python rqt 64 rq 160 len 5 
ret -71
usb 1-7: usbfs: USBDEVFS_CONTROL failed cmd python rqt 64 rq 160 len 8 
ret -71
usb 1-7: usbfs: USBDEVFS_CONTROL failed cmd python rqt 64 rq 160 len 3 
ret -71

Another set of errors produced by gnuradio are these:
usrp_open_interface:usb_set_alt_interface: failed
could not set alt intf 0/0: Protocol error
open_nth_cmd_interface: open_cmd_interface failed

-----

I was able to plug the USRP into another machine with GNU Radio and 
successfully flash new firmware to it 100% successfully several times. 
I cannot get a single firmware on using my machine and the USRP.

Heres what else I've tried:
   - un-installing and re-installing GNU Radio
   - switching USB ports on the machine
   - switching USB cables
   - rebuilding the kernel
   - installing a newer version of udev
   - using a different USRP on my machine (doesn't work)

I'm not sure what else to try... heres what I did between when it worked 
and broke, trying to set the USB permissions properly:

-----------------

I tried udev first, and created /etc/udev/rules.d/60-usrp.rules:
# USRP without loaded firmware (FX2)
BUS=="usb", SYSFS{idVendor}=="fffe", SYSFS{idProduct}=="0002", 
SYSFS{bcdDevice}=="0002", GROUP="usrp", RUN+="/usr/local/bin/usrper 
load_standard_bits"
BUS=="usb", SYSFS{idVendor}=="fffe", SYSFS{idProduct}=="0002", 
SYSFS{bcdDevice}=="0004", GROUP="usrp", RUN+="/usr/local/bin/usrper 
load_standard_bits"

# USRP with loaded firmware
BUS=="usb", SYSFS{idVendor}=="fffe", SYSFS{idProduct}=="0002", 
SYSFS{bcdDevice}=="0102", GROUP="usrp"
BUS=="usb", SYSFS{idVendor}=="fffe", SYSFS{idProduct}=="0002", 
SYSFS{bcdDevice}=="0104", GROUP="usrp"

-----------------

So the other method was with hotplug, and i made /etc/hotplug/usb/usrp:
#!/bin/sh
chown root:usb "$DEVICE"
chmod ug+rw "$DEVICE"

and usrp.usermap:
usrp    0x0003  0xfffe  0x0002  0    0  0    0  0       0       0       0

-----------------

I would greatly appreciate any help and suggestions.

Thanks!
George

                 reply	other threads:[~2007-02-15  1:21 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=45D3B0EC.8030804@cmu.edu \
    --to=gnychis@cmu.edu \
    --cc=discuss-gnuradio@gnu.org \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox