[USRP-users] B210 Initialization Issue

Caceres, Earvin ECaceres at lgsinnovations.com
Tue Oct 13 14:58:25 EDT 2015


Hello,

I've been having an issue with getting the b210 to initialize correctly that I was hoping to get some help on. The issue seems related to the USB3 interface. The following is a description of my setup:

Centos 7 OS (CentOS Linux release 7.0.1406 Core)
UHD v 3.9.1
Powered from USB3 only (i.e. no external power)
TCXO GPSDO

I can reproduce the failure with a basic test using the init_usrp example application. When the OS boots, I run init_usrp and I see the following:

./init_usrp
linux; GNU C++ version 4.4.7 20120313 (Red Hat 4.4.7-11); Boost_105500; UHD_003.008.004-0-unknown


Creating the usrp device with: ...
-- Loading firmware image: /usr/share/uhd/images/usrp_b200_fw.hex... done

UHD Error:
    Device discovery error: EnvironmentError: IOError: Failed to read EEPROM (-1: LIBUSB_ERROR_CODE -1)
    Error: LookupError: KeyError: No devices found for ----->
    Empty Device Address

I also tried using the b2xx_fx3_utils tool to load the firmware and FPGA in two separate steps but could not get this to work either. The failure is similar:

./b2xx_fx3_utils --load-fw /usr/share/uhd/images/usrp_b200_fw.hex
linux; GNU C++ version 4.4.7 20120313 (Red Hat 4.4.7-11); Boost_105500; UHD_003.008.004-0-unknown

Device opened (VID=0x2500,PID=0x0020)
B2xx detected... Control of B2xx granted...

Loading firmware
-- Loading firmware image: /usr/share/uhd/images/usrp_b200_fw.hex... done
Device opened (VID=0x2500,PID=0x0020)
Firmware loaded
Operation complete!  I did it!  I did it!

./b2xx_fx3_utils --load-fpga /usr/share/uhd/images/usrp_b210_fpga.bin
linux; GNU C++ version 4.4.7 20120313 (Red Hat 4.4.7-11); Boost_105500; UHD_003.008.004-0-unknown

Device opened (VID=0x2500,PID=0x0020)
B2xx detected... Control of B2xx granted...

Loading firmware
-- Loading firmware image: /usr/share/uhd/images/usrp_b200_fw.hex...Exception while loading firmware: EnvironmentError: IOError: usrp_load_firmw

The dmesg output shows the following in both cases:

[    1.301155] usb 3-1: new high-speed USB device number 2 using xhci_hcd
[    1.312745] usb 3-1: New USB device found, idVendor=2500, idProduct=0020
[    1.312748] usb 3-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[    1.312750] usb 3-1: Product: WestBridge
[    1.312751] usb 3-1: Manufacturer: Cypress
[    1.312752] usb 3-1: SerialNumber: 0000000004BE
[  172.662046] usb 4-1: new SuperSpeed USB device number 2 using xhci_hcd
[  172.674419] usb 4-1: New USB device found, idVendor=2500, idProduct=0020
[  172.674422] usb 4-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[  172.674423] usb 4-1: Product: USRP B200
[  172.674425] usb 4-1: Manufacturer: Ettus Research LLC
[  172.674426] usb 4-1: SerialNumber: 307B5DE

There have been some rare occasions where the b210 successfully initializes and in these cases, I've seen the following message in the kernel logs which seems to indicate that the FX3 device has been released during the init process:

[   31.671120] usb 3-1: USB disconnect, device number 2

If I programmatically reset the FX3 device (see http://cpansearch.perl.org/src/DPAVLIN/Biblio-RFID-0.03/examples/usbreset.c) after the firmware is downloaded to force it to disconnect, I can download the FPGA and this seems to initialize the b210 correctly. At this point I can use the rx_samples_to_file tool to do data captures.

So my workaround right now to initialize the b210 is to take the following steps in this order:


1.       Use b2xx_fx3_utils to load the firmware

2.       Programatically reset the FX3 device to disconnect it (i.e. the usb 3-1 device in the example above)

3.       Use b2xx_fx3_utils to load the FPGA

This lets us do what we need right now but I wanted to see if anyone has come across this issue or has any ideas on how to test/debug this further to clean up this process.

Thanks,
Earvin
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ettus.com/pipermail/usrp-users_lists.ettus.com/attachments/20151013/431d688e/attachment-0002.html>


More information about the USRP-users mailing list