I've put an app together (99% based on "Wireless Tether for Root Users") which allows tethering via USB. Clients need to support RNDIS - works fine with Microsoft Windows (tested with XP and 7) and Linux (OpenSuSE 11.1).
Zinx Verituse has ported the essential parts of the hero-kernel and cyanogen has introduced this feature in his latest rom. So, thanks Zinx for the patches and cyanogen for publishing on github.
Patches can be found here:
I've decided to create this app to give all rom-cooks the ability to use this feature without modifying system-services and/or system-apks.
What a cook needs to do: Patch your kernel and recompile - all other stuff is done by the app.
* Tethering makes use of the mobile-data-connection (HSDPA/EDGE/GPRS) or WiFi-connection
* Uses correct domainname-servers - provided by your carrier or which are configured on the wifi-access-point you connect (even if the network changes => switch from 3g to wifi and vice versa)
* Allows to change the local-network (network/subnetmask)
* CyanogenMod 18.104.22.168+
* Android Dev Phone 1
=> my kernel-update needs to be applied: http://code.google.com/p/android-wir.../list?q=Kernel