Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

BladeRF unusable due to "wait_for_buffer: Timed out waiting for buf_ready" errors #849

Open
akoun opened this issue Jan 5, 2022 · 7 comments

Comments

@akoun
Copy link

akoun commented Jan 5, 2022

Hello
I try to test BladeRF under Pothos (built from source) and I get strange errors when using the bladerf soapy sink

[22:22:54.214000] SoapySDR: bladerf_open_with_devinfo()
[22:22:54.394000] SoapySDR: bladerf_get_serial() = 1d62a870f59e65fdd231ced37787b03a
[22:22:54.401000] SoapySDR: setSampleRate(Rx, 0, 4.000000 MHz), actual = 4.000000 MHz
[22:22:54.409000] SoapySDR: setSampleRate(Tx, 0, 4.000000 MHz), actual = 4.000000 MHz
[22:22:54.417000] SoapySDR: setSampleRate(Rx, 0, 4.800000 MHz), actual = 4.800000 MHz
[22:22:54.421000] ::1: [INFO @ fpga_common/src/lms.c:2258] Clamping frequency to 237500000Hz
[22:23:04.972000] ::1: [INFO @ fpga_common/src/lms.c:2258] Clamping frequency to 237500000Hz
[22:23:05.017000] : 0
[22:23:05.248000] ::1: [ERROR @ host/libraries/libbladeRF/src/streaming/sync.c:336] wait_for_buffer: Timed out waiting for buf_ready after 1 ms
[22:23:05.249000] ::1: [ERROR @ host/libraries/libbladeRF/src/streaming/sync.c:336] wait_for_buffer: Timed out waiting for buf_ready after 1 ms
[22:23:05.250000] ::1: [ERROR @ host/libraries/libbladeRF/src/streaming/sync.c:336] wait_for_buffer: Timed out waiting for buf_ready after 1 ms
[22:23:05.348000] ::1: [ERROR @ host/libraries/libbladeRF/src/streaming/sync.c:336] wait_for_buffer: Timed out waiting for buf_ready after 1 ms
[22:23:05.349000] ::1: [ERROR @ host/libraries/libbladeRF/src/streaming/sync.c:336] wait_for_buffer: Timed out waiting for buf_ready after 1 ms
[22:23:05.350000] ::1: [ERROR @ host/libraries/libbladeRF/src/streaming/sync.c:336] wait_for_buffer: Timed out waiting for buf_ready after 1 ms
[22:23:05.447000] ::1: [ERROR @ host/libraries/libbladeRF/src/streaming/sync.c:336] wait_for_buffer: Timed out waiting for buf_ready after 1 ms
[22:23:05.448000] ::1: [ERROR @ host/libraries/libbladeRF/src/streaming/sync.c:336] wait_for_buffer: Timed out waiting for buf_ready after 1 ms
[22:23:05.449000] ::1: [ERROR @ host/libraries/libbladeRF/src/streaming/sync.c:336] wait_for_buffer: Timed out waiting for buf_ready after 1 ms
[22:23:05.547000] ::1: [ERROR @ host/libraries/libbladeRF/src/streaming/sync.c:336] wait_for_buffer: Timed out waiting for buf_ready after 1 ms
.....

the flowgraph is stuck and does not do anything. In gnuradio-companion the BladeRF source behaves similarly but curiously when gr-osmosdr source everything works nicely.

If somebody can help I'd greatly appreciate because I am completely stuck with this.
best regards
aK

@akoun
Copy link
Author

akoun commented Jan 6, 2022

Hello,

I was able to resolve my problem of usb transfer time-outs. Here is the workaround:
I downgraded the FPGA image to:
2019-07-31 - v0.11.0
and the FX3 firmware to:
2018-12-16 - v2.3.2

and then the errors disappeared...

I am under Debian bookworm with libbladerf 0.2021.10-2 (I was planning to downgrade this as well to 0.2019.07-7 but finally it was not necessary).

I hope this can be helpful because I chased my tail around for a while with this one.

cheers,
aK

@bmigunov
Copy link

bmigunov commented Jan 11, 2022

I think that I have similar issues on bladeRF x40 (host libraries & bladeRF-cli built from sources, latest FX3 and FPGA images downloaded from Nuand resources). I haven't managed to calibrate the device. Also tried to change USB ports on my host and had different messages depending on whether I used Hi-Speed or SuperSpeed, so at first I thought it was host-side issue somehow related to USB backend only.

Here's the verbose cal lms output:

