Bootloader is not running

Having issues with the site, hardware, source code, or any other issues?
Post Reply
rowan.doherty
Posts: 12
Joined: Fri Mar 01, 2013 4:32 am

Bootloader is not running

Post by rowan.doherty »

Last night I finished installing gnuradio on a fresh Ubuntu 13.04 64-bit install, but I noticed that I can't see the bladeRF in the /dev folder, and the "gnuradio-cli -p" command simply prints a blank line.
I decided to try the device under Windows 7, and after installing the Cypress EZ-USB FX3 SDK software and forcing the three bladeRF USB devices to use the 64bit cyusb3.sys/cyusb3.inf driver, they appeared in the Cypress USB Control Center software.
However, when I click Program->FX3->RAM on any of the three USB devices, I get the message "Bootloader is not running: Please reset your device to download firmware", and no amount of disconnect/reconnecting, hardware reset button or software reset button cycles will fix this error.

Could my bootloader be corrupted?
rowan.doherty
Posts: 12
Joined: Fri Mar 01, 2013 4:32 am

Re: Bootloader is not running

Post by rowan.doherty »

If it means anything, while I can't see the device in Ubuntu, I get the following information from "sudo update-usbids" and "sudo lsusb -vv":

Code: Select all

Bus 006 Device 003: ID 1d50:6066 OpenMoko, Inc. 
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               3.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0         9
  idVendor           0x1d50 OpenMoko, Inc.
  idProduct          0x6066 
  bcdDevice            0.00
  iManufacturer           1 Nuand
  iProduct                2 bladeRF
  iSerial                 0 
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength          114
    bNumInterfaces          3
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0x80
      (Bus Powered)
    MaxPower              100mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass      0 
      bInterfaceProtocol      0 
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x02  EP 2 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0400  1x 1024 bytes
        bInterval               0
        bMaxBurst               1
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       0
      bNumEndpoints           4
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass      0 
      bInterfaceProtocol      0 
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0400  1x 1024 bytes
        bInterval               0
        bMaxBurst              15
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x01  EP 1 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0400  1x 1024 bytes
        bInterval               0
        bMaxBurst              15
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0400  1x 1024 bytes
        bInterval               0
        bMaxBurst               1
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x02  EP 2 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0400  1x 1024 bytes
        bInterval               0
        bMaxBurst              15
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        2
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass      0 
      bInterfaceProtocol      0 
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x02  EP 2 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0400  1x 1024 bytes
        bInterval               0
        bMaxBurst               1
Binary Object Store Descriptor:
  bLength                 5
  bDescriptorType        15
  wTotalLength           22
  bNumDeviceCaps          2
  USB 2.0 Extension Device Capability:
    bLength                 7
    bDescriptorType        16
    bDevCapabilityType      2
    bmAttributes   0x00000002
      Link Power Management (LPM) Supported
  SuperSpeed USB Device Capability:
    bLength                10
    bDescriptorType        16
    bDevCapabilityType      3
    bmAttributes         0x00
      Latency Tolerance Messages (LTM) Supported
    wSpeedsSupported   0x000e
      Device can operate at Full Speed (12Mbps)
      Device can operate at High Speed (480Mbps)
      Device can operate at SuperSpeed (5Gbps)
    bFunctionalitySupport   3
      Lowest fully-functional device speed is SuperSpeed (5Gbps)
    bU1DevExitLat           0 micro seconds
    bU2DevExitLat           0 micro seconds
Device Status:     0x0000
  (Bus Powered)
bpadalino
Posts: 303
Joined: Mon Mar 04, 2013 4:53 pm

Re: Bootloader is not running

Post by bpadalino »

That USB VID/PID is definitely our device. I am not sure why it would come up as the bootloader on all the interfaces in Windows. We'll have to take a look at that.

As for not finding the device, what version of the CLI are you running? We've had some major developments happen over the weekend. It would be good to make sure all previous libraries and executables are uninstalled, and you try rebuilding again.

Coming up as the correct VID/PID Is a very good sign.
rowan.doherty
Posts: 12
Joined: Fri Mar 01, 2013 4:32 am

Re: Bootloader is not running

Post by rowan.doherty »

bpadalino wrote:That USB VID/PID is definitely our device. I am not sure why it would come up as the bootloader on all the interfaces in Windows. We'll have to take a look at that.
I think that could be my fault since I used the default Win7 cyusb3.inf driver file.
Using the "Cypress CyUsb3.sys Programmer's Reference" guide, I tried to edit the default EZ-USB FX3 SDK file for the specific device, but it may still be incorrect because I still get the same result even with the device now showing as "bladeRF" in USB Control Center.
Is there an 'official' Win7 driver to download?
bpadalino wrote:As for not finding the device, what version of the CLI are you running? We've had some major developments happen over the weekend. It would be good to make sure all previous libraries and executables are uninstalled, and you try rebuilding again.
My bladeRF-cli Version is 0.3.0-git-03b7011-dirty
I did notice the github package was fairly new, but the install seemed to go smoothly.
bpadalino wrote:Coming up as the correct VID/PID Is a very good sign.
It's listing correctly from lsusb, but it's still not appearing in the /dev/ directory, and I have no idea how to connect to it via bladeRF-cli (is it bladerf0? bladerf1? bladerf2?).
I'm a Linux noob so I'm guessing there's something I'm doing incorrectly.
rowan.doherty
Posts: 12
Joined: Fri Mar 01, 2013 4:32 am

Re: Bootloader is not running

Post by rowan.doherty »

Ok, it's connecting and flashing now with kb3gtn's new Ubuntu 13.04 tutorial.
I just found it weird that when I first plugged the device in, the device showed as bladerf1 in /dev, but after installing the bladeRF/gnuradio software (and even now when it's connected) it didn't show in /dev.
bpadalino
Posts: 303
Joined: Mon Mar 04, 2013 4:53 pm

Re: Bootloader is not running

Post by bpadalino »

We've had some recent changes which deprecate the linux kernel driver in favor of libusb which gives us more platform support and less possibility of kernel crashes. With the linux kernel, the /dev entry was created, but now with libusb it uses the sysfs entry to operate on which is why there is no /dev/bladerf*.

We still believe in supporting a linux kernel diver, and will get to that development again in the near future. Just to make sure, you can see the device now in linux?
Post Reply