LimeSDR-Mini Confusing USB Behaviors

Dear all

A few days ago I bought a LimeSDR-Mini (v1.2).
When I first connected it to the USB2.0 port on my laptop, the computer (with Windows 10 running) didn’t respond to its insertion. And I couldn’t see any changes in Device Manager. Then I disappointedly connected it to the USB 3.0 port. However this time a device named LimeSDR-Mini was displayed with a yellow warning sign in the Device Manager. After I installed the driver according to the tutorial given by MyriadRF, the Device Manager showed a device named FTDI FT601 USB 3.0 Bridge Device, which is considered to be the signs of properly configured according to MyriadRF. Immediately after, I ran LimeQuickTest_19.04.0.exe on my Windows 10 and passed all the test items it gave. The results are as follows.


[ TESTING STARTED ]
->Start time: Mon Dec 9 13:26:31 2019

->Device: LimeSDR Mini, media=USB 3, module=FT601, serial=1D497789E77A9E, index=0
Serial Number: 1D497789E77A9E

[ Clock Network Test ]
->REF clock test
Test results: 4930; 18127; 31324 - PASSED
->VCTCXO test
Results : 6711005 (min); 6711160 (max) - PASSED
->Clock Network Test PASSED

[ FPGA EEPROM Test ]
->Read EEPROM
->Read data: 12 0C 13 12 0C 13 03
->FPGA EEPROM Test PASSED

[ LMS7002M Test ]
->Perform Registers Test
->External Reset line test
Reg 0x20: Write value 0xFFFD, Read value 0xFFFD
Reg 0x20: value after reset 0x0FFFF
->LMS7002M Test PASSED

[ RF Loopback Test ]
->Configure LMS
->Run Tests (TX_2 -> LNA_W):
CH0 (SXR=1000.0MHz, SXT=1005.0MHz): Result:(-11.9 dBFS, 5.00 MHz) - PASSED
->Run Tests (TX_1 -> LNA_H):
CH0 (SXR=2100.0MHz, SXT=2105.0MHz): Result:(-11.5 dBFS, 5.00 MHz) - PASSED
->RF Loopback Test PASSED

=> Board tests PASSED <=

Elapsed time: 3.48 seconds


Also, I continued to try and ran LimeSuiteGUI_19.04.0.exe and everything seemed to be working fine.
Using the FT600ChipConfigurationProgUtility_v1.3.0.2 program obtained from FTDI, I got the information of USB controller on my LimeSDR-Mini device.


I kept trying.
After I successfully set up the environment(GNU Radio, gqrx, limesuite, gr-osmosdr, etc) on the Raspberry Pi 3B + (with 2019-09-26-raspbian-buster installed) according to the tutorial given by MyriadRF, I connected my LimeSDR-Mini to it.
Unfortunately, my RPi didn’t respond to its insertion, either. I tried using lsusb and got the same results as when no USB device was plugged in. I also tried to use dmesg to view the console messages. However the connection to LimeSDR-Mini was not recorded in echo messages(Every level was checked).
Next, I tried this process on different kinds and models of computers.
I found that no matter what architecture the CPU belongs to (x86 / x64 / arm / arm64), as long as the LimeSDR-Mini was connected to USB2.0 port, the computer would not respond to this event (with Ubuntu / Debian / Windows 8 / Windows 10 running) . Instead, when being connected to a USB 3.0 port, everything worked fine.
In addition, I tried to use a Y-cable to connect my LimeSDR-Mini and two USB2.0 ports on the computer, expecting to provide the current that is greater than 500mA so that potential insufficient power supply may be avoided. But all the computers I tried still did not respond to the event of insertion.
I also tried to update the LimeSDR-Mini with different versions of the Limesuite program and the corresponding * .rpd files. But the problem remained unsolved.
In addition, I found that the status of the indicators on the LimeSDR-Mini board had completely identical behavior when plugging in the USB2.0 port and after plugging in the USB3.0 port.

Has anyone encountered the same disturbing problem?
LimeSDR-Mini should be recognized normally on the USB2.0 port!
Is this frustrating situation related to the wrong setting of the FT601 chip? Or any other mysterious reason?

That is odd… I could imagine it the other way round, given that USB 3.0 uses more lines and so if some of these got damaged, you might then only be able to use USB 2.0. But not sure how the inverse could happen, unless it is something to do with the FTDI device configuration.

