找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 52510|回复: 155

【用廉价的7620路由器做VLAN交换机,单线复用看IPTV】

 火... [复制链接]
发表于 2018-11-29 17:47 | 显示全部楼层 |阅读模式
本帖最后由 gaze 于 2018-12-3 12:21 编辑

{网络结构和目的:}
(结构见下面图1)
1、主路由7620的padavan系统,在弱电箱,光猫是桥模式,分别输出IPTV信号和互联网链路。
2、IPTV盒子接在客厅的AP上(7620@padavan的AP模式),AP与住路由之间只有一根4芯网线。
3、AP与主路由之间要单线复用,以VLAN方式传输iptv信号和互联网信号。
4、成本考虑,不购买新的VLAN交换机,只利用这两个7620设备。

{修改AP和路由器的方法:}
简单而言,就是这样3种共4、5行命令:
【弱电箱路由器端,路由模式的Padavan:】
         switch vlan set 0 1  00111011 0 0 --uuu-tt
         switch vlan set 1 2  10000011 0 0  u-----tt
         switch vlan set 2 10 01100000 0 0 -ut-----
         switch pvid 1 10
         switch reg w 0x2210 0x81000000
# 我的设备0号口WAN,1号口接光猫iTV,2号口为Trunk口。vlan2为WAN区域,vlan10为IPTV区域。请勿照搬,你的设备可能不同。
# 设置Lan1 为iptv输入口,属于vlan10,给其pvid赋值 10
# 改Trunk口(Lan2,对应0x2210)的属性,让它接受任意类型数据帧

【客厅端,AP模式的Padavan:】
         switch vlan set 0 1  11101011 0 0 uuu-u-tt
         switch vlan set 2 10 00011011 0 0 ---ut-tt
         switch pvid 3 10
         switch reg w 0x2410 0x81000000
# AP端我用K2刷的Padavan固件。请勿完全照抄,请按你的设备实际情况划分vlan端口
# 第5口作Trunk口(外壳标注为WAN,端口对应0x2410)接路由端过来的复用线。
# 请按你设备的实际情况选择Trunk口的PVC寄存器地址。

------------------------------- 我是分割线,下面可以慢慢看整个的过程 -------------------------------

{【< 本作品使用 CC 知识共享协议,转载或引用请遵守该协议 >】}
{署名-非商业性使用-相同方式共享 2.5 中国大陆 (CCBY-NC-SA 2.5 CN)


===================== 1节【起因】 =====================

新装的电信宽带,送了一个IPTV,奈何客厅电视到弱电箱只有一根网线,且年代久远,无法拉扯换成两根网线,而且在45线对上还有电话,无法拆分成12364578来当两条网线用,所以有了单线复用同时传输iptvLAN的需要。。。话说恩山上关于vlan单线复用的贴子很多,参见:
但大多是用K2p的荒野无灯版本实现的,或基于梅林固件、OpenwrtPandoraBox实现的。
鉴于7620路由器是大量使用的、价格便宜的(二手的OYE0001只要30元),且Padavan固件从软件易用性来说,是满足各种需要的。所以还是考虑要使用基于7620芯片的Padavan来实现这个需求。

上图是我的单线复用的网络结构,可以看见:
在弱电箱光猫GPON那里有一个7620Padavan系统,工作在Router模式,作为主路由PPPoE拨号上网,
7620WAN接光猫互联网口,Lan1接光猫iTV口,Lan2作为Trunk口单线复用,Lan34为内网。
(注:光猫iTV口输出unTag的数据流,你也可以根据自己的网络设计在光猫里设置它带上特定VLAN信息)


===================== 2节【VLAN问题】 =====================


7620划分vlan是非常容易的,几个命令switchvlan set 就实现了,(事先请确认端口顺序:你刷的什么版本的Padavan系统,WANLAN1-4是否与路由器外壳上的标志对应,这些,你都应该通过 switch dump 命令查看,搞清楚后,用纸笔记录下来。这是前置工作)而且,vlan间隔离得很好。但是,两个padavan相互联接的时候出现问题:

Trunk口上无法传递vlan不等于1的数据,也就是说,划分为Trunk的口无法作为单线复用口来使用。

就这个问题,使用K2p的大仙们有多样的解决方法,主要是用mtk_esw 命令。
虽然按照Andy.Padavan20159月在bitbucket上的解释
但其中关于移位、写入地址、为何是该参数等等,解释得非常薄弱,参照该方法书写后,,,在7620芯片上,仍旧无法实现Trunk端口的数据通过。

此事情折腾了我很久,几乎都要放弃padavan系统,改而使用openwrt了。
Openwrt/LEDE系统的交换机功能非常简洁,容易修改成功)


