This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

U-boot: Ethernet over USB (with RNDIS) on DM369

Hi to all! Has anyone used Ethernet-over-USB on DM369-Davinci in U-boot (with my hardware as USB-device and Windows-PC as USB-host)? I do the following:

/* To build rndis.c, ether.c... from drivers/usb/gadget */
#define CONFIG_USB_ETHER
#define CONFIG_USB_ETH_RNDIS
#define CONFIG_USB_ETH_SUBSET  /* the CONFIG_USB_ETH_CDC option is also available */

/* To build dependencies from drivers/usb/musb-new - as I understand, DM369 uses Mentor Graphics USB controller */
#define CONFIG_MUSB_GADGET
#define CONFIG_MUSB_PIO_ONLY

/* To build functions which are needed to be passed to musb_register() call */
/* I build common lib for different DSPs because musb-new does not have strict support for DM369 */
#define CONFIG_USB_MUSB_DSPS

Then I implement 3 additional functions:

void myboard_musb_reset(void);
void myboard_musb_phy_power(u8 on);
void myboard_musb_clear_irq(void);

which are also needed to be passed to musb_register(). The code is based on the drivers/usb/musb/davinci.c

And then I call musb_register() from my board_eth_init()

I build U-boot successfully and load it by UART. But the Windows-host does not detect any USB devices, and ping from U-boot console gives the following:

DM36x EVM # ping 1.1.1.1
using musb-hdrc, OUT ep1out IN ep1in STATUS ep2in
MAC 00:0c:0c:02:3a:4c
HOST MAC 00:0c:0c:02:3a:4d
RNDIS ready
ERROR: The remote end did not respond in time.
at drivers/usb/gadget/ether.c:2358/usb_eth_init()
ping failed; host 1.1.1.1 is not alive

At this moment I could not dig the code to detect the problem.

THE QUESTION: Has anyone used other libs or options to make Ethernet-over-USB in U-boot working?

P.S. My hardware will have only UART, USB & WiFi. As I understand, its unreal to use WiFi in U-boot (is it right?), and UART is too slow. So it seems that the only fast interface is USB. Also my hardware will probably not provide USB +5V to use USB-mass-storage. Now I work on DM369IPNC-IMX104 hardware. The U-boot version is 2015.07 (final release), I use "davinci_dm365evm_config" board.

P.P.S. My final goal is to burn SPI-flash (with UBL) and eMMC-flash (with U-boot & Linux).