Hi business_kid and jefro, and thanks for looking into my problem. Yes, the wireless router/DSL modem is running DHCP, and web browsing works great, but there's a problem with Samba and with ping. I think the Samba and ping problems are related. If I can't ping by IP address then adding names to /etc/hosts won't help. I'm not really worried about ping, but ping is simple, so if I can troubleshoot that then maybe I'll know why Samba is broken.
So I put windump (Windows port of tcpdump) on the XP machine and fired it up, and then I tried to ping the Ubuntu computer from a different window on the same XP computer:
C:\>windump -i 2 -n
windump: listening on \Device\NPF_{CC5BAD95-9B3C-4353-B5E8-D31F3523D825}
[In another window I entered the command "ping 192.168.0.105" after starting windump.]
21:06:51.300570 arp who-has 192.168.0.105 tell 192.168.0.211
21:06:56.283240 arp who-has 192.168.0.105 tell 192.168.0.211
21:07:01.780075 arp who-has 192.168.0.105 tell 192.168.0.211
21:07:07.251531 arp who-has 192.168.0.105 tell 192.168.0.211
The XP machine .211 is asking who has .105, but the Ubuntu computer .105 isn't responding. The XP computer never sent the ICMP echo request packets because it didn't even know the MAC address to ping. You were right that it's an ARP problem, good call jefro! I was running tcpdump on the Ubuntu computer, and it never saw any packets at all. For the sake of comparison I rebooted the Ubuntu computer into the seldom-used Windows 7 side and fired up Wireshark on it, and ran windump on the XP computer again, and tried the ping experiment again between the two Windows computers. Here's the windump results from .211:
C:\>windump -i 2 -n
windump: listening on \Device\NPF_{CC5BAD95-9B3C-4353-B5E8-D31F3523D825}
[In another window I entered the command "ping 192.168.0.105" after starting windump.]
00:18:51.052338 arp who-has 192.168.0.105 tell 192.168.0.211
00:18:51.055252 arp reply 192.168.0.105 is-at 00:26:82:af:a1:f6
00:18:51.055259 IP 192.168.0.211 > 192.168.0.105: ICMP echo request
00:18:51.057750 arp who-has 192.168.0.211 tell 192.168.0.105
00:18:51.057757 arp reply 192.168.0.211 is-at 00:12:17:64:ed:f1
00:18:51.059691 IP 192.168.0.105 > 192.168.0.211: ICMP echo reply
00:18:52.040531 IP 192.168.0.211 > 192.168.0.105: ICMP echo request
00:18:52.042355 IP 192.168.0.105 > 192.168.0.211: ICMP echo reply
Everything is normal there. (The Wireshark log from .105 was identical.) So in the first experiment, when the Ubuntu computer running tcpdump never saw the ARP requests, I think there actually were ARP requests that it could see, because when I ran Winshark on Windows 7 (on the same computer even) then there were the ARP requests. I think that the Ubuntu kernel was ignoring the ARP requests so that even tcpdump couldn't see them. If the Ubuntu machine is ignoring ARP requests, then I'm not surprised Samba isn't working.
If anyone can shed some light on why the Ubuntu machine is ignoring ARP requests, that would be great. In the meantime I can Google "Linux not responding to ARP" or something. If I know what to Google then my problem is half-solved already
