I have been trying to work through the sample code for a gadgetfs
usermode driver for a usb device (http://www.linux-usb.org/gadget/
usb.c). The system I have loaded on the BeagleBoard is Angstrom LINUX
(http://www.angstrom-distribution.org/building-angstrom). The problem
I find myself working through is this, in the usb.c code you need to
access the files /dev/gadget/{ep1in, ep1out, ep3}.
From the source:
/* Something based on Mentor USB Highspeed Dual-Role Controller */
} else if (stat (DEVNAME = "musb_hdrc", &statb) == 0) {
HIGHSPEED = 1;
device_desc.bcdDevice = __constant_cpu_to_le16 (0x0107),
fs_source_desc.bEndpointAddress
= hs_source_desc.bEndpointAddress
= USB_DIR_IN | 1;
EP_IN_NAME = "ep1in";
fs_sink_desc.bEndpointAddress = hs_sink_desc.bEndpointAddress
= USB_DIR_OUT | 1;
EP_OUT_NAME = "ep1out";
source_sink_intf.bNumEndpoints = 3;
fs_status_desc.bEndpointAddress
= hs_status_desc.bEndpointAddress
= USB_DIR_IN | 3;
EP_STATUS_NAME = "ep3";
}
I have loaded the gadgetfs module:
root@beagleboard:~# lsmod
Module Size Used by Not tainted
gadgetfs 18100 1
root@beagleboard:~#
And I have mounted the gadgetfs filesystem
root@beagleboard:~# cat /etc/fstab
# stock fstab - you probably want to override this with a machine
specific one
rootfs / auto
defaults 1 1
proc /proc proc
defaults 0 0
devpts /dev/pts devpts
mode=0620,gid=5 0 0
usbfs /proc/bus/usb usbfs
defaults 0 0
tmpfs /var/volatile tmpfs
defaults 0 0
tmpfs /dev/shm tmpfs
mode=0777 0 0
tmpfs /media/ram tmpfs
defaults 0 0
gadget /dev/gadget gadgetfs
defaults 0 0
#gadget /dev/gadget gadgetfs
noauto,user,group 0 0
# uncomment this if your device has a SD/MMC/Transflash slot
#/dev/mmcblk0p1 /media/card auto
defaults,sync,noauto 0 0
root@beagleboard:~#
When I check the /dev/gadget directory, all I have is
root@beagleboard:~# ls /dev/gadget/
musb_hdrc
root@beagleboard:~#
The kernel build is
root@beagleboard:~# cat /proc/version
Linux version 2.6.29-omap1 (tinyNome@ubuntu) (gcc version 4.3.1
(GCC) ) #1 PREEMPT Tue Apr 13 14:05:53 EDT 2010
root@beagleboard:~#
Any thoughts? Have I failed to load a module I need? Is there a known
issue with this kernel and the beagleboard. I have checked online and
could not find any information. Thanks.