Quote:
Originally Posted by
Corona688
The details would be in the driver.
All the USB modem drivers I test (cdc-acm, option, sierra) send data to modems by using usb_submit_urb call.
When packet is supposed to be sent kernel calls write_bulk_out_callback method informing USB driver that packet (or URB) was processed.
Unfortunately calling write_bulk method by kernel doesn't really mean that data were sent because sometimes data don't reach destination even in 60 seconds. So the data seem to stuck somewhere inside USB modem.
The facts Linux provides flow control without packet loss and sendto call blocks itself if modem buffer is full mean Linux can check if modem buffer is full and I hope can check amount of data inside.
if there is no way to know exact amount of data inside modem may be there exist a way to check if modem is empty at least?