Hi,
On 14/10/2019 17:22, Felipe Balbi wrote:
Hi,
Roger Quadros <rogerq@xxxxxx> writes:
Hmm, Link Change is disabled by default upstream, unless you're running
on anything older than 2.50a. I don't remember the version you're using,
though :-p
2.02a
Thanks :-)
irq/170-dwc3-270 [000] d... 173.408918: dwc3_event: event (00000101): Reset [U0]
irq/170-dwc3-270 [000] d... 173.463787: dwc3_event: event (00000201): Connection Done [U0]
irq/170-dwc3-270 [000] d... 173.463796: dwc3_gadget_ep_cmd: ep0out: cmd 'Set Endpoint Configuration' [401] params 80000200 00000500 00000000 --> status: Successful
irq/170-dwc3-270 [000] d... 173.463799: dwc3_gadget_ep_enable: ep0out: mps 64/512 streams 0 burst 1 ring 0/0 flags E:swBp:>
irq/170-dwc3-270 [000] d... 173.463803: dwc3_gadget_ep_cmd: ep0in: cmd 'Set Endpoint Configuration' [401] params 80000200 02000500 00000000 --> status: Successful
irq/170-dwc3-270 [000] d... 173.463804: dwc3_gadget_ep_enable: ep0in: mps 64/512 streams 0 burst 1 ring 0/0 flags E:swbp:<
hmm, High speed? Can we get traces for superspeed too?
We can after I figure out the -ENODEV issue I reported above.
cool
uvc-gadget-275 [001] d... 173.712586: dwc3_prepare_trb: ep0out: trb 4a151d32 buf 00000000ae85b000 size 8 ctrl 00000c23 (HLcs:SC:setup)
uvc-gadget-275 [001] d... 173.712592: dwc3_gadget_ep_cmd: ep0out: cmd 'Start Transfer' [406] params 00000000 ae85b000 00000000 --> status: Successful
irq/170-dwc3-270 [000] d... 173.712688: dwc3_event: event (0000c040): ep0out: Transfer Complete (sIL) [Setup Phase]
irq/170-dwc3-270 [000] d... 173.712690: dwc3_ctrl_req: a1 81 00 02 00 00 01 00
Another one...
0xa1 GetRequest directed to video data endpoint of a VideoStreaming interface,
0x81 GET_CUR (Current setting attribute),
0002 CT_AE_MODE_CONTROL (Auto-exposure control selector),
0000 interface?,
length 0001,
Thanks for these :-)
uvc-gadget-275 [001] d... 215.933842: dwc3_gadget_ep_cmd: ep1in: cmd 'End Transfer' [30c08] params 00000000 00000000 00000000 --> status: Successful
uvc-gadget-275 [001] .n.. 215.933980: dwc3_ep_dequeue: ep2in: req f1fb458c length 0/1024 zsI ==> -11
uvc-gadget-275 [001] .n.. 215.940651: dwc3_ep_dequeue: ep2in: req 5be7fd9f length 0/1024 zsI ==> -11
uvc-gadget-275 [001] .n.. 215.947297: dwc3_ep_dequeue: ep2in: req 996abf23 length 0/1024 zsI ==> -11
uvc-gadget-275 [001] .n.. 215.953954: dwc3_ep_dequeue: ep2in: req d9961026 length 0/1024 zsI ==> -11
uvc-gadget-275 [001] .n.. 215.960615: dwc3_free_request: ep2in: req f1fb458c length 0/1024 zsI ==> -11
uvc-gadget-275 [001] .n.. 215.960617: dwc3_free_request: ep2in: req 5be7fd9f length 0/1024 zsI ==> -11
uvc-gadget-275 [001] .n.. 215.960618: dwc3_free_request: ep2in: req 996abf23 length 0/1024 zsI ==> -11
uvc-gadget-275 [001] .n.. 215.960619: dwc3_free_request: ep2in: req d9961026 length 0/1024 zsI ==> -11
So, first things first:
Let's figure out what those class requests are and why are they *always*
stalled. UVC class spec should answer that.
I tried to decipher 2 class specific requests that we get.
Then we need to find out why it takes 1.5 seconds for uvc-gadget to
queue more data.
Not sure how to do that.
Look at the source for uvc-gadget. If I were to guess, I'd say
uvc-gadget prepares frames as a function of the requested bandwidth.
It probably goes to sleep periodically until it thinks there's more data
to send.
I used the a different uvc-gadget application from this location [1] and it seems to
work quite fine with builtin video pattern and jpg image but not with V4L2 capture source.
So something is broken in uvc-gadget at [2]
[1] https://github.com/wlhe/uvc-gadget
[2] http://git.ideasonboard.org/uvc-gadget.git
cheers,
-roger
--
Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki.
Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki