Error: Read(64 bytes) failed Write(64 bytes) failed

Hi all

I made a program using the LimeSuiteAPI(LMS API). The program and the board were working quite well until now. In the last two weeks I started to get these errors “Read/Write (64 bytes) fail” message while the program was running (program execution is interrupted before it can ends lossing all the information that was collected before the error appeared).

Looking in the forum I discovered that the problem I am experiencing is very similar to the problem detailed in these two post:

The problem is intermittent: sometimes I am able to run the program from start to end successfully many times one after another, and sometimes I can’t run it even a single time.

The problem tends to manifest more when the ambient temperature is low (specially when the board is started from cold). Connecting the board a few minutes before it’s use (warming-up) ussually helps to avoid the error. If the board is cooled with a fan the problem appears more frequently during it’s operation (I always have a fan cooling the LimeSDR, the fan is totally independent from the Lime).

As and example I have run the LimeQuickTest twice:
1-first one with the board connected from cold (result: the read/write error appears and the result is -Board tests FAILED- , see execution result below)
2-board is connected and left a few minutes warmup before running the Test (result: Board tests PASSED)

Connecting to the board (from a cold start) using the GUI can also show up the Read/Write error. Sometimes I am able to run the QuickTest (selftest.ini) from the GUI with out problems, and sometimes the QuickTest freezes (data transfer stops) and the read/write error appears in the info/log section of the GUI.

The board is useless for my project as the problem becomes more frequent.
I would like to hear Lime’s experts comments/solutions on this issue.

Regards
Mauro

mauro@ln:~$ LimeQuickTest
[ TESTING STARTED ]
->Start time: Tue May 14 20:55:30 2019

Read(64 bytes) failed
Gateware version mismatch!
Expected gateware version 2, revision 20
But found version 0, revision 0
Follow the FW and FPGA upgrade instructions:
Lime Suite - Myriad-RF Wiki
Or run update on the command line: LimeUtil --update

Read(64 bytes) failed
Read(64 bytes) failed
Read(64 bytes) failed
->Device: LimeSDR-USB, media=USB 3.0, module=FX3, addr=1d50:6108, serial=0009072C02872519
Serial Number: 0009072C02872519
Read(64 bytes) failed

[ Clock Network Test ]
->FX3 GPIF clock test
Read(64 bytes) failed
Read(64 bytes) failed
->FX3 GPIF clock test FAILED
->Si5351C test
Read(64 bytes) failed
Read(64 bytes) failed
FAILED
->ADF4002 Test
Read(64 bytes) failed
FAILED
->VCTCXO test
Read(64 bytes) failed
FAILED
->Clock Network Test FAILED

[ FPGA EEPROM Test ]
->Read EEPROM
->Read data: 12 07 17 12 07 17 02
->FPGA EEPROM Test PASSED

[ LMS7002M Test ]
->Perform Registers Test
Read(64 bytes) failed
SPI_write() failed
Read(64 bytes) failed
SPI_write() failed
Read(64 bytes) failed
SPI_write() failed
Read(64 bytes) failed
Read(64 bytes) failed
Read(64 bytes) failed
Read(64 bytes) failed
Read(64 bytes) failed
->LMS7002M Test FAILED

[ RF Loopback Test ]
Note: The test should be run without anything connected to RF ports
->Configure LMS
Read(64 bytes) failed
Read(64 bytes) failed
Read(64 bytes) failed
Read(64 bytes) failed
Read(64 bytes) failed
Read(64 bytes) failed
Read(64 bytes) failed
Read(64 bytes) failed
Read(64 bytes) failed
Read(64 bytes) failed
Read(64 bytes) failed
Read(64 bytes) failed
Read(64 bytes) failed
Read(64 bytes) failed
Read(64 bytes) failed
SetFrequencyCGEN(491.52 MHz) failed
Failed to set sample rate
->RF Loopback Test FAILED

=> Board tests FAILED <=

Elapsed time: 0.16 seconds

mauro@ln:~$
mauro@ln:~$
mauro@ln:~$ LimeUtil --update
Connected to [LimeSDR-USB [USB 3.0] 9072C02872519]
Read(64 bytes) failed
Gateware version mismatch!
Expected gateware version 2, revision 20
But found version 0, revision 0
Follow the FW and FPGA upgrade instructions:
Lime Suite - Myriad-RF Wiki
Or run update on the command line: LimeUtil --update

Read(64 bytes) failed
Existing firmware is same as update (4)
[100%] 579832/579832 Bytes programming: completed (/usr/share/LimeSuite/images/19.01/LimeSDR-USB_HW_1.4_r2.20.rbf)
Programming update complete!
mauro@ln:~$
mauro@ln:~$
mauro@ln:~$ LimeQuickTest
[ TESTING STARTED ]
->Start time: Tue May 14 20:55:58 2019

