I got this to work but my kernel compile options made all the USB gadgets modules - that way I can pick and swap at run time how my BeagleBoard appears.
1. I set CONFIG_USB_GADGET (Drivers - USB Support) to "Y".
2. I set Drivers - USB Support - USB Gadget Drivers to "M". (Don't actually enter this menu, but when it is selected press "M")
3. I set pretty much all of the gadget drivers to "M" inside the Drivers - USB Support - USB Gadget Drivers menu or said Yes where they couldn't be modules.
After a build and reboot you can then insert the module with insmod {path_to_g_ether.ko} or if you copy across the relevant files for modules then just "modprobe g_ether". You should see the following added to dmesg logs:
g_ether gadget: using random self ethernet address
g_ether gadget: using random host ethernet address
usb0: MAC 42:fb:19:24:1b:47
usb0: HOST MAC e6:3a:20:26:2b:f9
g_ether gadget: Ethernet Gadget, version: Memorial Day 2008
g_ether gadget: g_ether ready
musb_hdrc musb_hdrc: MUSB HDRC host driver
musb_hdrc musb_hdrc: new USB bus registered, assigned bus number 2
usb usb2: configuration #1 chosen from 1 choice
hub 2-0:1.0: USB hub found
hub 2-0:1.0: 1 port detected
g_ether gadget: high speed config #1: CDC Ethernet (ECM)
Then you need to provide an IP address to the BeagleBoard and the computer its attached to:
beagleboard$ sudo ifconfig usb0 192.168.200.1 up
and
desktop$ sudo ifconfig usb0 192.168.200.2 up
desktop$ ping 192.168.200.1 # or ssh, etc...
If it isn't working then there may be a module dependency that isn't being satisfied, in which case you'll see an error trying to load the module about an unkown symbol. Either way, there should be details about why it hasn't worked in dmesg.
> Date: Tue, 26 May 2009 10:14:11 -0700
> Subject: [beagleboard] how to configure/build Angstrom to have USB RNDIS instead of CDC composite gadget?
> From:
chu...@yahoo.com> To:
beagl...@googlegroups.com