[usb-rndis-lite]$ svn update
At revision 3842.
[usb-rndis-lite]$ make clean
make -C /lib/modules/2.6.31/build SUBDIRS=/[...]/usb-rndis-lite clean
make[1]: Entering directory `/usr/src/linux-2.6.31'
CLEAN /[...]/usb-rndis-lite/.tmp_versions
make[1]: Leaving directory `/usr/src/linux-2.6.31'
[usb-rndis-lite]$ make
make -C /lib/modules/2.6.31/build SUBDIRS=/[...]/usb-rndis-lite modules
make[1]: Entering directory `/usr/src/linux-2.6.31'
CC [M] /[...]/usb-rndis-lite/usbnet.o
/[...]/usb-rndis-lite/usbnet.c: In function ‘usbnet_probe’:
/[...]/usb-rndis-lite/usbnet.c:1199: error: ‘struct net_device’ has no member named ‘change_mtu’
/[...]/usb-rndis-lite/usbnet.c:1200: error: ‘struct net_device’ has no member named ‘get_stats’
/[...]/usb-rndis-lite/usbnet.c:1201: error: ‘struct net_device’ has no member named ‘hard_start_xmit’
/[...]/usb-rndis-lite/usbnet.c:1202: error: ‘struct net_device’ has no member named ‘open’
/[...]/usb-rndis-lite/usbnet.c:1203: error: ‘struct net_device’ has no member named ‘stop’
/[...]/usb-rndis-lite/usbnet.c:1205: error: ‘struct net_device’ has no member named ‘tx_timeout’
make[2]: *** [/[...]/usb-rndis-lite/usbnet.o] Error 1
make[1]: *** [_module_/[...]/usb-rndis-lite] Error 2
make[1]: Leaving directory `/usr/src/linux-2.6.31'
make: *** [default] Error 2
----
This is most likely because of:
http://patchwork.ozlabs.org/patch/27566/
which has caused problems elsewhere (3rd-party example: http://www.virtualbox.org/ticket/4264\)
usb-rndis-lite is not required for later kernels, why do you want to build it ?
View and moderate all "bugs Discussion" comments posted by this user
Mark all as spam, and block user from posting to "Bugs"
Just because it is not required does not mean it's not useful.
Example:
http://ubuntuforums.org/showpost.php?p=5888254&postcount=1
Since Ubuntu 9.10 will be coming out with the .31 kernel, I'd imagine this will become a far more noticeable problem in about a week.
There has been some misinterpretation of the point of usb-rndis-lite. It was used as a local development source of the kernel driver, because basically the kernel driver didn't work. The fixes in usb-rndis-lite were then merged into the kernel.
There is no benefit in using usb-rndis-lite with newer kernels. The example you give is old, internet connection sharing in the new kernels should work, and if it doesn't we need to fix it in the kernel, not use usb-rndis-lite