802.1q vlan range on E3000 - VIDs beyond 15 possible?

Post new topic   This topic is locked: you cannot edit posts or make replies.    DD-WRT Forum Index -> Broadcom SoC based Hardware
Goto page Previous  1, 2, 3 ... 6, 7, 8, 9, 10, 11  Next
Author Message
checho
DD-WRT Guru


Joined: 27 Feb 2007
Posts: 527
Location: Bulgaria

PostPosted: Thu Feb 02, 2012 8:50    Post subject: Re: Yee-ha! Reply with quote
cron2 wrote:
OK, so here's the good news: 53115 supports vlan IDs at least up to 1024 (didn't test more).

For a quick and dirty hack, I kept the overall structure of bcmrobo.c with the 15 vlans configured from NVRAM, and added a setting "vlan10vid=920", which would map the "vlan 10" to use 802.1q tag 920 on tagged ports. Kernel prints:

bcmrobo: VLAN 10 mapped to VID 920, ports='3 4t 8', vlan10vid='920']

The chip programming changes needed are basically in two places:

- after this comment: /* set port tag - applies to untagged ingress frames */ replace "vid" with the mapped value (for packets coming in on an untagged port)

- after this comment: /* VLAN Table Address Index Reg (Page 0x05, Address 0x61-0x62/0x81-0x82) */ change "val16 = vid" to "val16 = mapped_value" before poking to

robo->ops->write_reg(robo, PAGE_VTBL, vtbli, &val16, sizeof(val16));

- I assumed that changing the arl_entry[6] stuff would also be necessary, so I changed it, but it does not seem to have an effect - would be interesting to know what it does.

Of course the linux side of things needs to be changed as well - if you remap "vlan 10" to "vlan 920", you need to have a "vlan920" interface on the Linux side, as "vlan 10" (tag 10) goes nowhere on the switch. Right now, this has to be done manually with vconfig ("vconfig add eth0 920"), as the management scripts won't have any idea that the kernel is changing the tag (non-surprisingly).

I have appended a patch (that is not usable as-is, because it has too much debug info in there still, but gives an idea what I changed).

Now for the extremely bad news: I have not managed, whatever I tried, to build a working DD-WRT kernel for E3000. Always crash. Evil or Very Mad

Out of desperation, I tried TomatoUSB yesterday evening, and the resulting image worked immediately. So the patch is done vs. Tomato and not vs. DD-WRT - but the code is mostly identical, so the code bits to change are easily identified in DD-WRT bcmrobo.c as well.

(Unfortunately, the rest of our adaptions is based on DD-WRT, so changing to Tomato would be a huge amount of extra work now - so I'm still hoping for some advice how to build a working E3000 kernel/image...)



Sorry for bumping that topic up, hope you will be available to give me clue for that...
After thoroughly reading all your posts and after testing on K2.4 /WGR614/ I find it out that nothing may really be accomplished if not patching bcmrobo.c. Following my logic I figure out that we are unable to put patched bcmrobo.c into router with an easy step because it boils down to replace kernel of the router with a newly compiled one. I tried to compile it as a module and insmod it but it does not seem to take priority over instructions already built in the kernel. I am trying to find a workaround to use VID beyond 15 and your patch seems the most easy one, i.e. to map VID#10 of internal switch to something higher for example. If there is a way to put bcmrobo.c in action as a module without compiling the whole kernel, please let me know. THANK YOU.
Sponsor
phuzi0n
DD-WRT Guru


Joined: 10 Oct 2006
Posts: 10141

PostPosted: Sat Feb 11, 2012 20:23    Post subject: Reply with quote
checho - get the patched switch-robo.ko module that's been posted (or compile it yourself) and use it to configure the switch instead of trying to patch the driver itself. ie. read the whole thread.
_________________
Read the forum announcements thoroughly! Be cautious if you're inexperienced.
Available for paid consulting. (Don't PM about complicated setups otherwise)
Looking for bricks and spare routers to expand my collection. (not interested in G spec models)
maxiscool
DD-WRT Novice


Joined: 14 Feb 2012
Posts: 26

PostPosted: Fri Feb 17, 2012 2:33    Post subject: Reply with quote
phuzi0n wrote:
checho - get the patched switch-robo.ko module that's been posted (or compile it yourself) and use it to configure the switch instead of trying to patch the driver itself. ie. read the whole thread.


Is the switch-robo.ko compatible with WRT610nv2 on 14929 FW?
tangsoft
DD-WRT User


Joined: 18 Sep 2010
Posts: 60

PostPosted: Fri Apr 06, 2012 8:01    Post subject: wrt610nV2 should use BCM53115 Reply with quote
[quote="maxiscool]

Is the switch-robo.ko compatible with WRT610nv2 on 14929 FW?[/quote]

same switch, should be compatible.
jmcvay
DD-WRT Novice


Joined: 14 Apr 2012
Posts: 1

PostPosted: Sat Apr 14, 2012 23:39    Post subject: Reply with quote
I've read through the thread several times now and I am unable to determine if this patch only addresses utilizing VLAN IDs above 15 or if it is actually capable of raising the total limit of usable VLANs. I have a WRT54GL (BCM5352E) and I currently have 15 VLANs passing through one of the LAN Ports. The VLAN IDs are being set per port on a separate switch and I need to isolate another 4-5 ports. Many thanks in advance.
LOM
DD-WRT Guru


Joined: 28 Dec 2008
Posts: 7647

PostPosted: Sun Apr 15, 2012 2:14    Post subject: Reply with quote
jmcvay wrote:
I've read through the thread several times now and I am unable to determine if this patch only addresses utilizing VLAN IDs above 15 or if it is actually capable of raising the total limit of usable VLANs. I have a WRT54GL (BCM5352E) and I currently have 15 VLANs passing through one of the LAN Ports. The VLAN IDs are being set per port on a separate switch and I need to isolate another 4-5 ports. Many thanks in advance.


The total number of port tagged VLAN's is hardware limited to 16 (0-15) and the tag is limited to 4096 (0-4095).

The hardware limit is due to the switches VLAN config register which is 16 bits wide and where 4 bits are used for the VLAN Id and 12 bits are used for the tag.

_________________
Kernel panic: Aiee, killing interrupt handler!
vseven
DD-WRT Novice


Joined: 19 Mar 2009
Posts: 42

PostPosted: Sat Aug 11, 2012 2:42    Post subject: Reply with quote
We have a bunch of E3000's and we'd like to enable some VLAN's higher then 15 (20, 30, 40, etc). I see Tomato released a update that support this now (newest version for the E2000/3000 supports the full 4k VLAN's: http://code.google.com/p/tomato-sdhc-vlan/downloads/detail?name=Tomato-Teaman-RT-1.28.2025.7z&can=2&q=)

Is there any plans to add this support into DD-WRT natively?
WebbyZ
DD-WRT User


Joined: 25 Mar 2008
Posts: 52
Location: Bedford, Ohio

PostPosted: Tue Aug 21, 2012 0:12    Post subject: Reply with quote
It would be nice to see a right of of the box solution for this aside from compiling code. I might brick my E3000's again if I try that.
_________________
WRT610Nv1 - WAN
WNR834Bv2 - Client Bridge
WL-520GU - Client Bridge
WRT54GSv7(x2) - Client Bridge
WRT54Gv2 - Client Bridge
WRT54Gv6 - Client Bridge
WRT54Gv8 - Client Bridge
WRT54Gv8.2 - Client Bridge
WLI-TX4-G54HP - Client Bridge
illiac4
DD-WRT User


Joined: 08 Jun 2006
Posts: 123

PostPosted: Fri Nov 09, 2012 4:11    Post subject: Reply with quote
Is this included in prebuild packages and if yes from which version up? I'm interested for E3000 model.

tnx
phuzi0n
DD-WRT Guru


Joined: 10 Oct 2006
Posts: 10141

PostPosted: Tue Nov 13, 2012 20:40    Post subject: Reply with quote
illiac4 wrote:
Is this included in prebuild packages and if yes from which version up? I'm interested for E3000 model.

tnx

No, you need to do it yourself.

_________________
Read the forum announcements thoroughly! Be cautious if you're inexperienced.
Available for paid consulting. (Don't PM about complicated setups otherwise)
Looking for bricks and spare routers to expand my collection. (not interested in G spec models)
rcmpayne
DD-WRT Novice


Joined: 15 Aug 2007
Posts: 45

PostPosted: Tue Jan 29, 2013 12:37    Post subject: Vlan35 for Bell Aliant FiberOP Internet Reply with quote
just a fyi, I have a WRT320N that I converted to e2000 and have since loaded the E2000 build right overtop the DD-WRT version.

http://tomato.groov.pl/
http://tomato.groov.pl/download/K26/build5x-105-EN/
E2000 build:tomato-E2000-NVRAM60K-1.28.RT-MIPSR2-105-Max.bin
E3000 build: tomato-E3000USB-NVRAM60K-1.28.RT-MIPSR2-105-Big-VPN.bin

Since I have Bell Aliant FiberOP i want to bypass the ActionTec R1000H.

Go to Advance -> Mac Address and set the wan port to the Mac of the Bell Aliant Router

Go to Advance -> VLAN and enable "Trunk VLAN support override (experimental)"

Set the VID Offset to 32

On the Vlan table set the following

Vlan 1 -> VID:33 -> port 1, 2, 3, 4 Enabled
Vlan 2 -> VID:34 -> everything will be unchecked Bridged will be blank
Vlan 3 -> VID:35 -> WLAN Port and Tagged enabled Set Brodge to WLAN

Note: if you put VID 35 on VLAN2 it will not work

Apply Settings and reboot WRT Router.

No on the Actiontech release the IP Address from the Status screen. Hook the WLAN cable from the ONT to the WLAN port on the WRT and restart the router again from the Admin Page. Check Status and you should have a IP
tangsoft
DD-WRT User


Joined: 18 Sep 2010
Posts: 60

PostPosted: Tue Apr 02, 2013 8:03    Post subject: Re: give up 5325E, and get 802.1q successed on 53115 switch Reply with quote
phuzi0n wrote:
tangsoft wrote:
got a new E3000, and now with modified module: switch_robo, and now I can get internet access(native,no 802.1q tag) and IPTV streaming(VOD on vlan 85, Multicase on vlan 51, both 802.1q tagged) together and simultaneously over single WAN port.
as gert said, it looks a little mess in the /proc/switch/eth0/vlan folder. But it does work!!!
Thanks every guru and gert.

Buy the way, in this case, ebtables does play an important role too.

How did you configure it to get the native VLAN and tagging working on the same port?

as far as I can understand, it is kinda of hybrid vlan port.
xbr32
DD-WRT Novice


Joined: 11 Jun 2013
Posts: 5

PostPosted: Thu Jun 13, 2013 6:05    Post subject: Reply with quote
Hi all,

Is there anything new on the subject? I have a wrt610n and I need to create a vlan with ID 835 to connect to my ISP with pppoe. I was wondering if it will work with DD-WRT following this post? Or should I better flash openwrt (which apparently supports high vlan ids)?

Thanks
lowjoel
DD-WRT Novice


Joined: 09 Jun 2013
Posts: 7

PostPosted: Thu Jun 13, 2013 23:42    Post subject: Reply with quote
to the best of my knowledge, no, compiling switch-robo.ko and insmoding it at boot is the only way still.

The /proc/switch folder is a complete mess, even with my 48 VLANs.
xbr32
DD-WRT Novice


Joined: 11 Jun 2013
Posts: 5

PostPosted: Sat Jun 15, 2013 6:39    Post subject: Reply with quote
Hi,

Thanks for your answer. I tried to follow the steps described in this thread but i did not succeed to make it work. The switch-robo module seems not to be loaded after an insmod. I don't see it in lsmod and the folder proc/switch is empty. I also try to make a insnmod switch-core like described in a earlier post.

What i am doing wrong? Is there something i'm missing? I have a wrt610n with build r14929 K2.4. Is there a compatibility issue with the switch robo module that cron2 posted? Should i upgrade my firmware?

Thanks for your help
Goto page Previous  1, 2, 3 ... 6, 7, 8, 9, 10, 11  Next Display posts from previous:    Page 7 of 11
Post new topic   This topic is locked: you cannot edit posts or make replies.    DD-WRT Forum Index -> Broadcom SoC based Hardware All times are GMT

Navigation

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You can attach files in this forum
You can download files in this forum