All read/write fail on my LimeSDR mini

Hi there,
I read many topics on this site to find some way to solve my LimeSDR mini issue. But my LimeSDR mini problem seems to be differ from others. (I’m not sure.)
I’ve purchased a LimeSDR mini from Crowd Supply and I received my one this week. I tried the LimeSDR mini on my Mac and Windows. But it outputs many read/write error and it does not work at all.

How can I setup this LimeSDR mini? I doubt that the FT601 MCU flash is not written correctly. But I can’t find the way to flash FT601 on the LimeSDR mini.

bash-3.2$ SoapySDRUtil --find=“driver=lime”
######################################################

Soapy SDR – the SDR abstraction library

######################################################

Found device 0
addr = 24607:1027
driver = lime
label = FTDI SuperSpeed-FIFO Bridge [USB 3.0] 1
media = USB 3.0
module = FT601
name = FTDI SuperSpeed-FIFO Bridge
serial = 000000000001

bash-3.2$ SoapySDRUtil --probe=“driver=lime”
######################################################

Soapy SDR – the SDR abstraction library

######################################################

Probe device “driver=lime”
[INFO] Make connection: ‘FTDI SuperSpeed-FIFO Bridge [USB 3.0] 1’
libusb: warning [darwin_transfer_status] transfer error: timed out
[ERROR] Read(64 bytes) failed
libusb: warning [darwin_transfer_status] transfer error: timed out
[ERROR] Read(64 bytes) failed
libusb: warning [darwin_transfer_status] transfer error: timed out
[ERROR] Read(64 bytes) failed
libusb: warning [darwin_transfer_status] transfer error: timed out
[ERROR] Write(64 bytes) failed
libusb: warning [darwin_transfer_status] transfer error: timed out
[ERROR] Write(64 bytes) failed
libusb: warning [darwin_transfer_status] transfer error: timed out
[ERROR] Write(64 bytes) failed
[INFO] Device name: UNKNOWN
[INFO] Reference: -1 MHz
libusb: warning [darwin_transfer_status] transfer error: timed out
[ERROR] Write(64 bytes) failed

== many write errors (snipped) ==

LimeSDR-mini do not have firmware like big brother. FT601 is just super fast USB3.0 FIFO data bridge. From FTDI page: “…with no additional firmware development required - just “fit and forget””.
Mini’s “brain” is placed inside FPGA where data are intercepted and if necessary processed.

Thank you for your comment. I understand that FT601 does not need any firmware. But, what should I do? The output of SoapySDRUtil --find seems to be different from others in this site. And no LED light up when I plug my LimeSDR mini to USB port. Is the board broken?

I found SoapySDRUtils’s output for LimeSDR mini in LimeSDR mini: No reception at all

$ SoapySDRUtil --find
:
label = LimeSDR Mini [USB 3.0] 1D3AC710636CDD
:
name = LimeSDR Mini
serial = 1D3AC710636CDD

Output of mine is different in label and name. And the serial seems to be odd.

$ SoapySDRUtil --find=“driver=lime”
:
label = FTDI SuperSpeed-FIFO Bridge [USB 3.0] 1
:
name = FTDI SuperSpeed-FIFO Bridge
serial = 000000000001

For Windows OS starting point should always be Lime Suite (Pothos package), connection to board and read firmware/gateware/LMS7002/EEPROM… versions. IF your board is with older software inside, upgrade to latest version. If your board is ok later you can play with internal hardware registers, FPGA, LMS7002…
BTW my first LimeSDR-USB (new, first time out from sealed plastic bag) was showing almost identical symptoms: only bare FX3 boot loader was visible by Win OS (after removing J17 jumper). Nothing else works! After few insert-removal sequence on different PC, board came alive! Guys from LimeSDR office was surprised and without any reasonable explanation.

I’ve tried LimeUtil --update on my Mac before my first post. Lime Suite could not read firmware versions. Should I try this on Windows to update firmware?

bash-3.2$ LimeUtil --find

  • [FTDI SuperSpeed-FIFO Bridge, media=USB 3.0, module=FT601, addr=24607:1027, serial=000000000001]

bash-3.2$ LimeUtil --update
Connected to [FTDI SuperSpeed-FIFO Bridge [USB 3.0] 1]
libusb: warning [darwin_transfer_status] transfer error: timed out
Read(64 bytes) failed
Update not supported: UNKNOWN[HW=0]

Programming update failed! : Update not supported: UNKNOWN[HW=0]

Could you try using a different USB port and/or cable, and running the update again.

