DD-WRT: Cannot see client when using wired ethernet

dd-wrtrouting

A bit of a frustrating problem I've been facing – I just don't know what's wrong.

I have a Netgear WNR2000v3 router with DD-WRT v24-sp2 (03/19/12) std installed. Everything works perfectly apart from one issue.

I have a fileserver that's plugged into one of the ethernet ports on the back of the router. The fileserver can see all network devices fine (can ping fine). The fileserver – and all over devices – can access the Internet via the eth0 interface (configured to be WAN). DD-WRT gets a WAN IP via DHCP – all fine.

Here's the interesting part. When my laptop is connected via wifi (device ath0 on the router), the laptop can see the fileserver – I can ping it fine. However, when I then plug the laptop into another ethernet port on the back of the router, it can no longer reach the fileserver! Whenever I ping, I get "No route to host" and "Host is down" messages interchangeably – even though it's actually still running fine.

I thought it might be an issue regarding the br0 interface created by default – but as far as I can see, the ethernet ports (eth1) and the wifi (ath0) are bridged as I would expect them to be. You can see the settings page showing this here:

enter image description here

I'm confident the subnets are the same. I should also note that when I SSH into the router (which I can do on both wifi and wired ethernet), the router can ping the fileserver fine at all times. I just can't figure out what is wrong, and am hoping someone can shed some light on this strange issue.

Best Answer

I found the solution, you need to run the following two commands to allow clients hooked up to the switch to talk to each other:

swconfig dev eth1 set enable_vlan 1
swconfig dev eth1 set apply 

Commands courtesy of tomshardware

I still don't understand:

  1. What these commands are doing
  2. Why they weren't enabled by default
Related Question