Posted: Thu Feb 02, 2012 8:50 Post subject: Re: Yee-ha!
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
- 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.
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.
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)
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?
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.
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!
Joined: 25 Mar 2008 Posts: 52 Location: Bedford, Ohio
Posted: Tue Aug 21, 2012 0:12 Post subject:
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
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)
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
Posted: Tue Apr 02, 2013 8:03 Post subject: Re: give up 5325E, and get 802.1q successed on 53115 switch
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.
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 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?