Re: Problem hanging Bulk IN, with USB 3.x, perhaps due to wMaxPacketSize = 1024 and wMaxBurst = 6 (OUT) and 2 (IN), tested and reproduceable with i.MX8MP and Raspberry Pi Compute Module 5 (CM5)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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




[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux