Enabling VLAN Support for BCM4704

From DD-WRT Wiki

Revision as of 01:46, 18 December 2010 by Phuzi0n (Talk | contribs)
(diff) ←Older revision | Current revision (diff) | Newer revision→ (diff)
Jump to: navigation, search

Contents

Introduction

BCM4704 is a rather unique chipset compared to most Broadcom based hardware. It has separate internal interfaces for the WAN port and LAN switch whereas most other Broadcom hardware has a single interface which is then split into VLAN's. Hardware VLAN support can be enabled for the LAN switch of BCM4704 based devices. You can use the Linux kernel's software VLAN tagging and bridging if you want to also use VLAN's on the WAN interface but that's another topic.

For whatever reason the devs don't enable VLAN support for BCM4704 based devices by default so this will explain how to enable it.

Hidden Support

Eko has been kind enough to add hidden support for some BCM4704 models which can be enabled by setting an nvram variable via Telnet/SSH like so:

nvram set force_vlan_supp=enabled

As of revision 15925 the following BCM4704 models may use this method:

  • NETGEAR_WNDR3300
  • WRT160N
  • WRTSL54GS

Also these models may use this method but must also set the boardflags as described later:

  • NETGEAR_WNR834BV2
  • WRT150N


For reference, you can check which models support this method by looking at the source code in this file for two CASE statements that match your model name and have "force_vlan_supp" statements. One CASE configures the interfaces and the other CASE sets boardflags.

Very Hidden Support

The force_vlan_supp nvram variable just tells the firmware to change a few other nvram variables which you can do manually on any Broadcom based hardware to enable VLAN support.

Configure Boardflags

Configure VLAN's

Configure LAN bridge

Finish Configuration

After you've set all your nvram variables you need to commit them to the flash chip and reboot for it all to take effect.

nvram commit
reboot