isochronous receiving

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

 



Hello,
I'm facing a strange problem in my application:
I'm developing both the host-side and the gadget-side of a usb
connection, implementing both the drivers. The host starts receiving
packets on an isochronous-input enpoint and, when data is available on
the gadget, it sends such data to the host and it never stops. In this
way, a continuous flow of data is generated between host and gadget.
I noted that my gadget starts sending packets with some delay, since
several void packets are received before data actually arrives to the
host. By the way, this initial delay is tolerable.
My problem is that sometimes, after a long period of data correctly
received, the host stops receiving data and it never restarts anymore.
Since I couldn't figure out why this strange behavior happened, I
tryed to implement a communication recovery strategy: when data is not
received for a while (100 packets lost) the host sends a request to
the gadget through an interrupt endpoint. When the gadget receives
such request, it checks if data is currently being sent on the iso ep.
In this case it "restarts" the endpoint, i.e. usb_ep_disable() and
usb_ep_enable() are called.
Anyway, this did not solve the problem. What do you think could be a
valid recovery strategy for my scenario?
Thanks in advance,

Daniele
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


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

  Powered by Linux