I've been troubleshooting a problem with a Wii not having network connectivity this weekend. The Wii was plugged into a switch that showed the link was up. The Wii wasn't working when I had it configured for a fixed IP address, gateway address, and DNS server addresses. I tried DHCP, instead, but that didn't work, either. With a sniffer, I could observe the Wii sending out DHCP requests, but I never saw any response coming back from the DHCP server. Yet, I could see other network traffic reaching the Wii. I plugged the cable going into the Datel USB network adapter I was using with the Wii into my laptop and it would get an IP address from the DHCP server, so all of the network cabling seemed to be good. I even installed a driver for the Datel USB to Ethernet network adapter into my laptop and loaded a driver for that adapter on the Windows Vista laptop. That worked as well.
I was able to resolve the problem by putting a small 5-port hub between the switch and the Wii. Everything worked fine then, but I don't know why that worked. I thought there might a problem with autonegotiation of the duplex and speed settings, but on the switch side I tried all possible settings for the duplex setting, i.e. auto, full, and half, with all possible combinations of the speed setting, i.e. auto, 100 Mbs, 10 Mbs, but none of the nine combinations worked.
When I did get the Wii's Internet connectivity working, I captured the traffic from/to it, so I would have a better idea of how it determines whether it has Internet connectivity. I've recorded my notes here.