On 9.8.2025 0.47, Martin Maurer wrote:
Hello, since some time I am fighting against a problem with USB:
...
Note beside: I can query number of sent and received IP packets. I sent the pings (1 every second). The ping does not display, that it receives an answer, after the hang occured. But the radio module tells 5 sent and 5 received packets, when querying the statistics every 5 packets via QMI. So I assume sending (Bulk OUT) is working, packet go to server and back to radio module, but answer is not sent over USB from device to host.
I didn't fully understand the complex setup, but the subject, and this section does give a hint it maybe could be related to missing zero-length bulk packets. The receiving side, which on host side would be the bulk in endpoint usually knows a transfer is complete when it receives the exact amount it requested, or if it receives a packet shorter than maxPacketSize. (short transfer) But if the sender sends less than expected, and it happens to be exactly maxPacketSize (1024) bytes, then the sender should send an additinal zero-length packet to let receiver know no more data is coming. Otherwise the receiving side will be stuck waiting for the next packet. Thanks Mathias