[DEBUG @ /mnt/workspace/personal/src/Nuand/bladeRF/fpga_common/src/lms.c:2449] Calibrating module 00:00
[DEBUG @ /mnt/workspace/personal/src/Nuand/bladeRF/fpga_common/src/lms.c:2521] DC_REGVAL: 23
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/host/libraries/libbladeRF/src/driver/si5338.c:282] Reading MS2
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/host/libraries/libbladeRF/src/driver/si5338.c:291] Read enable register: 0x03
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/host/libraries/libbladeRF/src/driver/si5338.c:300] Read regs[0]: 0x66
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/host/libraries/libbladeRF/src/driver/si5338.c:300] Read regs[1]: 0x9c
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/host/libraries/libbladeRF/src/driver/si5338.c:300] Read regs[2]: 0x08
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/host/libraries/libbladeRF/src/driver/si5338.c:300] Read regs[3]: 0x00
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/host/libraries/libbladeRF/src/driver/si5338.c:300] Read regs[4]: 0x00
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/host/libraries/libbladeRF/src/driver/si5338.c:300] Read regs[5]: 0x00
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/host/libraries/libbladeRF/src/driver/si5338.c:300] Read regs[6]: 0x05
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/host/libraries/libbladeRF/src/driver/si5338.c:300] Read regs[7]: 0x00
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/host/libraries/libbladeRF/src/driver/si5338.c:300] Read regs[8]: 0x00
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/host/libraries/libbladeRF/src/driver/si5338.c:300] Read regs[9]: 0x00
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/host/libraries/libbladeRF/src/driver/si5338.c:310] Read r register: 0xc8
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/host/libraries/libbladeRF/src/driver/si5338.c:149] Unpacked P1: 0x00009c66 (40038) P2: 0x00000002 (2) P3: 0x00000005 (5)
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/host/libraries/libbladeRF/src/driver/si5338.c:168] Unpacked a + b/c: 316 + 4/5
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/host/libraries/libbladeRF/src/driver/si5338.c:169] Unpacked r: 4
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/host/libraries/libbladeRF/src/driver/si5338.c:339] Calculated multisynth frequency: 1000000 + 0/1
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/host/libraries/libbladeRF/src/driver/si5338.c:528] Setting integer sample rate: 3000000
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/host/libraries/libbladeRF/src/driver/si5338.c:377] Found r value of: 1
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/host/libraries/libbladeRF/src/driver/si5338.c:386] MSx a + b/c: 422 + 2/5
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/host/libraries/libbladeRF/src/driver/si5338.c:415] MSx a + b/c: 422 + 2/5
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/host/libraries/libbladeRF/src/driver/si5338.c:204] MSx P1: 0x0000d133 (53555) P2: 0x00000001 (1) P3: 0x00000005 (5)
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/host/libraries/libbladeRF/src/driver/si5338.c:339] Calculated multisynth frequency: 3000000 + 0/1
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/host/libraries/libbladeRF/src/driver/si5338.c:228] Writing MS2
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/host/libraries/libbladeRF/src/driver/si5338.c:237] Wrote enable register: 0x03
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/host/libraries/libbladeRF/src/driver/si5338.c:251] Wrote regs[0]: 0x33
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/host/libraries/libbladeRF/src/driver/si5338.c:251] Wrote regs[1]: 0xd1
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/host/libraries/libbladeRF/src/driver/si5338.c:251] Wrote regs[2]: 0x04
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/host/libraries/libbladeRF/src/driver/si5338.c:251] Wrote regs[3]: 0x00
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/host/libraries/libbladeRF/src/driver/si5338.c:251] Wrote regs[4]: 0x00
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/host/libraries/libbladeRF/src/driver/si5338.c:251] Wrote regs[5]: 0x00
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/host/libraries/libbladeRF/src/driver/si5338.c:251] Wrote regs[6]: 0x05
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/host/libraries/libbladeRF/src/driver/si5338.c:251] Wrote regs[7]: 0x00
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/host/libraries/libbladeRF/src/driver/si5338.c:251] Wrote regs[8]: 0x00
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/host/libraries/libbladeRF/src/driver/si5338.c:251] Wrote regs[9]: 0x00
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/host/libraries/libbladeRF/src/driver/si5338.c:266] Wrote r register: 0xc0
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/host/libraries/libbladeRF/src/driver/si5338.c:545] Set actual integer sample rate: 3000000
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/host/libraries/libbladeRF/src/backend/usb/nios_access.c:429] nios_config_read: Read 0x0000002f
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/host/libraries/libbladeRF/src/backend/usb/nios_access.c:440] nios_config_write: Wrote 0x0003002f
[DEBUG @ /mnt/workspace/personal/src/Nuand/bladeRF/host/libraries/libbladeRF/src/board/bladerf1/bladerf1.c:1337] Enable channel: TX - True
[DEBUG @ /mnt/workspace/personal/src/Nuand/bladeRF/host/libraries/libbladeRF/src/streaming/sync.c:1001] sync_tx: Worker is now running.
[DEBUG @ /mnt/workspace/personal/src/Nuand/bladeRF/host/libraries/libbladeRF/src/board/bladerf1/bladerf1.c:1337] Enable channel: TX - False
[ERROR @ /mnt/workspace/personal/src/Nuand/bladeRF/host/libraries/libbladeRF/src/backend/usb/libusb.c:1089] Transfer timed out for buffer 0x55a74ae31170
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/host/libraries/libbladeRF/src/driver/si5338.c:377] Found r value of: 4
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/host/libraries/libbladeRF/src/driver/si5338.c:386] MSx a + b/c: 316 + 4/5
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/host/libraries/libbladeRF/src/driver/si5338.c:415] MSx a + b/c: 316 + 4/5
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/host/libraries/libbladeRF/src/driver/si5338.c:204] MSx P1: 0x00009c66 (40038) P2: 0x00000002 (2) P3: 0x00000005 (5)
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/host/libraries/libbladeRF/src/driver/si5338.c:339] Calculated multisynth frequency: 1000000 + 0/1
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/host/libraries/libbladeRF/src/driver/si5338.c:228] Writing MS2
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/host/libraries/libbladeRF/src/driver/si5338.c:237] Wrote enable register: 0x03
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/host/libraries/libbladeRF/src/driver/si5338.c:251] Wrote regs[0]: 0x66
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/host/libraries/libbladeRF/src/driver/si5338.c:251] Wrote regs[1]: 0x9c
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/host/libraries/libbladeRF/src/driver/si5338.c:251] Wrote regs[2]: 0x08
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/host/libraries/libbladeRF/src/driver/si5338.c:251] Wrote regs[3]: 0x00
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/host/libraries/libbladeRF/src/driver/si5338.c:251] Wrote regs[4]: 0x00
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/host/libraries/libbladeRF/src/driver/si5338.c:251] Wrote regs[5]: 0x00
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/host/libraries/libbladeRF/src/driver/si5338.c:251] Wrote regs[6]: 0x05
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/host/libraries/libbladeRF/src/driver/si5338.c:251] Wrote regs[7]: 0x00
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/host/libraries/libbladeRF/src/driver/si5338.c:251] Wrote regs[8]: 0x00
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/host/libraries/libbladeRF/src/driver/si5338.c:251] Wrote regs[9]: 0x00
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/host/libraries/libbladeRF/src/driver/si5338.c:266] Wrote r register: 0xc8
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/fpga_common/src/lms.c:363] VCOCAP estimate: 35
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/fpga_common/src/lms.c:1683] ---- Frequency ----
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/fpga_common/src/lms.c:1684]   x        : 2
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/fpga_common/src/lms.c:1685]   nint     : 129
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/fpga_common/src/lms.c:1686]   nfrac    : 3145728
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/fpga_common/src/lms.c:1687]   freqsel  : 0x2c
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/fpga_common/src/lms.c:1688]   reference: 38400000
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/fpga_common/src/lms.c:1689]   freq     : 2484000000
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/fpga_common/src/lms.c:1825] Writing VCOCAP=35
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/fpga_common/src/lms.c:1810] VTUNE_BUSY_WAIT(50)
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/fpga_common/src/lms.c:2092] Estimate NORM: Walking up to HIGH.
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/fpga_common/src/lms.c:1825] Writing VCOCAP=34
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/fpga_common/src/lms.c:1810] VTUNE_BUSY_WAIT(25)
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/fpga_common/src/lms.c:1825] Writing VCOCAP=33
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/fpga_common/src/lms.c:1810] VTUNE_BUSY_WAIT(25)
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/fpga_common/src/lms.c:1825] Writing VCOCAP=32
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/fpga_common/src/lms.c:1810] VTUNE_BUSY_WAIT(25)
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/fpga_common/src/lms.c:1825] Writing VCOCAP=31
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/fpga_common/src/lms.c:1810] VTUNE_BUSY_WAIT(25)
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/fpga_common/src/lms.c:1825] Writing VCOCAP=30
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/fpga_common/src/lms.c:1810] VTUNE_BUSY_WAIT(25)
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/fpga_common/src/lms.c:1825] Writing VCOCAP=29
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/fpga_common/src/lms.c:1810] VTUNE_BUSY_WAIT(25)
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/fpga_common/src/lms.c:1932] VTUNE high @ VCOCAP=29
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/fpga_common/src/lms.c:1825] Writing VCOCAP=41
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/fpga_common/src/lms.c:2134] Waiting for VTUNE LOW @ VCOCAP=41,
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/fpga_common/src/lms.c:2002] VTUNE reached LOW at iteration 0
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/fpga_common/src/lms.c:2139] Walking VTUNE LOW to NORM from VCOCAP=41,
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/fpga_common/src/lms.c:1825] Writing VCOCAP=40
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/fpga_common/src/lms.c:1810] VTUNE_BUSY_WAIT(25)
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/fpga_common/src/lms.c:1825] Writing VCOCAP=39
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/fpga_common/src/lms.c:1810] VTUNE_BUSY_WAIT(25)
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/fpga_common/src/lms.c:1971] VTUNE NORM @ VCOCAP=39
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/fpga_common/src/lms.c:1972] VTUNE LOW @ VCOCAP=40
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/fpga_common/src/lms.c:2185] VTUNE LOW:   40
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/fpga_common/src/lms.c:2186] VTUNE NORM:  34
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/fpga_common/src/lms.c:2187] VTUNE Est:   35 (1)
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/fpga_common/src/lms.c:2189] VTUNE HIGH:  29
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/fpga_common/src/lms.c:1825] Writing VCOCAP=34
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/fpga_common/src/lms.c:1810] VTUNE_BUSY_WAIT(25)
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/fpga_common/src/lms.c:363] VCOCAP estimate: 31
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/fpga_common/src/lms.c:1683] ---- Frequency ----
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/fpga_common/src/lms.c:1684]   x        : 2
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/fpga_common/src/lms.c:1685]   nint     : 127
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/fpga_common/src/lms.c:1686]   nfrac    : 3757397
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/fpga_common/src/lms.c:1687]   freqsel  : 0x2c
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/fpga_common/src/lms.c:1688]   reference: 38400000
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/fpga_common/src/lms.c:1689]   freq     : 2446999999
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/fpga_common/src/lms.c:1825] Writing VCOCAP=31
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/fpga_common/src/lms.c:1810] VTUNE_BUSY_WAIT(50)
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/fpga_common/src/lms.c:2092] Estimate NORM: Walking up to HIGH.
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/fpga_common/src/lms.c:1825] Writing VCOCAP=30
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/fpga_common/src/lms.c:1810] VTUNE_BUSY_WAIT(25)
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/fpga_common/src/lms.c:1825] Writing VCOCAP=29
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/fpga_common/src/lms.c:1810] VTUNE_BUSY_WAIT(25)
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/fpga_common/src/lms.c:1825] Writing VCOCAP=28
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/fpga_common/src/lms.c:1810] VTUNE_BUSY_WAIT(25)
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/fpga_common/src/lms.c:1825] Writing VCOCAP=27
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/fpga_common/src/lms.c:1810] VTUNE_BUSY_WAIT(25)
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/fpga_common/src/lms.c:1825] Writing VCOCAP=26
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/fpga_common/src/lms.c:1810] VTUNE_BUSY_WAIT(25)
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/fpga_common/src/lms.c:1932] VTUNE high @ VCOCAP=26
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/fpga_common/src/lms.c:1825] Writing VCOCAP=38
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/fpga_common/src/lms.c:2134] Waiting for VTUNE LOW @ VCOCAP=38,
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/fpga_common/src/lms.c:2002] VTUNE reached LOW at iteration 0
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/fpga_common/src/lms.c:2139] Walking VTUNE LOW to NORM from VCOCAP=38,
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/fpga_common/src/lms.c:1825] Writing VCOCAP=37
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/fpga_common/src/lms.c:1810] VTUNE_BUSY_WAIT(25)
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/fpga_common/src/lms.c:1825] Writing VCOCAP=36
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/fpga_common/src/lms.c:1810] VTUNE_BUSY_WAIT(25)
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/fpga_common/src/lms.c:1971] VTUNE NORM @ VCOCAP=36
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/fpga_common/src/lms.c:1972] VTUNE LOW @ VCOCAP=37
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/fpga_common/src/lms.c:2185] VTUNE LOW:   37
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/fpga_common/src/lms.c:2186] VTUNE NORM:  31
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/fpga_common/src/lms.c:2187] VTUNE Est:   31 (0)
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/fpga_common/src/lms.c:2189] VTUNE HIGH:  26
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/fpga_common/src/lms.c:1825] Writing VCOCAP=31
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/fpga_common/src/lms.c:1810] VTUNE_BUSY_WAIT(25)
[DEBUG @ /mnt/workspace/personal/src/Nuand/bladeRF/fpga_common/src/lms.c:2449] Calibrating module 30:00
[DEBUG @ /mnt/workspace/personal/src/Nuand/bladeRF/fpga_common/src/lms.c:2521] DC_REGVAL: 31
[DEBUG @ /mnt/workspace/personal/src/Nuand/bladeRF/fpga_common/src/lms.c:2781] DC_REGVAL suboptimal value - retrying DC cal loop.
[DEBUG @ /mnt/workspace/personal/src/Nuand/bladeRF/fpga_common/src/lms.c:2449] Calibrating module 30:00
[DEBUG @ /mnt/workspace/personal/src/Nuand/bladeRF/fpga_common/src/lms.c:2521] DC_REGVAL: 0
[DEBUG @ /mnt/workspace/personal/src/Nuand/bladeRF/fpga_common/src/lms.c:2788] Bad DC_REGVAL detected. DC cal failed.
[DEBUG @ /mnt/workspace/personal/src/Nuand/bladeRF/fpga_common/src/lms.c:2875] DC Cal retry limit reached
[WARNING @ /mnt/workspace/personal/src/Nuand/bladeRF/fpga_common/src/lms.c:3032] DC Calibration (module=1) failed to converge.
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/host/libraries/libbladeRF/src/backend/usb/nios_access.c:1249] RX1 trigger read value 0x08
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/host/libraries/libbladeRF/src/backend/usb/nios_access.c:1249] RX1 trigger read value 0x08
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/host/libraries/libbladeRF/src/backend/usb/nios_access.c:1289] RX1 trigger write value 0x00
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/host/libraries/libbladeRF/src/backend/usb/nios_access.c:1249] TX1 trigger read value 0x08
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/host/libraries/libbladeRF/src/backend/usb/nios_access.c:1249] TX1 trigger read value 0x08
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/host/libraries/libbladeRF/src/backend/usb/nios_access.c:1289] TX1 trigger write value 0x00
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/host/libraries/libbladeRF/src/backend/usb/nios_access.c:1122] Clearing RX1 retune queue.
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/host/libraries/libbladeRF/src/backend/usb/nios_access.c:1145] RX1 operation duration: 21
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/host/libraries/libbladeRF/src/backend/usb/nios_access.c:1122] Clearing TX1 retune queue.
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/host/libraries/libbladeRF/src/backend/usb/nios_access.c:1145] TX1 operation duration: 22

