not to split hairs but incorrect on all accounts. There is no need whatsoever to use NDIS drivers since Android support is built specifically into the Linux kernel. NDIS is not really a solution that is used anymore. The vast majority of regular ethernet and Wifi NICs work out of the box with the exception of some that have proprietary kernel modules that aren't shipped by default with distros due to licensing conflicts.
that being said, USB tethering is a whole different ball game. And as far back as Ubuntu 9.10 USB tethering has worked out of the box on Android phones. But since I think 11.04 (probably with kernel 2.34 I believe) it has ceased working. I came across a kernel patch for the USB ethernet modules used by Android devices, but I have yet to have any success with tethering, even on the patched kernel.
As I said, I don't have a Windows install on any of my computers, we're all Linux and OSX here. PDA Net works just fine on OSX.
wired tether doesn't work on my old phone either, but that may be because it's running a very bleeding edge unstable ROM.
LGP509-T Optimus One
Samsung T839 Sidekick 4G
LGE960 Nexus 4
Cyanogenmod 10.1 Nightlies 384MHz/1512MHz/ONDEMAND -150Mv Quadrant = 4996
ClockWorkMod Recovery 188.8.131.52 Touch