hi
on pc:when i use the usb_control_msg,
usb_control_msg(dev, 0x80,0x06, 768, 0, tmp,32,10000);
in the isr_setup_packet_handler(kernel-source\drivers\usb\chipidea\udc.c) i can get the :
__u8 request = 0x80,
__u8 requesttype = 0x06,
__u16 value = 768,
__u16 index = 0,
__u16 size = 32
by struct usb_ctrlrequest req;
but i don't know how to get the data(tmp) i have send by usb_control_msg.
thanks!
Hi,
Could you please specify which BSP are you using? Are you using any of the existing USB Classes or are you defining a custom USB Device?
Best regards!
/Carlos
hi
the information is that:
U-Boot 2015.04-imx_v2015.04_3.14.38_6ul_ga+g5d63276 (Aug 18 2015 - 21:32:01)
CPU: Freescale i.MX6UL rev1.0 at 396 MHz
CPU: Temperature 43 C
Reset cause: WDOG
Board: MX6UL 14x14 EVK
I2C: ready
DRAM: 512 MiB
when boot up
i run this:modprobe g_serial use_acm=0
and connect pc whith micusb.
on the pc ,i used ilbusb by Qt.
when connect the usb .i run usb_control_msg(dev, 0x80,0x06, 768, 0, tmp,32,10000);
i have analyzed the code and found that:
when i run usb_control_msg on pc .
i can get the struct usb_ctrlrequest in isr_setup_packet_handler(kernel-source\drivers\usb\chipidea\udc.c)
in the struct usb_ctrlrequest i can found the :
__u8 request = 0x80,
__u8 requesttype = 0x06,
__u16 value = 768,
__u16 index = 0,
__u16 size = 32
but i don't know hwo to get the tmp that i have send by usb_control_msg on pc.
Best regards!
Hi,
You could refer to the following links, they may provide useful information related to your issue:
[PATCH 1/4] usb: chipidea: udc: refine isr_tr_complete_handler
usb - How does libusb access kernel stuff? - Unix & Linux Stack Exchange
Linux/drivers/usb/chipidea/udc.c - Linux Cross Reference - Free Electrons
Hope this will be useful for you.
Best regards!
/Carlos