===================== 3节【VLAN问题的解决】 =====================

一筹莫展,我在恩山上查询的所有帖子,都没有详细说明mtk_esw命令的参数含义,大家基本上都是照别人的样子写的,虽然也都成功了,但是不知道为什么成功。

唯一一个例外是@springGcf ,,,
他在恩山的第一篇文章,就是关于VLANswitch、单线复用的详细的说明,
该文章里详尽地叙说了他在Router模式下创建vlan的成功,和在AP模式下的失败。
虽然他没有完美实现单线复用,虽然他没有搞定AP模式下的Trunk口的数据分流,
但是给我提供了一个很好的思路,就是,Trunk口的控制,是由某些寄存器来完成的。

于是就有了和@footlog 大仙 的交流(参考:https://www.right.com.cn/forum/thread-258643-1-1.html
他非常nice地帮我找到了7620的芯片级编程手册,并直接指出了应该阅读第xxx页的第377小节,
关于“PVC:端口vlan控制寄存器”的定义和参数。。。Very Nice的一个人。

我断断续续用了两天的时间阅读该pdf文档,并使用各种参数去填写PVC寄存器做试验,
终于在一个机缘巧合的参数组合下,Trunk口通了!!!
看到接在vlan10的端口上的计算机屏幕上ping通了另一端Padavanvlan10端口上的服务器的时候,
我却毫无兴奋之情,研究这些耗费了太多的时间,前人们做vlan设置的时候并未仔细钻研,仅凭口耳相传。
,,,后来我不断缩减改动的参数的地方,最后发现只需要改动一处即可,总结如下:


【将你Trunk端口的PVC寄存器的最低两bits,改为00,即可作为Trunk,传递所有vlan的数据
原系统设置为10了,只允许unTag数据通过,或者有优先级设定的数据通过,
而一般人的Trunk口都是vlan1LAN)设为unTag,并且不会给任何vlan数据设置优先级
所以除了vlan1,其他数据都无法通过Trunk端口,导致两端的设备无法连接】

OK,长话短说,在我的这两台7620的网络构架下(一端Router另一端AP,之间vlan单线复用)
你可以如此设置,45行语句即可,非常简单:
【路由器端:】
# 设备0号口WAN,vlan1为LAN,vlan2为WAN区域,vlan10为IPTV区域。你的设备可能不同
         switch vlan set 0 1  00111011 0 0 --uuu-tt
         switch vlan set 1 2  10000011 0 0 u-----tt
         switch vlan set 2 10 01100000 0 0 -ut-----
# 以下设置Lan1 为iptv输入口,属于vlan10,给pvid赋值 10
         switch pvid 1 10
# 以下修改Trunk口(Lan2),接受任意类型数据帧
         switch reg w 0x2210 0x81000000

【客厅端AP:】
#请勿完全照抄,请按你的设备实际情况划分vlan端口
         switch vlan set 0 1  11101011 0 0 uuu-u-tt
         switch vlan set 2 10 00011011 0 0 ---ut-tt
         switch pvid 3 10
         switch reg w 0x2410 0x81000000
