Some DD-WRT firmware has a bug that prevents wired devices on your LAN from communicating with one another, this appears to be related to a VLAN configuration.
The fix:
Run this script on router start-up:
swconfig dev eth0 set enable_vlan 1
swconfig dev eth0 set apply
Many thanks to William Reading, I stumbled across this gem and it saved my bacon!
The story
So, you’ve got a nifty DD-WRT router on your home network, but wired devices can’t communicate with one another?
Here are the devices I used while troubleshooting:
* a wired desktop
* a wireless laptop
* a wired NAS
* my phone (on wifi)
The desktop could not ping the NAS, the laptop and phone could ping each other (both on WiFi). The only time I could get the desktop to ping the NAS was when they were plugging directly into one another…but not very helpful for the long term!
The laptop could connect to the NAS…unless it was on a wired connection with the WiFi disabled. This is what finally tipped me off…I’m slow.
Things I tried that did not work (with the help and patience of Google):
* make a static ARP entry (I got an access denied message, just valid IP addresses of wired devices, even when I was an administrator)
* using Wireshark to hopefully find useful nuggets (while pinging, I saw that my ARP broadcasts were not getting a response)
* Resetting Winsock via netsh (no dice)
* Resetting my router to factory defaults (no dice)
* Statically addressing the NAS and my PC (no dice)