Post Go back to editing

Loss of packets when transmitting between two PlutoSDR

Thread Summary

The user is experiencing packet loss and non-consecutive packet reception when transmitting between two PlutoSDR radios using GNU Radio Companion. The Analog Devices support engineer suggests checking the data queuing and scheduler in GNU Radio, verifying if data is lost during hardware transmission, and reducing the packet generation rate. Another user reports a similar issue with consistent loss of every 16th packet and uses a workaround of sending the 16th packet twice.
AI Generated Content
Category: Software
Software Version: GNU Radio Companion 3.10.7.0

My project is to send packets of bytes from one PlutoSDR to another. We have already written, tested and verified a script in GNU Radio Companion for modulating and demodulating the data as well as succeeded in transmitting packets from one radio, and received it on the other one. The problem is that the packets are not received consecutively as they are sent, and several of the packets are not received at all. I have tried both smaller and larger buffer sizes on the PlutoSDR Sink / Source, as well as different periods on the message strobe block. It appears that the packets accumulate in a buffer on the transmitting radio, and when the buffer is full it gets sent, but with some packet loss. We have tried to zero-pad the packets to the buffer size of the pluto before transmitting by using a pad-tagged-stream block (disabled in the flow graph), but this block does not seem to be compatible with the other blocks. I would appreciate any suggestions on how to solve the problem!

  • It appears that the packets accumulate in a buffer on the transmitting radio, and when the buffer is full it gets sent, but with some packet loss.

    Data queuing is a scheduling aspect of GNU Radio itself. Data between blocks are not guaranteed to immediately trigger computations on the downstream block. The Sink block only requires that there are at least Buffersize samples to be able to pass a buffer to hardware. The work function calls are managed by the scheduler.

    I doubt data is being lost when passing it to the radio. How have you verified this?

    On the receive side, have you checked that the energy arrives at the receiver or just that the packets are not recovered?

    It also looks like your packet generation rate is controllable. Have you tried reducing this?

    -Travis

  • Hi  ,

    I’ve been facing the same issue described here with packet loss during transmission. In my case, the TX buffer is set to 32,768 bytes, and I’m transmitting data in 128-byte packets. What I’ve observed is that every 16th packet consistently gets lost or fails to transmit properly.

    As a workaround, I tried sending the 16th packet twice, and that seems to make the receiver side get the full data stream correctly. While this trick helps for now, it doesn’t feel like a proper fix.

    Has anyone else come across this specific pattern, or found a more permanent solution to address it?