# AP端我用K2刷的Padavan固件,
# 第5口(外壳标注为WAN,端口对应0x2410寄存器)接路由端过来的复用线,
# 请勿完全照抄,请按你设备的实际情况选择Trunk口的PVC寄存器地址。

修改好后,页面点击保存,在控制台或web页面执行mtd_storage.sh  save”以保存到NVRAM
重启路由器、AP之后即可生效{如下图:}


===================== 4节【IPTV组播】 =====================

如上节所说,45行命令即可把一台30元的7620路由器模拟为一个标准vlan交换机,划分vlan端口,复用你珍贵的网线。但是,我在实际使用中发现,iptv机顶盒能播放点播、回看内容,却不能播放直播电视。
非常不解,,,经查,电信的IPTV直播电视节目使用组播数据,而iptv盒子不能播放直播电视,说明这个模拟的vlan交换机还有欠缺。
又探索了两天,发现直接在padvan的界面里就能修改,让组播数据变为单播从而穿越vlan传播给iptv盒子
路径为“内部网络LAN--IPTV--“启用IGMP..侦听”--M2U-以太网交换机”--设置为“组播到单播”
如下面两个图,两端的设备,不管AP模式,或者路由模式都是如此设置


到此,全部结束,iptv盒子完美观看所有节目,直播、点播、回看都可以,
客厅的AP端提供无线和3LAN接口,给手机、计算机、智能电视使用互联网。
弱电箱的路由器提供第2个无线信号给周围房间,还剩2LAN端口可以通往其他房间的有线网卡用。
ps:路由器使用的是OYE001,不到1瓦功率,以USB输入电源,直接从光猫的USB口上取电,省了个电源插头呢。)

===================== 5节【关于成本的后记】 =====================

有朋友说,这么做意义何在? 100M的路由器端口还复用啥,,,多拥挤!
要知道,很多用户不是都有100M200Mbps的互联网宽带的,他们用不上K2p这样的千兆环境。
出于成本的考虑,30元的7620路由器,用两台就完全解决了IPTV单线复用的问题,不是很实惠吗?
也不需要在弱电箱里再放置一台专门的VLAN交换机,降低耗电和发热,,,不是更为安全吗?
话说,一台GS108e也不便宜哦,330大洋呢{参看下图}


至于iptv带宽挤占LAN内带宽问题,如下图,分别是高清节目和标清节目的带宽。
对于100Mbps的内网来说,iptv占用了约8Mbps的空间,8%,哦,还剩余92Mbps给互联网呢不是?
所以,不用很担忧啦,起码我用起来,100Mbps的速度和90Mbps速度相差不大。。



===================== 6节【致谢!!!】 =====================


【鸣谢4

他热心地提供了关于mtk7620的产品编程说明书的pdf
里面详尽地介绍了关于各个片上寄存器的设置参数。以使得我的探索成功于看到这个pdf后的第二天。
真是天降贵人。


【鸣谢3

