家里面使用的移动光猫是吉比特GM220-S,好奇着pppoe改桥接的文章,就买了个同型号的,这样不用在原机器上进行操作,省得万一弄不好出了什么问题。第一个碰到的问题就是光猫的MAC地址和设备标识等不同,直接接上得激活输入password。网上说是登陆原光猫页面查看源文件查loid,记住pwd的值,然后进行相应的操作,但我觉得能够直接更改mAC和设备标识不是更简单,做好后就对原来设备进行了完全一样的备份,这样再对原设备进行配置文件备份,就多了一个备用光猫。
这种操作,得首先打开移动光猫的telnet,这个大家可以自行百度,开启后使用移动光猫超级账号和密码登陆后进行命令行操作。
网上移动光猫账号: CMCCAdmin 密码:aDm8H%MdA,如果密码不用,则可以参考网上教程获取超级账号和密码(登录后 用sidbg 1 DB p DevAuthInfo查看超级账号和密码)。如果登陆不上,则用默认配置密码加上@C1进行登录。即使在光猫页面改变管理员密码,在su切换超级管理员时,密码还是aDm8H%MdA。
- 备份原固件
telnet后命令行输入cat /proc/mtd,查看固件分区
$ cat /proc/mtd
dev: size erasesize name
mtd0: 10000000 00020000 "whole flash"
mtd1: 00200000 00020000 "u-boot"
mtd2: 00400000 00020000 "parameter tags"
mtd3: 02000000 00020000 "kernel0"
mtd4: 00400000 00020000 "middleware"
mtd5: 00800000 00020000 "usercfg"
mtd6: 02000000 00020000 "kernel1"
mtd7: 00600000 00020000 "others"
mtd8: 00400000 00020000 "wlan"
mtd9: 00200000 00020000 "phoneapp"
mtd10: 01e00000 00020000 "osgi"
mtd11: 06360000 00020000 "plugin_data"
mtd12: 01e00000 00020000 "osgi1"
mtd13: 00200000 00020000 "phoneapp1"
mtd14: 000a0000 00020000 "GN25L95_datas"
共15个分区,第一个是全部固件,其它的各具备相应的作用,比如mtd2就设置光猫Mac地址等参数分区。
备件固件,光猫插上U盘,ls /mnt查看U盘名称(我的是usb1_1),cd /mnt/usb1_1,cat /dev/mtd0 mtd0,从0-14逐个备件,如果只需要备份全部固件,运行cat /dev/mtd0 mtd0(此命令可能会出问题,使用mtd_debug read /dev/mtd0 0 0x10000000 /mnt/usb1_1/mtd0,其它分区依据cat /proc/mtd 中得到的“size”进行备份 )就行。这样原光猫固件就备份到了U盘。
2.对备用光猫同样操作telnet登录后进入命令行页面。
mtd_debug info /dev/mtd0 查看相应分区信息
可以看出光猫固件是256M,拆开看是用的foresee的emmc芯片。
按1中操作备份本机固件,然后刷入固件。
刷入固件前得先擦除固件,用mtd_debug erase /dev/mtd0 0x0 0x10000000,这个命令是擦除整个闪存,0x0是从16进制0地址开始,0x10000000是擦除256M空间。
擦除后,用mtd_debug write /dev/mtd0 0x0 0x10000000 mtd0进行固件写入,本段第二个mtd0就是1中所备件的固件mtd0,这样重启后就可以得到与原光猫完全一样的光猫,然后就可以肆无忌惮地对一个光猫进行操作,或者一个光猫备用。
也可以单独刷入mtd2,这样仅刷入硬件配置参数,不对其它进行更改,但这样需要计算偏移量,错了就得不偿失,还不如刷全部固件。
3、更改sn、mac
/ # sismac
Usage format:
sismac <action type> [<para_id>] [<hex string para_val>]
sismac show
sismac info
sismac region_to_cmiot
sismac region_bak_mfr
action type:
1-set param; (exam: sismac 1 512 sn:20081106)
2-get param; (exam: sismac 2 512)
3-del param; (exam: sismac 3 512)
4-format region; (exam: sismac 4)
5-get param(string); (exam: sismac 5 512)
/ # sismac show
截图或复制保存各参数,然后用sismac 1 <para_id>] [<16进制值>]进行更改。(用sismac info命令显示的为十进制,更为直观)