I know that when I have been compiling kernels in the past there is a selection for USB devices, and there is also soemthing for USB gadgets I believe, such as flash storage and what not. Maybe if you opened up your kernel .config in your choice of GUI's you could see what would need to be loaded.
This might be of some help:
USB FAQ
-onelung