how to configure/build Angstrom to have USB RNDIS instead of CDC composite gadget?

652 views
Skip to first unread message

chuqdd

unread,
May 26, 2009, 1:14:11 PM5/26/09
to Beagle Board
Hi,

I tried to configure and compile/build angstrom image to have USB
RNDIS support (like the original board validation image when in the B4
version) instead of the default CDC composite gadget support?

I did the following to do that, but unfortunately I got no USB
connection at all:

cd ~/oe/tmp/work/beagleboard-angstrom-linux-gnueabi/linux-omap-2.6.28-
r18/git
make menuconfig
then "Device Drivers"--->"USB Support"--->"USB Gadget Support"--->
changed from "CDC Composite Device (Ethernet and ACM)" to "Ethernet
Gadget (with CDC Ethernet support)"
save and exit

then I build the uImage and console-image-beagleboard.tar.bz2, then I
prepare SD card with these files. Beagle board boots fine, except
without USB connection. Obvious my configuration is wrong.

I appreciate any suggestions how to configure Angstrom build process
to have USB RNDIS back.

Thank you,

Chuqdd

Michael Evans

unread,
May 26, 2009, 3:43:39 PM5/26/09
to beagl...@googlegroups.com
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
Reply all
Reply to author
Forward
0 new messages