Join GitHub today
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.
Sign upttyUSB infinitely URB_BULK in #1692
Comments
|
Duplicate of raspberrypi/firmware#582 Opening so many devices at once is never going to work due to the way the hardware works. To confirm, can you open one less than the number of devices that makes the system unresponsive, then run the commands in the linked issue? |
|
Done.
sudo ./usb_test
out: it is sad i exactly reached the maximum of the host channels. Thank you for your explanations. |
|
pcap from RPI pcap from PC On RPI "URB_BULK in" messages never stop after i run usb_test. |
|
It's odd that the system becomes completely unresponsive. Endpoints are serviced first-come-first-served in the case where all host channels are busy, so you should get degraded performance not inoperable performance. I'll look at your logs tomorrow. |
|
The majority of your devices have high speed bulk endpoints. Submitting a transfer to a HS bulk endpoint will tie up a host channel until the bulk endpoint returns enough data to finish the transfer, or a short packet. This could be seconds in the case of a cellular modem waiting for network. There should be a rudimentary QoS mechanism in that permits no more than 7 host channels to be used for bulk data - so your keyboard (an interrupt endpoint) should still work. I will have a look to see why it doesn't. |
|
Thank you very much! I will try to debug drivers/usb/serial/option.c, drivers/usb/serial/usb_wwan.c to understand how it is working under the hood of linux kernel. |
|
@P33M Was there any progress on this? |
|
Even though we limit the maximum number of channels used for non-periodic endpoints to num_channels - 1, this doesn't stop the case where of the available host channels, all rotate through and end up being used to poll endpoints that never return data. Forcibly stopping a host channel to re-use it is likely to drop data on the floor, so this is a hardware limitation that's not going to be worked around in software. |
I experience problems with usb modems
please read this thread https://www.raspberrypi.org/forums/viewtopic.php?f=28&t=163184
i decided to trace usb data with wireshark
please look at pcap file
when i open ttyUSB serial port there is plenty of "URB_BULK in" messages infinitely go to wireshark