Transfer timed out for buffer when using both Tx/Rx

Having issues with the site, hardware, source code, or any other issues?
Post Reply
Maxwell175
Posts: 2
Joined: Sat Dec 23, 2023 9:40 pm

Transfer timed out for buffer when using both Tx/Rx

Post by Maxwell175 »

Hello,

I have been trying to use the multiple Tx Rx capabilities of the bladeRF xA4 with srsRAN using the options described in this article: https://band.radio/srsLTE#modify-the-en ... dified-are.

Unfortunately, I'm having issues with buffer timeouts as shown below. Any thoughts on what could cause this? It is plugged in to a USB 3.1 port on my motherboard. I also tried a USB 3.0 SS port. I have the latest firmware and FPGA code.

Code: Select all

[ERROR @ host/libraries/libbladeRF/src/streaming/sync.c:349] wait_for_buffer: Timed out waiting for buf_ready after 400 ms
[ERROR @ host/libraries/libbladeRF/src/streaming/sync.c:349] wait_for_buffer: Timed out waiting for buf_ready after 400 ms
[ERROR @ host/libraries/libbladeRF/src/backend/usb/libusb.c:1089] Transfer timed out for buffer 0x562086e66f50
[ERROR @ host/libraries/libbladeRF/src/backend/usb/libusb.c:1089] Transfer timed out for buffer 0x562086ea5100

Code: Select all

─➤  bladeRF-cli -i
bladeRF> info

  Board:                    Nuand bladeRF 2.0 (bladerf2)
  Serial #:                 deec8756c543419293d3f9b12f635996
  VCTCXO DAC calibration:   0x1ee7
  FPGA size:                49 KLE
  FPGA loaded:              yes
  Flash size:               32 Mbit
  USB bus:                  2
  USB address:              6
  USB speed:                SuperSpeed
  Backend:                  libusb
  Instance:                 0
davwheat
Posts: 1
Joined: Tue Mar 14, 2023 8:44 am

Re: Transfer timed out for buffer when using both Tx/Rx

Post by davwheat »

I've never had success with my xA5 and srsRAN over around 2 years of trying on and off. It's the only thing I bought the SDR for, and it's left a sour taste in my mouth.

Many people have posted GitHub issues on the bladeRF repo and a couple of posts on here too, and noone has ever gotten anywhere with finding a solution to whatever is causing this (most posts go unanswered, but one got a couple of back and forth messages followed by silence).

I have tried using a laptop running a Ryzen 4600H, as well as my desktop with an i5 9600K, followed by my desktop again after an upgrade to a Ryzen 5900X, and my server (Ryzen 3700X) running ProxMox and srsRAN in a VM, as well as a Dell XPS 13 with an i7-1250U. It's definitely not a processing power issue, that's for sure, and rather unlikely to be an OS issue considering each of these attempts would have been fresh installs each time.

I've tried using bladeRF lib from source and from the Ubuntu PPA.

I've tried using the srsRAN 4G bladeRF driver (back before the new srsRAN Project launched) which didn't work; neither did the the Soapy driver.

I've also even tried using Open Air Interface instead (which was a complete pain coming from srsRAN, but might as well try). lol no, that didn't work either.

Now today I've tried the new srsRAN Project with SoapySDR and SoapyUHD to provide a UHD-compatible interface to the bladeRF. Guess what? Same issue.

Code: Select all

ubuntu@srsran:~$ sudo gnb -c bladerf-config.yml

The PRACH detector will not meet the performance requirements with the configuration {Format 0, ZCZ 0, SCS 1.25kHz, Rx ports 1}.
Lower PHY in quad executor mode.

--== srsRAN gNB (commit dcd905cc6) ==--

Connecting to AMF on 10.30.3.10:38412
Available radio types: uhd.
[INFO] [UHD] linux; GNU C++ version 11.4.0; Boost_107400; UHD_4.6.0.0-3-g080b1baa
[INFO] [LOGGING] Fastpath logging disabled at runtime.
No device type given, found device with address 'backend=libusb,device=0x03:0x02,driver=bladerf,instance=0,label=BladeRF #0 [4c4ceb8c..4e613cf3],serial=4c4ceb8c96ee47e6977a37dc4e613cf3,type=soapy'
Making USRP object with args 'biastee_tx=true,type=soapy'
[INFO] [UHDSoapyDevice] bladerf_open_with_devinfo()
[INFO] [UHDSoapyDevice] bladerf_get_serial() = 4c4ceb8c96ee47e6977a37dc4e613cf3
[INFO] [UHDSoapyDevice] setSampleRate(Rx, 0, 4.000000 MHz), actual = 4.000000 MHz
[INFO] [UHDSoapyDevice] setSampleRate(Tx, 0, 4.000000 MHz), actual = 4.000000 MHz
[INFO] [UHDSoapyDevice] setSampleRate(Tx, 0, 19.200000 MHz), actual = 19.200000 MHz
[INFO] [UHDSoapyDevice] setSampleRate(Tx, 1, 19.200000 MHz), actual = 19.200000 MHz
[INFO] [UHDSoapyDevice] setSampleRate(Rx, 0, 19.200000 MHz), actual = 19.200000 MHz
[INFO] [UHDSoapyDevice] setSampleRate(Rx, 1, 19.200000 MHz), actual = 19.200000 MHz
Cell pci=1, bw=5 MHz, dl_arfcn=375500 (n3), dl_freq=1877.5 MHz, dl_ssb_arfcn=375410, ul_freq=1782.5 MHz

==== gNodeB started ===
Type <t> to view trace
[ERROR @ host/libraries/libbladeRF/src/backend/usb/libusb.c:1089] Transfer timed out for buffer 0x55fe10135e30
[ERROR @ host/libraries/libbladeRF/src/backend/usb/libusb.c:1089] Transfer timed out for buffer 0x55fe10139e40
[ERROR @ host/libraries/libbladeRF/src/backend/usb/libusb.c:1089] Transfer timed out for buffer 0x55fe1013de50
[ERROR @ host/libraries/libbladeRF/src/backend/usb/libusb.c:1089] Transfer timed out for buffer 0x55fe10141e60
[ERROR @ host/libraries/libbladeRF/src/backend/usb/libusb.c:1089] Transfer timed out for buffer 0x55fe10145e70

Code: Select all

amf:
  addr: 10.30.3.10                    # The address or hostname of the AMF.
  bind_addr: 10.30.3.20                # A local IP that the gNB binds to for traffic from the AMF.
  port: 38412

ru_sdr:
  device_driver: uhd                  # The RF driver name.
  device_args: biastee_tx=true        # Optionally pass arguments to the selected RF driver.
  clock: default                      # Specify the clock source used by the RF.
  sync: default                       # Specify the sync source used by the RF.
  srate: 19.2                        # RF sample rate might need to be adjusted according to selected bandwidth.
  tx_gain: 0                         # Transmit gain of the RF might need to adjusted to the given situation.
  rx_gain: 60                         # Receive gain of the RF might need to adjusted to the given situation.

cell_cfg:
  dl_arfcn: 375500                    # ARFCN of the downlink carrier (center frequency).
  band: 3                             # The NR band.
  channel_bandwidth_MHz: 5            # Bandwith in MHz. Number of PRBs will be automatically derived.
  common_scs: 15                      # Subcarrier spacing in kHz used for data.
  plmn: "23469"                       # PLMN broadcasted by the gNB.
  tac: 1                              # Tracking area code (needs to match the core configuration).
  pci: 1                              # Physical cell ID.
#  nof_antennas_ul: 1
#  nof_antennas_dl: 1


log:
  filename: /tmp/gnb.log              # Path of the log file.
  all_level: info                     # Logging level applied to all layers.

pcap:
  mac_enable: false                   # Set to true to enable MAC-layer PCAPs.
  mac_filename: /tmp/gnb_mac.pcap     # Path where the MAC PCAP is stored.
  ngap_enable: false                  # Set to true to enable NGAP PCAPs.
  ngap_filename: /tmp/gnb_ngap.pcap   # Path where the NGAP PCAP is stored.
Only one time out of about 20 launches have I got a working gNB for approximately 15 seconds before it then had the same libusb error again. I've not had it work again after that.

Code: Select all

Cell pci=1, bw=5 MHz, dl_arfcn=375500 (n3), dl_freq=1877.5 MHz, dl_ssb_arfcn=375410, ul_freq=1782.5 MHz

==== gNodeB started ===
Type <t> to view trace
Late: 0; Underflow: 0; Overflow: 1;
Late: 0; Underflow: 0; Overflow: 3;
t
Late: 0; Underflow: 0; Overflow: 3;
Late: 0; Underflow: 0; Overflow: 20;
Late: 0; Underflow: 0; Overflow: 1;
Late: 0; Underflow: 0; Overflow: 3;
Late: 0; Underflow: 0; Overflow: 13;

           -----------------DL-----------------------|------------------UL--------------------
 pci rnti  cqi  ri  mcs  brate   ok  nok  (%)  dl_bs | pusch  mcs  brate   ok  nok  (%)    bsr
   1 4601   15   1   22   4.8k    4    0   0%      0 |   6.0    9   3.5k    1    0   0%      0
