去年一听说垃圾移动的IPTV可以取消了, 立刻把家里的移动IPTV取消掉了. 但是这样看直播就只能使用那个画质差/卡顿还都是广告的"电视家"了.
正好家里有一条迫于特殊条件开通的广电有线电视, 而且去年这条有线电视还改造成了IPTV的形式. 这玩意也没个无线功能, 拖着个线放在客厅贼难看, 果断决定把它弄到家里的局域网里面去.
家里的拓扑比较奇葩, 一台电信的光猫做主路由; 一台软路由放在主路由下负责虚拟局域网的路由; 一台pandavan路由负责无线信号中继以及给不带网卡的电视盒子提供网络. 广电的光猫是一台中兴的ZXHN F600V9, 不带无线功能.
第一版方案
第一版的方案是将中兴的GPON直接接到软路由上去, 用igmpproxy
和ip route
的分表把机顶盒的网络流量都路由到中兴的GPON. 再用pandavan把有线电视机顶盒给连接到局域网里去, 这样不就成了嘛. (如上图)
然而遇到个很奇怪的问题, 华为光猫似乎不会把机顶盒的组播包广播到软路由里. 因此软路由的igmpproxy
根本起不了作用, 机顶盒可以上网但就是看不了组播. 直接插线到软路由上确实是可以的, 所以猜测问题应该就是出在华为光猫的无线上了.
既然用华为光猫的无线网没法正确转发组播流, 就得设法在它之外再弄一个无线网. 正好想起了家里装宽带时候移动送的光猫, 那个正好有无线网, 这不就来了方案二了嘛.
第二版方案
为了连两个无线网, 就把Pandavan刷成了OpenWrt. 但是现在的问题是, 要把原来中兴的光猫换成移动的. 更换光猫的步骤无外乎如下:
找到GPON的光参数-> 找到IPTV的交换机和网络参数-> 新光猫填入参数-> 光猫完成光认证-> 连接网络.
1. 拿到原参数
首先想到的就是破解中兴光猫, 拿到超管密码然后拿出来需要的参数. 但是试了一些工具都失败了. ttl连上去, 四个触点里三个3.3V, 估计得看datasheet往上找了, 麻烦.
以下是亲测无用的方案, 避坑:
-
中兴ZTE全系列光猫开telnet工具破解版一键工具发布-光猫/adsl/cable无线一体机-恩山无线论坛 (right.com.cn)
-
更新中兴G7615、F7607配套工具本地一键开启Telnet工具-光猫/adsl/cable无线一体机-恩山无线论坛 (right.com.cn)
尤其是这一个, 还要花钱, 但是不能用
-
【重磅发布】中兴ZTE全系列光猫开telnet工具破解版 - Jarvis's Blog - Jarvis's Blog - 白帽子、全栈、IoT安全专家、嵌入式系统专家 (jarvisw.com)
这一个害得我把光猫reset了, 之后才想起来VLAN信息忘记保存了, 巨尴尬.
-
正式发布自编译中兴F7607P及7615光猫本地离线开Telnet工具及使用说明-光猫/adsl/cable无线一体机-恩山无线论坛 (right.com.cn)
这一个我没测试, 应该看看源码重新反思一下是不是我的操作方式不对的. 不过不管了, 反正不破解也能用.
反正破解工具都是失败的, 估计是因为广电的猫和这些工具里内置的登录口令匹配不上吧. 最后这一篇文件启发了我, 遂决定放弃拿超管了.
光认证参数
首先是ONU的认证数据. 中兴这款光猫其实挺不错的, 它直接把这些认证数据显示在网页上面了. 如下:
loid | password | sn |
---|---|---|
但是这三种认证类型不知道该用哪一个啊. 遂用手里已经开启了华为界面的电信光猫进行测试, 发现其是采用的SN方式认证.
VLAN ID
第二步是拿到VLAN ID了. 由于我之前为了获取该光猫的超管密码所以重置了光猫, 所以只好问维修师傅要了. 过程是这样的, 我首先打广电的客服电话"96123"报修, 期间和客服提出运维师傅上门前主动联系我. 之后和运维师傅说一下情况, 不需要上门. 稍后运维师傅在他的手持终端上查了一下把VLAN ID告诉我就可以了.
如果没有重置光猫的话, 可以参考这个: 移动中兴光猫ZXHN F653GV9破解方法,保姆级教程-光猫/adsl/cable无线一体机-恩山无线论坛 (right.com.cn)
组播VLAN
本来我没关心这一参数的, 但是当所有的东西都配置好, 并且IP网络已经确定可用的情况下, 机顶盒组播还是异常. 这时才开始怀疑需要指定组播VLAN.
然而光猫早已经重置了, 运维师傅给的参数里面也没有IPTV的组播VLAN. 不过好在万能的谷歌给出了一个参考的值: 50. 详见: 神奇的广电宽带,没有 vlan 怎么破 - V2EX
2. 配置新光猫
因为我手里的移动光猫用的是移动默认的超管密码, 所以这里不需要搞破解. 本来挺高兴的, 但是却遇到了一个大问题: 它的前端界面只支持LOID认证方式, 不支持SN认证! FUCk! 此时意识到还得补全shell以恢复华为界面.
补全shell还是要记录几个坑, 反正以下方法都失败了:
-
华为HS8545M破解教程 补齐shell『 光猫FTTx技术交流区 』 - Powered by Discuz! (chinadsl.net)
-
移动HS8545M 017版本补全shell成功,GPON光猫改EPON成功『 光猫FTTx技术交流区 』 - Powered by Discuz! (chinadsl.net)
-
重磅炸弹,hs8145v,sa1456C 等等r017版本改双模,恢复华为原厂界面成功!『 光猫FTTx技术交流区 』 - Powered by Discuz! (chinadsl.net)
这个没试. 全固件刷入风险太大, 不接受
总之我试了上面方法没一个靠谱的, 最后发现不需要恢复华为界面也可以实现. 具体操作如下:
-
找一个一个开了华为界面且型号和HS8545M相近的光猫(我的电信光猫主路由就可以)
-
打开"系统工具/ONT认证", 右键点击表单, 选"查看框架源代码"
-
删除"view-source:", 并把地址里面的HOST换成HS8545M的HOST.
-
这时候就可以发现没有开启华为界面的移动光猫, 也可以使用"华为界面"了. (但是我亲测了一下, 基本上华为界面的iframe在没有补全shell的移动光猫里都是404, 这一个OLT认证的页面大概是出于某些原因没有删除吧). 链接如下:
-
认证方式选"Password", 密码随便填, SN里面填写中兴光猫里面的SN号(ZTEGCE%d%d%d%d%d%d)
-
点击应用即可
- 开启IGMP Proxy
之后光猫就可以正常完成光认证了. 然后新建网络接口, 填好VLAN ID和组播VLAN. 如果使用"路由"模式的话, 地址获取方式选DHCP, 厂商标识是"stb.mscp.dtv", 稍等看看就可以获取到IP了.
3. 配置OpenWrt
OpenWrt的无线桥接也有点迷惑. 我本想用Wireless的"客户端"模式桥接LAN口, 在二层用两个VLAN完成桥接即可. 但是不知道为啥我的新版本的OpenWrt不太能实现这个设想. 目前采用的方式是:
- LAN(上网): 配置静态IP并关闭DHCP, Wireless的5.8G开客户端(WDS), 桥接到br-lan里面, 网线连接电视盒子
- IPTV(下联机顶盒): 配置静态IP并开启DHCP(附加参数
6,10.191.142.34,10.191.142.35
以推送正确的DNS服务器), 用eth0.2, 网线连接机顶盒 - WIPTV(上联移动光猫): Wireless的2.4G开客户端, 动态IP, 开启"multicast to unicast".
igmpproxy
设置上联口为WIPTV, 下联口为IPTV, 配置altnet
至此, 就可以愉快看直播了.