And here's the verbose cal dc rx output:

[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/host/libraries/libbladeRF/src/driver/si5338.c:282] Reading MS1
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/host/libraries/libbladeRF/src/driver/si5338.c:291] Read enable register: 0x01
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/host/libraries/libbladeRF/src/driver/si5338.c:300] Read regs[0]: 0x66
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/host/libraries/libbladeRF/src/driver/si5338.c:300] Read regs[1]: 0x9c
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/host/libraries/libbladeRF/src/driver/si5338.c:300] Read regs[2]: 0x08
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/host/libraries/libbladeRF/src/driver/si5338.c:300] Read regs[3]: 0x00
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/host/libraries/libbladeRF/src/driver/si5338.c:300] Read regs[4]: 0x00
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/host/libraries/libbladeRF/src/driver/si5338.c:300] Read regs[5]: 0x00
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/host/libraries/libbladeRF/src/driver/si5338.c:300] Read regs[6]: 0x05
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/host/libraries/libbladeRF/src/driver/si5338.c:300] Read regs[7]: 0x00
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/host/libraries/libbladeRF/src/driver/si5338.c:300] Read regs[8]: 0x00
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/host/libraries/libbladeRF/src/driver/si5338.c:300] Read regs[9]: 0x00
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/host/libraries/libbladeRF/src/driver/si5338.c:310] Read r register: 0xc8
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/host/libraries/libbladeRF/src/driver/si5338.c:149] Unpacked P1: 0x00009c66 (40038) P2: 0x00000002 (2) P3: 0x00000005 (5)
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/host/libraries/libbladeRF/src/driver/si5338.c:168] Unpacked a + b/c: 316 + 4/5
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/host/libraries/libbladeRF/src/driver/si5338.c:169] Unpacked r: 4
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/host/libraries/libbladeRF/src/driver/si5338.c:339] Calculated multisynth frequency: 1000000 + 0/1
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/host/libraries/libbladeRF/src/driver/si5338.c:528] Setting integer sample rate: 3000000
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/host/libraries/libbladeRF/src/driver/si5338.c:377] Found r value of: 1
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/host/libraries/libbladeRF/src/driver/si5338.c:386] MSx a + b/c: 422 + 2/5
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/host/libraries/libbladeRF/src/driver/si5338.c:415] MSx a + b/c: 422 + 2/5
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/host/libraries/libbladeRF/src/driver/si5338.c:204] MSx P1: 0x0000d133 (53555) P2: 0x00000001 (1) P3: 0x00000005 (5)
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/host/libraries/libbladeRF/src/driver/si5338.c:339] Calculated multisynth frequency: 3000000 + 0/1
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/host/libraries/libbladeRF/src/driver/si5338.c:228] Writing MS1
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/host/libraries/libbladeRF/src/driver/si5338.c:237] Wrote enable register: 0x01
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/host/libraries/libbladeRF/src/driver/si5338.c:251] Wrote regs[0]: 0x33
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/host/libraries/libbladeRF/src/driver/si5338.c:251] Wrote regs[1]: 0xd1
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/host/libraries/libbladeRF/src/driver/si5338.c:251] Wrote regs[2]: 0x04
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/host/libraries/libbladeRF/src/driver/si5338.c:251] Wrote regs[3]: 0x00
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/host/libraries/libbladeRF/src/driver/si5338.c:251] Wrote regs[4]: 0x00
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/host/libraries/libbladeRF/src/driver/si5338.c:251] Wrote regs[5]: 0x00
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/host/libraries/libbladeRF/src/driver/si5338.c:251] Wrote regs[6]: 0x05
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/host/libraries/libbladeRF/src/driver/si5338.c:251] Wrote regs[7]: 0x00
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/host/libraries/libbladeRF/src/driver/si5338.c:251] Wrote regs[8]: 0x00
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/host/libraries/libbladeRF/src/driver/si5338.c:251] Wrote regs[9]: 0x00
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/host/libraries/libbladeRF/src/driver/si5338.c:266] Wrote r register: 0xc0
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/host/libraries/libbladeRF/src/driver/si5338.c:545] Set actual integer sample rate: 3000000
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/host/libraries/libbladeRF/src/backend/usb/nios_access.c:429] nios_config_read: Read 0x0003002f
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/host/libraries/libbladeRF/src/backend/usb/nios_access.c:440] nios_config_write: Wrote 0x0003002f
[DEBUG @ /mnt/workspace/personal/src/Nuand/bladeRF/host/libraries/libbladeRF/src/board/bladerf1/bladerf1.c:1337] Enable channel: RX - True
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/host/libraries/libbladeRF/src/backend/usb/nios_access.c:501] nios_get_timestamp: Read RX timestamp: 350
[DEBUG @ /mnt/workspace/personal/src/Nuand/bladeRF/host/libraries/libbladeRF/src/board/bladerf1/bladerf1.c:2034] Setting RX1 frequency to 2484000000
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/fpga_common/src/lms.c:363] VCOCAP estimate: 35
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/fpga_common/src/lms.c:1683] ---- Frequency ----
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/fpga_common/src/lms.c:1684]   x        : 2
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/fpga_common/src/lms.c:1685]   nint     : 129
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/fpga_common/src/lms.c:1686]   nfrac    : 3145728
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/fpga_common/src/lms.c:1687]   freqsel  : 0x2c
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/fpga_common/src/lms.c:1688]   reference: 38400000
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/fpga_common/src/lms.c:1689]   freq     : 2484000000
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/host/libraries/libbladeRF/src/backend/usb/nios_access.c:1124] nios_retune: channel=RX1 timestamp=0 nint=129 nfrac=3145728
				freqsel=0x2c vcocap=0x23 low_band=0 quick_tune=0
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/host/libraries/libbladeRF/src/backend/usb/nios_access.c:1142] RX1 retune operation: vcocap=34, duration=1958
[DEBUG @ /mnt/workspace/personal/src/Nuand/bladeRF/host/libraries/libbladeRF/src/streaming/sync.c:433] sync_rx: Worker is idle. Going to reset buf mgmt.
[DEBUG @ /mnt/workspace/personal/src/Nuand/bladeRF/host/libraries/libbladeRF/src/streaming/sync.c:454] sync_rx: Reset buf_mgmt consumer index
[DEBUG @ /mnt/workspace/personal/src/Nuand/bladeRF/host/libraries/libbladeRF/src/streaming/sync.c:469] sync_rx: Worker is now running.
[DEBUG @ /mnt/workspace/personal/src/Nuand/bladeRF/host/libraries/libbladeRF/src/streaming/sync.c:597] Sample discontinuity detected @ buffer 58, message 2: Expected t=945727, got t=945728
[DEBUG @ /mnt/workspace/personal/src/Nuand/bladeRF/host/libraries/libbladeRF/src/streaming/sync.c:597] Sample discontinuity detected @ buffer 61, message 24: Expected t=1005789, got t=1005790
[ERROR @ /mnt/workspace/personal/src/Nuand/bladeRF/host/libraries/libbladeRF/src/backend/usb/libusb.c:1089] Transfer timed out for buffer 0x564f45c84170
[DEBUG @ /mnt/workspace/personal/src/Nuand/bladeRF/host/libraries/libbladeRF/src/board/bladerf1/bladerf1.c:1337] Enable channel: RX - False
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/host/libraries/libbladeRF/src/driver/si5338.c:377] Found r value of: 4
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/host/libraries/libbladeRF/src/driver/si5338.c:386] MSx a + b/c: 316 + 4/5
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/host/libraries/libbladeRF/src/driver/si5338.c:415] MSx a + b/c: 316 + 4/5
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/host/libraries/libbladeRF/src/driver/si5338.c:204] MSx P1: 0x00009c66 (40038) P2: 0x00000002 (2) P3: 0x00000005 (5)
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/host/libraries/libbladeRF/src/driver/si5338.c:339] Calculated multisynth frequency: 1000000 + 0/1
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/host/libraries/libbladeRF/src/driver/si5338.c:228] Writing MS1
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/host/libraries/libbladeRF/src/driver/si5338.c:237] Wrote enable register: 0x01
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/host/libraries/libbladeRF/src/driver/si5338.c:251] Wrote regs[0]: 0x66
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/host/libraries/libbladeRF/src/driver/si5338.c:251] Wrote regs[1]: 0x9c
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/host/libraries/libbladeRF/src/driver/si5338.c:251] Wrote regs[2]: 0x08
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/host/libraries/libbladeRF/src/driver/si5338.c:251] Wrote regs[3]: 0x00
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/host/libraries/libbladeRF/src/driver/si5338.c:251] Wrote regs[4]: 0x00
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/host/libraries/libbladeRF/src/driver/si5338.c:251] Wrote regs[5]: 0x00
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/host/libraries/libbladeRF/src/driver/si5338.c:251] Wrote regs[6]: 0x05
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/host/libraries/libbladeRF/src/driver/si5338.c:251] Wrote regs[7]: 0x00
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/host/libraries/libbladeRF/src/driver/si5338.c:251] Wrote regs[8]: 0x00
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/host/libraries/libbladeRF/src/driver/si5338.c:251] Wrote regs[9]: 0x00
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/host/libraries/libbladeRF/src/driver/si5338.c:266] Wrote r register: 0xc8
[DEBUG @ /mnt/workspace/personal/src/Nuand/bladeRF/host/libraries/libbladeRF/src/board/bladerf1/bladerf1.c:2034] Setting TX1 frequency to 2446999999
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/fpga_common/src/lms.c:363] VCOCAP estimate: 31
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/fpga_common/src/lms.c:1683] ---- Frequency ----
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/fpga_common/src/lms.c:1684]   x        : 2
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/fpga_common/src/lms.c:1685]   nint     : 127
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/fpga_common/src/lms.c:1686]   nfrac    : 3757397
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/fpga_common/src/lms.c:1687]   freqsel  : 0x2c
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/fpga_common/src/lms.c:1688]   reference: 38400000
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/fpga_common/src/lms.c:1689]   freq     : 2446999999
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/host/libraries/libbladeRF/src/backend/usb/nios_access.c:1124] nios_retune: channel=TX1 timestamp=0 nint=127 nfrac=3757397
				freqsel=0x2c vcocap=0x1f low_band=0 quick_tune=0