Late: 0; Underflow: 0; Overflow: 6;
Late: 0; Underflow: 0; Overflow: 10;
Late: 0; Underflow: 0; Overflow: 1;
Late: 0; Underflow: 0; Overflow: 5;
Late: 0; Underflow: 0; Overflow: 3;
[ERROR @ host/libraries/libbladeRF/src/backend/usb/libusb.c:1076] Got transfer error for buffer 0x5601111bff40
[ERROR @ host/libraries/libbladeRF/src/backend/usb/libusb.c:1089] Transfer timed out for buffer 0x5601112180a0
Image

I've given up hope that I will ever get my SDR working as a 4G eNB or 5G gNB. No-one seems to care.
kalyl
Posts: 4
Joined: Thu Dec 21, 2023 9:18 pm

Re: Transfer timed out for buffer when using both Tx/Rx

Post by kalyl »

Maxwell175 wrote: Mon Dec 25, 2023 6:21 pm Hello,

I have been trying to use the multiple Tx Rx capabilities of the bladeRF xA4 with srsRAN using the options described in this article:
buckshot roulette https://band.radio/srsLTE#modify-the-en ... dified-are.

Unfortunately, I'm having issues with buffer timeouts as shown below. Any thoughts on what could cause this? It is plugged in to a USB 3.1 port on my motherboard. I also tried a USB 3.0 SS port. I have the latest firmware and FPGA code.

Code: Select all

[ERROR @ host/libraries/libbladeRF/src/streaming/sync.c:349] wait_for_buffer: Timed out waiting for buf_ready after 400 ms
[ERROR @ host/libraries/libbladeRF/src/streaming/sync.c:349] wait_for_buffer: Timed out waiting for buf_ready after 400 ms
[ERROR @ host/libraries/libbladeRF/src/backend/usb/libusb.c:1089] Transfer timed out for buffer 0x562086e66f50
[ERROR @ host/libraries/libbladeRF/src/backend/usb/libusb.c:1089] Transfer timed out for buffer 0x562086ea5100

Code: Select all

─➤  bladeRF-cli -i
bladeRF> info

  Board:                    Nuand bladeRF 2.0 (bladerf2)
  Serial #:                 deec8756c543419293d3f9b12f635996
  VCTCXO DAC calibration:   0x1ee7
  FPGA size:                49 KLE
  FPGA loaded:              yes
  Flash size:               32 Mbit
  USB bus:                  2
  USB address:              6
  USB speed:                SuperSpeed
  Backend:                  libusb
  Instance:                 0
Key Considerations:
Provide more context: Share specific configuration details, srsRAN version, and steps taken so far for tailored troubleshooting.
Explore advanced troubleshooting: If basic steps don't resolve the issue, consider more in-depth analysis of logs and system behavior.
Last edited by kalyl on Mon Jan 08, 2024 7:15 pm, edited 1 time in total.
leorasy
Posts: 1
Joined: Mon Jan 08, 2024 8:19 pm

Re: Transfer timed out for buffer when using both Tx/Rx

Post by leorasy »

Shield your communication lines, use twisted pairs for cables, and ensure proper grounding to minimize the impact of external interference.
Watermelon Game
lilycollins9x
Posts: 4
Joined: Mon Jan 08, 2024 9:51 pm

Re: Transfer timed out for buffer when using both Tx/Rx

Post by lilycollins9x »

Make sure the BladeRF is securely connected using a high-quality USB 3.1 cable. Try different ports on your computer. fnaf
arguetraining
Posts: 1
Joined: Tue Jan 09, 2024 1:33 am

Re: Transfer timed out for buffer when using both Tx/Rx

Post by arguetraining »

To reduce the effects of outside interference,connections game shield your communication lines, utilize twisted pairs for your wires, and make sure you're properly grounded.
reindeerfell
Posts: 1
Joined: Tue Jan 16, 2024 3:29 am

Re: Transfer timed out for buffer when using both Tx/Rx

Post by reindeerfell »

Utilize a USB 3.1 cable of superior quality to ensure that the BladeRF is linked in a safe and secure manner. When using your computer, try out a few different ports.
deniolps
Posts: 3
Joined: Sun Feb 18, 2024 7:22 pm

Re: Transfer timed out for buffer when using both Tx/Rx

Post by deniolps »

It is recommended to do a more in-depth investigation of the logs and the behavior of the system if the basic measures do not address the problemdrift boss
jeffreestar
Posts: 2
Joined: Fri Mar 08, 2024 7:51 pm

Re: Transfer timed out for buffer when using both Tx/Rx

Post by jeffreestar »

reindeerfell wrote: Tue Jan 16, 2024 3:33 am Utilize a USB 3.1 cable of superior quality to ensure that the BladeRF is linked in a safe and secure manner. When using your computer, try out a few different ports. that's not my neighbor


Check the health of the bladeRF hardware by running diagnostic tests or using diagnostic tools provided by the manufacturer. Look for any signs of hardware malfunctions or abnormalities.
Post Reply