I've been travelling a lot lately and one of the problems that always comes up is how to share a single Internet connection in a hotel room with my wife Mai who's usually travelling with me. (She does remote SQL Server DBA work).
My colleague Fernando Guerrero suggested I try his USB-to-Ethernet adapter (a SiteCom one) and use Internet Connection Sharing. I installed the drivers for the SiteCom device (which is a good small size too) and configured ICS and it just worked. I thought this was excellent until Tuesday last week when the latest update for Vista came down from Microsoft.com. (I'm pretty sure that's what did it). Along with rebooting my machine in the middle of the day (I'd so love to discuss that with the windows update author), my ICS no longer worked.
When I tried to configure it, it provided the helpful message that "An error occurred while configuring Internet Connection Sharing". I *love* those sorts of error messages. No help whatsoever. It might as well poke you in the eye for good measure. Anyway, a search of the system event log found an error loading the IPv6 driver. What's interesting about that is I *don't* have IPv6 enabled on my connections as it tends to cause problems with various routers, particulary wireless routers.
After much frustration, it suddenly dawned on me to turn on IPv6 on the main network connection and lo and behold, ICS came back to life. So the moral of the story is that ICS on Vista now doesn't understand you disabling IPv6. It interprets it as being unable to load it. Enabling it allows ICS to work again (while no doubt returning me to router-related problems in the future).