These are the modules I've enabled for usb-tethering with my Android phone.
I'm not sure if I really need the embedded arm module. I was too lazy to test it. ^^
Most important thing, it should work with these settings.
-> Device Drivers
-> Network device support (NETDEVICES [=y])
<m> Generic Media Independent Interface device support
-> USB Network Adapters
<m> Multi-purpose USB Networking Framework
-M- CDC Ethernet support (smart devices such as cable modems)
<m> CDC EEM support
<m> Host for RNDIS and ActiveSync devices (EXPERIMENTAL)
<m> Simple USB Network Links (CDC Ethernet subset)
[*] Embedded ARM Linux links (iPaq, ...)
Just connect your phone via usb and enable usb-tethering in the settings. A new device called usb0 should appear.
If you don't use wicd or any other network manager which manages dhcp, then do the following as root in a shell to fetch an IP:
dhcpcd usb0