I eventually found an existing question that matched the symptoms I was experiencing. The solution worked for me as well, but I wanted to expand on it a bit.
Here's the step-by-step to enable the Virtual LAN in DD-WRT so that devices hard-wired to the router can communicate with each other (I'd love to know why this is not enabled by default):
- Go to DD-WRT administration webpage (usually 192.168.1.1 on a home network)
- Click on Administration tab
- Click on Commands sub-tab
In the "Commands" text area, type:
Click the button, Run Commands
- You should see one of the following results (most likely):
Found: switch0 - eth0
Found: switch0 - eth1
Enter the following in the "Commands" text area (*note: replace
eth1 if needed to match the results of the
swconfig list command):
swconfig dev eth0 set enable_vlan 1
swconfig dev eth0 set apply
Click the button Save Startup
- Click on the Administration tab at the top of the screen
- Scroll all the way to the bottom and click the red button Reboot Router
- Verify the problem has been fixed following a router reboot
What the above steps do is save a startup script that runs whenever the router is rebooted. Saving it as a startup script is not necessary, but the alternative is that you would have to remember to run the two commands to enable the virtual LAN anytime the router got rebooted.
You could also run the commands to enable and apply the VLAN setting using the [Run Commands] button if you wanted to get immediate feedback without rebooting the router. I left that out because I was trying to minimize the total number of steps needed to achieve the desired end state.