SDR not working with USB 3.0

Hello All,

I kindly need assistance:
I think there might be something wrong with the SDR. I have connected a limeSDR to ubuntu 16.04 OS.
It doesn’t show up when connected with USB 3.0 cable as per below:

/: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/8p, 5000M

/: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/16p, 480M

|__ Port 3: Dev 2, If 0, Class=Hub, Driver=hub/4p, 12M

    |__ Port 1: Dev 4, If 2, Class=Human Interface Device, Driver=usbhid, 12M

    |__ Port 1: Dev 4, If 0, Class=Human Interface Device, Driver=usbhid, 12M

|__ Port 9: Dev 3, If 0, Class=Wireless, Driver=btusb, 12M

|__ Port 9: Dev 3, If 1, Class=Wireless, Driver=btusb, 12M

It only shows up when I have a USB 2.0 cable connected as highlited below:

/: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/8p, 5000M

/: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/16p, 480M

|__ Port 2: Dev 13, If 0, Class=Vendor Specific Class, Driver=, 480M

|__ Port 3: Dev 2, If 0, Class=Hub, Driver=hub/4p, 12M

    |__ Port 1: Dev 4, If 2, Class=Human Interface Device, Driver=usbhid, 12M

    |__ Port 1: Dev 4, If 0, Class=Human Interface Device, Driver=usbhid, 12M

|__ Port 9: Dev 3, If 0, Class=Wireless, Driver=btusb, 12M

|__ Port 9: Dev 3, If 1, Class=Wireless, Driver=btusb, 12M

I have tested the USB 3.0 extension cable with other devices and it works ok.

/: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/8p, 5000M

|__ Port 1: Dev 4, If 0, Class=Mass Storage, Driver=uas, 5000M

/: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/16p, 480M

|__ Port 2: Dev 13, If 0, Class=Vendor Specific Class, Driver=, 480M

|__ Port 3: Dev 2, If 0, Class=Hub, Driver=hub/4p, 12M

    |__ Port 1: Dev 4, If 2, Class=Human Interface Device, Driver=usbhid, 12M

    |__ Port 1: Dev 4, If 0, Class=Human Interface Device, Driver=usbhid, 12M

|__ Port 9: Dev 3, If 0, Class=Wireless, Driver=btusb, 12M

|__ Port 9: Dev 3, If 1, Class=Wireless, Driver=btusb, 12M

Hello,

since you seem to have a general usb connection problem, I will respond to this thread since you opened two. First, I can confirm that many USB 3.0 cables may cause several sort of problems.

Second, do you get any kernel message when you connect your device to an USB2 or USB3.0 port? You could run sudo dmesg -w and then try connecting your device. You should see some lines prefixed with usb BUS-PORT popping up. Hit CTRL+C to leave the follow mode of dmesg.

A connection with USB 2 should read similar to this

[ 553.488751] usb 2-6: new high-speed USB device number 24 using xhci_hcd

A connection with USB 3.0 should read similar to this

[ 2817.390621] usb 4-10: new SuperSpeed Gen 1 USB device number 7 using xhci_hcd

In case of too low supply power, it might look like this. This happened for 100 mA assigned on an USB 2 port over two meter of cable. However, I could at least connect with one meter of cable to the device.

[ 14.262978] usb usb2-port6: Cannot enable. Maybe the USB cable is bad?
[ 15.230814] usb usb2-port6: Cannot enable. Maybe the USB cable is bad?
[ 15.230881] usb usb2-port6: attempt power cycle
[ 16.514614] usb usb2-port6: Cannot enable. Maybe the USB cable is bad?
[ 17.482317] usb usb2-port6: Cannot enable. Maybe the USB cable is bad?
[ 17.482393] usb usb2-port6: unable to enumerate USB device

If you can see the device, could you please check the maximum current assigned to the Lime on this port? lsusb -vd 1d50:6108 | grep MaxPower, for me it reads 400 mA on USB 3.0 which works fine with cable lengths up to three meters. Please note that assigned power might differ for particular devices.

Finally, what do the FX3 PWR LEDs indicate if you connect it via USB 3.0?

This one line makes me wonder how long exactly is your USB 3.0 extension cable ? The longer the cable is the more of a voltage drop there will be across the cable. So even if the voltage at the USB 3.0 port on your computer is fully within specification at 5 volts (+0.25V/−0.55V), with a long cable there could be a considerable voltage drop under load across the cable itself. And this drop in voltage (which is actually heating the cable - “I squared R losses”) would mean that there may not be enough power available for some high power devices to function correctly, but other much lower power devices will still function fine with less power.