It will be interesting to hear from you what is your PC configuration: motherboard, chipset, additional USB 3.0 card chipset (if any)…
My first PC for LimeSDR tests did not have USB 3.0, so I successfully added PCIEx card with NEC chipset. Later I bought MB with native 3.0 support, again everything works fine. At last I try to build another PC for remote location and again I have to add USB 3.0 PCIEx card but without luck. Chipset was VL805, drivers are installed but LimeSDR-USB and Mini are not working correctly, USB 3.0 Flash drive is only recognized as 2.0 and data transfer is slow (~10MB/s).

My Mac is iMac late 2012. According to the net, it have Intel Z77 Platform Controller Hub. Here is output of Mac OS’s system report. I’ve connected the LimeSDR mini to the port directly (w/o hub).

USB 3.0 Bus:
Host Controller Driver: AppleUSBXHCIPPT
PCI Device ID: 0x1e31
PCI Revision ID: 0x0004
PCI Vendor ID: 0x8086

FTDI SuperSpeed-FIFO Bridge:
Product ID: 0x601f
Vendor ID: 0x0403 (Future Technology Devices International Limited)
Version: 0.00
Serial Number: 000000000001
Speed: Up to 5 Gb/sec
Manufacturer: FTDI
Location ID: 0x14800000 / 13
Current Available (mA): 900
Current Required (mA): 96
Extra Operating Current (mA): 0

I tried LimeUtil --update on other ports, hub and other Mac (MacBook Pro, PCH is HM87) and I get the same output from LimeSDR --update.
I’d like to try it on Windows after I will add USB 3.0 PCI express card to my old PC.

I tried my LimeSDR mini on Windows 10. But the error “Read(64 bytes) failed” was the same. Are there any things what should I try? JTAG?