他的贴子认真思考了用AP模式、路由器模式来做VLAN单线复用的问题
并照他人的文章,解决了部分难点,而在PadavanAP模式下并未解决vlan问题。
我从他的贴子(https://www.right.com.cn/forum/thread-342332-1-1.html)中获得启发,
认为在mtk7620的底层寄存器里有着vlan控制相关的信息,
从而研读7620的产品编程手册,最终解决问题。


【鸣谢2

毫无疑问,hiboy是本版最功勋显著的大神,从2015年起我就在使用他编译和增补的Padavan系统。
https://www.right.com.cn/forum/thread-161324-1-1.html)。 而在那之前,我一直是使用openwrtBB或者CC之类的,比较繁琐,尤其是dns分流等等,你懂的。
2015年末的时候,偶然发现上面这篇H大的关于编译Padavan的文章,有如进入了一个华美的宫殿,所需要的功能完全OK,简单填写参数就能顺畅使用。
甘之如饴。


【鸣谢1

Hackpascal大神是一只老鸟,1990's的小伙。
2015年春天的时候搞出来Breed这么一个完全不同于uBoot的替代品!
(嗯,Breed,多么的温香暖玉满怀抱的感觉 o(_)o 哈哈)
想当年,我还在用TTL线uboot启动的时候通过uBoottftpZmodem协议刷写路由器的固件。
那是一种非常辛苦的操作,需要在启动的某个特定瞬间阻止uboot加载OS,然后选择更新操作,
我常在深夜时分神情恍惚之下,选错1234、、、导致死掉了好几个路由器。
所以,当你发现一款简单操作就能更新固件、而且永远不死不需要拆机接TTL或者编程器的软件的时候,
那种感激之心,简直无以言表。
4年过去了,也不知道Hackpascal硕士毕业后去了哪家硬件公司,
是否仍旧激情洋溢,还是被柴米油盐奶粉尿布磨灭了情怀。
没有人见过他,他网站里,Breed还在更新着(https://breed.hackpascal.net/ ),
万千台的路由器已经被刷入Breed启动,
江湖上流传着他的传说。。。

===================== 7节【欢迎转载】 ======================

1、转载或引用请遵循:
{【< 本作品使用 CC 知识共享协议,转载或引用请遵守该协议 >】}
{署名-非商业性使用-相同方式共享 2.5 中国大陆 (CCBY-NC-SA 2.5 CN)

         或者email我:gaze#163.com#号请自行替换)

3、全文pdf可从该地址获得:

------------------------------- 我是分割线,下面就不用看了 -------------------------------
(最后,这个图片不知道怎跑这里来滴,而且在编辑状态里赶不走,,,,^_^ )


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×

点评

首先应该感谢第一次完整实现 padavan 系统 vlan 设置与应用的 xytb 大神!  发表于 2019-2-7 08:44

评分

参与人数 19恩山币 +21 收起 理由
Mos*** + 1 感谢你的分享
miche*** + 1 生活不易,相遇也不易,既然这样,让我们成为朋友一起面朝大海、花开花落……
qql*** + 1 感谢你的分享,无论怎样,你都是最无私的人!来,说说,你E盘上还有啥一起给我吧!
xue*** + 2 感谢你的分享,无论怎样,你都是最无私的人!
lw*** + 1 强大的恩山!(以下重复1万次)
yang*** + 1 一看就是觉得高端、大气、上档次!
seaso*** + 1 强大的恩山!(以下重复1万次)
zs9*** + 1 强大的恩山!(以下重复1万次)
gui*** + 1 强大的恩山!(以下重复1万次)
dec*** + 1 强大的恩山!(以下重复1万次)
sorr*** + 1 率全体恩山路由党以及党魁向你学习!
fly_*** + 1 率全体恩山路由党以及党魁向你学习!
b211*** + 1 率全体恩山路由党以及党魁向你学习!
ut*** + 1 率全体恩山路由党以及党魁向你学习!
enz*** + 1 敬佩楼主!!!
漫*** + 1 强大的恩山!(以下重复1万次)
a478*** + 1 强大的恩山!(以下重复1万次)
心落*** + 2 面对这种帖子,我内心复杂,真不知道说什么好……
kp*** + 1 强大的恩山!(以下重复1万次)

查看全部评分

我的恩山、我的无线 The best wifi forum is right here.
 楼主| 发表于 2018-11-29 17:48 | 显示全部楼层
晕死,,,,图片怎么缺了好几个!!!

抓狂
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2018-11-29 17:53 | 显示全部楼层
感谢分享,马克下
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2018-11-29 18:00 | 显示全部楼层
这么复杂?不过楼主辛苦了

点评

其实AP端和路由器端,每边就是4行指令+页面两个设置的事情, 比用K2p的兄弟们所实施的步骤简单很多。 只是探究问题根源的步骤很复杂而已, 记录下来,有备无患。  详情 回复 发表于 2018-11-29 18:07
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2018-11-29 18:07 | 显示全部楼层
巍巍青山 发表于 2018-11-29 18:00
这么复杂?不过楼主辛苦了

其实AP端和路由器端,每边就是4行指令+页面两个设置的事情,

比用K2p的兄弟们所实施的步骤简单很多。

只是探究问题根源的步骤很复杂而已,

记录下来,有备无患

我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2018-11-29 18:38 | 显示全部楼层
padavan还是复杂了一点,openwrt设置更简单。

点评

确实如此, Openwrt系列设置VLAN会非常简单明了。 不过看在Padavan系统在特殊领域的用处非常合意,还是不愿意放弃, 所以才有了这篇文章。  详情 回复 发表于 2018-11-29 21:51
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2018-11-29 19:04 | 显示全部楼层
支持一下!
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2018-11-29 19:14 | 显示全部楼层
感谢楼主提供方法!辛苦了!!

我现在基本上定下来了,就用 padavan(我用的纯净版),所以这篇文章很有用!

建议楼主把首贴精简一下,开头放直接的过程方法,然后分界线后面放废话,也可以做纪念,也可以做参考

点评

谢谢提醒, 已经更改。  详情 回复 发表于 2018-11-29 21:51
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2018-11-29 19:36 | 显示全部楼层
本帖最后由 a4789275 于 2018-11-29 19:40 编辑

最开始我也是用的路由器,但是跑不满带宽。别说内网了...宽带200M都跑不满(现在都是50M起步了,50M的老客户免费升100M)
后来换了千兆VLAN交换机,螃蟹8370M的,某宝110,稳定使用近两年了。扔那就没管过
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2018-11-29 19:48 | 显示全部楼层

互相帮助,没有啥
我现在用双线接路由器,没兄弟这么复杂
兄弟打破砂锅纹到底的精神让人佩服

点评

哈哈哈,大神驾到了。 多谢你找到的pdf 以及准确指出其中与我的困惑相关的应学习的章节。 非常感谢。  详情 回复 发表于 2018-11-29 21:53
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2018-11-29 21:06 | 显示全部楼层
已经收藏。以后备用
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2018-11-29 21:33 来自手机 | 显示全部楼层
辛苦呀,我的好好学一下。多谢!但还想问iptv实现记能看iptv内容,也可以破解后看app直播等。看网络的内容是能去广告吗(AD已经开启)

点评

我这个方法只为单纯看IPTV所用, 你说的是需要在路由器端开启组播代理软件, 将外网的组播节目转换为内网(192.168.x.x)的代理地址, 并使用自己导入节目源list的播放软件,而非IPTV原带的播放软件。 这样做  详情 回复 发表于 2018-11-29 22:02
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2018-11-29 21:51 | 显示全部楼层
longone 发表于 2018-11-29 18:38
padavan还是复杂了一点,openwrt设置更简单。

确实如此,
Openwrt系列设置VLAN会非常简单明了。
不过看在Padavan系统在特殊领域的用处非常合意,还是不愿意放弃,
所以才有了这篇文章
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2018-11-29 21:51 | 显示全部楼层
lucktu 发表于 2018-11-29 19:14
感谢楼主提供方法!辛苦了!!

我现在基本上定下来了,就用 padavan(我用的纯净版),所以这篇文章很有 ...

谢谢提醒,

已经更改。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2018-11-29 21:53 | 显示全部楼层
footlog 发表于 2018-11-29 19:48
互相帮助,没有啥
我现在用双线接路由器,没兄弟这么复杂
兄弟打破砂锅纹到底的精神让人佩服:victo ...

哈哈哈,大神驾到了。

多谢你找到的pdf 以及准确指出其中与我的困惑相关的应学习的章节。

非常感谢。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2024-4-25 13:52

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com 举报电话:0519-86695797

快速回复 返回顶部 返回列表