question regarding USB gadget driver (dwc2)
Hi Marek & Lukasz,
I have an issue running fastboot on my board (which is USB_SPEED_HIGH):
=> fastboot0
failed to enable in ep
failed to enable in ep
failed to enable in ep
Because of this, fastboot does not even initialize properly, and I need to "^C" to break out?
I have traced this the following code in
"drivers/usb/gadget/dwc2_udc_otg.c":
559/* hardware _could_ do smaller, but driver doesn't */
560if ((desc->bmAttributes== USB_ENDPOINT_XFER_BULK
561&& le16_to_cpu(get_unaligned(&desc->wMaxPacketSize)) !=
562ep_maxpacket(ep)) || !get_unaligned(&desc->wMaxPacketSize)) {
563
564debug("%s: bad %s maxpacket\n", __func__, _ep->name);
565return -ERANGE;
566}
567
568dev= ep->dev;
569if (!dev->driver || dev->gadget.speed== USB_SPEED_UNKNOWN) {
570
571debug("%s: bogus device state\n", __func__);
572return -ESHUTDOWN;
573}
574
575ep->stopped = 0;
576ep->desc= desc;
577ep->pio_irqs= 0;
578ep->ep.maxpacket= le16_to_cpu(get_unaligned(&desc->wMaxPacketSize));The error message is because:
line 561 wMaxPacketSize= 64, and
line 562 ep_maxpacket(ep) = 512
I am questioning this logic, because at line 578, the ep.maxpacket is being changed to the wMaxPacketSize anyway!
I am uncertain how to proceed - please advise!
Thanks in advance, Steve
Quoted 11 lines · Steve Rae
Hi Marek & Lukasz,
I have an issue running fastboot on my board (which is
USB_SPEED_HIGH):=> fastboot0
failed to enable in ep
failed to enable in ep
Quoted 7 lines
failed to enable in ep
Because of this, fastboot does not even initialize properly, and I need to "^C" to break out?
I have traced this the following code in
"drivers/usb/gadget/dwc2_udc_otg.c":
I will have to delegate this onto Lukasz, since he's the s3c gadget expert.
Take a look at:
[PATCH 1/2] usb: gadget: s3c_udc_otg: fixed max packet size check for ep_in in high speed
Best regards,
Marek Vasut
Quoted 20 lines · Marek Vasut
Quoted 11 lines · Steve Rae
Hi Marek & Lukasz,
I have an issue running fastboot on my board (which is
USB_SPEED_HIGH):=> fastboot0
failed to enable in ep
failed to enable in ep
Quoted 7 lines
failed to enable in ep
Because of this, fastboot does not even initialize properly, and I need to "^C" to break out?
I have traced this the following code in
"drivers/usb/gadget/dwc2_udc_otg.c":
Quoted 9 lines
I will have to delegate this onto Lukasz, since he's the s3c gadget expert.
Take a look at:
[PATCH 1/2] usb: gadget:s3c_udc_otg: fixed max packet size check forep_inin high speedBest regards,
Marek Vasut
yes - I think that 'patchwork.ozlabs.org/patch/560029' would resolve my issue
Thanks, Steve
Quoted 26 lines · Steve Rae
Quoted 25 lines · Marek Vasut
Quoted 9 lines · Steve Rae
Hi Marek & Lukasz,
I have an issue running fastboot on my board (which is
USB_SPEED_HIGH):
=> fastboot0failed to enable in ep
failed to enable in ep
Quoted 8 lines
failed to enable in ep
Because of this, fastboot does not even initialize properly, and I need to "^C" to break out?
I have traced this the following code in
"
drivers/usb/gadget/dwc2_udc_otg.c":I will have to delegate this onto Lukasz, since he's the s3c gadget expert.
Take a look at:
[PATCH 1/2] usb: gadget:s3c_udc_otg: fixed max packet size check forep_inin high speed
Quoted 5 lines
Quoted 2 lines
Best regards,
Marek Vasutyes - I think that 'patchwork.ozlabs.org/patch/560029' would resolve my issue
Can you please resubmit that patch if it helps so it finally gets in ? Thanks
Best regards,
Marek Vasut
Hi Steve,
Quoted 31 lines · Marek Vasut
Quoted 28 lines · Steve Rae
Quoted 12 lines
Hi Marek & Lukasz,
I have an issue running fastboot on my board (which is
USB_SPEED_HIGH):=> fastboot0
failed to enable in ep
failed to enable in ep
Quoted 7 lines
failed to enable in ep
Because of this, fastboot does not even initialize properly, and I need to "^C" to break out?
I have traced this the following code in
"drivers/usb/gadget/dwc2_udc_otg.c":I will have to delegate this onto Lukasz, since he's the s3c gadget expert.
Take a look at:
[PATCH 1/2] usb: gadget:s3c_udc_otg: fixed max packet size check forep_inin high speed
Quoted 7 lines
Quoted 3 lines
Best regards,
Marek Vasutyes - I think that 'patchwork.ozlabs.org/patch/560029' would resolve my issue
Thanks, Steve
Ok, I see the point. The above patch should not bring any regression, since if MPS < maxpacket(ep), then we will set the descriptor's wMaxPacketSize as ep->ep.maxpacket.
I'm just wondering if you could share the wMaxPacketSize of your platform (lsusb -v on HOST).
In my case it is:
wMaxPacketSize 0x0200 1x 512 bytes
Signature · 5 lines
Best regards, Lukasz Majewski Samsung R&D Institute Poland (SRPOL) | Linux Platform Group
Hi Lukasz,
Quoted 45 lines · Lukasz Majewski
Hi Steve,
Quoted 31 lines · Marek Vasut
Quoted 28 lines · Steve Rae
Quoted 12 lines
Hi Marek & Lukasz,
I have an issue running fastboot on my board (which is
USB_SPEED_HIGH):=> fastboot0
failed to enable in ep
failed to enable in ep
Quoted 7 lines
failed to enable in ep
Because of this, fastboot does not even initialize properly, and I need to "^C" to break out?
I have traced this the following code in
"drivers/usb/gadget/dwc2_udc_otg.c":I will have to delegate this onto Lukasz, since he's the s3c gadget expert.
Take a look at:
[PATCH 1/2] usb: gadget:s3c_udc_otg: fixed max packet size check forep_inin high speedQuoted 7 lines
Quoted 3 lines
Best regards,
Marek Vasutyes - I think that 'patchwork.ozlabs.org/patch/560029' would resolve my issue
Thanks, SteveOk, I see the point. The above patch should not bring any regression, since if MPS < maxpacket(ep), then we will set the descriptor's wMaxPacketSize as
ep->ep.maxpacket.
Quoted 8 lines
I'm just wondering if you could share the wMaxPacketSize of your platform (lsusb -v on HOST).
In my case it is:
wMaxPacketSize0x02001x 512 bytes
on host: lsusb -v
[... snip ...]
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x02 EP 2 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
[... snip ...]
Thanks, Steve