Hi @mzs @Dominik

  1. the length of the extension cable is 0.6m(also note that when i connect the limesdr directly in the usb 3.0 port, it shows up as 2.0 )
    2a. sudo dmesg -w (this command with USB 2.0 cable show this:)
    61000
    [29403.214251] usb 1-2: USB disconnect, device number 6
    [29452.774361] usb 1-2: new high-speed USB device number 7 using xhci_hcd
    [29452.945367] usb 1-2: New USB device found, idVendor=1d50, idProduct=6108
    [29452.945369] usb 1-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
    [29452.945370] usb 1-2: Product: LimeSDR-USB
    [29452.945371] usb 1-2: Manufacturer: Myriad-RF
    [29452.945372] usb 1-2: SerialNumber: 00090726074F3626

2b. it shows this when there is no limesdr or 3.0 cable connected with the same command:
61000

[29733.458424] usb 1-2: USB disconnect, device number 7
[30092.040470] usb 1-2: new high-speed USB device number 8 using xhci_hcd
[30092.210510] usb 1-2: New USB device found, idVendor=1d50, idProduct=6108
[30092.210512] usb 1-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[30092.210514] usb 1-2: Product: LimeSDR-USB
[30092.210534] usb 1-2: Manufacturer: Myriad-RF
[30092.210535] usb 1-2: SerialNumber: 00090726074F3626
[30174.910873] usb 1-2: USB disconnect, device number 8
[30186.663754] usb 1-2: new high-speed USB device number 9 using xhci_hcd
[30186.833906] usb 1-2: New USB device found, idVendor=1d50, idProduct=6108
[30186.833908] usb 1-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[30186.833909] usb 1-2: Product: LimeSDR-USB
[30186.833910] usb 1-2: Manufacturer: Myriad-RF
[30186.833911] usb 1-2: SerialNumber: 00090726074F3626
[30242.434498] usb 1-2: USB disconnect, device number 9

  1. user@user-desktop:~$ lsusb -vd 1d50:6108 | grep MaxPower
    MaxPower 100mA
    (When USB 2.0 is connected. Command doesn’t work when 3.0 cable is connected)
    4.a The lead lights shows steady green/yellow(not sure exactly)
    and blinking red(when 3.0 cable is connected)
    4b. steady green/yellow light(usb 2.0 connected)

Thank you.

Hello @kwadwobrainy,

if I read your original lsusb -t output correctly, your Lime device 13 works when connected to Bus 01 Port 2 (this is usb 1-2) which seems to be an USB 2 hub (port) only. You may check with lsusb -s 01:

Did you try connecting the Lime with either cable to this USB 2 (Bus 01 Port 2) port?
What happens?

