> -----Mensaje original----- > De: linux-usb-owner@xxxxxxxxxxxxxxx [mailto:linux-usb- > owner@xxxxxxxxxxxxxxx] En nombre de Chen Peter-B29397 > Enviado el: viernes, 04 de mayo de 2012 6:29 > Para: Fernandez Gonzalo; linux-usb@xxxxxxxxxxxxxxx; > laurent.pinchart@xxxxxxxxxxxxxxxx > Asunto: RE: iMX25PDK - Problems with USB gadget > > > > > > > If I supress these 3 lines, enumeration doesn't start until I open > > /dev/video0 from my test app. This looks to be running OK but I don't > > know the collateral effects of this change. Could you take a look at > > this?? > > > > > Should be ok for g_webcam, as the usbcmd.rs will be set after app loads. > But it is not ok for gadget drivers who does not do dp pullup during > the initialization or runtime. > OK. And Peter, I apologize because you already pointed the solution and I didn't realize about it (I only implemented the second step). I didn't read you carefully. >>>>>> 1. Does not set USB_CMD_RUN_STOP at dr_controller_run >>>>>> 2. Change fsl_pullup: > By the way, how do you fix below error, where you have handled below > Video Class Command? > > > > <composite> => composite_setup_complete > > > g_webcam gadget: setup complete --> -108, 0/0 > > > g_webcam gadget: non-core control reqa1.87 v0100 i0001 l26 > > > [fsl_udc_irq] Packet int > > > [fsl_udc_irq] Packet int > > > g_webcam gadget: non-core control reqa1.81 v0100 i0001 l26 > I'm using a test app from Laurent Pinchart; see here http://git.ideasonboard.org/uvc/ Attached you can find a log about the enumeration process. The error doesn't exist now in the device side, but in the host side dmesg shows: [ 184.912107] usb 2-4: new high speed USB device using ehci_hcd and address 5 [ 186.176426] Linux video capture interface: v2.00 [ 186.224058] uvcvideo: Found UVC 1.00 device Webcam gadget (1d6b:0102) [ 191.444287] uvcvideo: Failed to set UVC probe control : -110 (exp. 26). [ 191.568325] input: Webcam gadget as /devices/pci0000:00/0000:00:1d.7/usb2/2-4/2-4:1.0/input/input11 [ 191.568770] usbcore: registered new interface driver uvcvideo [ 191.568777] USB Video Class driver (v1.0.0) I began my testing on a iMX53QSB with a FSL-2.6.35-x.y.z (I don't remember exactly which BSP, but it was one of the firsts for the QSBs), with the ARC-OTG USB driver. With some minor twicks, the app from Laurent was working fine. The only problem I found was trying to setup High Bandwith isochronous transfers; unfortunately, I didn't solve this issue. Using 1 packet/uframe there was no problem at all, but I needed more transfer rate. Freescale technical support told me that High Bandwith isochronous transfers were not supported in the ARC-OTG driver, so here I am now, trying to get this sorted with fsl_udc_core :-). Gonzalo.
root@freescale ~$ root@freescale ~$ root@freescale ~$ root@freescale ~$ root@freescale ~$ /gonzalo/wcam <composite.c> => uvc_v4l2_open <composite.c> => uvc_function_connect <composite.c> => usb_function_activate DEACTIVATIONS antes = 1 usb_gadget_connect <FSL-udc-core> => fsl_pullup >> [fsl_pullup]: PULLUP ON !!!!<FSL-udc-core> => suspend_irq <composite.c> => composite_suspend g_webcam gadget: suspend usb_gadget_vbus_draw <FSL-udc-core> => fsl_vbus_draw DEACTIVATIONS despues = 0 <composite.c> => uvc_v4l2_open open succeeded, file descriptor = 3 device is fsl-usb2-udc on bus gadget <FSL-udc-core> => bus_resume <composite.c> => composite_resume g_webcam gadget: resume usb_gadget_vbus_draw <FSL-udc-core> => fsl_vbus_draw [fsl_udc_irq] reset int <FSL-udc-core> => reset_irq <FSL-udc-core> => bus_resume <composite.c> => composite_resume g_webcam gadget: resume usb_gadget_vbus_draw <FSL-udc-core> => fsl_vbus_draw <FSL-udc-core> => port_change_irq <FSL-udc-core> => portscx_device_speed [fsl_udc_irq] Packet int <FSL-udc-core> => setup_received_irq <FSL-udc-core> => udc_reset_ep_queue <FSL-udc-core> => nuke <FSL-udc-core> => fsl_ep_fifo_flush <FSL-udc-core> => setup_received_irq: Requests handled by gadget (DATA) <composite.c> => count_configs gadget_is_dualspeed gadget_is_superspeed <FSL-udc-core> => fsl_ep_queue <FSL-udc-core> => fsl_req_to_dtd <FSL-udc-core> => fsl_build_dtd [fsl_build_dtd] length = 18 address= 0x83b53000 <FSL-udc-core> => fsl_queue_td <FSL-udc-core> => fsl_prime_ep [fsl_udc_irq] Packet int <FSL-udc-core> => dtd_complete_irq <FSL-udc-core> => process_ep_req [process_ep_req] dTD transmitted successful [dtd_complete_irq] status of process_ep_req= 0, ep = 0 <FSL-udc-core> => ep0_req_complete <FSL-udc-core> => done <composite.c> => composite_setup_complete <FSL-udc-core> => ep0_prime_status <FSL-udc-core> => fsl_req_to_dtd <FSL-udc-core> => fsl_build_dtd [fsl_build_dtd] length = 0 address= 0x83b53000 <FSL-udc-core> => fsl_queue_td <FSL-udc-core> => fsl_prime_ep [fsl_udc_irq] Packet int <FSL-udc-core> => dtd_complete_irq <FSL-udc-core> => process_ep_req [process_ep_req] dTD transmitted successful [dtd_complete_irq] status of process_ep_req= 0, ep = 0 <FSL-udc-core> => ep0_req_complete <FSL-udc-core> => done <FSL-udc-core> => port_change_irq <FSL-udc-core> => portscx_device_speed [fsl_udc_irq] reset int <FSL-udc-core> => reset_irq [fsl_udc_irq] Packet int <FSL-udc-core> => setup_received_irq <FSL-udc-core> => udc_reset_ep_queue <FSL-udc-core> => nuke <FSL-udc-core> => fsl_ep_fifo_flush <FSL-udc-core> => ch9setaddress <FSL-udc-core> => ep0_prime_status <FSL-udc-core> => fsl_req_to_dtd <FSL-udc-core> => fsl_build_dtd [fsl_build_dtd] length = 0 address= 0x83b53000 <FSL-udc-core> => fsl_queue_td <FSL-udc-core> => fsl_prime_ep [fsl_udc_irq] Packet int <FSL-udc-core> => dtd_complete_irq <FSL-udc-core> => process_ep_req [process_ep_req] dTD transmitted successful [dtd_complete_irq] status of process_ep_req= 0, ep = 0 <FSL-udc-core> => ep0_req_complete <FSL-udc-core> => done [fsl_udc_irq] Packet int <FSL-udc-core> => setup_received_irq <FSL-udc-core> => udc_reset_ep_queue <FSL-udc-core> => nuke <FSL-udc-core> => fsl_ep_fifo_flush <FSL-udc-core> => setup_received_irq: Requests handled by gadget (DATA) <composite.c> => count_configs gadget_is_dualspeed gadget_is_superspeed <FSL-udc-core> => fsl_ep_queue <FSL-udc-core> => fsl_req_to_dtd <FSL-udc-core> => fsl_build_dtd [fsl_build_dtd] length = 18 address= 0x83b53000 <FSL-udc-core> => fsl_queue_td <FSL-udc-core> => fsl_prime_ep [fsl_udc_irq] Packet int <FSL-udc-core> => dtd_complete_irq <FSL-udc-core> => process_ep_req [process_ep_req] dTD transmitted successful [dtd_complete_irq] status of process_ep_req= 0, ep = 0 <FSL-udc-core> => ep0_req_complete <FSL-udc-core> => done <composite.c> => composite_setup_complete <FSL-udc-core> => ep0_prime_status <FSL-udc-core> => fsl_req_to_dtd <FSL-udc-core> => fsl_build_dtd [fsl_build_dtd] length = 0 address= 0x83b53000 <FSL-udc-core> => fsl_queue_td <FSL-udc-core> => fsl_prime_ep [fsl_udc_irq] Packet int <FSL-udc-core> => setup_received_irq <FSL-udc-core> => udc_reset_ep_queue <FSL-udc-core> => nuke <FSL-udc-core> => fsl_ep_fifo_flush <FSL-udc-core> => done <FSL-udc-core> => setup_received_irq: Requests handled by gadget (DATA) <composite.c> => config_desc gadget_is_dualspeed <composite.c> => config_buf <composite.c> => usb_descriptor_fillbuf <FSL-udc-core> => fsl_ep_queue <FSL-udc-core> => fsl_req_to_dtd <FSL-udc-core> => fsl_build_dtd [fsl_build_dtd] length = 9 address= 0x83b53000 <FSL-udc-core> => fsl_queue_td <FSL-udc-core> => fsl_prime_ep <FSL-udc-core> => dtd_complete_irq <FSL-udc-core> => process_ep_req [process_ep_req] dTD transmitted successful [dtd_complete_irq] status of process_ep_req= 0, ep = 0 <FSL-udc-core> => ep0_req_complete <FSL-udc-core> => done <composite.c> => composite_setup_complete <FSL-udc-core> => ep0_prime_status <FSL-udc-core> => fsl_req_to_dtd <FSL-udc-core> => fsl_build_dtd [fsl_build_dtd] length = 0 address= 0x83b53000 <FSL-udc-core> => fsl_queue_td <FSL-udc-core> => fsl_prime_ep <FSL-udc-core> => process_ep_req [process_ep_req] dTD transmitted successful [dtd_complete_irq] status of process_ep_req= 0, ep = 0 <FSL-udc-core> => ep0_req_complete <FSL-udc-core> => done [fsl_udc_irq] Packet int <FSL-udc-core> => setup_received_irq <FSL-udc-core> => udc_reset_ep_queue <FSL-udc-core> => nuke <FSL-udc-core> => fsl_ep_fifo_flush <FSL-udc-core> => setup_received_irq: Requests handled by gadget (DATA) <composite.c> => config_desc gadget_is_dualspeed <composite.c> => config_buf <composite.c> => usb_descriptor_fillbuf <FSL-udc-core> => fsl_ep_queue <FSL-udc-core> => fsl_req_to_dtd <FSL-udc-core> => fsl_build_dtd [fsl_build_dtd] length = 309 address= 0x83b53000 <FSL-udc-core> => fsl_queue_td <FSL-udc-core> => fsl_prime_ep <FSL-udc-core> => dtd_complete_irq <FSL-udc-core> => process_ep_req [process_ep_req] dTD transmitted successful [dtd_complete_irq] status of process_ep_req= 0, ep = 0 <FSL-udc-core> => ep0_req_complete <FSL-udc-core> => done <composite.c> => composite_setup_complete <FSL-udc-core> => ep0_prime_status <FSL-udc-core> => fsl_req_to_dtd <FSL-udc-core> => fsl_build_dtd [fsl_build_dtd] length = 0 address= 0x83b53000 <FSL-udc-core> => fsl_queue_td <FSL-udc-core> => fsl_prime_ep <FSL-udc-core> => process_ep_req [process_ep_req] dTD transmitted successful [dtd_complete_irq] status of process_ep_req= 0, ep = 0 <FSL-udc-core> => ep0_req_complete <FSL-udc-core> => done [fsl_udc_irq] Packet int <FSL-udc-core> => setup_received_irq <FSL-udc-core> => udc_reset_ep_queue <FSL-udc-core> => nuke <FSL-udc-core> => fsl_ep_fifo_flush <FSL-udc-core> => setup_received_irq: Requests handled by gadget (DATA) <composite.c> => get_string <composite.c> => collect_langs <composite.c> => collect_langs <FSL-udc-core> => fsl_ep_queue <FSL-udc-core> => fsl_req_to_dtd <FSL-udc-core> => fsl_build_dtd [fsl_build_dtd] length = 4 address= 0x83b53000 <FSL-udc-core> => fsl_queue_td <FSL-udc-core> => fsl_prime_ep <FSL-udc-core> => dtd_complete_irq <FSL-udc-core> => process_ep_req [process_ep_req] dTD transmitted successful [dtd_complete_irq] status of process_ep_req= 0, ep = 0 <FSL-udc-core> => ep0_req_complete <FSL-udc-core> => done <composite.c> => composite_setup_complete <FSL-udc-core> => ep0_prime_status <FSL-udc-core> => fsl_req_to_dtd <FSL-udc-core> => fsl_build_dtd [fsl_build_dtd] length = 0 address= 0x83b53000 <FSL-udc-core> => fsl_queue_td <FSL-udc-core> => fsl_prime_ep <FSL-udc-core> => process_ep_req [process_ep_req] dTD transmitted successful [dtd_complete_irq] status of process_ep_req= 0, ep = 0 <FSL-udc-core> => ep0_req_complete <FSL-udc-core> => done [fsl_udc_irq] Packet int <FSL-udc-core> => setup_received_irq <FSL-udc-core> => udc_reset_ep_queue <FSL-udc-core> => nuke <FSL-udc-core> => fsl_ep_fifo_flush <FSL-udc-core> => setup_received_irq: Requests handled by gadget (DATA) <composite.c> => get_string <composite.c> => lookup_string <composite.c> => usb_gadget_get_string <FSL-udc-core> => fsl_ep_queue <FSL-udc-core> => fsl_req_to_dtd <FSL-udc-core> => fsl_build_dtd [fsl_build_dtd] length = 28 address= 0x83b53000 <FSL-udc-core> => fsl_queue_td <FSL-udc-core> => fsl_prime_ep <FSL-udc-core> => dtd_complete_irq <FSL-udc-core> => process_ep_req [process_ep_req] dTD transmitted successful [dtd_complete_irq] status of process_ep_req= 0, ep = 0 <FSL-udc-core> => ep0_req_complete <FSL-udc-core> => done <composite.c> => composite_setup_complete <FSL-udc-core> => ep0_prime_status <FSL-udc-core> => fsl_req_to_dtd <FSL-udc-core> => fsl_build_dtd [fsl_build_dtd] length = 0 address= 0x83b53000 <FSL-udc-core> => fsl_queue_td <FSL-udc-core> => fsl_prime_ep <FSL-udc-core> => process_ep_req [process_ep_req] dTD transmitted successful [dtd_complete_irq] status of process_ep_req= 0, ep = 0 <FSL-udc-core> => ep0_req_complete <FSL-udc-core> => done [fsl_udc_irq] Packet int <FSL-udc-core> => setup_received_irq <FSL-udc-core> => udc_reset_ep_queue <FSL-udc-core> => nuke <FSL-udc-core> => fsl_ep_fifo_flush <FSL-udc-core> => setup_received_irq: Requests handled by gadget (DATA) <composite.c> => get_string <composite.c> => lookup_string <composite.c> => usb_gadget_get_string <FSL-udc-core> => fsl_ep_queue <FSL-udc-core> => fsl_req_to_dtd <FSL-udc-core> => fsl_build_dtd [fsl_build_dtd] length = 34 address= 0x83b53000 <FSL-udc-core> => fsl_queue_td <FSL-udc-core> => fsl_prime_ep <FSL-udc-core> => dtd_complete_irq <FSL-udc-core> => process_ep_req [process_ep_req] dTD transmitted successful [dtd_complete_irq] status of process_ep_req= 0, ep = 0 <FSL-udc-core> => ep0_req_complete <FSL-udc-core> => done <composite.c> => composite_setup_complete <FSL-udc-core> => ep0_prime_status <FSL-udc-core> => fsl_req_to_dtd <FSL-udc-core> => fsl_build_dtd [fsl_build_dtd] length = 0 address= 0x83b53000 <FSL-udc-core> => fsl_queue_td <FSL-udc-core> => fsl_prime_ep <FSL-udc-core> => process_ep_req [process_ep_req] dTD transmitted successful [dtd_complete_irq] status of process_ep_req= 0, ep = 0 <FSL-udc-core> => ep0_req_complete <FSL-udc-core> => done [fsl_udc_irq] Packet int <FSL-udc-core> => setup_received_irq <FSL-udc-core> => udc_reset_ep_queue <FSL-udc-core> => nuke <FSL-udc-core> => fsl_ep_fifo_flush <FSL-udc-core> => setup_received_irq: Requests handled by gadget (IN) gadget_is_otg gadget_is_otg <composite.c> => set_config <composite.c> => reset_config g_webcam gadget: reset config <composite.c> => uvc_function_disable g_webcam gadget: uvc_function_disable g_webcam gadget: high-speed config #1: Video <composite.c> => uvc_function_set_alt g_webcam gadget: uvc_function_set_alt(0, 0) <composite.c> => uvc_function_set_alt g_webcam gadget: uvc_function_set_alt(1, 0) usb_gadget_vbus_draw <FSL-udc-core> => fsl_vbus_draw <FSL-udc-core> => fsl_ep_queue <FSL-udc-core> => fsl_req_to_dtd <FSL-udc-core> => fsl_build_dtd [fsl_build_dtd] length = 0 address= 0x83b53000 <FSL-udc-core> => fsl_queue_td <FSL-udc-core> => fsl_prime_ep <FSL-udc-core> => dtd_complete_irq <FSL-udc-core> => process_ep_req [process_ep_req] dTD transmitted successful [dtd_complete_irq] status of process_ep_req= 0, ep = 0 <FSL-udc-core> => ep0_req_complete <FSL-udc-core> => done <composite.c> => composite_setup_complete [fsl_udc_irq] Packet int <FSL-udc-core> => setup_received_irq <FSL-udc-core> => udc_reset_ep_queue <FSL-udc-core> => nuke <FSL-udc-core> => fsl_ep_fifo_flush <FSL-udc-core> => setup_received_irq: Requests handled by gadget (DATA) <composite.c> => get_string <composite.c> => lookup_string <composite.c> => usb_gadget_get_string <FSL-udc-core> => fsl_ep_queue <FSL-udc-core> => fsl_req_to_dtd <FSL-udc-core> => fsl_build_dtd [fsl_build_dtd] length = 12 address= 0x83b53000 <FSL-udc-core> => fsl_queue_td <FSL-udc-core> => fsl_prime_ep [fsl_udc_irq] Packet int <FSL-udc-core> => dtd_complete_irq <FSL-udc-core> => process_ep_req [process_ep_req] dTD transmitted successful [dtd_complete_irq] status of process_ep_req= 0, ep = 0 <FSL-udc-core> => ep0_req_complete <FSL-udc-core> => done <composite.c> => composite_setup_complete <FSL-udc-core> => ep0_prime_status <FSL-udc-core> => fsl_req_to_dtd <FSL-udc-core> => fsl_build_dtd [fsl_build_dtd] length = 0 address= 0x83b53000 <FSL-udc-core> => fsl_queue_td <FSL-udc-core> => fsl_prime_ep [fsl_udc_irq] Packet int <FSL-udc-core> => setup_received_irq <FSL-udc-core> => udc_reset_ep_queue <FSL-udc-core> => nuke <FSL-udc-core> => fsl_ep_fifo_flush <FSL-udc-core> => done <FSL-udc-core> => setup_received_irq: Requests handled by gadget (DATA) <composite.c> => get_string <composite.c> => lookup_string <composite.c> => usb_gadget_get_string <composite.c> => lookup_string <composite.c> => usb_gadget_get_string <FSL-udc-core> => fsl_ep_queue <FSL-udc-core> => fsl_req_to_dtd <FSL-udc-core> => fsl_build_dtd [fsl_build_dtd] length = 28 address= 0x83b53000 <FSL-udc-core> => fsl_queue_td <FSL-udc-core> => fsl_prime_ep <FSL-udc-core> => dtd_complete_irq <FSL-udc-core> => process_ep_req [process_ep_req] dTD transmitted successful [dtd_complete_irq] status of process_ep_req= 0, ep = 0 <FSL-udc-core> => ep0_req_complete <FSL-udc-core> => done <composite.c> => composite_setup_complete <FSL-udc-core> => ep0_prime_status <FSL-udc-core> => fsl_req_to_dtd <FSL-udc-core> => fsl_build_dtd [fsl_build_dtd] length = 0 address= 0x83b53000 <FSL-udc-core> => fsl_queue_td <FSL-udc-core> => fsl_prime_ep <FSL-udc-core> => process_ep_req [process_ep_req] dTD transmitted successful [dtd_complete_irq] status of process_ep_req= 0, ep = 0 <FSL-udc-core> => ep0_req_complete <FSL-udc-core> => done [fsl_udc_irq] Packet int <FSL-udc-core> => setup_received_irq <FSL-udc-core> => udc_reset_ep_queue <FSL-udc-core> => nuke <FSL-udc-core> => fsl_ep_fifo_flush <FSL-udc-core> => setup_received_irq: Requests handled by gadget (DATA) <composite.c> => get_string <composite.c> => lookup_string <composite.c> => usb_gadget_get_string <composite.c> => lookup_string <composite.c> => usb_gadget_get_string <FSL-udc-core> => fsl_ep_queue <FSL-udc-core> => fsl_req_to_dtd <FSL-udc-core> => fsl_build_dtd [fsl_build_dtd] length = 32 address= 0x83b53000 <FSL-udc-core> => fsl_queue_td <FSL-udc-core> => fsl_prime_ep <FSL-udc-core> => dtd_complete_irq <FSL-udc-core> => process_ep_req [process_ep_req] dTD transmitted successful [dtd_complete_irq] status of process_ep_req= 0, ep = 0 <FSL-udc-core> => ep0_req_complete <FSL-udc-core> => done <composite.c> => composite_setup_complete <FSL-udc-core> => ep0_prime_status <FSL-udc-core> => fsl_req_to_dtd <FSL-udc-core> => fsl_build_dtd [fsl_build_dtd] length = 0 address= 0x83b53000 <FSL-udc-core> => fsl_queue_td <FSL-udc-core> => fsl_prime_ep <FSL-udc-core> => process_ep_req [process_ep_req] dTD transmitted successful [dtd_complete_irq] status of process_ep_req= 0, ep = 0 <FSL-udc-core> => ep0_req_complete <FSL-udc-core> => done [fsl_udc_irq] Packet int <FSL-udc-core> => setup_received_irq <FSL-udc-core> => udc_reset_ep_queue <FSL-udc-core> => nuke <FSL-udc-core> => fsl_ep_fifo_flush <FSL-udc-core> => setup_received_irq: Requests handled by gadget (IN) <composite.c> => uvc_function_set_alt g_webcam gadget: uvc_function_set_alt(1, 0) <FSL-udc-core> => fsl_ep_queue <FSL-udc-core> => fsl_req_to_dtd <FSL-udc-core> => fsl_build_dtd [fsl_build_dtd] length = 0 address= 0x83b53000 <FSL-udc-core> => fsl_queue_td <FSL-udc-core> => fsl_prime_ep <FSL-udc-core> => dtd_complete_irq <FSL-udc-core> => process_ep_req [process_ep_req] dTD transmitted successful [dtd_complete_irq] status of process_ep_req= 0, ep = 0 <FSL-udc-core> => ep0_req_complete <FSL-udc-core> => done <composite.c> => composite_setup_complete [fsl_udc_irq] Packet int <FSL-udc-core> => setup_received_irq <FSL-udc-core> => udc_reset_ep_queue <FSL-udc-core> => nuke <FSL-udc-core> => fsl_ep_fifo_flush <FSL-udc-core> => setup_received_irq: Requests handled by gadget (DATA) g_webcam gadget: non-core control reqa1.87 v0100 i0001 l26 UVC_FUNCTION_SETUP: setup request a1 87 value 0100 index 0001 001a bRequestType a1 bRequest 87 wValuvc_send_response: ue 0100 wIndex 0001 wLength 001a streaming request (req 87 cs 01) length=[34] <composite.c> => uvc_send_response. <FSL-udc-core> => fsl_ep_queue <FSL-udc-core> => fsl_req_to_dtd <FSL-udc-core> => fsl_build_dtd [fsl_build_dtd] length = 26 address= 0x83b53000 <FSL-udc-core> => fsl_queue_td <FSL-udc-core> => fsl_prime_ep [fsl_udc_irq] Packet int <FSL-udc-core> => dtd_complete_irq <FSL-udc-core> => process_ep_req [process_ep_req] dTD transmitted successful [dtd_complete_irq] status of process_ep_req= 0, ep = 0 <FSL-udc-core> => ep0_req_complete <FSL-udc-core> => done <FSL-udc-core> => ep0_prime_status <FSL-udc-core> => fsl_req_to_dtd <FSL-udc-core> => fsl_build_dtd [fsl_build_dtd] length = 0 address= 0x83b53000 <FSL-udc-core> => fsl_queue_td <FSL-udc-core> => fsl_prime_ep [fsl_udc_irq] Packet int <FSL-udc-core> => setup_received_irq <FSL-udc-core> => udc_reset_ep_queue <FSL-udc-core> => nuke <FSL-udc-core> => fsl_ep_fifo_flush <FSL-udc-core> => done <FSL-udc-core> => setup_received_irq: Requests handled by gadget (DATA) gadget_is_superspeed g_webcam gadget: non-core control req21.01 v0100 i0001 l26 UVC_FUNCTION_SETUP: setup request 21 01 value 0100 index 0001 001a <FSL-udc-core> => dtd_complete_irq bRequestType 21 bRequest 01 wValuvc_send_response: ue 0100 wIndex 0001 wLength 001a streaming request (req 01 cs 01) length=[34] <composite.c> => uvc_send_response. <FSL-udc-core> => fsl_ep_queue <FSL-udc-core> => fsl_req_to_dtd <FSL-udc-core> => fsl_build_dtd [fsl_build_dtd] length = 26 address= 0x83b53000 <FSL-udc-core> => fsl_queue_td <FSL-udc-core> => fsl_prime_ep [fsl_udc_irq] Packet int <FSL-udc-core> => dtd_complete_irq <FSL-udc-core> => process_ep_req [process_ep_req] dTD transmitted successful [dtd_complete_irq] status of process_ep_req= 0, ep = 0 <FSL-udc-core> => ep0_req_complete <FSL-udc-core> => done <FSL-udc-core> => ep0_prime_status <FSL-udc-core> => fsl_req_to_dtd <FSL-udc-core> => fsl_build_dtd [fsl_build_dtd] length = 0 address= 0x83b53000 <FSL-udc-core> => fsl_queue_td <FSL-udc-core> => fsl_prime_ep setting probe control, length = 26 [fsl_udc_irq] Packet int <FSL-udc-core> => setup_received_irq <FSL-udc-core> => udc_reset_ep_queue <FSL-udc-core> => nuke <FSL-udc-core> => fsl_ep_fifo_flush <FSL-udc-core> => done <FSL-udc-core> => setup_received_irq: Requests handled by gadget (DATA) g_webcam gadget: non-core control reqa1.81 v0100 i0001 l26 UVC_FUNCTION_SETUP: setup request a1 81 value 0100 index 0001 001a bRequestType a1 bRequest 81 wValuvc_send_response: ue 0100 wIndex 0001 wLength 001alength=[34] streaming request (req 81 cs 01) <composite.c> => uvc_send_response. <FSL-udc-core> => fsl_ep_queue <FSL-udc-core> => fsl_req_to_dtd <FSL-udc-core> => fsl_build_dtd [fsl_build_dtd] length = 26 address= 0x83b53000 <FSL-udc-core> => fsl_queue_td <FSL-udc-core> => fsl_prime_ep [fsl_udc_irq] Packet int <FSL-udc-core> => dtd_complete_irq <FSL-udc-core> => process_ep_req [process_ep_req] dTD transmitted successful [dtd_complete_irq] status of process_ep_req= 0, ep = 0 <FSL-udc-core> => ep0_req_complete <FSL-udc-core> => done <FSL-udc-core> => ep0_prime_status <FSL-udc-core> => fsl_req_to_dtd <FSL-udc-core> => fsl_build_dtd [fsl_build_dtd] length = 0 address= 0x83b53000 <FSL-udc-core> => fsl_queue_td <FSL-udc-core> => fsl_prime_ep [fsl_udc_irq] Packet int <FSL-udc-core> => dtd_complete_irq <FSL-udc-core> => process_ep_req [process_ep_req] dTD transmitted successful [dtd_complete_irq] status of process_ep_req= 0, ep = 0 <FSL-udc-core> => ep0_req_complete <FSL-udc-core> => done <FSL-udc-core> => suspend_irq <composite.c> => composite_suspend g_webcam gadget: suspend usb_gadget_vbus_draw <FSL-udc-core> => fsl_vbus_draw root@freescale ~$ root@freescale ~$ root@freescale ~$ root@freescale ~$ root@freescale ~$ root@freescale ~$ root@freescale ~$ root@freescale ~$ root@freescale ~$