@Zack, anything to suggest?

Someone on YouTube has shown connecting LimeSDR-Mini to Raspberry Pi (absolutely before 4th generation) and all the things in these videos proved that it could work perfectly.
And these RPis only come with USB2.0 ports.
However, the videos didn’t show that the version of LimeSDR-Mini is v1.2 or v1.1
All this remains mysterious and frustrating.:thinking:

@Zack

Think he might be out of the office until this coming week…

We’ve using this combination lots and a ton of other folks have too. Technically it’s possibly a bit borderline because the USB 2.0 provides about half the power of USB 3.0, but in practice for most uses it’s not an issue. In any case, it should definitely be detected and if you did have issues, it would be once the app is running and under load.

Should work just fine with either.

Thank you for your technical support.

Because LimeQuickTest gave normal and ideal results, I have always been highly skeptical of the difference between diiferent hardware / software(firmware to be exact) versions.
For example, in the new version of LimeSDR-Mini, the parameters of FTDL are changed, or firmware is updated. And there exists some small issues in the new version.
And by consulting my supplier, all the LimeSDR-Mini devices he owns have the issues I mentioned.

By the way, after watching LimeSDR Mini Tutorial Drivers and Firmware Update on Windows 7/10 at https://www.youtube.com/watch?v=VtFLUNZf4GU, I have tried, as shown in the video, via the menu in LimeSuite Modules-> Programming, to get some updates, and hoped this could kick in.
However, after the operation, I found that it seemed that I just updated a kind of program called Gateware.

Is Gateware(GW) the distinguished name for the program that controls the FPGA?

Is it possible to troubleshoot the problem by replacing the firmware via a biniary file similar to * .hex (I found the MCU tab in LimeSuite)?

You mean to say that all their boards work with USB 3.0 and not USB 2.0? This definitely should not be the case. Who is the supplier? AFAIK the only official ones are Crowd Supply, Mouser and SparkFun. If they are in fact seeing the same issues please ask them to get in touch.

Yes, gateware configures the FPGA logic, hence the name. Though the FPGA can implement a small CPU which in turn has firmware that might be embedded in the FPGA gateware image also (along with the FPGA fabric configuration).

With LimeSDR USB — the original larger board — a Cypress FX3 controller is used instead of an FTDI device and this has firmware, hence with this board you can update firmware for this and gateware for the FPGA.

You can program specific gateware versions and these are available on the downloads server, organised by the corresponding Lime Suite release:

So in each release directory you will see files for the various different boards. However, note that if you use incompatible versions of gateware and Lime Suite this will cause problems. Also we do not generally recommend downgrading and if you encounter any other issues, the first thing we would likely request is that you upgrade to the latest version :slight_smile:

I’m sorry that I did not buy the device from the official suppliers for various reasons. The supplier I talked about is just an electronic component store in my neighborhood. It’s famous for its product quality and good reputation. And he acted as a reliable purchasing agent for me.

All in all, I think that since my device can work normally on USB 3.0 ports, and LimeQuickTest gave good results, the modules behind FT601 chip is less likely to have potential failures.

According to FT60X Chip Configuration Programmer provided by FTDI, obviously some parameters of this FT601 chip on the LimeSDR-Mini board can be changed.


Can you provide these parameters for a device that works fine on a USB 2.0 port? I guess maybe there are some knacks about parameter settings here.

But not sure how the inverse could happen, unless it is something to do with the FTDI device configuration.

@Zack,Can you give me some advice?

Hi @L00pback,

Sorry for late response.
FT601 configuration parameters are the same for USB2 and USB3.
It looks like there is a problem with USB2 interface. Could you visually inspect soldering of USB connector first of all.

Aha, thanks for your reminder. I’ll try to check soldering of the connector under an electronic magnifier or by other methods soon after the end of my vacation, with the help of those drawings at https://github.com/myriadrf/LimeSDR-Mini/tree/master/hardware/1v2

By the way, can USB3.0 connector make the board work well if some pins belonging to old USB2.0 interface inside it are not used at all?(assuming that I always plug it into USB3.0 ports)

I think it’s an interesting question. :thinking:And I can hardly find the answer on Google. I can’t go to my technical department to do some experiments due to this precious vacation. And reading tons of documents to dig out useful info on www.usb.org is too heavy for me. Could you give me any key instructions?@Zack

Yes, it can work.