为什么要换猫?
关于此次光猫更换的背景,源于最开始安装联通百兆宽带时,联通安装人员只提供有百兆版本的光猫。
随着家里的IT数码设备越来越多,在经历了多次闲鱼捡垃圾的经历后,百兆宽带在始终达不到100Mbps速率这个问题开始在我的心里放大。不行,千兆猫得上!
联通原来提供的光猫为HG8321R百兆版,即LAN口为百兆,该版本光猫的语音口多数为蓝色。经过一番搜索,网友们表示HG8321R是有千兆版的,该版本的语音口多数为灰色。然后就开始了闲鱼的捡垃圾模式,最终花费45元包邮捡回来一台千兆版的HG8321R,货到确认无误就可以开工了。为了便于理解,两台光猫分别称为百兆猫和千兆猫。
预期的工作步骤
1.备份百兆猫版本配置。
2.在千兆猫上通过LOID注册来获得配置,并改回桥接。
3.检验网络连通。
实际的工作步骤
1.备份百兆猫版本配置
2.在千兆猫中导入配置
3.更改光猫MAC和SN(需补全shell)
实施开始
一、配置备份
通过管理员账号进入光猫界面,地址为192.168.1.1/cu.html。通过系统选项下载配置文件,完成备份。对上行接口的配置信息进行拍照备用,包括internet、IPTV、语音等接口的信息。
事先通过网络查询,我的这款光猫的管理员账号密码分别为CUAdmin和CUAdmin#HGU。
二、更换为千兆猫
将百兆猫下电,更换为千兆猫。我购买的这款千兆猫是旧猫,所以先按reset孔恢复出厂设置。然后等待重新启动完成。
猫启动完成,系统会自动弹出网页,因为该款猫支持联通的全国数个地区,所以在地区选择中选择我所在的湖南地区,填入事先记录的LOID和密码。
我的情况是LOID和密码实际为我的宽带账号和密码,各地区会有所不同。
理论上,填入LOID和密码后,等待一段时间自动下发配置,千兆猫获得配置后,即可正常使用。
然而,这篇文章到这里才刚刚开始...
因为,进度条走一段时间后,提示失败。数次操作的结果一样。此后我又尝试直接将百兆猫的配置直接在千兆猫上进行恢复,实测接口信息等均能在千兆猫上恢复,但千兆猫仍然无法通信。故得出结论,联通的光猫在后台应该与线路进行了绑定,所以我自行更换光猫,即使掌握LOID和密码仍然无法正常使用。此后,这件事情就此搁置下来。
三、更改光猫MAC和SN
今日无意浏览到一篇帖子,贴中的贴主使用的北京联通,通过自行修改光猫的MAC和SN实现了千兆光猫的更换。于是开始搜集资料,有了接下来的步骤。
网上关于更改光猫参数的方法大致为一下步骤:
1.光猫需要打开telnet。
2.通过telnet登录旧光猫,查看和备份旧光猫的MAC和SN信息。
3.通过telnet登录新光猫。在su权限下,直接通过命令修改MAC和SN。或者进入shell下,通过tftp下载相关配置文件进行修改后再上传。重启生效。
4.第3步可能无法正常完成,则需要先补全光猫的shell。
本次我用到的资源有:telnet客户端、Tftpd32、allshell.zip。光猫telnet用户名密码分别为root和admin。
开始操作:进入百兆猫,查看当前的MAC和SN并做记录。
相关命令
display lanmac #显示mac
display sn #显示sn
su #进入特权模式
quit #退出
exit #从shell中退出
如下图,我的设备信息已隐去:
百兆猫的信息记录完毕后,接下来进入千兆猫进行信息更改。
部分网友的经验是,通过telnet登录光猫后,在su下通过一下命令直接进行MAC和SN更改。
set lanmac MAC xxx #xxx为旧猫的MAC地址
set sn snid xxx #xxx为旧猫的sn
然而,我的这台千兆猫阉割了以上命令,所以转为通过修改配置文件来实现。
进入shell下,通过?问号查看可用的命令,只有exit和getcustominfo.sh可用,看来阉割的东西还不少,连cd命令都不可用。
补全shell。
将allshell.zip解压,我用到了其中的allshell2.bin。将tftp的路径设置为allshell2.bin文件所在文件夹,网络接口则选与光猫连接的网卡,我使用的USB网卡直连光猫,如下图:
tftp需设置文件路径及网络接口
然后就可以在光猫中刷入allshell2.bin,以此添加缺失的shell命令。
Welcome Visiting Huawei Home Gateway
Copyright by Huawei Technologies Co., Ltd.
Login:root
Password:
Password is default value, please modify it!
WAP>su
success!
SU_WAP>load pack by tftp svrip 192.168.1.2 remotefile allshell2.bin
success!
SU_WAP>Software Operation Successful!RetCode=0x0!
实际操作中,在刷入成功后,除了显示success外,还需要等待一条回显信息才成功。重启设备后,重新telnet连接并进入shell,此时linux的基本命令可用。
进入到配置文件目录,提取配置文件修改并覆盖原文件。
WAP>
WAP>su
success!
SU_WAP>shell
BusyBox v1.18.4 (2016-07-14 13:02:24 CST) built-in shell (ash)
Enter 'help' for a list of built-in commands.
profile close core dump
WAP(Dopra Linux) # cd /mnt/jffs2/
WAP(Dopra Linux) # ls
通过ls命令,可以看到对应的配置文件为hwboardinfo,与网上一些教程的hw_boardinfo.xml文件名有差异。
通过一下命令将文件下回本地:
tftp -p -l hw_boardinfo 192.168.1.2
#IP为电脑IP
通过notepad++打开看一看内容
文本中没有出现其他网友说的LanMac infoStr和sn def_sn字符,只有通过自己记录的MAC和SN来对比,并将此千兆光猫的信息修改为百兆光猫的MAC和SN。
修改完保存,并将该文件hwboardinfo复制一份命名为hwboardinfo.bak,然后将这两个文件都传回光猫。
tftp -g -r hw_boardinfo 192.168.1.2
tftp -g -r hw_boardinfo.bak 192.168.1.2
实测发现,只修改hw_boardinfo文件,重启后系统会自动通过备份文件hwboardinfo.bak对其进行恢复,故需要对两个文件都进行替换。
随后在shell中使用reboot对光猫进行重启。重启后,再次telnet登录,通过使用命令或查看配置文件可以看到,光猫的MAC和SN已经修改成功。
现在接上光纤,光猫状态正常,路由器可以正常拨号。至此,光猫更换完毕,最后测个速。
该文章同时发表在个人知乎账号,文章链接如下:
https://zhuanlan.zhihu.com/p/164818341