tags:
- nbux/orange
Version 20240610
The real manufacturer of this ONU is CIG XG-99S.
To configure the ONU, you can use directly switch/router SFP port or a fiber media converter like these :
WARNING1: The ONU is limited to 17 VLANs sent by the OLT while the OLT, in some case sends 22 (pro line), including VLAN 832 (Net), 840 (TV) and 838 (Phone). If you do not have TV subscription you should NOT have any issue, you will encounter the issue because the VLAN 832 will be 19th position (>17). Refer to the Xgspon_mod configuration method in this document.
WARNING2: Directly changing the serial, vendor and hardware version values on the ONU is NOT recommended. Indeed, in the case of RMA, you will need to make a return. Likewise, the ONU has a set of config files that allow these values to be dynamically replaced, without having to change the default values. This method is therefore greatly favoured and recommended. An ONU must have a failsafe which allows you to return to the initial state in the event of a brick or bad configuration. The mod that is used to configure the ONU allows you to perform a factory reset of the ONU via a double power cycle of less than 30 to 120 seconds. This makes it possible to greatly limit unintentional bricks caused by poor handling. This also makes it easy to return the ONU to factory settings (just do a double power cycle of less than 120sec).
Prefer to the Xgspon_mod configuration method in this document
https://www.fs.com/fr/products/185594.html
https://hack-gpon.org/xgs/ont-fs-XGS-ONU-25-20NI/
https://lafibre.info/gpon/ont-xgs-pon-compatible/new/?topicseen#new
https://lafibre.info/remplacer-livebox/xgs-pon-remplacement-de-la-livebox-7-10gbe/
https://github.com/akhamar/orange-xgs-pon
https://github.com/rssor/fs_xgspon_mod
https://akhamar.github.io/orange-xgs-pon/
https://akhamar.github.io/orange-xgs-pon/20_fs_onu.html
https://akhamar.github.io/orange-xgs-pon/30_was_onu.html
IP : 192.168.100.1 (telnet port 23)
telnet only
login/pasword defined as following :
User | Password (Enable Password) |
---|---|
ONU GPON Serial Number | 8 digit HMAC-MD5 based on Uppercase ONU GPON Serial Number |
GPONxxxxxxxx | xxxxxxxx |
Note1: FS.com Stick XGS-ONU-25-20NI does not have its PON S/N on the label: the S/N field stamped on the label is FS.com’s internal S/N, not the PON S/N. In order to obtain the actual PON S/N, either ask an FS.com sales representative or check the boot log from the UART!
Note2: You can generate password from https://hack-gpon.org/xgs/ont-fs-XGS-ONU-25-20NI/#login-and-enable (section Login and Enable). You WILL NEED to generate the password after changing the serial number (come from the Livebox SN)
WARNING: if you change the serial number (to authenticate on the XGS optical tree), the login and password will be modified. Take care of remember the default and the new one. If you forget these, the provider (FS.com) will NOT help.
Use https://github.com/rssor/fs_xgspon_mod
The ONU software uses a hook system. There is therefore a shim (.so) which is called by the ONU each time a mapping rule is made. shim is therefore the only ONU supported and official way of doing this kind of thing. There is no manual command that allows mapping by hand (at least not that I know of).
The mapping priorities are changed on the bridge, which include the rules requested by the OLT to avoid having "one rule = one mapping" but "one mapping = several rules".
Basically, instead of having several mapping rules for VLAN 838/840/851 the tool will merge our rules and pool the prios. We are also thinking of simply trashing the 851 (telephone) rules, which would leave less than 17 VLAN mapping rules.
GPONXXXXXXXX is the ORIGINAL serial of ONU
SMBSXXXXXXXX is the Livebox(7) serial
Initial configuration :
If you have less than 17 VLANs (no TV option, try this before if not sure)
./fs_xgspon_mod.py install GPONXXXXXXXX orange SMBSXXXXXXXX --vlan_rules ""
reboot
If you have more than 17 VLANs (TV option enabled for example)
./fs_xgspon_mod.py install GPONXXXXXXXX orange SMBSXXXXXXXX
reboot
./fs_xgspon_mod.py telnet SMBSXXXXXXXX
/s/m/show 256
/s/m/show 257
/traffic/pon/show onu
------------------------- ONU INFO --------------------------
Onu id 26
sdThreshold: 0
sfThreshold: 0
TO1: 80000
TO2: 1
eqd: XXXXXXXX
Serial Number(vendor code): SMBS
Serial Number(sn): XXXXXXX
Password: XX XX XX XX XX XX XX XX XX XX
Registration ID: 0xXXXXXXXXXXXXXXXX0000000000000000000000000000000000000000000000000000000000
------------------------- INFO END --------------------------
/traffic/pon/show link
----------------- LINK STATE -----------------
Operation State Machine: OPERATION (O5)
----------------- STATE END -----------------
/system/mib/show 506
EntityID = 0x0101
OuterPriFilter = 15
OuterVidFilter = 4096
OuterTPIDFilter = 0
InnerPriFilter = 8
InnerVidFilter = 832
InnerTPIDFilter = 5
EtherTypeFilter = 0
AniBriPortNum = 2
RmTagTreat = 1
OuterPriTreat = 15
OuterVidTreat = 0
OuterTPIDTreat = 0
InnerPriTreat = 8
InnerVidTreat = 2800
InnerTPIDTreat = 2
EntityID = 0x0101
OuterPriFilter = 15
OuterVidFilter = 4096
OuterTPIDFilter = 0
InnerPriFilter = 8
InnerVidFilter = 835
InnerTPIDFilter = 5
EtherTypeFilter = 0
AniBriPortNum = 6
RmTagTreat = 1
OuterPriTreat = 15
OuterVidTreat = 0
OuterTPIDTreat = 0
InnerPriTreat = 8
InnerVidTreat = 835
InnerTPIDTreat = 2
/traffic/eth/show connect all
$$ US BRIDGE 65535 $$
---------------------------------------------------------------
< INDEX = 0, SLOT = 1, PORT = 4, VLANFILTER = 832 PRIFILTER = 0x1>
VLAN MATCH : MATCH
VLAN ACT : REPLACE
OUT VID : 2800
OUT PRI : 0
TCI MAPPING:
* PRI 0 -> FLOW 1
* PRI 1 -> FLOW 0
* PRI 2 -> FLOW 0
* PRI 3 -> FLOW 0
* PRI 4 -> FLOW 0
* PRI 5 -> FLOW 0
* PRI 6 -> FLOW 0
* PRI 7 -> FLOW 0
./fs_xgspon_mod.py persist SMBSXXXXXXXX
./fs_xgspon_mod.py rearm GPONXXXXXXXX
in crontab, for example :
*/2 * * * * (echo "" && /bin/date && /opt/onu_fs/fs_xgspon_mod_release-v1.3/fs_xgspon_mod.py rearm GPONXXXXXXXX) >> /opt/onu_fs/rearm.log 2>&1
sudo ./fs_xgspon_mod.py discoverserial_cig
[+] Validated target reachable via telnet, check for ARP entries...
[+] Target reachable at MAC xxxxxxxxx from interface enp6s0 with MAC xxxxxxxxxx
[!] Beginning processing chunk of 1000 serials (next: GPON24100000)
[!] Beginning processing chunk of 1000 serials (next: GPON23b000e8)
...
[+] Telnet credentials: GPONXXXXXXXX / YYYYYYYY
./fs_xgspon_mod.py discoverserial
[!] Attempting GPON24100000
...
[+] Telnet credentials: GPONXXXXXXXX / YYYYYYYY
WARNING: Do not forget that the ONU allows you to perform a factory reset of the ONU via a double power cycle of less than 30 to 120 seconds. This makes it possible to greatly limit unintentional bricks caused by poor handling. This also makes it easy to return the ONU to factory settings (just do a double power cycle of less than 120sec). In these case, the ONU will lost all your modifications and you will have to apply them again...
Plug the SFP+ ONU XGS-PON inside the switch (use a bridge if required)
Configure the PC to be able to telnet to 192.168.100.1:23 (must be in the same network than ONU)
Authenticate and configure
Remember the default configuration settings
#ONT/system/misc>eqsn get
eqsn: GPONxxxxxxxx
#ONT/system/misc>vendor get
vendor: GPON
#ONT/system/misc>eqvid get
eqvid: XG-99S
eqsn set "SMBSxxxxxxxx" (Serial Number from Livebox7 info page)
vendor set "SMBS"
eqvid set "SMBSXLB7400" (Livebox7 is the only XGPON box currently)
Note: VendorID for Livebox7 is SMBSXLB7400, Vendor is SMBS
For example, here are some correct ONT Hardware Versions (section 9.9 on Livebox web interface):
Version | Hardware |
---|---|
Livebox7 | SMBS SMBSXLB7400 |
Livebox6 | SMBS SMBSSGLB6107 |
Livebox5 | SCOM SMBSSGLBF121 |
Huawei HG8010H | HWTC HWTCA240FA |
Huawei HG8010H | HWTC HWTCA2B5B |
Note: If you encounter some DHCP issues and everything seems right, try to change the HWVER without modifying SERIAL number. For example, Huawei ONT serial number with a Livebox6 HWVER.
echo ETH10GESLOT=1 > /mnt/rwdir/sys.cfg
reboot
ONT>enable
#ONT>system
#ONT/system>misc
#ONT/system/misc>eqsn get
eqsn: SMBSxxxxxxxx (Serial Number de la page d'info de la Livebox 7)
#ONT/system/misc>vendor get
vendor: SMBS
#ONT/system/misc>eqvid get
eqvid: SMBSXLB7400
#ONT/system/misc>
#ONT/system/shell>cat /mnt/rwdir/sys.cfg
ETH10GESLOT=1
Note: There is no need to add 2 bytes padding \0\0
on HW Version like on GPON stick
WARNING: Take care of remembering the original and the new SN/login/password !
To change the management IP, set it with the misc
CLI option and the admin_ip set <ip>
command. For example, if the desired management IP is 192.168.1.1
:
#ONT/system/misc> admin_ip set 192.168.1.1
To change the management IP netmask, set it with the misc
CLI option and the admin_mask set <netmask>
command. For example, if the desired management IP mask is 255.255.255.0
:
#ONT/system/misc> admin_mask set 255.255.255.0
Commands from https://hack-gpon.org/xgs/ont-fs-XGS-ONU-25-20NI/.
#ONT> traffic/pon/show onu
------------------------- ONU INFO --------------------------
Onu id 65535
sdThreshold: 0
sfThreshold: 0
TO1: 80000
TO2: 1
eqd: 0
Serial Number(vendor code): GPON
Serial Number(sn): abcd1234
Password: 30 31 32 33 34 353 36 37 38 39
Registration ID: 0x44454641554c540000000000000000000000000000000000000000000000000000000000
------------------------- INFO END --------------------------
#ONT>traffic/pon/show link
----------------- LINK STATE -----------------
Operation State Machine: INIT (O1)
----------------- STATE END -----------------
#ONT>system/mib/show 131
Table Oltg, Olt-g, total 1 instances
EntityID = 0x0000
VendorId = ""
EquipmentId = ""
Version = 00 00 00 00 00 00 00 00 00 00 00 00 00 00
TimeOfDay = 00 00 00 00 00 00 00 00 00 00 00 00 00 00
#ONT>traffic/eth/show pack
build time Apr 26 2023: 06:23:15
-------------------- Line Pack -- PWR 0X0 --
Line Slot 10, NumOfPorts 1, type 49, subtype 75, state 2
-------------------- Configuration -------------------
port | enable | loop | Mode | RL Type | RL Us Rate| RL Ds Rate|
1 Yes No Auto 0 0 0
-------------------- Status -------------------
1) link state: Up, link mode: 2.5G Full
-------------------- Bridge Pack -------------------
Type: 75
State: 2
MAC Table: 0
MAC Aging: 0
MTU: 0
-------------------- Chip Data -------------------
eth Fd: 7
port Mask: 0x0018
type 28
********** DEBUG INFO **********
EmrLogId : 5
EmrAdminEn : 0
EmrbeInited : 1
EmrDumpConn : 0
EmrPwrShedEn : 0x0
EmrConnItemNum : 0
EmrUsDsReverseEn : 1
EmrConnAllVidCheck : 0
EmrMcastGemVlanOpEn : 1
gEmrSaveConnItemEn : 1
gEmrMcastCrossVlanEn : 1
EmrUniExtractPriMatch : 1
EMR_DRV_PACK_DUMP_ITEM_EN : 0
********************************