Research whether OpenWrt can be ported to SFP+ STICK device
10GEPON/XGPON
Switch between XGS and 10GE (XG-99S/XE99S)
The XG-99S (and OEM's) and XE-99S are hardware compatible.
By replacing the Stick firmware,
it can switch between XGS-PON mode (XG-99S) and 10GE-PON mode (XE-99S).
CIG's Stick cannot switch between XGS/10GE by changing only scfg.txt
To switch between XG-99S and XE-99S, replace the following partition.
dtb
: mtd2 / mtd5kernel
: mtd3 / mtd6rootfs
: mtd4 / mtd7mfginfo
: mtd9 / mtd10userdata
: mtd8 (not necessary when switching XE-99S -> XG-99S)
Procedure
To prevent crashes due to exhaustion of tmpfs, the following procedure is recommended.
It is strongly recommended to backup all partitions before proceeding.
Never disconnect power to the Stick while the partition is being written. Otherwise the Stick will brick.
If Stick bricked, repair according to mtd dump & Bricked Stick Repair
-
Download the firmware to be switched from Switch between XGS and 10GE and place it on the tftp server.
-
Log into the Stick root shell and go to
/tmp
. -
Transfer
userdata.tar.gz
.
tftp -r userdata.tar.gz -g tftp-server-ip
- Expand to
/userdata
.
tar -xvzf userdata.tar.gz -C /userdata
- Delete the transferred
userdata.tar.gz
.
rm userdata.tar.gz
- Transfer
kernel.bin
.
tftp -r kernel.bin -g tftp-server-ip
- Write
kernel
partition.
flash_eraseall /dev/mtd3
flashcp -v kernel.bin /dev/mtd3
flash_eraseall /dev/mtd6
flashcp -v kernel.bin /dev/mtd6
- Delete the transferred
kernel.bin
.
rm kernel.bin
Transfer rootfs.bin
, dtb.bin
and mfginfo.bin
.
tftp -r rootfs.bin -g tftp-server-ip
tftp -r dtb.bin -g tftp-server-ip
tftp -r mfginfo.bin -g tftp-server-ip
- Write
dtb
partition.
flash_eraseall /dev/mtd2
flashcp -v dtb.bin /dev/mtd2
flash_eraseall /dev/mtd5
flashcp -v dtb.bin /dev/mtd5
- Write
mfginfo
partition.
flash_eraseall /dev/mtd9
flashcp -v mfginfo.bin /dev/mtd9
flash_eraseall /dev/mtd10
flashcp -v mfginfo.bin /dev/mtd10
- Write
rootfs
partition.
flash_eraseall /dev/mtd4
flashcp -v rootfs.bin /dev/mtd4
flash_eraseall /dev/mtd7
flashcp -v rootfs.bin /dev/mtd7
- reboot
reboot
-
Disconnect and reconnect the Stick.
-
Stick will boot with replaced firmware!
Stick's current mode can be found in the dmesg or messages log.
# grep "ca-pon: load PON_MAC_MODE:" /var/log/dmesg
[ 10.869218] ca-pon: load PON_MAC_MODE: EPON-BI10G
or,
# grep "ca-pon: load PON_MAC_MODE:" /var/log/messages
Jan 1 00:00:13 saturn-sfpplus-eng user.warn kernel: [ 13.843922] ca-pon: load PON_MAC_MODE: XGSPON