移动华为光猫HS8546X6切换成华为界面,实测后分享
本帖最后由 botong 于 2021-9-9 21:54 编辑必要条件:
1、光猫打开telnet,电脑开启Windows系统Telnet服务
2、必须补全shell
3、一个U盘,或采用TFTP软件方案
华为光猫运营商界面-华为界面互相转换方法『 光猫FTTx技术交流区 』 - Powered by Discuz! (chinadsl.net)
我开始是按这个帖子开始搞的,后来才发现高版本的hw_boardinfo的都是加密的,编辑时会出现下面的情况,无法编辑。
所以需要解密,并且需要同时修改hw_boardinfo和hw_boardinfo.bak才能生效。
所以修改后的命令如下:
telnet 192.168.1.1
root
Hw8@cMcc
su
shell
decrypt_boardinfo -s /mnt/jffs2/hw_boardinfo -d /mnt/jffs2/hw_boardinfo #高版本的需要先解密
sed -i 's/^.*obj.id = "0x0000001a" ; obj.value =.*$/obj.id = "0x0000001a" ; obj.value = "COMMON";/' /mnt/jffs2/hw_boardinfo
sed -i 's/^.*obj.id = "0x0000001b" ; obj.value =.*$/obj.id = "0x0000001b" ; obj.value = "COMMON";/' /mnt/jffs2/hw_boardinfo
sed -i 's/^.*obj.id = "0x00000031" ; obj.value =.*$/obj.id = "0x00000031" ; obj.value = "NOCHOOSE";/' /mnt/jffs2/hw_boardinfo
vi hw_boardinfo
在英文状态下,按键盘上的 i 开始编辑,编辑好后按ESC键退出编辑模式
然后输入 :wq! #冒号也要输入,回车保存修改
cp -f /mnt/jffs2/hw_boardinfo /mnt/jffs2/hw_boardinfo.bak #直接用hw_boardinfo覆盖hw_boardinfo.bak
reboot #重新启动但是上面的代码有两个问题:
1.没有对hw_boardinfo进行备份,万一出错就比较麻烦了。
2.为了编辑hw_boardinfo,编辑之后保存,但是没有加密回去。
所以只能接着找办法,我看坛子用的命令无外乎这几条。我的光猫型号是:HS8546X6。之前使用restorehwmode.sh,想折腾回去,搞成砖了,实在不愿意再用这条命令。
后来终于在一个帖子的回复中遇到了这个软件Dollar2,可以直接用来编辑hw_boardinfo,编辑好了之后保存回去还是加密状态。比较完美了。所以借用一下TFTP软件,操作如下:
打开TFTP软件tftpd64.452,选择一个目录和对应光猫的网卡。
telnet 192.168.1.1
root
admin
su
shell
cd /mnt/jffs2/
tftp -p -l hw_boardinfo -r hw_boardinfo 192.168.1.5#复制hw_boardinfo文件到 192.168.1.5电脑TFTP目录下
把hw_boardinfo复制一个,或者重命名一个,留一个备份。
打开Dollar 2 ,点击打开,选择hw_boardinfo打开,然后修改下面这三行的值为红字部分。
obj.id = "0x0000001a" ; obj.value = "COMMON";
obj.id = "0x0000001b" ; obj.value = "COMMON";
obj.id = "0x00000031" ; obj.value = "NOCHOOSE";
修改完成后保存一个hw_boardinfo,可以直接覆盖原来的。
然后回到shell中来输两条命令:
tftp -g -l hw_boardinfo -r hw_boardinfo 192.168.1.5#将电脑TFTP目录文件上传到光猫/mnt/jffs2/
cp -f /mnt/jffs2/hw_boardinfo /mnt/jffs2/hw_boardinfo.bak #直接用修改后的hw_boardinfo替换hw_boardinfo.bak
reboot #重启
重启后就是华为界面了。因为我是把移动界面换成华为界面,连密码都不会变。只需改上面的1a、1b和31三条就可以了。然后进入华为界面后,只需要在WAN设置里面增加一条2_INTERNET_R_VID_2350,就可以了,实测上网没有影响,其它的根据自己喜好,自行修改。
如果需要回到原移动界面,只需要把前面备份的hw_boardinfo上传覆盖hw_boardinfo和hw_boardinfo.bak就可以了。
当然如需要修改模式或地MAC SN可以自行修改,下面的hw_boardinfo中每个obj对应的字段意义可以参考一下
hw_boardinfo中每个obj对应的字段意义如下:
#define HW_DM_PD_PON_MODE_OBJ_ID (0x00000001) /* 上行口模式 */
#define HW_DM_PD_SN_OBJ_ID (0x00000002) /* PON SN */
#define HW_DM_PD_SN_PASSWORD_OBJ_ID (0x00000003) /* GPON Password */
#define HW_DM_PD_SN_HEX_PASSWORD_OBJ_ID (0x00000004) /* GPON Password HEX*/
#define HW_DM_PD_EPON_KEY_OBJ_ID (0x00000005) /* EPON Key */
#define HW_DM_PD_EPON_PWD_OBJ_ID (0x00000006) /* EPON pwd */
#define HW_DM_PD_BOARD_ITEM_OBJ_ID (0x00000007) /* 单板条码 */
#define HW_DM_PD_MACHINE_ITEM_OBJ_ID (0x00000008) /* 整机条码 */
#define HW_DM_PD_OPTIC_ITEM_OBJ_ID (0x00000009) /* 光模块条码 */
#define HW_DM_PD_LAN_MAC_OBJ_ID (0x0000000a) /* LAN MAC */
#define HW_DM_PD_WLAN_MAC_OBJ_ID (0x0000000b) /* WLAN MAC */
#define HW_DM_PD_WAN_1_MAC_OBJ_ID (0x0000000c) /* WAN1 MAC */
#define HW_DM_PD_WAN_2_MAC_OBJ_ID (0x0000000d) /* WAN2 MAC */
#define HW_DM_PD_WAN_3_MAC_OBJ_ID (0x0000000e) /* WAN3 MAC */
#define HW_DM_PD_WAN_4_MAC_OBJ_ID (0x0000000f) /* WAN4 MAC */
#define HW_DM_PD_WAN_5_MAC_OBJ_ID (0x00000010) /* WAN5 MAC */
#define HW_DM_PD_WAN_6_MAC_OBJ_ID (0x00000011) /* WAN6 MAC */
#define HW_DM_PD_WAN_7_MAC_OBJ_ID (0x00000012) /* WAN7 MAC */
#define HW_DM_PD_WAN_8_MAC_OBJ_ID (0x00000013) /* WAN8 MAC */
#define HW_DM_PD_LOID_OBJ_ID (0x00000016) /* GPON/EPON LOID */
#define HW_DM_PD_LOID_PASSWORD_OBJ_ID (0x00000017) /* GPON/EPON LOID Password */
#define HW_DM_PD_CHIP_INFO_OBJ_ID (0x00000018) /* 非关键芯片信息 */
#define HW_DM_PD_E8C_SN_OBJ_ID (0x00000019) /* 中国电信SN */
#define HW_DM_PD_BIN_WORD_OBJ_ID (0x0000001a) /* 程序定制特征字 */
#define HW_DM_PD_CFG_WORD_OBJ_ID (0x0000001b) /* 配置定制特征字 */
#define HW_DM_PD_OPTIC_MODE_CAP_OBJ_ID (0x0000001c) /* 光模块能力 */
#define HW_DM_PD_OPTIC_CLASS_OBJ_ID (0x0000001d) /* 光模块CLASS */
#define HW_DM_PD_OPTIC_MONITOR_CAP_OBJ_ID (0x0000001e) /* 光模块监控能力 */
#define HW_DM_PD_OPTIC_WDM_CAP_OBJ_ID (0x0000001f) /* 光模块是否支持WDM*/
#define HW_DM_PD_PROVISION_CODE_OBJ_ID (0x00000020) /* PROVISION CODE */
#define HW_DM_PD_PTC_FLAG_OBJ_ID (0x00000021) /* PTC FLAG */
还有不同运营界面需要修改的1a、1b和31三条数据参考下面:
华为界面:
obj.id = "0x0000001a" ; obj.value = "COMMON";
obj.id = "0x0000001b" ; obj.value = "COMMON";
obj.id = "0x00000031" ; obj.value = "NOCHOOSE";
联通界面:
"0x0000001a"= "COMMON";
"0x0000001b"= "SHCU"; 默认上海联通 (省份名称缩写的大写字母+CU)
"0x00000031"= "CHOOSE_UNICOM2"
移动界面:
"0x0000001a"= "CMCC";
"0x0000001b"= "CMCC_RMS"
"0x00000031" = "CHOOSE_CMCC_RMS";
天津移动界面:
"0x0000001a"= "CMCC";
"0x0000001b"= "TJCMCC_RMS"
"0x00000031" = "CHOOSE_CMCC_RMS";
电信界面:
obj.id = "0x0000001a" = "E8C";
obj.id = "0x0000001b"= "BJCT"; 默认北京电信(省份名称缩写的大写字母+CT)
obj.id = "0x00000031" = "CHOOSE_XINAN";
botong 发表于 2021-9-10 22:15
我的这个主题贴你看一下,可能有你想要的东西。
https://www.chinadsl.net/forum.php?mod=viewthread&tid= ...
通过你的shell包我自己添加脚本可以用ONT工具 开telnet了 本帖最后由 herodragon 于 2021-9-9 23:14 编辑
顶一下,对于一直困扰无法加密的X6的hw_boardinfo来说也算是个好消息 能不能 发一下开telnet+shell的 升级包 这个软件不错 学习一下。 不错不错不错。
太感谢了 anjing8800 发表于 2021-9-10 08:01
能不能 发一下开telnet+shell的 升级包
参考我的另外一个主题帖子
https://www.chinadsl.net/forum.php?mod=viewthread&tid=169750 anjing8800 发表于 2021-9-10 08:01
能不能 发一下开telnet+shell的 升级包
我的这个主题贴你看一下,可能有你想要的东西。
https://www.chinadsl.net/forum.php?mod=viewthread&tid=169750