Read(64 bytes) failed
->Device: LimeSDR-USB, media=USB 3.0, module=FX3, addr=1d50:6108, serial=0009072C02872519
Serial Number: 0009072C02872519

[ Clock Network Test ]
->FX3 GPIF clock test
Read(64 bytes) failed
Test results: 19638; 23394; 27150 - PASSED
->Si5351C test
CLK0: 17554 / 17554 - PASSED
CLK1: 17554 / 17554 - PASSED
CLK2: 17554 / 17554 - PASSED
CLK3: 17554 / 17554 - PASSED
CLK4: 17554 / 17554 - PASSED
CLK5: 17554 / 17554 - PASSED
CLK6: 17554 / 17554 - PASSED
->ADF4002 Test
Result: 10 - PASSED
->VCTCXO test
Read(64 bytes) failed
FAILED
->Clock Network Test FAILED

[ FPGA EEPROM Test ]
->Read EEPROM
->Read data: 12 07 17 12 07 17 02
->FPGA EEPROM Test PASSED

[ LMS7002M Test ]
->Perform Registers Test
Read(64 bytes) failed
->LMS7002M Test FAILED

[ RF Loopback Test ]
Note: The test should be run without anything connected to RF ports
->Configure LMS
Read(64 bytes) failed
Read(64 bytes) failed
Read(64 bytes) failed
Read(64 bytes) failed
Read(64 bytes) failed
Read(64 bytes) failed
Read(64 bytes) failed
Read(64 bytes) failed
Read(64 bytes) failed
Read(64 bytes) failed
Read(64 bytes) failed
Read(64 bytes) failed
Read(64 bytes) failed
Read(64 bytes) failed
Read(64 bytes) failed
Read(64 bytes) failed
Read(64 bytes) failed
Read(64 bytes) failed
Read(64 bytes) failed
Read(64 bytes) failed
Read(64 bytes) failed
TuneVCO(CGEN) - failed to lock (cmphl!=0)
SetFrequencyCGEN(80 MHz) failed
TuneVCO(CGEN) - failed to lock (cmphl!=0)
SetFrequencyCGEN(491.52 MHz) failed
Failed to set sample rate
->RF Loopback Test FAILED

=> Board tests FAILED <=

Elapsed time: 2.69 seconds

Board connected and wait some time to warmup before running the LimeQuickTest:

mauro@ln:~$ LimeQuickTest
[ TESTING STARTED ]
->Start time: Tue May 14 21:02:52 2019

->Device: LimeSDR-USB, media=USB 3.0, module=FX3, addr=1d50:6108, serial=0009072C02872519
Serial Number: 0009072C02872519

[ Clock Network Test ]
->FX3 GPIF clock test
Test results: 21266; 25022; 28778 - PASSED
->Si5351C test
CLK0: 17555 / 17554 - PASSED
CLK1: 17555 / 17554 - PASSED
CLK2: 17555 / 17554 - PASSED
CLK3: 17555 / 17554 - PASSED
CLK4: 17555 / 17554 - PASSED
CLK5: 17555 / 17554 - PASSED
CLK6: 17555 / 17554 - PASSED
->ADF4002 Test
Result: 10 - PASSED
->VCTCXO test
Results : 5112975 (min); 5113115 (max) - PASSED
->Clock Network Test PASSED

[ FPGA EEPROM Test ]
->Read EEPROM
->Read data: 12 07 17 12 07 17 02
->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 ]
Note: The test should be run without anything connected to RF ports
->Configure LMS
->Run Tests (TX_2-> LNA_L):
CH0 (SXR=800.0MHz, SXT=805.0MHz): Result:(-13.9 dBFS, 5.00 MHz) - PASSED
CH1 (SXR=800.0MHz, SXT=805.0MHz): Result:(-16.1 dBFS, 5.00 MHz) - PASSED
->Run Tests (TX_1 → LNA_W):
CH0 (SXR=1800.0MHz, SXT=1805.0MHz): Result:(-17.4 dBFS, 5.00 MHz) - PASSED
CH1 (SXR=1800.0MHz, SXT=1805.0MHz): Result:(-18.1 dBFS, 5.00 MHz) - PASSED
->Run Tests (TX_2-> LNA_H):
CH0 (SXR=2500.0MHz, SXT=2505.0MHz): Result:(-17.4 dBFS, 5.00 MHz) - PASSED
CH1 (SXR=2500.0MHz, SXT=2505.0MHz): Result:(-13.5 dBFS, 5.00 MHz) - PASSED
->RF Loopback Test PASSED

=> Board tests PASSED <=

Elapsed time: 1.52 seconds

Hi @mauro,

It looks like FX3 of FPGA soldering issue. Check with Crowd Supply if RMA is applicable.

Hi Zack,

Thanks for the answer.
As you said it looks like HW problem (soldering issue). No chance to be related to firmware bug, correct?

Hi @mauro,

Correct.