The other device seems to have been connected to Bus 02 Port 1 (this would be USB2-1 which is strange since this port is reserved for the hub). Could you please verify you tested the correct USB 3.0 port? You can identify these by their five additional pins (https://www.usb3.com/usb3-Apinout-600.jpg).

Then, please try connecting your Lime with either cable to the identified USB 3.0 port as well.
What happens?

So you have USB 2 and USB 3.0 cables and suitable USB2 (EHCI) and USB3 (xHCI) buses and physical controllers. See lspci -v | grep -i usb. I have the strong suspicion that you connected it to USB2.

This will likely cause problems if you intend using this USB 2 port configuration. Maybe try an external power supply or check again when USB 3.0 is functional at another port. It typically allows more power.

Actually, I noticed that other devices may request more current from exactly the same port. I did not fully understand this yet.

I just received my LimeSDR-USB Type-A . I was having USB 3.0 drop out issues even while idle until I plugged in an external power source. It has been stable since, even overnight. I had updated the firmware without external power right away but fortunately it was successful. The condition appears worse on my laptop (USB3) as it won’t connect at all without the external power but with it, all is well. Maybe its better to just consider external power as most often required and highly recommended?

@Grimmace I think i will consider external power as well. kindly advise what capacity of adaptor i should purchase.

@Dominik
Please, the intel NUCs(they are 2) i am working with have no USB 2.0 ports. The three ports are both USB 3.0(type A) and 1 type C and i have tried both type A’s. The problem is when i connect the lime directly to the USB ports on the PC’s, it doesn’t work at all(i am unable to see it when i lsusb)
When i connect a USB 2.0 extension cable to the Lime, it shows as per below:
/: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/8p, 5000M

/: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/16p, 480M

|__ Port 2: Dev 13, If 0, Class=Vendor Specific Class, Driver=, 480M

|__ Port 3: Dev 2, If 0, Class=Hub, Driver=hub/4p, 12M

    |__ Port 1: Dev 4, If 2, Class=Human Interface Device, Driver=usbhid, 12M

    |__ Port 1: Dev 4, If 0, Class=Human Interface Device, Driver=usbhid, 12M

|__ Port 9: Dev 3, If 0, Class=Wireless, Driver=btusb, 12M

|__ Port 9: Dev 3, If 1, Class=Wireless, Driver=btusb, 12M

I have tried it on a laptop and it shows as USB 2.0 when connected directly, with a USB 2.0 extension cable or with a USB 3.0 extension cable to a USB 3.0 port.
Thanks. kindly advise.

@kwadwobrainy I’m not exactly qualified to say but I believe 2 amps should be more than sufficient.

@kwadwobrainy If you use an USB 2 cable for connection, it will look very similar to an USB 2 port.

Could you please show me the output of

lspci -v | grep -i usb

usb-devices | grep -A 9 Lev=00

? Both gives information on your controllers. Some configurations might have problems with this as well. Intel recommends to check the driver or the bios in theses cases, see https://www.intel.com/content/www/us/en/support/articles/000005507/software/chipset-software.html.

Do you see any reaction if you start udevadm monitor and then connect it to your USB port?

Can you do some diagnosis on the laptop? Unfortunately, it might also suffer from the prior issues.

Maybe one last idea to check the physical connection. Does it still connect if you attach the device over the USB 3.0 cable trailing the USB 2 cable (and vice versa)? If you take a look at the lower picture on https://www.intel.com/content/www/us/en/support/articles/000016222/intel-nuc/intel-nuc-kits.html, at least some Intel NUC might have issues with too short USB connectors on the front panel.

Regarding the Lime, you could further check physical damage to the SDR’s connector. I don’t think it will help much but you might also try to update the FX3 firmware at some point (last is from end 2017).

@kwadwobrainy I saw another post by @andrewback stating that the manual says 2 to 3 amps. However he felt 2.5 to 3 amps was a better idea. Depends on application too. Can’t hurt to go big. I was lucky enough to find one in my recycle pile ready to go.

@Dominik In relation to below, I have attached a picture of my NUCs. the usb looks well seated and i have tried numerous times to adjust the cables as well.

From what I understand current intel NUCs “don’t have any option in BIOS to disable xHCI, this was removed in later devices due to recent operating systems natively supporting USB3.0”
https://forums.intel.com/s/question/0D50P0000490WHlSAM/nuc7i3bnh-and-disabling-xhci?language=en_US

kindly see below as requested.
A. lspci -v | grep -i usb`

~lspci -v | grep -i usb
00:14.0 USB controller: Intel Corporation 100 Series/C230 Series Chipset Family USB 3.0 xHCI Controller (rev 31) (prog-if 30 [XHCI])
Subsystem: Intel Corporation Sunrise Point-H USB 3.0 xHCI Controller

B. usb-devices | grep -A 9 Lev=00`
command shows nothing

udevadm monitor

~$ udevadm monitor
monitor will print the received events for:
UDEV - the event which udev sends out after rule processing
KERNEL - the kernel uevent

KERNEL[236766.627268] add /devices/pci0000:00/0000:00:14.0/usb1/1-2 (usb)
KERNEL[236766.630933] add /devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2:1.0 (usb)
KERNEL[236766.631095] bind /devices/pci0000:00/0000:00:14.0/usb1/1-2 (usb)
UDEV [236766.669312] add /devices/pci0000:00/0000:00:14.0/usb1/1-2 (usb)
UDEV [236766.675730] add /devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2:1.0 (usb)
UDEV [236766.681281] bind /devices/pci0000:00/0000:00:14.0/usb1/1-2 (usb)
KERNEL[236767.261957] add /devices/parport0/ppdev0.0 (parport)
KERNEL[236767.262025] bind /devices/parport0/ppdev0.0 (parport)
KERNEL[236767.262187] unbind /devices/parport0/ppdev0.0 (parport)
KERNEL[236767.262235] remove /devices/parport0/ppdev0.0 (parport)
UDEV [236767.265228] add /devices/parport0/ppdev0.0 (parport)
UDEV [236767.266868] bind /devices/parport0/ppdev0.0 (parport)
UDEV [236767.268520] unbind /devices/parport0/ppdev0.0 (parport)
UDEV [236767.269870] remove /devices/parport0/ppdev0.0 (parport)
KERNEL[236771.650063] add /devices/parport0/ppdev0.0 (parport)
KERNEL[236771.650093] bind /devices/parport0/ppdev0.0 (parport)
UDEV [236771.651147] add /devices/parport0/ppdev0.0 (parport)
UDEV [236771.651735] bind /devices/parport0/ppdev0.0 (parport)
KERNEL[236771.696544] unbind /devices/parport0/ppdev0.0 (parport)
KERNEL[236771.696600] remove /devices/parport0/ppdev0.0 (parport)
UDEV [236771.699505] unbind /devices/parport0/ppdev0.0 (parport)
UDEV [236771.701038] remove /devices/parport0/ppdev0.0 (parport)

I have also gotten another limesdr and I have a similar problem. It doesn’t work when i use a different USB 3.0 extension cables. I have a steady green light on one side and a blinking red light on the other 20200505_173947 side when i connect the sdr I now have 3 different USB 3.0 extension cables and 2 limeSDR’s.
I just can’t figure out what the cause of the problem is at the moment.

@Grimmace
Thanks for the information

@Grimmace Can an adaptor that says 5v to 15v and up to 5amp work for the limesdr? Thanks

@kwadwobrainy i don’t know exactly what you mean. As in adjustable? Can you set it? I would try to set it within the spec of the lime between 6 to 12 volts. Can you connect a multi-meter and also under a load? In a lower quality power supply the voltage will fluctuate especially under a load. You may introduce noise as well. I plan to look for an upgrade to mine but I put the cord two turns through a snap on ferrite core bead (magnet) and on the short USB3 as well to try to lower the noise floor. I really haven’t had time to read the manual myself. I’m just listening aside from a couple loop-back tests so my power requirements should be lower for now. My real next trouble isn’t the lime or the usb but it seems my budget cpu (i3-6100/z170) can’t hang with the bandwidth of the lime usb even on its own bus. I have to turn off the waterfall in sdrangel to stop dropping usb packets but even so I can’t utilize the lime anywhere near its full bandwidth with my current software or multitask well. I have to close other applications like HD streams for sure!! This could be a problem overlooked by many. I have 3 usb controllers 2/3/3.1 and dedicated the 3 to lime. Back to power… I’m thinking a quality router psu of >= 2.5 amps, ferrite, and an on/off switch where I splice the cord with the right connector. Grounding and isolation, my lime is in a closet adjacent to my computer. I haven’t gotten the noise floor as low as my rtl but the learning curve is a bit steeper with the lime and I want to try the onboard before the noolec flamingo(fantastic for lowering FM broadcast radio noise/harmonics) I use on the rtl-sdr. I’ve even gone through my home power grounding to make improvements. I digress. I’d stay within the spec that is in the manual. A 5 amp supply shouldn’t fluctuate.

This will give you a bit more USB info than what you did. Specifically what version USB the device is operating on.

sudo lsusb -vvv |grep -i -B5 -A5 bcdUSB

The Lime is the one called “OpenMoko, Inc.”

Also aforementioned your NUCs aren’t much more powerful than my now old desktop (i3-6100/z170). With that hardware I could barely get more than 6m samples before dropping packets in sdrangel (w/o soapy). I updated my mainboard and cpu for only $220 at micro center which was a drive away for me. With a Ryzen 5 3600 and a cheap b450 board I now can do 31m samples, click other apps and even watch an FHD atsc1 stream without packet loss. Depending on post processing and layers of abstraction in your software I don’t know how much bandwidth your nucs can process. Has definitely lowered my expectations of how much I can do on a Pi (or Pi source compiled on OpenWrt, although router hardware is designed for bandwidth.). … I hope this isn’t too far off topic but will also affect your USB performance if the packets have nowhere to go. Maybe I just need a software buffer somewhere. I’m sure configurations will improve but for now I’ll just throw a tiny bit of iron at it.


I get my miles out of stuff. Why not? It’s really quiet.