I have a peer-to-peer network, configured statically, that works just fine on all machines except the newest addition, a Windows XP Pro machine. The other PCs connected to the network are Windows 2000 Pro. I have other network devices connected (network scanner running XP embedded, network printer running LanMan 4.22, NAS running NT 4.9) which all work well. I have a total of 10 devices in the workgroup when all computers and devices are turned on (not all devices are turned on at all times).
There is a wired broadband router (Linksys RT-41 BU, UPnP capable, apparently no longer supported by Cisco) connected to an unmanaged switch. When the new WinXP machine is connected directly to the router, it is recognized by the other computers, it recognizes the other computers, and everything works as expected. As such, I believe the hardware is working and configuration is (almost?) correct.
When the XP computer is connected to the switch, it recognizes itself as the only member of the workgroup; it can send packets, but cannot receive them; it cannot be pinged (100% loss), and can ping only itself. The other computers connected directly to the switch see the XP computer (it is listed as a member of the workgroup), but if you right click and check the properties, a windows networking error indicating "the server Vostro200 could not be found on the network" (Vostro200 is the network ID I am using). The XP machine cannot be pinged from the 2000 computers when connected to the switch.
I have eliminated the possibility of a bad port on the switch, or a bad cable. I have swapped cables, plugged into various ports on the switch, and have even changed the entire switch to troubleshoot the issue. I am focusing on the idea that a managed switch may help, since I could better ensure that the port connected to the gateway (the router) would be located. I have also considered the possibility of the router being the problem; however, when connected directly to the router (instead of to the switch, which is connected to the router) everything apparently works perfectly.