[VERBOSE @ /mnt/workspace/personal/src/Nuand/bladeRF/host/libraries/libbladeRF/src/backend/usb/nios_access.c:1142] TX1 retune operation: vcocap=31, duration=585

  Error: Operation timed out

Part of the info output:

  USB speed:                SuperSpeed
  Backend:                  libusb

Subsequent downgrade of the FPGA image only to the v0.11.1 version solved the problem (it has appeared since v0.12.0, where the "packet mode" has been introduced).

@ratzrattillo
Copy link

I am experiencing the same issue.
Is there a statement from @Nuand regarding this issue?

Downgrading cannot be a solution on the long run.

@ratzrattillo
Copy link

ratzrattillo commented Jul 6, 2022

Let me show you a simple example of a transmission, running on Windows and Linux:

bladeRF> version

  bladeRF-cli version:        1.8.0
  libbladeRF version:         2.4.1

  Firmware version:           2.4.0-git-a3d5c55f
  FPGA version:               0.14.0 (configured from SPI flash)`

Example Code in Rust:

File main.rs:

use futuresdr::blocks::{Apply, SoapySinkBuilder};
use futuresdr::runtime::Flowgraph;
use futuresdr::anyhow::Result;
use futuresdr::blocks::audio::Oscillator;
use futuresdr::num_complex::{Complex32};
use futuresdr::runtime::buffer::slab::Slab;
use futuresdr::runtime::Runtime;

const SAMPLE_RATE: f64 = 3_072_000.0;
const FREQUENCY: f64 = 330e6;

fn main() -> Result<()> {
    let mut fg = Flowgraph::new();

    let src = fg.add_block(Oscillator::new(440.0, 1., SAMPLE_RATE as f32));
    let modulator = fg.add_block(Apply::new(move |v: &f32| -> Complex32 {
        Complex32::new(*v, *v)
    }));
    let soapy_snk = fg.add_block(SoapySinkBuilder::new().freq(FREQUENCY).sample_rate(SAMPLE_RATE).gain(0.0).filter("driver=bladerf").build());

    fg.connect_stream_with_type(src, "out", modulator, "in", Slab::with_size(4096))?;
    fg.connect_stream_with_type(modulator, "out", soapy_snk, "in", Slab::with_size(4096))?;

    let runtime = Runtime::new();
    runtime.run(fg)?;
    Ok(())
}

File Cargo.toml:

[package]
name = "morse_code"
version = "0.1.0"
edition = "2021"

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[dependencies]
futuresdr = { version = "*", features = [ "soapy" ]}

Dependencies required to compile and reproduce on Ubuntu 20.04:

sudo add-apt-repository ppa:nuandllc/bladerf
sudo apt update
sudo apt install bladerf clang, llvm, libsoapysdr-dev
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

Build:

cargo build --release

When running this program, we get teh following results and transmittion of the carrier at 330MHz stops after few seconds:

./target/release/program
FutureSDR: INFO - bladerf_open_with_devinfo()
[INFO @ host/libraries/libbladeRF/src/helpers/version.c:79] Firmware version (v2.4.0) is newer than entries in libbladeRF's compatibility table. Please update libbladeRF if problems arise.
[INFO @ host/libraries/libbladeRF/src/helpers/version.c:103] FPGA version (v0.14.0) is newer than entries in libbladeRF's compatibility table. Please update libbladeRF if problems arise.
FutureSDR: INFO - bladerf_get_serial() = 1234
FutureSDR: INFO - setSampleRate(Rx, 0, 4.000000 MHz), actual = 4.000000 MHz
FutureSDR: INFO - setSampleRate(Tx, 0, 4.000000 MHz), actual = 4.000000 MHz
FutureSDR: INFO - setSampleRate(Tx, 0, 3.072000 MHz), actual = 3.072000 MHz
[INFO @ fpga_common/src/lms.c:1019] Clamping TXVGA2 gain to 0dB
[ERROR @ host/libraries/libbladeRF/src/backend/usb/libusb.c:1089] Transfer timed out for buffer 0x7f1be40cbaf0
[ERROR @ host/libraries/libbladeRF/src/backend/usb/libusb.c:1089] Transfer timed out for buffer 0x7f1be40cfb00
[ERROR @ host/libraries/libbladeRF/src/backend/usb/libusb.c:1089] Transfer timed out for buffer 0x7f1be40d3b10
[ERROR @ host/libraries/libbladeRF/src/streaming/sync.c:305] wait_for_buffer: Timed out waiting for buf_ready after 1000 ms
[ERROR @ host/libraries/libbladeRF/src/streaming/sync.c:305] wait_for_buffer: Timed out waiting for buf_ready after 100 ms
FutureSDR: INFO - bladerf_close()

The same behaviour can be witnessed on Windows and on a different machine too:
The only thing that changes are the dependencies (I can provide them, if required to solve this issue).

Note, that the errors did not appear before v0.12.0. So what is the issue here?
@Nuand , @rghilduta @rtucker , @jynik ? Do you have any clue?

I am curious, if the bladeRF repository is still maintained, as i can encounter a lot of unsolved issues without comments here on Github. Is the bladeRF still supported, or do we have to search for another platform?

@jbarea
Copy link

jbarea commented Oct 1, 2022

Hello all, just got across this posts searching for answers as i updated firmware and fpga in my bladerf x40 but i'm getting timeout erros like the ones described here and cannot properly calibrate the device. Sometimes doing cal lms just exits bladeRF-cli completely. Any help or ideas will be very much appreciated as i want to get the device up and running again.
Thanks in advance!!!

@DariusBotha95
Copy link

Good day, I am also facing the same issue: The timeout occurs on Tx transfers with the FPGA on the latest version, and no issue on v0.12.0 or less.
Any update on this? Why continue to sell it if there isn't support for it?

@DariusBotha95
Copy link

Hi @rghilduta, upon further investigation, I found that reverting commit 2a8774d solved the issue of time-outs. I can't see any adverse effects by doing this, but let me know if I might have missed something. Hopefully, that narrows it down a bit.

Regards,
Darius

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants