What about reverse USB tethering? Have anyone tried to do that with Network Manager? I.e. I want to share my wire connected laptop with my Android 2.2 phone through USB cable. I have HTC Desire Z and USB tethering works flawlessly, but I cannot do it in the other way.

I have enabled all the kernel option mentioned. I first did them inline as the post showed * not M.
I also tried modules since the post showed lsmod.

In both cases the usb interface was not established (I did make the net.usb0-->net.lo symlink).

When I tell the phone to connect as a disk, that works perfectly. But when I tell it to support mobile broadband, I do not get the dmesg output shown and dhcpcd usb0 fails. I believe this is all due to my not getting the usb0 interface. I am running 2.6.39 on a ~amd64 gentoo system.

Ah, so that's how this works with Android - rndis_host (with it's dependencies cdc_ether and usbnet). Good to know in case I'll need it. On my old Nokia phone you'd instead use usbserial, which would give you a /dev/ttyUSB0 and then you'd use ppp with that. Worked with bluetooth to, except the device was /dev/rfcomm0 in that case.

Quite funny, considering the text in the kernel config says rndis shouldn't be used because it's some evil Microsoft thingy.

Very nice, thanks. I also compiled everything into the kernel but usb0 isn't showing up.
Dmesg is not showing any switch when tethering is enabled.
Android 2.3.4 CM7 and gentoo-sources-2.6.39-r2 ~amd64 here.
Anything missing?_________________"Coincidence is God's way of remaining anonymous."
Albert Einstein
"The road to success is always under construction"

Very nice, thanks. I also compiled everything into the kernel but usb0 isn't showing up.
Dmesg is not showing any switch when tethering is enabled.
Android 2.3.4 CM7 and gentoo-sources-2.6.39-r2 ~amd64 here.
Anything missing?

I had enabled all of the modules in the original post and couldn't get usb0 to show up either. I slimmed it down to just:

Thanks!
Even if I compile in as modules, everything loads fine except rndis_host.
I cannot seem to find this one. Even a grep over the kernel config file showed no result.
Where is this little bugger hidden?_________________"Coincidence is God's way of remaining anonymous."
Albert Einstein
"The road to success is always under construction"

Click '/' in menuconfig and type what you are looking for, like RNDIS_HOST then look at 'depends on' line, here you see what you need to enable to have it, sometimes option may be not visiable in menuconfig until you enable some deps. Very common._________________BitBucket -- better-initramfs

But when I browse there, it isn't there
I suppose my config is somewhat broken, I always generate a new kernel config with "make oldconfig".
Is there any way to repair it, without having to configure the whole kernel?_________________"Coincidence is God's way of remaining anonymous."
Albert Einstein
"The road to success is always under construction"

Probably my config is really messed, this is from 3.9 too... Is there a way to insert those options manually in the configuration file?_________________"Coincidence is God's way of remaining anonymous."
Albert Einstein
"The road to success is always under construction"

There are only those options available that are shown in my last post _________________"Coincidence is God's way of remaining anonymous."
Albert Einstein
"The road to success is always under construction"