
On 06/02/2014 05:02 PM, Jörg Krause wrote:
Sorry, my previous post was not shown correctly. The raw text was missing. I removed the annotation.
Since this commit my Ethernet Gadget on a custom Freescale i.MX28 board is broken. Using tftp to download files I get in almost all cases a timeout:
Sorry for the slow response; for some reason I didn't get a copy of the message so I didn't notice it.
Could you tell me which include/config/xxx.h file you're using? I guess if it's a custom board, perhaps that file isn't upstream. If so, I'm particularly interested in whether you have CONFIG_USB_GADGET or CONFIG_USB_ETHER enabled.
I wonder if applying the following series rather than reverting this commits solves the issue?
[U-Boot,1/4] usb: ci_udc: detect queued requests on ep0 http://patchwork.ozlabs.org/patch/353926/
[U-Boot,2/4] usb: ci_udc: use a single descriptor for ep0 http://patchwork.ozlabs.org/patch/353932/
[U-Boot,3/4] usb: ci_udc: pre-allocate ep0 req http://patchwork.ozlabs.org/patch/353931/
[U-Boot,4/4] usb: ci_udc: complete ep0 direction handling http://patchwork.ozlabs.org/patch/353941/
The only other thing I can think of is that there's some issue with the bounce buffer alignment or size being wrong somehow. Perhaps try increasing those?
Or, perhaps req->actual ends up being wrong, so ci_debounce() isn't cache-invalidating or copying enough data? Perhaps try rounding up req->len instead of req->actual when performing the cache invalidate?
This is one case:
Updating rootfs ... using ci_udc, OUT ep- IN ep- STATUS ep- MAC 00:19:b8:00:00:02 HOST MAC 00:19:b8:00:00:01 high speed config #1: 2 mA, Ethernet Gadget, using CDC Ethernet USB network up! Using usb_ether device TFTP from server 10.0.0.1; our IP address is 10.0.0.2 Filename 'rootfs.ubifs'. Load address: 0x40008000 Loading: ###########timeout sending packets to usb ethernet
I'm slightly confused by this log. Do you have 2 boards running U-Boot, one running the USB controller in device mode, and this is the log from some other board that's talking to that first board?