I was recently needing Internet access on a desktop PC with Windows XP SP3 installed using a Samsung Fascinate running CyanogenMod 7(CM7). USB tethering had work easily using under Windows 7, but Windows XP would not recognize the USB device. Digging through dozens of posts and forums I found the information from Google. Google as a help topic for installing Android based phones as USB modem interface using the tetherxp.inf file. I downloaded the file, and tried plugging in my Fascinate, enabled USB tethering, and still could not get Windows XP to recognize the USB device for tethering. So, here was a simple fix I got to get this working.
I opened up the the tetherxp.inf file and save a few of the usb identifiers for installing the device. You will see a line like this.
[AndroidDevices] ; Google Nexus One without adb %AndroidDevice% = RNDIS, USB\VID_18D1&PID_4E13
I then opened Device Manager in Windows XP by right-clicking on My Computer->Properties, click on Hardware tab, and then Device Manger button. There was the unrecognized USB device with the yellow question mark icon. I right-clicked on the item and chose Properties. Then click on the Details tab at the top. Here I could see the USB device ID. I copied those values into my tetherxp.inf file to see what would happen. My section of tetherxp.inf now looks like:
[AndroidDevices] ;Samsung Fascinate i500 %AndroidDevice% = RNDIS, USB\VID_18D1&PID_4E24 [AndroidDevices.NT.5.1] ; Samsung Fascinate i500 with adb %AndroidDevice% = RNDIS.NT.5.1, USB\VID_18D1&PID_4E24
Saved the file. Back on the Details tab, I clicked on the Driver tab for the device, and clicked Update Driver button. Choose the tetherxp.inf you have saved. Windows XP will propmpt to accept to install and unsigned driver. Click Continue Anyway. It will proceed to install the device and will be named Android USB/RNDIS Ethernet. Your computer should then be able to connect now being tethered via the USB cable.