10

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.

  • 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 '13 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 '14 at 6:29
11

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
    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 '15 at 4:20
  • 1
    Thank you @mgiuffrida! That worked for me on my TP-Link router also! – Michael McGuire Sep 19 '15 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 – Alex Angelico Dec 27 '18 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.

0

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:~#

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.