PC spec

  • Intel Core i7-6700K + Z170 chipset
  • M/B is ASUS Z170M-PLUS (https://www.asus.com/Motherboards/Z170M-PLUS)
  • Windows 10 pro (format entire HDD and clean install)
  • Pothos SDR dev environment (PothosSDR-2018.07.20-vc14-x64.exe)
    (Google chrome and Pothos SDR are installed after Windows 10 pro installation. No other apps are installed.)

USB ports

I tried these 6 ports.

  • USB 3 port x2 (onboard)
  • USB 2 port x2 (onboard)
  • USB 3 port x2 (PCI-express expansion board, NEC uPD720202)

the result

Microsoft Windows [Version 10.0.10586]
© 2016 Microsoft Corporation. All rights reserved.

C:\Users\hanyazou>LimeUtil --find

  • [FTDI SuperSpeed-FIFO Bridge, media=USB 3, module=FT601, serial=000000000001, index=0]

C:\Users\hanyazou>LimeUtil --update
Connected to [FTDI SuperSpeed-FIFO Bridge [USB 3] 1]
Read(64 bytes) failed
Update not supported: UNKNOWN[HW=0]

Programming update failed! : Update not supported: UNKNOWN[HW=0]

C:\Users\hanyazou>LimeUtil --find

  • [FTDI SuperSpeed-FIFO Bridge, media=USB 2, module=FT601, serial=000000000001, index=0]

C:\Users\hanyazou>LimeUtil --update
Connected to [FTDI SuperSpeed-FIFO Bridge [USB 2] 1]
Read(64 bytes) failed
Update not supported: UNKNOWN[HW=0]

Programming update failed! : Update not supported: UNKNOWN[HW=0]

C:\Users\hanyazou>

For Windows download FTDI FT601 utility from:
http://www.ftdichip.com/Support/Utilities/FT600ChipConfigurationProgUtility_v1.3.0.2.zip
Unzip, run FT600ChipConfigurationProg.exe and press “Read Configuration” button. This is from my device:


According to different internet posts various FTDI devices can be “bricked” or just losses configuration and this could be solution for your problem.

Here is mine. It seems to lose the configuration. How can I restore the configuration?

I tried this configuration. But the LimeUtil --update error “Read(64 bytes) failed” was not changed.

Did you try Limesuite? Can you connect to device now?
Because our two Mini will never meet on the same PC use my serial number.
FPGA is next for testing-programming but without JTAG and some guidance from LimeMicro it is hard to tell is your device is damaged or just unprogrammed.
Just to add one crazy glitch for Windows user: if your Windows log-in account contains non standard English characters then application who uses Windows user Temp folder for downloading from internet could be in problem. For example: my account on local PC contains Eastern Europe character (part of my last name) and Limesuite could not download any update. At first I was convinced that problem is SSD RAID configuration because I could not unpack some zip archive downloaded from net. Once I created account with pure English characters everything return to normal.

Thank you for your detailed info. I used your serial number and the configuration bytes were almost the same. (see new screenshot below) Only battery charging GPIO configuration bytes are different, yours is E410 and mine is 0010. I think this can be ignored because ‘Battery Charging Enabled’ is disabled.
And I do remove any non-english characters in the account name. My user folder is ‘C:\Users\hanyazou’.

LimeUtil reports the same error, “Read(64 bytes) failed”.

C:\Users\hanyazou>LimeUtil --find

  • [LimeSDR Mini, media=USB 3, module=FT601, serial=1D3A0ADAAB2BA2, index=0]

C:\Users\hanyazou>LimeUtil --update
Connected to [LimeSDR Mini [USB 3] 1D3A0ADAAB2BA2]
Read(64 bytes) failed
Update not supported: UNKNOWN[HW=0]

Programming update failed! : Update not supported: UNKNOWN[HW=0]

LimeUtil --find gives now identical results as mine but next step is failed because LimeUtil could not read hardware information. I suspect that FPGA is blank. Try to manually download current gateware 1.26 and force programming with command: LimeUtil.exe --fpga=“file_name”
Type LimeUtil.exe --? for all commands.

Could you tell me which file should I use?
I guess one of those files might be used.

I tried .pof file. But it does not work.

C:\Users\hanyazou\Desktop>LimeUtil.exe --find

  • [LimeSDR Mini, media=USB 3, module=FT601, serial=1D3A0ADAAB2BA2, index=0]

C:\Users\hanyazou\Desktop>LimeUtil.exe --fpga=LimeSDR-Mini_lms7_trx_HW_1.2.pof
Connected to [LimeSDR Mini [USB 3] 1D3A0ADAAB2BA2]
Read(64 bytes) failed
Invalid image file

Programming failed! : Read(64 bytes) failed

Supposed to be .rpd file but without FPGA configured first from FLASH there is nothing to redirect commands from FT601 (it is only FIFO device) to FLASH. If I understand correctly FPGA is booting from internal Flash and according: https://www.intel.com/content/dam/altera-www/global/en_US/pdfs/literature/hb/max-10/ug_m10_config.pdf (page 5) .sof files are for RAM (develop phase) and .pof are for internal Flash but with JTAG cable. Initial FPGA configuration is with JTAG adapter and later upgrade can be done with “Remote System Upgrade” (page 13). Please someone correct me if I’m wrong.

I’ve purchased a JTAG tool (ALTERA USB Blaster) and wrote LimeSDR-Mini_lms7_trx_HW_1.2.pof successfully.

My LimeSDR mini seems to be OK for SoapySDR Util --probe. LimeUtil --update still fails however.

bash-3.2$ SoapySDRUtil --probe=“driver=lime”
######################################################

Soapy SDR – the SDR abstraction library

######################################################

Probe device “driver=lime”
[INFO] Make connection: ‘LimeSDR Mini [USB 3.0] 1D3A0ADAAB2BA2’
[INFO] Reference clock 40.00 MHz
[INFO] Device name: LimeSDR-Mini
[INFO] Reference: 4e+07 MHz
[INFO] LMS7002M calibration values caching Disable


– Device identification

driver=FT601
hardware=LimeSDR-Mini
boardSerialNumber=0x1d3a0adaab2ba2
firmwareVersion=5
gatewareVersion=1.26
hardwareVersion=0
protocolVersion=1


– Peripheral summary

Channels: 1 Rx, 1 Tx
Timestamps: YES
Sensors: clock_locked, lms7_temp
Registers: BBIC
GPIOs: MAIN


– RX Channel 0

Full-duplex: YES
Supports AGC: NO
Stream formats: CF32, CS12, CS16
Native format: CS16 [full-scale=2048]
Stream args:
* Buffer Length - The buffer transfer size over the link.
[key=bufferLength, units=samples, default=0, type=int]
* Link Format - The format of the samples over the link.
[key=linkFormat, default=CS16, type=string, options=(CS16, CS12)]
Antennas: NONE, LNAH, LNAL_NC, LNAW
Corrections: DC removal
Full gain range: [-12, 61] dB
TIA gain range: [0, 12] dB
LNA gain range: [0, 30] dB
PGA gain range: [-12, 19] dB
Full freq range: [0, 3800] MHz
RF freq range: [30, 3800] MHz
BB freq range: [-10, 10] MHz
Tune args:
* LO Offset - Tune the LO with an offset and compensate with the baseband CORDIC.
[key=OFFSET, units=Hz, default=0.0, type=float, range=[-1e+07, 1e+07]]
* BB - Specify a specific value for this component or IGNORE to skip tuning it.
[key=BB, units=Hz, default=DEFAULT, type=float, range=[-1e+07, 1e+07], options=(DEFAULT, IGN
ORE)]
Sample rates: [0.1, 65] MSps
Filter bandwidths: [1.4, 130] MHz
Sensors: lo_locked
Other Settings:
* TSP DC Level - Digital DC level in LMS7002M TSP chain.
[key=TSP_CONST, type=int, range=[0, 32767]]


– TX Channel 0

Full-duplex: YES
Supports AGC: NO
Stream formats: CF32, CS12, CS16
Native format: CS16 [full-scale=2048]
Stream args:
* Buffer Length - The buffer transfer size over the link.
[key=bufferLength, units=samples, default=0, type=int]
* Link Format - The format of the samples over the link.
[key=linkFormat, default=CS16, type=string, options=(CS16, CS12)]
Antennas: NONE, BAND1, BAND2
Full gain range: [-12, 64] dB
PAD gain range: [0, 52] dB
IAMP gain range: [-12, 12] dB
Full freq range: [0, 3800] MHz
RF freq range: [30, 3800] MHz
BB freq range: [-10, 10] MHz
Tune args:
* LO Offset - Tune the LO with an offset and compensate with the baseband CORDIC.
[key=OFFSET, units=Hz, default=0.0, type=float, range=[-1e+07, 1e+07]]
* BB - Specify a specific value for this component or IGNORE to skip tuning it.
[key=BB, units=Hz, default=DEFAULT, type=float, range=[-1e+07, 1e+07], options=(DEFAULT, IGN
ORE)]
Sample rates: [0.1, 65] MSps
Filter bandwidths: [5, 40], [50, 130] MHz
Sensors: lo_locked
Other Settings:
* TSP DC Level - Digital DC level in LMS7002M TSP chain.
[key=TSP_CONST, type=int, range=[0, 32767]]

bash-3.2$ LimeUtil --update
Connected to [LimeSDR Mini [USB 3.0] 1D3A0ADAAB2BA2]
–2018-09-01 07:50:05-- http://downloads.myriadrf.org/project/limesuite/18.04/LimeSDR-Mini_HW_1.1_r1.24.rpd
Resolving downloads.myriadrf.org (downloads.myriadrf.org)… 213.138.113.29
Connecting to downloads.myriadrf.org (downloads.myriadrf.org)|213.138.113.29|:80… connected.
HTTP request sent, awaiting response… 200 OK
Length: 577536 (564K)
Saving to: `/Users/hanyazou/.local/share/LimeSuite/images/18.04/LimeSDR-Mini_HW_1.1_r1.24.rpd’

/Users/hanyazou/.local/s 100%[=================================>] 564.00K 244KB/s in 2.3s

2018-09-01 07:50:08 (244 KB/s) - `/Users/hanyazou/.local/share/LimeSuite/images/18.04/LimeSDR-Mini_HW_1.1_r1.24.rpd’ saved [577536/577536]

libusb: warning [darwin_transfer_status] transfer error: timed out
Programming failed! Read operation failed
libusb: warning [darwin_transfer_status] transfer error: timed out
Programming failed! Read operation failed
[ 0%] 0/303104 Bytes Programming failed! Read operation failed (/Users/hanyazou/.local/share/LimeSuite/images/18.04/LimeSDR-Mini_HW_1.1_r1.24.rpd
)
Programming update failed! : Programming failed! Read operation failed

Failure of the update might not a problem because I can update via JTAG. But Gqrx and QubicSDR do not receive any signal. Applications seems to recognize my LimeSDR mini and I can choose the LimeSDR mini in the device list and they don’t show any errors. But nothing will happen. Any ideas? I think any additional settings might be required.



Latest LimeSDR-mini GW is 1.26 from 18.06 release: http://downloads.myriadrf.org/project/limesuite/18.06/
Maybe you have old LimeUtil?
Antenna selection is missing for Gqrx. I haven’t much luck with Cubic on Windows. For the first tests go lower to FM broadcast band. It’s more likely to catch some strong local FM station than week 2.4 GHz WiFi. Peace of wire can be antenna.
From mini Wiki page https://wiki.myriadrf.org/LimeSDR-Mini_v1.2_hardware_description:
Use RX1_H RF input for 2GHz - 3.5GHz frequency range
Use RX1_W RF input for 10MHz - 2GHz frequency range

18.04 is newest version on Mac brew.

I tried on Windows again.
But no antenna selection came up and no signal. (81.3MHz is the freq of local FM station)

I can also confirm that Gqrx is not working with Mini on Win10. Antenna selection is empty.
On Windows try SDRConsole (v3)