11

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.

2
  • 1
    Did you ever find a solution to this problem? I've got literally the exact same thing (same issue, same router, etc) and havent been able to find a damn thing
    – Finn
    Nov 24, 2013 at 1:19
  • 1
    Same route, same issue. Came looking for a solution found this page. Windows Laptop can ssh into LAN IP of both my NAS and Linux PC which are hard-wired to the router. NAS cannot see Linux PC and vice versa. Oddly enough, from my Linux PC I can ssh into the DD-WRT and from there ssh into the NAS. The other way works as well. Something is effed-up
    – SiegeX
    Sep 12, 2014 at 6:29

3 Answers 3

13

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
3
  • 3
    This works for me as well using the latest DD-WRT firmware on my TP-Link TL-WR841ND v9. (I had to use eth0 instead of eth1 though.)
    – mgiuffrida
    Jul 19, 2015 at 4:20
  • 1
    Thank you @mgiuffrida! That worked for me on my TP-Link router also! Sep 19, 2015 at 1:53
  • 1
    this worked for me with Firmware: DD-WRT v3.0-r27745 std (08/25/15) with TP-Link WR841ND. You run this commands in http://routerip/Diagnostics.asp and I also used eth0 as @mgiuffrida Dec 27, 2018 at 14:22
3

I did some googling and it appears to be a bug in the DD-WRT firmware. There is talk on the DD-WRT forum that newer version a of the firmware will fix the issue. SiegeX's fix works great, one additional thing that I would do would be to add it as a startup command in the commands window so that next time your router reboots it will "fix" itself.

2

Note that according to the bug in the DD-WRT firmware that @Simon The Cat linked, you may need to run some additional commands as I did on my TL-WR841Nv9 when I upgraded to DD-WRT build 38240.

You can/should verify which interface to use by running "swconfig list" in an SSH session.

root@TL-WR841Nv9:~# swconfig list
Found: switch0 - eth0
root@TL-WR841Nv9:~#

You can also confirm what all ports you need to enable vlan 0 on with "swconfig dev eth0 show"... In the case below i have ports 0,1,2,3, and 4:

root@TL-WR841Nv9:~# swconfig dev eth0 show
Global attributes:
        enable_vlan: 0
        mirror_monitor_port: 15
Port 0:
        enable_mirror_rx: 0
        enable_mirror_tx: 0
        pvid: 0
        link: port:0 link:up speed:1000baseT full-duplex txflow rxflow
Port 1:
        enable_mirror_rx: 0
        enable_mirror_tx: 0
        pvid: 0
        link: port:1 link:down
Port 2:
        enable_mirror_rx: 0
        enable_mirror_tx: 0
        pvid: 0
        link: port:2 link:down
Port 3:
        enable_mirror_rx: 0
        enable_mirror_tx: 0
        pvid: 0
        link: port:3 link:up speed:100baseT full-duplex auto
Port 4:
        enable_mirror_rx: 0
        enable_mirror_tx: 0
        pvid: 0
        link: port:4 link:up speed:100baseT full-duplex auto
VLAN 0:
        vid: 0
        ports: 0 1 2 3 4
root@TL-WR841Nv9:~#

The final commands I put in the Administration -> Commands -> Command Shell [box] -> "Save Startup" were as follows. Substitute your interface name below which is for TP-Link TL-WR841Nv9:

swconfig dev eth0 set reset 1;
swconfig dev eth0 set enable_vlan 1
swconfig dev eth0 vlan 0 set ports '0 1 2 3 4'
swconfig dev eth0 set apply 1

Afterwards - no idea why, the output below from "swconfig dev eth0 show" looks identical to the same command's output after I run just these two commands on startup "swconfig dev eth0 set enable_vlan 1; swconfig dev eth0 set apply 1;" but for some reason my router needed the other two lines to get the switch ports to communicate properly between devices as documented in the bug report:

root@TL-WR841Nv9:~# swconfig dev eth0 show
Global attributes:
        enable_vlan: 1
        mirror_monitor_port: 15
Port 0:
        enable_mirror_rx: 0
        enable_mirror_tx: 0
        pvid: 0
        link: port:0 link:up speed:1000baseT full-duplex txflow rxflow
Port 1:
        enable_mirror_rx: 0
        enable_mirror_tx: 0
        pvid: 0
        link: port:1 link:down
Port 2:
        enable_mirror_rx: 0
        enable_mirror_tx: 0
        pvid: 0
        link: port:2 link:down
Port 3:
        enable_mirror_rx: 0
        enable_mirror_tx: 0
        pvid: 0
        link: port:3 link:up speed:100baseT full-duplex auto
Port 4:
        enable_mirror_rx: 0
        enable_mirror_tx: 0
        pvid: 0
        link: port:4 link:up speed:100baseT full-duplex auto
VLAN 0:
        vid: 0
        ports: 0 1 2 3 4
root@TL-WR841Nv9:~#

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .