diff options
author | Andrea Greco <accounts@andreagre.co> | 2023-10-10 12:13:49 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-10-10 12:13:49 +0200 |
commit | df1edd76f66b33eabe72cc7cbf656fddf7f72bea (patch) | |
tree | 4ab5ceecf4ee514d75fe19c45bb898499071bfb7 /_ont | |
parent | hotfix zte router page (#273) (diff) | |
download | hack-gpon.github.io-df1edd76f66b33eabe72cc7cbf656fddf7f72bea.tar hack-gpon.github.io-df1edd76f66b33eabe72cc7cbf656fddf7f72bea.tar.gz hack-gpon.github.io-df1edd76f66b33eabe72cc7cbf656fddf7f72bea.tar.bz2 hack-gpon.github.io-df1edd76f66b33eabe72cc7cbf656fddf7f72bea.tar.lz hack-gpon.github.io-df1edd76f66b33eabe72cc7cbf656fddf7f72bea.tar.xz hack-gpon.github.io-df1edd76f66b33eabe72cc7cbf656fddf7f72bea.tar.zst hack-gpon.github.io-df1edd76f66b33eabe72cc7cbf656fddf7f72bea.zip |
Diffstat (limited to '_ont')
36 files changed, 301 insertions, 299 deletions
diff --git a/_ont/ont-d-link-dpn-100-rev-a2.md b/_ont/ont-d-link-dpn-100-rev-a2.md index b80cdc9..5328863 100644 --- a/_ont/ont-d-link-dpn-100-rev-a2.md +++ b/_ont/ont-d-link-dpn-100-rev-a2.md @@ -41,10 +41,10 @@ Once you access the stick via ssh you will be presented with a second tier login # GPON/OMCI settings -{% include alert.html content="all commands start from the twmanu shell." alert="Note" icon="svg-info" color="blue" %} +{% include alert.html content="All commands start from the twmanu shell." alert="Note" icon="svg-info" color="blue" %} ## Setting ONU GPON Serial Number -{% include alert.html content="the S/N is stored in the ASCII format." alert="Note" icon="svg-info" color="blue" %} +{% include alert.html content="The S/N is stored in the ASCII format." alert="Note" icon="svg-info" color="blue" %} ```sh manufactory @@ -56,9 +56,9 @@ set sn ALCLf0f0f0f0 ## Setting ONU GPON PLOAM password -{% include alert.html content="the PLOAM is stored in the ASCII format." alert="Note" icon="svg-info" color="blue" %} +{% include alert.html content="The PLOAM password is stored in the ASCII format." alert="Note" icon="svg-info" color="blue" %} -This can be done easily via web ui. If you prefer to do it via the shell use: +This can be done easily via the web UI. If you prefer to do it via the shell use: ```sh manufactory set password 1234567899 diff --git a/_ont/ont-fs-com-gpon-onu-stick-with-mac.md b/_ont/ont-fs-com-gpon-onu-stick-with-mac.md index eff5894..9e4b5c5 100644 --- a/_ont/ont-fs-com-gpon-onu-stick-with-mac.md +++ b/_ont/ont-fs-com-gpon-onu-stick-with-mac.md @@ -120,7 +120,7 @@ For more info [XPONos partition layout](https://github.com/XPONos/linux_lantiq-f # Unlock the device -{% include alert.html content=" The following commands concern version 6BA1896SPLQA42, to get the commands for version 6BA1896SPLQA41 please look at page [Carlito Firmware](/ont-huawei-ma5671a-carlito)." alert="Note" icon="svg-info" color="blu" %} +{% include alert.html content="The following commands are to be used on version 6BA1896SPLQA42, to get the commands for version 6BA1896SPLQA41 please check the following page: [Carlito Firmware](/ont-huawei-ma5671a-carlito)." alert="Note" icon="svg-info" color="blu" %} ## Bootloader unlock from shell @@ -137,13 +137,13 @@ fw_setenv preboot "gpio set 3;gpio input 2;gpio input 105;gpio input 106;gpio in If for some reason you are in the situation where you do not have a bootable firmware on your SFP stick you can do an emergency unlock via TTL serial. -To perform the emergency unlock is necessary to have: -- TTL-USB adapter -- SFP adapter to connect the TTL-USB cables to the SFP stick +To perform the emergency unlock, the following hardware is required: +- TTL-USB adapter, +- SFP adapter to connect the TTL-USB cables to the SFP stick. -The electrical connections are the same as those of the Huawei MA5671A, see the [Huawei root guide](/ont-huawei-ma5671a-root-web) for accurate details on how to connect the TTL-USB to the SFP adapter. +The electrical connections are the same as those of the Huawei MA5671A; see the [Huawei root guide](/ont-huawei-ma5671a-root-web) for accurate details on how to connect the TTL-USB to the SFP adapter. -When you are ready with everything plugged in you need to press the button below. A window will open that will execute the emergency unlock. +When you are ready with everything plugged in you need to press the button below. A window will open to execute the emergency unlock. {: .text-center .fs-6 } <button id="start-button" class="btn btn-blue" data-jtd-toggle="modal" data-jtd-target="#root-modal" disabled>Start emergency unlock!</button> @@ -156,7 +156,7 @@ When you are ready with everything plugged in you need to press the button below # GPON ONU status -## Get the operational status of the ONU +## Getting the operational status of the ONU ```shell onu ploamsg @@ -183,7 +183,7 @@ The `link_status` variable tells the current speed | 4 | 1 Gbps / SGMII with auto-neg off | | 5 | 2.5 Gbps / HSGMII with auto-neg on | -To change the default lan mode value you can use `fw_setenv sgmii_mode`. The firmware already has the value 5 by default and it is generally not necessary to change it. +To change the default lan mode value you can use `fw_setenv sgmii_mode`. The firmware already has the value set to 5 by default and there should not be any need to change it. # GPON/OMCI settings @@ -196,7 +196,7 @@ Or: sfp_i2c -i8 -s "ABCD12345678" ``` -## Checking ONU GPON Serial Number +## Getting ONU GPON Serial Number ```sh fw_printenv | grep nSerial ``` @@ -231,7 +231,7 @@ sfp_i2c -i7 -s "YOUR_VENDOR_ID" sed 's/256 0 HWTC 0000000000000/256 0 HWTC YOUR_ONU_VERSION/' /rom/etc/mibs/data_1g_8q.ini > /etc/mibs/data_1g_8q.ini ``` -## Restore the default ONU hardware version (ME 256) +## Restoring the default ONU hardware version (ME 256) ```sh cat /rom/etc/mibs/data_1g_8q.ini > /etc/mibs/data_1g_8q.ini ``` @@ -239,8 +239,8 @@ cat /rom/etc/mibs/data_1g_8q.ini > /etc/mibs/data_1g_8q.ini ## Setting OMCI software version (ME 7) {% include alert.html content="The patch below is only compatible with the firmware version `6BA1896SPLQA42`" alert="Info" icon="svg-info" color="blue" %} -The image version normally couldn't be changed because it was hard-coded into the `/opt/lantiq/bin/omcid` binary, -so you need to then modify the binary with the following hex patch which removes the hardcoded version. +The image version normally can't be changed because it is hard-coded into the `/opt/lantiq/bin/omcid` binary, +so the binary has to be modified with the following hex patch which removes the hardcoded version. ``` < 000084c0: 9a43 931f f760 d840 9b64 f760 d864 1a00 .C...`.@.d.`.d.. @@ -264,17 +264,17 @@ Save it on your computer (not on the stick) as `omcid_patch.base64`, then run: base64 -d omcid_patch.base64 > omcid.bspatch bspatch <your_original_omcid> omcid omcid.bspatch ``` -{% include alert.html content="if you don't have bspatch installed, most distributions includes it in bsdiff package" alert="Info" icon="svg-info" color="blue" %} +{% include alert.html content="If you don't have bspatch installed, most distributions include it in the bsdiff package" alert="Info" icon="svg-info" color="blue" %} After patching the resulting patched `omcid` should have an md5 checksum of `525139425009c4138e92766645dad7d0`. -If that also checks, go on making a backup copy of your original `omcid` on the stick. +If that is also correct, continue by making a backup copy of your original `omcid` on the stick. ```sh cd /opt/lantiq/bin cp omcid omcid.original ``` -Now you have to use SCP to copy the modified `omcid` binary in `/opt/lantiq/bin/omcid`. +Now, SCP has to be used to copy the modified `omcid` binary in `/opt/lantiq/bin/omcid`. Before restarting the stick and applying changes, make sure `omcid` has its execution bit set, then reboot the stick and change the image version with the following command: ```sh @@ -282,30 +282,30 @@ chmod ugo+x /opt/lantiq/bin/omcid ``` -Is also a good time to set the image0/image1_version. Crash has reported if they are not set correctly before reboot. +Is also a good time to set the image0/image1_version: crashes have been reported if they are not set correctly before reboot. ```sh fw_setenv image0_version YOUR_IMAGE0_VERSION fw_setenv image1_version YOUR_IMAGE1_VERSION ``` -Now you can restart the stick. -{% include alert.html content="Be aware that sometimes `omcid` can rewrite the two variables when runs in non patched state. After reboot, double check the values you put are still there." alert="Info" icon="svg-info" color="blue" %} +Now the stick can be rebooted. +{% include alert.html content="Be aware that sometimes `omcid` can rewrite the two variables when run in its non-patched state. After reboot, double check the set values are still correct." alert="Info" icon="svg-info" color="blue" %} # Advanced settings ## Setting `data_1g_8q_us1280_ds512.ini` OMCI MIB file for 2500 Mbps profiles -{% include alert.html content="The patch below is only compatible with the firmware version `6BA1896SPLQA42`" alert="Info" icon="svg-info" color="blue" %} +{% include alert.html content="The patch provided below is only compatible with the firmware version `6BA1896SPLQA42`" alert="Info" icon="svg-info" color="blue" %} {% include alert.html content="If you need to set the ONU version remember that you will have to do it using the MIB file `/etc/mibs/data_1g_8q_us1280_ds512.ini` instead of `/etc/mibs/data_1g_8q.ini`" alert="Info" icon="svg-info" color="blue" %} -The MIB file `data_1g_8q_us1280_ds512.ini` is very useful to avoid performance problems in situations where 2500 Mbps speed profiles are used, to enable it you need to run this command: +The MIB file `data_1g_8q_us1280_ds512.ini` is very useful to avoid performance problems in situations where 2500 Mbps speed profiles are used. To enable it, run this command: ```sh fw_setenv mib_file data_1g_8q_us1280_ds512.ini ``` ## Setting custom OMCI MIB file -{% include alert.html content="If you need to set the ONU version remember that you will have to do it using your custom MIB file instead of `/etc/mibs/data_1g_8q.ini`" alert="Info" icon="svg-info" color="blue" %} +{% include alert.html content="If you need to set the ONU version, remember that you will have to do it using your custom MIB file instead of `/etc/mibs/data_1g_8q.ini`" alert="Info" icon="svg-info" color="blue" %} -You have to copy the MIB file to /etc/mibs and then run this command: +Copy the MIB file to /etc/mibs, then run this command: ```sh fw_setenv mib_file YOUR_MIB_FILENAME ``` @@ -330,11 +330,11 @@ reboot ``` ## Disable RX_LOS status -{% include alert.html content="The patch below is only compatible with the firmware version `6BA1896SPLQA42`" alert="Info" icon="svg-info" color="blue" %} +{% include alert.html content="The patch provided below is only compatible with the firmware version `6BA1896SPLQA42`" alert="Info" icon="svg-info" color="blue" %} -Some switches/routers (e.g. Mikrotik) do not allow access to the magament interface without the fiber connected because the SFP reports RX_LOS status, it's possible to modify the `mod_optic.ko` driver to spoof non RX_LOS status by setting PIN 8 (RX_LOS) to be always low. +Some switches/routers (e.g. Mikrotik) do not allow access to the magament interface without the fiber being connected because the SFP reports RX_LOS status It is possible to fix this by modifying the `mod_optic.ko` driver to spoof non RX_LOS status by setting PIN 8 (RX_LOS) to be always low. -This is the change to be made in hex format: +This is the change to be made, in hex format: ``` < 00013740: 2404 0003 2405 0001 0c00 0000 ac43 0980 $...$........C.. @@ -356,28 +356,28 @@ Save it on your computer (not on the stick) as `mod_optic.base64`, then run: base64 -d mod_optic.base64 > mod_optic.bspatch bspatch <your_original_mod_optic.ko> mod_optic.ko mod_optic.bspatch ``` -{% include alert.html content="if you don't have bspatch installed, most distributions includes it in bsdiff package" alert="Info" icon="svg-info" color="blue" %} +{% include alert.html content="If you don't have bspatch installed, most distributions include it in the bsdiff package" alert="Info" icon="svg-info" color="blue" %} -After patching the resulting patched `mod_optic.ko` should have an md5 checksum of `e14a5a70b023873853afe920870f076e`. -If that also checks, go on making a backup copy of your original `mod_optic.ko` on the stick. +After patching the resulting `mod_optic.ko` should have an md5 checksum of `e14a5a70b023873853afe920870f076e`. +If that is also correct, continue by making a backup copy of your original `mod_optic.ko` on the stick. ```sh cd /lib/modules/3.10.49/ cp mod_optic.ko mod_optic.ko.original ``` -Now you have to use SCP to copy the modified `mod_optic.ko` kernel module in `/lib/modules/3.10.49/mod_optic.ko`. +Now use SCP to copy the modified `mod_optic.ko` kernel module in `/lib/modules/3.10.49/mod_optic.ko`. ## TX Fault / Serial -The stick stays in a perpetual "TX Fault" state since the same SFP pin is used for both serial and TX Fault signaling, if that causes you issues (normally it shouldn't) you can issue the commands below to disable it. Note that it will disable both the TX Fault signal and Serial on the stick after boot. +The stick will remain in a perpetual "TX Fault" state as the same SFP pin is used for both serial and TX Fault signaling. If this causes you issues (normally it shouldn't), you can issue the commands below to disable it. Note that this will disable both the TX Fault signal and Serial on the stick after boot. ```sh fw_setenv asc0 1 fw_setenv preboot "gpio set 3;gpio input 100;gpio input 105;gpio input 106;gpio input 107;gpio input 108" ``` -In case you need to re-enable it issue the following commands from the bootloader (FALCON) +In case you need to re-enable it, issue the following commands from the bootloader (FALCON) ```sh FALCON => setenv asc0 0 @@ -401,11 +401,11 @@ strings /opt/lantiq/bin/omcid | grep compiled ``` # EEPROM (I2C slave simulated EEPROM) -The FS GPON-ONU-34-20BI does not have a physical EEPROM, the Falcon SOC emulates an EEPROM by exposing it on the I2C interface as required by the SFF-8472 specification. +The FS GPON-ONU-34-20BI stick does not have a physical EEPROM, the Falcon SOC emulates an EEPROM by exposing it on the I2C interface as required by the SFF-8472 specification. -On the I2C interface there will be two memories of 256 bytes each at the addresses `1010000X (A0h)` and `1010001X (A2h)`, however in reality the memory available from the emulated EEPROM will be 640 bytes each but only the first 256 bytes will be exposed in the I2C interface. +On the I2C interface, two memories of 256 bytes each will be available at the addresses `1010000X (A0h)` and `1010001X (A2h)`, however the actual available memory from the emulated EEPROM will be 640 bytes each, but only the first 256 bytes will be exposed in the I2C interface. -The FS GPON-ONU-34-20BI stores the content of the emulated EEPROM in U-Boot env variables to restore it after a reboot: +The FS stick stores the content of the emulated EEPROM in U-Boot env variables to restore it after a reboot: - `EEPROM0 (A0h)` stored in U-Boot env variable `sfp_a0_low_128` - `EEPROM1 (A2h)` stored in U-Boot env variable `sfp_a2_info` diff --git a/_ont/ont-genexis-ft-g2110c.md b/_ont/ont-genexis-ft-g2110c.md index 8a95a31..4aeee5a 100644 --- a/_ont/ont-genexis-ft-g2110c.md +++ b/_ont/ont-genexis-ft-g2110c.md @@ -43,7 +43,7 @@ The ONT has a TTL 3.3v UART console (configured as 115200 8-N-1) that can be acc {% include image.html file="ft-g2110c-internal.jpg" alt="FiberTwist G2110C-2.5G Internal" caption="FiberTwist G2110C-2.5G Internal" %} -{% include alert.html content="Some USB TTL adapters label TX and RX pins the other way around: try to swap them if the connection doesn't work." alert="Note" icon="svg-warning" color="yellow" %} +{% include alert.html content="Some USB TTL adapters label TX and RX pins the other way around: try swapping them if the connection doesn't work." alert="Note" icon="svg-warning" color="yellow" %} ## List of software versions - C-5.6.1-R @@ -76,7 +76,7 @@ This ONT supports dual boot. # GPON/OMCI settings -{% include alert.html content="Some variables are write-protected, you need to unlock them before proceed" alert="Info" icon="svg-info" color="blue" %} +{% include alert.html content="Some variables are write-protected, you need to unlock them before proceeding" alert="Info" icon="svg-info" color="blue" %} Use the following command to unlock write-protected variables: @@ -93,7 +93,7 @@ Use the following command to unlock write-protected variables: ``` Reboot the ONT to apply any changes -You can check if the serial number was correclty changed using the following command: +You can check if the serial number was correctly changed using the following command: ```sh # diag gpon get serialnumber @@ -109,8 +109,8 @@ ZTEGaaa01234 GPON_PLOAM_PASSWD=AAAAAAAAAA # /etc/scripts/flash set GPON_PLOAM_PASSWD AAAAAAAAAA ``` -Looks like Genexis has also included an U-Boot variable to store the PLOAM. On currently known firmwares (5.6.1 and 5.7.0) it is not read by the `omci_app` daemon. -If you want to be future proof, put your PLOAM also on U-Boot env using the following command in the OS shell: +It seems Genexis has also included a U-Boot variable to store the PLOAM. On currently known firmwares (5.6.1 and 5.7.0) it is not read by the `omci_app` daemon. +For future-proofing reasons, set your PLOAM also on the before-mentioned U-Boot env using the following command in the OS shell: ```sh # nv setenv ploampwd 1234567890 @@ -119,10 +119,9 @@ ploampwd=1234567890 ## Setting OMCI software version (ME 7) The stock firware does not allow changing of the primary and standby software version. -Since the ONT uses the Luna SDK, the `/etc/scripts/flash` shell script can be easily modified by creating a custom firmware with -the same set of patches suggested e.g. for the [Technicolor AFM0002](/ont-technicolor-afm0002) ONT. +As the ONT uses the Luna SDK, the `/etc/scripts/flash` shell script can be easily modified by creating a custom firmware with the same set of patches suggested e.g. for the [Technicolor AFM0002](/ont-technicolor-afm0002) ONT. -You can then check if the software version was correctly changed with this command (take a look at the `Version` field): +You can then check if the software version was changed correctly with this command (take a look at the `Version` field): ```sh # omcicli mib get 7 @@ -154,14 +153,14 @@ ImageHash: 0x00000000000000000000000000000000 ```sh # nv setenv HV G2110CE2V1D0 ``` -Reboot ONT to apply the change +Reboot the ONT to apply the change ## Setting OMCI equipment ID (ME 257) ```sh # nv setenv ProdName FT-G2110C-2.5G ``` -Reboot ONT to apply the change +Reboot the ONT to apply the change # Advanced settings @@ -173,7 +172,7 @@ LAN_IP_ADDR=192.168.1.1 ``` # Known Bugs -- Web UI can be enabled by modding the firmware, but without an attached fiber the daemon will crash +- The web UI can be enabled by modding the firmware, but the daemon will crash if no optical signal is received # Miscellaneous Links - [FiberTwist G2110C-2.5G](https://genexis.eu/content/uploads/2020/07/FiberTwist-G2110C-2.5G-Installation-Guide-v1.0-EN.pdf) diff --git a/_ont/ont-huawei-eg8010h.md b/_ont/ont-huawei-eg8010h.md index 6077c73..4377e52 100644 --- a/_ont/ont-huawei-eg8010h.md +++ b/_ont/ont-huawei-eg8010h.md @@ -22,7 +22,7 @@ parent: Huawei | IP address | 192.168.100.1 | | Web Gui | ✅ user `root`, password `admin` or `adminHW` and user `Epadmin`, password `adminEp` | | SSH | | -| Telnet | After Enabling user `root`, password `admin` or `adminHW` | +| Telnet | After enabling, user `root`, password `admin` or `adminHW` | | Serial | | | Form Factor | ONT | diff --git a/_ont/ont-huawei-ma5671a-carlito.md b/_ont/ont-huawei-ma5671a-carlito.md index afaef44..cc54827 100644 --- a/_ont/ont-huawei-ma5671a-carlito.md +++ b/_ont/ont-huawei-ma5671a-carlito.md @@ -5,7 +5,7 @@ parent: Huawei MA5671A layout: default --- -{% include alert.html content="Be careful, back up the goi_config from uboot before changing firmware." alert="Info" icon="svg-info" color="blue" %} +{% include alert.html content="Be careful, backup goi_config from uboot before changing the firmware." alert="Info" icon="svg-info" color="blue" %} # GPON ONU status @@ -13,27 +13,27 @@ layout: default ```sh omci_pipe.sh meg MIB_IDX ME_IN ``` -Where `MIB_IDX` is the MIB ID and the `ME_IN` is the ME instance number +Where `MIB_IDX` is the MIB ID and `ME_IN` is the ME instance number ## Getting/Setting Speed LAN Mode -To enable the 2.5 Gbps / HSGMII with auto-neg on: +To enable the interface to sync at 2.5 Gbps / using HSGMII with auto-neg on: ```sh fw_setenv sgmii_mode 5 ``` -To remove the value (back to default): +To revert the afore-mentioned command: ```sh fw_setenv sgmii_mode ``` -To get the LAN Mode: +To check the set value fo the LAN Mode: ```sh onu lanpsg 0 ``` -The `link_status` variable tells the current speed +The `link_status` variable tells the current speed: | Value (for `sgmii_mode` and `link_status`) | Speed | | ------------------------------------------ | ---------------------------------- | diff --git a/_ont/ont-huawei-ma5671a-fs-mod.md b/_ont/ont-huawei-ma5671a-fs-mod.md index 7b04002..2d43ca8 100644 --- a/_ont/ont-huawei-ma5671a-fs-mod.md +++ b/_ont/ont-huawei-ma5671a-fs-mod.md @@ -11,20 +11,20 @@ layout: default Flash the firmware image to image0 or image1 via [SSH](/ont-huawei-ma5671a/#flashing-a-new-rootfs-via-ssh) or via [TTL serial](/ont-huawei-ma5671a-ymodem) as usual. -After the flash it is absolutely necessary to connect to the SFP via telnet using the IP 192.168.1.10: +After flashing, it is absolutely necessary to connect to the SFP via telnet using the IP 192.168.1.10: ```sh telnet 192.168.1.10 ``` -Once connected via telnet to the SFP, execute the following commands, it will be necessary to wait a few minutes until the end of the automatic procedure: +Once connected via telnet to the SFP, execute the following commands. Then wait a few minutes until the end of the automatic procedure: ```sh firstboot reboot ``` -Remember that with each flash of this firmware it is always necessary to perform the procedure described above, otherwise the SFP will not work! +Performing the procedure described above is necessary after each flash of this firmware, otherwise the SFP will not work! # Login info @@ -40,17 +40,17 @@ Remember that with each flash of this firmware it is always necessary to perform # GPON ONU status -## Get the operational status of the ONU +## Getting the operational status of the ONU ```sh onu ploam_state_get ``` -## Get optical laser status +## Getting optical laser status ```sh otop -g s ``` -## Get information of the OLT vendor +## Getting information of the OLT vendor ```sh omci_pipe.sh meg 131 0 ``` @@ -59,14 +59,14 @@ omci_pipe.sh meg 131 0 ```sh omci_pipe.sh meg MIB_IDX ME_IN ``` -Where `MIB_IDX` is the MIB ID and the `ME_IN` is the ME instance number +Where `MIB_IDX` is the MIB ID and `ME_IN` is the ME instance number. -## Get VLAN table rule +## Getting VLAN table rule ```sh gtop -g "GPE VLAN rule" ``` -## Get GEM port status table +## Getting GEM port status table ```sh gtop -g e ``` @@ -78,7 +78,7 @@ To get the LAN Mode: ```sh onu lan_port_status_get 0 ``` -The `link_status` variable tells the current speed +The `link_status` variable tells the current speed: | Value (for `sgmii_mode` and `link_status`) | Speed | | ------------------------------------------ | ---------------------------------- | @@ -133,10 +133,11 @@ fw_setenv image1_version "YOUR_SW_VERSION_1" # Advanced settings -{% include alert.html content="Normally they are not necessary and it would be better not to touch them" alert="Note" icon="svg-warning" color="red" %} +{% include alert.html content="Changing these is normally not necessary and not changing them is a good idea" alert="Note" icon="svg-warning" color="red" %} ## Setting custom OMCI MIB file -You have to copy the MIB file to /etc/mibs and then run this command: + +Copy the MIB file to /etc/mibs, then run this command: ```sh fw_setenv mib_file_custom "YOUR_MIB_FILENAME" @@ -155,7 +156,7 @@ reboot # SFP EEPROM settings -{% include alert.html content="Normally they are not necessary and it would be better not to touch them" alert="Note" icon="svg-warning" color="red" %} +{% include alert.html content="Changing these is normally not necessary and not changing them is a good idea" alert="Note" icon="svg-warning" color="red" %} ## Setting SFP vendor name ```sh diff --git a/_ont/ont-huawei-ma5671a-root-web.md b/_ont/ont-huawei-ma5671a-root-web.md index 6b514f4..99e640d 100644 --- a/_ont/ont-huawei-ma5671a-root-web.md +++ b/_ont/ont-huawei-ma5671a-root-web.md @@ -39,13 +39,13 @@ Connect the TTL adapter to the computer, once done press the following button. A # Connect to the stick via SSH -After this is done, reboot the stick, after connecting it to the router via an ethernet mediaconverter or directly plug it in an SFP port, with the port's IP set to whatever IP of the `192.168.1.0/24` subnet (the stick has the IP `192.168.1.10`) +After this is done, reboot the stick, after connecting it to a router via an ethernet mediaconverter or directly plugging it in an SFP port, with the port's IP set to any IP of the `192.168.1.0/24` subnet (the stick has the IP `192.168.1.10`) -{% include alert.html content="If your subnet is `192.168.1.0/24` make sure you have no ip conflicts." alert="Note" icon="svg-warning" color="yellow" %} +{% include alert.html content="If your LAN subnet is `192.168.1.0/24` make sure you have no ip conflicts." alert="Note" icon="svg-warning" color="yellow" %} {% include alert.html content="On some SFP host devices you might not be able to connect to the stick if there's no optical signal (RX loss), in that case you need to connect the fiber to make changes on the stick" alert="Note" icon="svg-warning" color="yellow" %} -Run the terminal and login to the stick with ssh +Run the terminal and login to the stick using ssh: ```shell ssh root@192.168.1.10 @@ -57,14 +57,14 @@ The password is `admin123`. # TX Fault / Serial -The stick stays in a perpetual "TX Fault" state since the same SFP pin is used for both serial and TX Fault signaling, if that causes you issues (normally it shouldn't) you can issue the commands below to disable it. Note that it will disable both the TX Fault signal and Serial on the stick after boot. +The stick stays in a perpetual "TX Fault" state since the same SFP pin is used for both serial and TX Fault signaling. If that causes you issues (normally it shouldn't), you can issue the commands below to disable it. Note that it will disable both the TX Fault signal and Serial on the stick after boot. ```sh fw_setenv asc0 1 fw_setenv preboot "gpio set 3;gpio input 100;gpio input 105;gpio input 106;gpio input 107;gpio input 108" ``` -In case you need to re-enable it issue the following commands from the bootloader (FALCON) +In case you need to re-enable it, issue the following commands from the bootloader (FALCON) ```sh FALCON => setenv asc0 0 diff --git a/_ont/ont-huawei-ma5671a-root.md b/_ont/ont-huawei-ma5671a-root.md index 0fbf987..7e01b25 100644 --- a/_ont/ont-huawei-ma5671a-root.md +++ b/_ont/ont-huawei-ma5671a-root.md @@ -134,9 +134,9 @@ sed -i "s|/opt/lantiq/bin/minishell|/bin/ash|g" /etc/passwd {% include alert.html content="The cause of these kernel panics could be insufficient supply of power." alert="Info" icon="svg-info" color="blue" %} {:style="counter-reset:none"} -1. After this is done, reboot the stick, after connecting it to the router via an ethernet mediaconverter or directly plug it in an SFP port, with the port's IP set to whatever IP of the 192.168.1.0/24 subnet (the stick has the IP 192.168.1.10) +After this is done, reboot the stick, after connecting it to a router via an ethernet mediaconverter or directly plugging it in an SFP port, with the port's IP set to any IP of the `192.168.1.0/24` subnet (the stick has the IP `192.168.1.10`) -{% include alert.html content="If your subnet is 192.168.1.0/24 make sure you have no ip conflicts." alert="Note" icon="svg-warning" color="yellow" %} +{% include alert.html content="If your LAN subnet is `192.168.1.0/24` make sure you have no ip conflicts." alert="Note" icon="svg-warning" color="yellow" %} {% include alert.html content="On some SFP host devices you might not be able to connect to the stick if there's no optical signal (RX loss), in that case you need to connect the fiber to make changes on the stick" alert="Note" icon="svg-warning" color="yellow" %} @@ -157,7 +157,7 @@ The password is `admin123`. {% include alert.html content="This procedure requires the physical disassembly of the stick, and the use of tweezers that can burn the stick, it is highly recommended not to use it." alert="Important" icon="svg-warning" color="red" %} -1. take the SFP molex and the 4 coloured cables and solder them to the molex according to the following diagram: +1. Take the SFP molex and the 4 coloured cables and solder them to the molex according to the following diagram: | USB TTL (UART) Adapter | wire colour in picture | SFP 20pins Molex connector | | ---------------------- | ---------------------- | -------------------------- | @@ -177,14 +177,14 @@ The password is `admin123`. {% include image.html file="ma5671a-root-4.jpg" alt="Metal tabs that hold the cover in place" caption="Metal tabs that hold the cover in place" %} {:style="counter-reset:none"} -1. Once you have removed the metal casing, you are left with the half-naked stick (note that the release mechanism also comes off easily and then you don't know how to put it back together, so take a photo and memorise the positioning well). +1. Once you have removed the metal casing, you are left with the half-naked stick. Note that the release mechanism also comes off easily, so it is recommended to take a photo and to memorise the positioning to be able to put it back together in the case it does come off. -1. Before shorting the stick, connect the previously soldered cables and molex to the USB serial (photo immediately below) and to the stick (the molex, of course) and check that the jumper on the usb key is set to 3.3V +1. Before shorting the stick, connect the previously soldered cables and molex to the USB serial (photo immediately below) and to the stick (via the molex, of course) and check that the jumper on the usb key is set to 3.3V {% include image.html file="ma5671a-root-8.jpg" alt="TTL" caption="TTL" %} {:style="counter-reset:none"} -1. The disassembled stick will appear as in the photo, in which I have highlighted in red the 2 pins to be shorted. Here they use wire, but a pair of tweezers is sufficient (I used those, in fact). Be careful not to make any other contacts by possibly covering everything else with electrical tape. +1. The disassembled stick will appear as in the photo: the two pins to be shorted are highlighted in red. In the photo below a wire is used, but a pair of tweezers is sufficient (I used those, in fact). Be careful not to touch anything around the two pins by possibly covering everything else with electrical tape. {% include image.html file="ma5671a-root-4.jpg" alt="tweezers" caption="tweezers" %} {% include image.html file="ma5671a-root-6.jpg" alt="tweezers" caption="tweezers" %} @@ -192,9 +192,10 @@ The password is `admin123`. {% include image.html file="ma5671a-root-6.jpg" alt="tweezers" caption="tweezers" %} {:style="counter-reset:none"} -1. For the moment connect all cables to the usb key except the green (ground) or red (voltage), otherwise the stick will boot before you can do the following (N.B. for those who bought the uart above RX and TX are reversed). Open and configure Teratem for serial connection (select the correct com port, speed 115.200, english language, otherwise in japainise you can't read anything understandable) insert the key in the PC (I take it for granted that it has already been installed, drivers and all), short the 2 pins seen above and keeping the short connected the missing coloured cable +1. For the moment connect all cables to the usb key except the green (ground) or red (voltage), otherwise the stick will boot before you can do the following (N.B. for those who bought the uart above RX and TX are reversed). Open and configure Tera Term for serial connection by selecting the correct com port, speed 115200 bauds, english language (otherwise in japanese you can't read anything understandable), then insert the key in the PC (the adapter being already installed is taken for granted), short the 2 pins seen above and, while keeping the pins shorted, connect the missing coloured cable -1. If you have done everything correctly, you should see something similar to the picture below (if nothing happens, you have obviously done something wrong with cables, molexes, soldering irons, etc., so you will have to start from the beginning again and work out which step you did wrong): +1. If nothing happens, you have obviously done something wrong with cables, molexes, soldering irons, etc., so you will have to start from the beginning again and work out which step you did wrong. +If you have done everything correctly, you should see something similar to the picture below: {% include image.html file="ma5671a-root-9.png" alt="serial shell" caption="serial shell" %} @@ -204,12 +205,12 @@ The password is `admin123`. {% include image.html file="ma5671a-root-10.png" alt="serial shell 2" caption="serial shell 2" %} {:style="counter-reset:none"} -1. From the Teraterm menu `FILE` → `TRANSFER` → `XMODEM` → `SEND` → `[1224abort.bin]` (which is the third of the files downloaded earlier): +1. From the Tera Term menu `FILE` → `TRANSFER` → `XMODEM` → `SEND` → `[1224abort.bin]` (which is the third of the files downloaded earlier): {% include image.html file="ma5671a-root-11.png" alt="1224abort.bin" caption="1224abort.bin" %} {:style="counter-reset:none"} -1. As soon as the file transfer is complete, you have 2 seconds to press `CTRL+C`, if you have not done so, you can return to the step 6. Otherwise, you should see: +1. As soon as the file transfer is complete, you have 2 seconds to press `CTRL+C`. If you have not done so, return to step 6. Otherwise, you should see: {% include image.html file="ma5671a-root-12.png" alt="falcon shell" caption="falcon shell" %} @@ -224,10 +225,10 @@ FALCON => saveenv {% include alert.html content="Originally, this other string was used for the `setenv preboot`: `gpio input 105;gpio input 106;gpio input 107;gpio input 108;gpio set 3;gpio set 109;gpio set 110;gpio clear 423;gpio clear 422;gpio clear 325;gpio clear 402;gpio clear 424`" alert="Info" icon="svg-info" color="blue" %} -{% include alert.html content="Instead of the nexts points, it is recommended to boot and run the `sed` command documented in V2" alert="Warning" icon="svg-warning" color="red" %} +{% include alert.html content="Instead of taking the next steps, it is recommended to boot and run the `sed` command documented in V2" alert="Warning" icon="svg-warning" color="red" %} {:style="counter-reset:none"} -1. If you have done everything correctly you can reboot the stick (actually if you are convinced that everything is ok you could also close it again), disconnecting and reconnecting one of the 2 cables from before (ground or voltage), then again from the terminal you will have 5 seconds to lock the bootloader by doing a simple CTRL+C. Now upload the firmware image of the first mtd2 partition to the stick with the command +1. If you have done everything correctly you can reboot the stick (if you are convinced that everything is ok you could also close it again), disconnect and reconnect either the ground or voltage cable, then again you will have 5 seconds to lock the bootloader by doing a simple CTRL+C using the terminal. Now upload the firmware image of the first mtd2 partition to the stick with the command ``` FALCON => loadb 0x80800000 ``` @@ -236,8 +237,8 @@ At this point it will appear: {% include image.html file="ma5671a-root-13.jpg" alt="shell requiring `mtd2` upload" caption="shell requiring `mtd2` upload" %} {:style="counter-reset:none"} -1. From the teratem menu do `FILE` → `TRANSFER` → `KERMIT` → `SEND` → `[mtd2.bin]`. -It will start uploading the file at a speed of about 3-4 KBps. Now you will have to wait more than half an hour for the upload to complete. +1. From the Tera Term menu do `FILE` → `TRANSFER` → `KERMIT` → `SEND` → `[mtd2.bin]`. +It will start uploading the file at a speed of about 3-4 KBps: it should take more than half an hour for the upload to complete. 1. Once finished, the image loaded on the stick must also be saved to the corresponding system partition (the first of the 2) with the commands ``` @@ -246,11 +247,11 @@ FALCON => sf erase C0000 740000 FALCON => sf write 80800000 C0000 740000 ``` -1. check that the stick is configured to boot from partition 0 (yes I know mtd2 goes on 0 and mtd5 goes on 1, complain to Laniq) with the command +1. Check that the stick is configured to boot from partition 0 (We are aware that mtd2 goes on 0 and mtd5 goes on 1, complain to Lantiq about this) with the command: ``` FALCON => printenv committed_image ``` -1. If it is 0, fine, otherwise configure partition 0 with the commands, and check if are 0. +1. If it is 0 there's no need to do anything, otherwise configure the stick to boot from partition 0 with the following commands, then check if the settings were changed correctly. ``` FALCON => setenv committed_image 0 FALCON => saveenv diff --git a/_ont/ont-huawei-ma5671a-rooted.md b/_ont/ont-huawei-ma5671a-rooted.md index 1b7e97d..ab60890 100644 --- a/_ont/ont-huawei-ma5671a-rooted.md +++ b/_ont/ont-huawei-ma5671a-rooted.md @@ -19,7 +19,7 @@ For general use, minishell does not allow any modifications and [Web root proced # GPON ONU status -## Get the operational status of the ONU +## Getting the operational status of the ONU ```sh onu ploamsg @@ -33,12 +33,12 @@ Where `MIB_IDX` is the MIB ID and `ME_IN` is the ME instance number # GPON/OMCI settings -{% include alert.html content="In this firmware, unlike the other ones, the data must be modified in a base64-encoded file. To simplify this, you can use the following web application." alert="Info" icon="svg-info" color="blue" %} +{% include alert.html content="In this firmware, unlike the other ones, all data must be modified in a base64-encoded file. To simplify this, you can use the following web application." alert="Info" icon="svg-info" color="blue" %} ## Web procedure -1. Get `fw_printenv sfp_a2_info` and paste into the form +1. Get `fw_printenv sfp_a2_info` and paste into the form: <div id="app"> <vue-lantiq-eeprom type='eeprom-rooted-edit'></vue-lantiq-eeprom> @@ -47,7 +47,7 @@ Where `MIB_IDX` is the MIB ID and `ME_IN` is the ME instance number <script src="https://cdn.jsdelivr.net/npm/vue3-sfc-loader"></script> <script src="/assets/js/vue-eeprom.js"></script> -{% include alert.html content="Executing these commands requires a minimum of familiarity with `vim`. If you do not know `vim`, follow the commands precisely." alert="Danger" icon="svg-warning" color="red" %} +{% include alert.html content="Executing these commands requires familiarity with `vim`. If you are not in any way familiar with `vim`, follow these commands precisely." alert="Danger" icon="svg-warning" color="red" %} {:style="counter-reset:none"} 1. Copy the script's output to the clipboard @@ -82,7 +82,7 @@ AAAAAAAAAAJIV1RDESIzRP///////////////////wAAAAAAAAAAAAAAAAAA 00000000000000024857544311223344ffffffffffffffffffffffffffffff0000000000000000000000000000 ``` -The entire S/N, including the PON ID, is encoded first in hexadecimal and then in base64 +The entire S/N, including the PON ID, is first encoded in hexadecimal and then in base64 3. Setting PLOAM Password @@ -92,7 +92,7 @@ ffffffffffffffff00021437d77db7df7e37e77eb7ef7f37f77d0000000000000000000000000000 //////////8AAhQ31323334353637383930AAAAAAAAAAAAAAAAAAAAAAAAA ``` -The entire PLOAM, is encoded first in hexadecimal and then in base64 +The entire PLOAM, is first encoded in hexadecimal and then in base64 4. Setting MAC Address @@ -132,7 +132,7 @@ The `link_status` variable tells the current speed | 4 | 1 Gbps / SGMII with auto-neg off | | 5 | 2.5 Gbps / HSGMII with auto-neg on | -To change the default lan mode value you can use `fw_setenv sgmii_mode`. The firmware already has the value 5 by default and it is generally not necessary to change it. +To change the default lan mode value you can use `fw_setenv sgmii_mode`. The firmware is already set to 2.5G auto-negotiation, you shouldn't touch it. # Advanced settings diff --git a/_ont/ont-huawei-ma5671a-ymodem.md b/_ont/ont-huawei-ma5671a-ymodem.md index cd1339c..9a7b551 100644 --- a/_ont/ont-huawei-ma5671a-ymodem.md +++ b/_ont/ont-huawei-ma5671a-ymodem.md @@ -5,7 +5,7 @@ parent: Huawei MA5671A layout: default --- -This procedure flashes the firmware in the stick via serial. You have to get firmware to flash, some are listed on the [Huawei MA5671A page](/ont-huawei-ma5671a). +This procedure flashes the firmware on the stick via serial. Some of the firmwares that can be flashed are listed on the [Huawei MA5671A page](/ont-huawei-ma5671a). {: .text-center .fs-6 } <button id="flash-start-button" class="btn btn-blue" data-jtd-toggle="modal" data-jtd-target="#flash-modal">Start flash!</button> diff --git a/_ont/ont-huawei-useful-command.md b/_ont/ont-huawei-useful-command.md index 4f0e91c..9c3f6b5 100644 --- a/_ont/ont-huawei-useful-command.md +++ b/_ont/ont-huawei-useful-command.md @@ -1,8 +1,8 @@ ## Enabling telnet -We need access to a specific shell and in order to get it we have to enable telnet. On the unit, the telnet server accepts connections but doesn't read any input, nor does it send anything. +We need access to a specific shell and in order to get it enabling telnet is required. On the ONT, the telnet server accepts connections but doesn't read any input, nor does it send anything. -To enable telnet we’ll use one of the web interface’s features: the configuration backup and restore page. The configuration can be downloaded as an XML, which contains a lot more options than the web interface and a couple of them can be modified to enable telnet access: under the `X_HW_CLITelnetAccess` node, set the `Access` attribute to `1` and in `AclServices`, `TELNETLanEnable` should also be set to `1`. I had to set both but your mileage may vary. +To enable telnet the configuration backup/restore web UI page will be used. The configuration can be downloaded as an XML, which contains a lot more options than the web interface and a couple of them can be modified to enable telnet access: under the `X_HW_CLITelnetAccess` node, set the `Access` attribute to `1` and, in `AclServices`, `TELNETLanEnable` should also be set to `1`. Both might have to be set but your mileage may vary. It is possible that this won't work/has been fixed in more recent versions. @@ -12,7 +12,7 @@ Now that this is done, the modified configuration file can be uploaded via the w # GPON ONU status -## Get information of the OLT vendor +## Getting information on the OLT vendor ``` WAP>omcicmd mib show meid 131 instid 0 diff --git a/_ont/ont-leox-lxt-010g-d.md b/_ont/ont-leox-lxt-010g-d.md index ef8b272..af3fc37 100644 --- a/_ont/ont-leox-lxt-010g-d.md +++ b/_ont/ont-leox-lxt-010g-d.md @@ -33,6 +33,6 @@ The ONT has a TTL 3.3v UART console (configured as 115200 8-N-1) that can be acc {% include_relative ont-luna-sdk-useful-commands.md ploam='ascii' flash='/etc/scripts/flash' - customSwVersionAlert='This needs the `OMCI_OLT_MODE` value to be set to `21`. This will force to use your own settings from the XML file, but this is a hack and causes sigsegv of `/bin/checkomci`.' + customSwVersionAlert='This needs the `OMCI_OLT_MODE` value to be set to `21`. This will force the stick to use your own settings from the XML file, but this is a hack and causes sigsegv of `/bin/checkomci`.' omciOLT21='true' %} diff --git a/_ont/ont-leox-lxt-010h-d.md b/_ont/ont-leox-lxt-010h-d.md index 2d9ffda..96605b9 100644 --- a/_ont/ont-leox-lxt-010h-d.md +++ b/_ont/ont-leox-lxt-010h-d.md @@ -61,19 +61,19 @@ The ONT has a TTL 3.3v UART console (configured as 115200 8-N-1) that can be acc This ONT supports dual boot. -`k0` and `r0` respectively contain the kernel and firmware of the first image, while `k1` and `r1` respectively contain the kernel and the firmware of the second one. +`k0` and `r0` respectively contain kernel and firmware of the first image, while `k1` and `r1` contain kernel and firmware of the second one. ## List firmware version - V3.3.2L6 - V3.3.2L7 -{% include alert.html content="Before proceed on any modification, make a backup of files rtl8290b.data and europa.data from /var/config folder. These files include optical calibration of your ONT's laser, if you accidentally delete or ruin them, your ONT will be unusable" alert="Note" icon="svg-warning" color="yellow" %} +{% include alert.html content="Before proceeding with any modification, make a backup of files rtl8290b.data and europa.data from /var/config folder. These files include optical calibration of your ONT's laser, if you accidentally delete or ruin them, your ONT will be unusable" alert="Note" icon="svg-warning" color="yellow" %} {% include_relative ont-luna-sdk-useful-commands.md ploam='ascii' flash='/etc/scripts/flash' - customSwVersionAlert='This needs the `OMCI_OLT_MODE` value to be set to `21`. This will force to use your own settings from the XML file, but this is a hack and causes sigsegv of `/bin/checkomci`.' + customSwVersionAlert='This needs the `OMCI_OLT_MODE` value to be set to `21`. This will force the stick to use your own settings from the XML file, but this is a hack and causes sigsegv of `/bin/checkomci`.' omciOLT21='true' %} diff --git a/_ont/ont-leox-lxt-010s-h.md b/_ont/ont-leox-lxt-010s-h.md index fffbf10..138b536 100644 --- a/_ont/ont-leox-lxt-010s-h.md +++ b/_ont/ont-leox-lxt-010s-h.md @@ -50,7 +50,7 @@ parent: LEOX This stick supports dual boot. -`k0` and `r0` respectively contain the kernel and firmware of the first image, while `k1` and `r1` respectively contain the kernel and the firmware of the second one. +`k0` and `r0` respectively contain kernel and firmware of the first image, while `k1` and `r1` contain kernel and firmware of the second one. ## Serial @@ -62,7 +62,7 @@ The stick has a TTL 3.3v UART console (configured as 115200 8-N-1) that can be a ## List firmware version -{% include alert.html content="There is a new firmware avaliable from LeoLabs that fixes the 2.5GbE" alert="Note" icon="svg-info" color="blue" %} +{% include alert.html content="There is a new firmware provided by LeoLabs that fixes issues with the stick operating at 2.5GbE speeds" alert="Note" icon="svg-info" color="blue" %} - V3.3.4L3 - V3.3.4L4rc1 (Fix 2.5GbE HiSGMII) @@ -71,11 +71,11 @@ The stick has a TTL 3.3v UART console (configured as 115200 8-N-1) that can be a {% include_relative ont-luna-sdk-useful-commands.md ploam='ascii' speedLan='18' - customSpeedLanAlert='You need firmware `V3.3.4L4rc1` or higher. Before editing the speed make sure your hardware supports it. If you try to use any mode not listed here, stick will default to mode 1.' + customSpeedLanAlert='Firmware version `V3.3.4L4rc1` or higher is required. Before editing the speed make sure your hardware supports it. If you try to use any mode not listed here, the stick will default to mode 1.' flash='/etc/scripts/flash' - customSwVersionAlert='This needs the `OMCI_OLT_MODE` value to be set to `21`. This will force to use your own settings from the XML file, but this is a hack and causes sigsegv of `/bin/checkomci`.' + customSwVersionAlert='This needs the `OMCI_OLT_MODE` value to be set to `21`. This will force the stick to use your own settings from the XML file, but this is a hack and causes sigsegv of `/bin/checkomci`.' omciOLT21='true' %} # Known Bugs -The stock firmware doesn't work @ 2.5GbE. There is a new firmware avaliable from LeoLabs that fixes this issue. +The stock firmware doesn't work at 2.5GbE. There is a new firmware provided by LeoLabs that fixes this issue. diff --git a/_ont/ont-luna-sdk-useful-commands.md b/_ont/ont-luna-sdk-useful-commands.md index e48cda5..724add3 100644 --- a/_ont/ont-luna-sdk-useful-commands.md +++ b/_ont/ont-luna-sdk-useful-commands.md @@ -17,7 +17,7 @@ # GPON ONU status -## Get the operational status of the ONU +## Getting the operational status of the ONU ```sh diag gpon get onu-state @@ -69,7 +69,7 @@ GPON_SN=TMBB00000000 ## Getting/Setting ONU GPON PLOAM password {% if include.ploam == 'asciiAndHex' %} -{% include alert.html content="The ploam can be saved in either ASCII or HEX format, without any 0x or separators" alert="Note" icon="svg-info" color="blue" %} +{% include alert.html content="The PLOAM password can be saved in either ASCII or HEX format, without any 0x or separators" alert="Note" icon="svg-info" color="blue" %} ```sh # {{ include.flash }} get GPON_PLOAM_PASSWD @@ -180,13 +180,13 @@ OMCI_OLT_MODE=1 | Value | Note | OMCI Information | | ----- | --------------- | ------------------------------------------------------------------------------------------------------ | -| 0 | Default Mode | Stock, some value are cannot be change | +| 0 | Default Mode | Stock setting, some values cannot be changed | | 1 | Huawei OLT Mode | Huawei MA5671a | | 2 | ZTE OLT Mode | ZTE | | 3 | Customized Mode | Custom Software/Hardware Version, OMCC, etc... |{% if include.omciOLT21 %} | 21 | Owerflow Mode | Custom Software/Hardware Version, OMCC, etc... (this is a hack and causes sigsegv of `/bin/checkomci`) |{% endif %} -Some Fiber Vendor/Wholesale/ISP have explicit LAN Port Number provisioning or proprietary OMCI that ONT Stick cant not understand, this will make ONT Stick reply OK whatever OMCI OLT throw at. +Some vendors/wholesale providers/ISPs have explicit LAN Port Number provisioning or proprietary OMCI that the stick cannot understand, this will make the stick reply OK to whatever the OLT sends it via OMCI. `0` = Disable, `1` = Enable, Default is 0 diff --git a/_ont/ont-nokia-g-010g-a.md b/_ont/ont-nokia-g-010g-a.md index e403197..0e110d1 100644 --- a/_ont/ont-nokia-g-010g-a.md +++ b/_ont/ont-nokia-g-010g-a.md @@ -30,8 +30,8 @@ parent: Nokia # Curiosity -In the USA the ex BellSouth network deploys some ONTs labelled 'ALT Optics' that use a different wave length, 1310 nm for upstream and 1550 nm for downstream (instead of 1490 nm). -This was done to make a quick conversion of a network with low fibre capacity, allowing the same fibre to be reused for multiple services: FTTH and FTTC/IFITL[^att_alt_optics_1],[^att_alt_optics_2],[^att_alt_optics_3]. +In the USA, the ex-BellSouth network deploys some ONTs with a 'ALT Optics' label that use a different wave length, 1310 nm for upstream and 1550 nm for downstream (instead of 1490 nm). +This was done to be able to quickly convert a network with low fibre capacity while allowing the same fibre to be reused for multiple services contemporarily: both FTTH and FTTC/IFITL[^att_alt_optics_1],[^att_alt_optics_2],[^att_alt_optics_3]. This is one of the few ONTs that has a variant that works with this wavelength. diff --git a/_ont/ont-nokia-g-010g-q.md b/_ont/ont-nokia-g-010g-q.md index 02b648e..f3c8cc3 100644 --- a/_ont/ont-nokia-g-010g-q.md +++ b/_ont/ont-nokia-g-010g-q.md @@ -50,21 +50,21 @@ This ONT seems to support dual boot (notice partitions "ImageA" and "ImageB"), h ## Serial {% include image.html file="g-010g-q-serial-pinout.jpg" alt="G-010G-Q " caption="G-010G-Q: serial pinout" %} -You can easily communicate with the ONT using a TTL converter (for example the CH341A programmer in TTL mode) by connecting the converters' pins to the ONT following the pinout shown in the image above +You can easily communicate with the ONT using a TTL converter (for example the CH341A programmer in TTL mode) by connecting the converters' pins to the ONT following the pinout shown in the image above. *You don't actually need the two VCC pins, just use TX/RX and GND* {% include alert.html content="The ONT's serial logic is 3V3." alert="Warning" icon="svg-warning" color="red" %} -Make sure the logic of your TTL converter is 3V3 too otherwise you might damage the ONT, in my case I wasn't sure whether the CH341A programmer used 3V3 logic for the TTL part so I set up a voltage divider made of 2 resistors between the TX pin and ground as shown in the image below. +Make sure the logic of your TTL converter is 3V3 too, otherwise you might damage the ONT. To be sure 3V3 is being used, a voltage divider made of 2 resistors between the TX pin and ground as shown in the image below can be used. *Also make sure that your TTL converter RX pin voltage threshold is less than (or equal to) 3V3* {% include image.html file="g-010g-q-serial-voltage-divider.png" alt="G-010G-Q " caption="G-010G-Q: simple serial level converter" %} -Once you've done all that, you can use the TTY client you wish, such as PuTTY, set its baud rate to 115200 and open the connection, then you can start the ONT +Once everything is ok, any TTY client, such as PuTTY, can be used to open the connection with its baud rate set to 115200. At this point, the ONT can be turned on. -You'll see a shell-like prompt: +A shell-like prompt will be visible: ``` ONT> ``` diff --git a/_ont/ont-nokia-g-010s-a.md b/_ont/ont-nokia-g-010s-a.md index 13920d7..bc31a84 100644 --- a/_ont/ont-nokia-g-010s-a.md +++ b/_ont/ont-nokia-g-010s-a.md @@ -35,7 +35,7 @@ parent: Nokia ## Modifying firmware -The Nokia G-010S-A can be flashed with the [Nokia G-010S-P](/ont-nokia-g-010s-p) firmware, provided the MTD layout has been changed beforehand to match the new one. For the full procedure, see the post on [lafibre.info](https://lafibre.info/remplacer-livebox/guide-de-connexion-fibre-directement-sur-un-routeur-voire-meme-en-2gbps/msg870551/#msg870551) +The Nokia G-010S-A can be flashed with the [Nokia G-010S-P](/ont-nokia-g-010s-p) firmware, provided the MTD layout has been changed beforehand to match the new one. For the full procedure, see this post on [lafibre.info](https://lafibre.info/remplacer-livebox/guide-de-connexion-fibre-directement-sur-un-routeur-voire-meme-en-2gbps/msg870551/#msg870551) ## List of software versions @@ -87,7 +87,7 @@ See more info on: [Firmwares G-010S-A](https://github.com/hwti/G-010S-A#firmware # Usage -## Enable serial +## Enabling serial ```sh fw_setenv bootdelay 5 @@ -97,13 +97,13 @@ fw_setenv preboot # GPON ONU status -## Get the operational status of the ONU +## Getting the operational status of the ONU ```sh onu ploamsg ``` -## Get information of the OLT vendor +## Getting information on the OLT vendor ```sh omci_pipe.sh meg 131 0 @@ -114,7 +114,7 @@ omci_pipe.sh meg 131 0 ```sh omci_pipe.sh meg MIB_IDX ME_IN ``` -Where `MIB_IDX` is the MIB ID and the `ME_IN` is the ME instance number +Where `MIB_IDX` is the MIB ID and `ME_IN` is the ME instance number ## Getting/Setting Speed LAN Mode @@ -123,13 +123,13 @@ Where `MIB_IDX` is the MIB ID and the `ME_IN` is the ME instance number | 4 | 1 Gbps / SGMII | | 5 | 2.5 Gbps / HSGMII with auto-neg on | -To enable the 2.5 Gbps / HSGMII with auto-neg on: +To enable the interface to sync at 2.5 Gbps speeds / using HSGMII with auto-neg on: ```sh fw_setenv sgmii_mode 5 ``` -To remove the value (back to default): +To revert the change back to default: ```sh fw_setenv sgmii_mode ``` @@ -143,8 +143,8 @@ The `link_status` variable tells the current speed # GPON/OMCI settings -## Enable parameters modification -This setting must be inserted in order to performs the others parameters modification +## Enabling parameter modification +This setting must be set in order to perform other parameter modifications ```sh ritool set OperatorID 0000 ``` @@ -168,11 +168,11 @@ To check the current password (the password field contains decimal values of ASC onu gtccg ``` -The value can be changed using the web interface. +This value can be changed using the web interface. ## Getting/Setting OMCI software version (ME 7) -Software verion must be changed by directly modifing firmware by using the patches which can be found in GitHub page of [Nokia G-010-A](https://github.com/hwti/G-010S-A) and adding a folder `0001_swversion` that contins a file `patch.sh`: +The software version must be changed by directly modifying firmware by using the patches found in the wiki's page about the [Nokia G-010-A](https://github.com/hwti/G-010S-A) ONT and then adding a folder `0001_swversion` that contins a file `patch.sh` with the following content: ``` #!/bin/sh @@ -183,7 +183,7 @@ ROOTFS=$1 echo "Changing to software version desidered" sed -i s/3FE46398BGCB22/3FE45655BOCK99/g "$ROOTFS/usr/etc/buildinfo" ``` -Where `3FE46398BGCB22` is the current software version and `3FE45655BOCK99` the software version desidered +Where `3FE46398BGCB22` is the current software version and `3FE45655BOCK99` the desired software version ## Getting/Setting OMCI hardware version (ME 256) @@ -194,7 +194,7 @@ ritool set ICS 01 ## Getting/Setting OMCI equipment ID (ME 257) -This ONT is designed to save nokia equipment ID, specifically to put the equipment ID of a Nokia G-010G-Q we need: +This ONT is designed to save Nokia's equipment ID, specifically to set the equipment ID of a Nokia G-010G-Q the following commands are to be used: ```sh ritool set CleiCode __________ @@ -214,12 +214,12 @@ Where `CleiCode` is the prefix and `Mnemonic` the postfix. ## Backup of all partition -Make a backup of all partitions, an easy way is: +Make a backup of all partitions, an easy way is to run these commands: - On the stick run: ```sh cat /proc/mtd ``` -- For each mtdX run in the lantiq shell: +- For each mtdX run this command in the lantiq shell: ```sh cp /dev/mtdX /tmp ``` @@ -255,7 +255,7 @@ ifconfig eth0:1 192.168.1.10 netmask 255.255.255.0 {% include alert.html content="It is recommended to enable serial access via TTL" alert="Info" icon="svg-info" color="blue" %} -The following commands are used to flash a new rootfs to image1 and then boot to it +The following commands are used to flash a new rootfs to image1 and then boot to it: ```sh mtd write /tmp/rootfs.bin image1 update_env_flag 1 diff --git a/_ont/ont-nokia-g-010s-p.md b/_ont/ont-nokia-g-010s-p.md index 684d335..f3ed514 100644 --- a/_ont/ont-nokia-g-010s-p.md +++ b/_ont/ont-nokia-g-010s-p.md @@ -34,7 +34,7 @@ parent: Nokia <br/> {% include image.html file="g-010s-p-and-ma5671a.jpg" alt="G-010S-P and MA5671A Teardown" caption="G-010S-P and MA5671A Teardown" %} <br/> -{% include alert.html content="G-010S-P and other models will not expose an ethernet interface unless fiber cable is connected ([source](https://forum.mikrotik.com/viewtopic.php?t=116364&start=300))" alert="Warning" icon="svg-warning" color="yellow" %} +{% include alert.html content="G-010S-P and other models will not expose an ethernet interface unless the fiber cable is connected ([source](https://forum.mikrotik.com/viewtopic.php?t=116364&start=300))" alert="Warning" icon="svg-warning" color="yellow" %} ## Firmware is interchangeable with: diff --git a/_ont/ont-nokia-use.md b/_ont/ont-nokia-use.md index bf79767..c4f0847 100644 --- a/_ont/ont-nokia-use.md +++ b/_ont/ont-nokia-use.md @@ -15,7 +15,7 @@ The enable password can be generated using the following form: {% include cig_password.html username="ONTUSER" %} -# Access Full Shell +# Accessing Full Shell To access a complete linux shell just type: ```sh diff --git a/_ont/ont-nokia-useful-command.md b/_ont/ont-nokia-useful-command.md index c5af085..f4e0e48 100644 --- a/_ont/ont-nokia-useful-command.md +++ b/_ont/ont-nokia-useful-command.md @@ -1,6 +1,6 @@ # GPON ONU status -## Get the operational status of the ONU +## Getting the operational status of the ONU ```sh #ONT>traffic #ONT/system>pon @@ -73,7 +73,7 @@ pon_passwd: 31323334353637383900 ``` ## Setting OMCI software version (ME 7) -The following must be typed from the standard linux shell: +The following command must be typed into the standard linux shell: ```sh # echo SWVER=3FE49337AOCK80 > /mnt/rwdir/sys.cfg ``` diff --git a/_ont/ont-odi-realtek-dfp-34g-2c2.md b/_ont/ont-odi-realtek-dfp-34g-2c2.md index efbe6b6..0bbf069 100644 --- a/_ont/ont-odi-realtek-dfp-34g-2c2.md +++ b/_ont/ont-odi-realtek-dfp-34g-2c2.md @@ -36,7 +36,7 @@ ssh -oKexAlgorithms=+diffie-hellman-group1-sha1 -oCiphers=+3des-cbc admin@192.16 ## List of firmwares and files - [Firmware repository by Anime4000](https://github.com/Anime4000/RTL960x/tree/main/Firmware/DFP-34X-2C2) -The reccomended version are `M114_sfp_ODI_Vlan_220414.tar`, `M114_sfp_ODI_hybrid_220527.tar` or `M114_sfp_ODI_hybrid_220916.tar` because it has working VLAN translation. +The recommended versions are `M114_sfp_ODI_Vlan_220414.tar`, `M114_sfp_ODI_hybrid_220527.tar` or `M114_sfp_ODI_hybrid_220916.tar`, as these have working VLAN translation. ## List of partitions @@ -59,11 +59,11 @@ The reccomended version are `M114_sfp_ODI_Vlan_220414.tar`, `M114_sfp_ODI_hybrid This stick supports dual boot. -`k0` and `r0` respectively contain the kernel and firmware of the first image, while `k1` and `r1` respectively contain the kernel and the firmware of the second one +`k0` and `r0` respectively contain kernel and firmware of the first image, while `k1` and `r1` contain kernel and firmware of the second one. ## Serial -The stick has a TTL 3.3v UART console (configured as 115200 8-N-1) that can be accessed from the top surface. It's near the SFP header. TX, RX and ground pads need to be connected to a USB2TTL adapter supporting a logic level of 3.3V. +The stick has a TTL 3.3v UART console (configured as 115200 8-N-1) that can be accessed from the top surface: it's near the SFP header. TX, RX and ground pads need to be connected to a USB2TTL adapter supporting 3V3 logic. {% include image.html file="ont-odi-realtek-dfp-34x-2c2/ttl.jpg" alt="DFP-34X-2C2 TTL Connection" caption="DFP-34X-2C2 TTL Connection" %} {% include image.html file="ont-odi-realtek-dfp-34x-2c2/ttl-2.jpg" alt="DFP-34X-2C2 TTL Pin" caption="DFP-34X-2C2 TTL Pin" %} @@ -73,7 +73,7 @@ The stick has a TTL 3.3v UART console (configured as 115200 8-N-1) that can be a {% include_relative ont-luna-sdk-useful-commands.md flash='flash' ploam='hex' - customSwVersionAlert="This needs the `OMCI_OLT_MODE` value to be set to 3 and firmware 220530 or 220923 modded by @stich86 or if you don't want to replace firmware to change software version, set `OMCI_OLT_MODE` value to `21`. This will force to use your own settings from the XML file, but this is a hack and causes sigsegv of `/bin/checkomci`." + customSwVersionAlert="This needs either `OMCI_OLT_MODE` to be set to 3 and firmware version 220530 or 220923 as modded by @stich86 or, if you don't want to replace the installed firmware, set `OMCI_OLT_MODE` value to `21`. This will force the stick to use your own settings from the XML file, but this is a hack and causes sigsegv of `/bin/checkomci`." speedLan='1234567' omciOLT21='true' %} diff --git a/_ont/ont-odi-realtek-dfp-34x-2c2.md b/_ont/ont-odi-realtek-dfp-34x-2c2.md index 579d734..86b1620 100644 --- a/_ont/ont-odi-realtek-dfp-34x-2c2.md +++ b/_ont/ont-odi-realtek-dfp-34x-2c2.md @@ -45,7 +45,7 @@ ssh -oKexAlgorithms=+diffie-hellman-group1-sha1 -oCiphers=+3des-cbc admin@192.16 ## List of firmwares and files - [Firmware repository by Anime4000](https://github.com/Anime4000/RTL960x/tree/main/Firmware/DFP-34X-2C2) -The reccomended version are `M114_sfp_ODI_hybrid_220527.tar` or `M114_sfp_ODI_hybrid_220916.tar` because it has working VLAN translation. +The recommended versions are `M114_sfp_ODI_hybrid_220527.tar` or `M114_sfp_ODI_hybrid_220916.tar`, as these have working VLAN translation. ## List of partitions @@ -68,11 +68,11 @@ The reccomended version are `M114_sfp_ODI_hybrid_220527.tar` or `M114_sfp_ODI_hy This stick supports dual boot. -`k0` and `r0` respectively contain the kernel and firmware of the first image, while `k1` and `r1` respectively contain the kernel and the firmware of the second one +`k0` and `r0` respectively contain kernel and firmware of the first image, while `k1` and `r1` contain kernel and firmware of the second one. ## Serial -The stick has a TTL 3.3v UART console (configured as 115200 8-N-1) that can be accessed from the top surface. It's near the SFP header. TX, RX and ground pads need to be connected to a USB2TTL adapter supporting a logic level of 3.3V. +The stick has a TTL 3.3v UART console (configured as 115200 8-N-1) that can be accessed from the top surface: it's near the SFP header. TX, RX and ground pads need to be connected to a USB2TTL adapter supporting 3V3 logic. {% include image.html file="ont-odi-realtek-dfp-34x-2c2/ttl.jpg" alt="DFP-34X-2C2 TTL Connection" caption="DFP-34X-2C2 TTL Connection" %} {% include image.html file="ont-odi-realtek-dfp-34x-2c2/ttl-2.jpg" alt="DFP-34X-2C2 TTL Pin" caption="DFP-34X-2C2 TTL Pin" %} @@ -82,7 +82,7 @@ The stick has a TTL 3.3v UART console (configured as 115200 8-N-1) that can be a {% include_relative ont-luna-sdk-useful-commands.md flash='flash' ploam='hex' - customSwVersionAlert="This needs the `OMCI_OLT_MODE` value to be set to 3 and firmware 220530 or 220923 modded by @stich86 or if you don't want to replace firmware to change software version, set `OMCI_OLT_MODE` value to `21`. This will force to use your own settings from the XML file, but this is a hack and causes sigsegv of `/bin/checkomci`." + customSwVersionAlert="This needs either `OMCI_OLT_MODE` to be set to 3 and firmware version 220530 or 220923 as modded by @stich86 or, if you don't want to replace the installed firmware, set `OMCI_OLT_MODE` value to `21`. This will force the stick to use your own settings from the XML file, but this is a hack and causes sigsegv of `/bin/checkomci`." speedLan='1234567' omciOLT21='true' %} diff --git a/_ont/ont-odi-zte-dfp-34g-2c2.md b/_ont/ont-odi-zte-dfp-34g-2c2.md index 7e42602..6c7bf03 100644 --- a/_ont/ont-odi-zte-dfp-34g-2c2.md +++ b/_ont/ont-odi-zte-dfp-34g-2c2.md @@ -52,7 +52,7 @@ alias: Usourcetech UGP-N1S This stick supports dual boot. -`kernel0` and `rootfs0` respectively contain the kernel and firmware of the first image, while `kernel1` and `rootfs1` respectively contain the kernel and the firmware of the second one +`kernel0` and `rootfs0` respectively contain kernel and firmware of the first image, while `kernel1` and `rootfs1` contain kernel and firmware of the second one # Miscellaneous Links diff --git a/_ont/ont-sercomm-fg1000b-11.md b/_ont/ont-sercomm-fg1000b-11.md index f96aa01..c9bb9ed 100644 --- a/_ont/ont-sercomm-fg1000b-11.md +++ b/_ont/ont-sercomm-fg1000b-11.md @@ -39,17 +39,17 @@ parent: Sercomm ## Serial -See picture side2 for the pin identification, use 112500 8-N-1 -The ONT seems only to display output of the ROM CFE and flash CFE, but don't allow interupting the boot... +See side2 picture for pin identification, use 112500 8-N-1 +The ONT seems to only display output of the ROM CFE and flash CFE, but doesn't seem to allow interrupting the boot. {% include serial_dump.html file="fg1000b-11_boot_cfe.txt" alt="Sercomm FG1000B.11 CFE boot dump" title="Sercomm FG1000B.11 CFE boot dump" %} ## Root procedure -[See how the enable telnet/ssh section](/ont-sercomm-fg1000b-11/#enable-telnetsshserial) +[See the enable telnet/ssh section](/ont-sercomm-fg1000b-11/#enable-telnetsshserial) ## List of software versions -Current only version seen is: 090144.1.0.001 +Currently the only known version is 090144.1.0.001 ## List of partitions `cat /proc/mtd` @@ -82,34 +82,34 @@ Current only version seen is: 090144.1.0.001 # Useful files and binaries -{% include alert.html content="NanD MTD 5 mounted as `/tmp/var_link_dir/ft` contains all serials and mac address of the ONT, please consider backup before any hack, files are: `customer_sn,gpon_sn,hw_version,mac_addr,pcba_sn`" alert="Warning" icon="svg-warning" color="red" %} +{% include alert.html content="NAND MTD5 mounted as `/tmp/var_link_dir/ft` contains all serial numbers and the MAC address of the ONT, please consider backing it up before performing any hack, files are: `customer_sn,gpon_sn,hw_version,mac_addr,pcba_sn`" alert="Warning" icon="svg-warning" color="red" %} {% include alert.html content="Calling the `board_init` binary directly or indirectly (via init script) when the board is already booted will cause NAND mtd 5, 15, 16 & 17 to be erased! -Please backup those before any hacking! Recovery is possible if you hardware reset the device, enable the telnet and recreate the `customer_sn, gpon_sn, hw_version, mac_addr, pcba_sn` file on the `/tmp/var_link_dir/ft` volume which can be remount R/W `mount -o remount,rw /dev/mtdblock5 /tmp/var_link_dir/ft`." alert="Warning" icon="svg-warning" color="red" %} +Please back them up before any hacking! Recovery is possible if you hardware reset the device, enable the telnet and recreate the `customer_sn, gpon_sn, hw_version, mac_addr, pcba_sn` file on the `/tmp/var_link_dir/ft` volume which can be remounted as R/W `mount -o remount,rw /dev/mtdblock5 /tmp/var_link_dir/ft`." alert="Warning" icon="svg-warning" color="red" %} ## Useful files -* `/etc/framework_init.sh` - is the main entry for sercomm framework launch by `/etc/rcS` +* `/etc/framework_init.sh` - is the main entry for the launch of the Sercomm framework by `/etc/rcS` ## Useful binaries -* `pb_ap` - monitoring the `reset button`, if pushed more than 10s it reset to factory default, otherwise it reboot the device - Run at startup - no args +* `pb_ap` - monitors the `reset button`. If the button is pushed for longer than 10s it resets the ONT to factory default, otherwise it only reboots the device - Run at startup - no args -* `fw_image_ctl` - allow firmware info, upgrade, switch between `fw0` & `fw1`, replicate between fw, desactivate image etc... - Options listes when called woth no args +* `fw_image_ctl` - allows firmware upgrade, switch between `fw0` & `fw1`,reading firmware info, replicating between fw, deactivating image etc... - Options listed when called with no args -* `cmld_client`- manipulate the configuration 'DB' stored in a /dev/mtd15, output is XML format. The root element is "InternetGatewayDevice" you need to use a final '.' dot to list all sub-element. example to get the full device XML config ```cmld_client get_node InternetGatewayDevice.```. Element with `writable="1"` can be changed with `set` and the node path. Element marked `dynamic="1"` have their value evaluated at the time you specifically call get on the node, `cmld_client get InternetGatewayDevice.WANDevice.1.X_SC_GponInterfaceConfig.Status` - The daemon is run at startup - option list whe called with no args +* `cmld_client`- manipulates the configuration 'DB' stored in /dev/mtd15, its output is in the XML format. The root element is "InternetGatewayDevice". A final '.' dot is needed to list all sub-elements. Example to get the device's full XML config ```cmld_client get_node InternetGatewayDevice.```. Listed elements with `writable="1"` can be changed with `set` and the node path. Elements marked as `dynamic="1"` have their value evaluated at the time you specifically call get on that specific node, `cmld_client get InternetGatewayDevice.WANDevice.1.X_SC_GponInterfaceConfig.Status` - The daemon is run at startup - options listed when called with no args -* `cmd_agent` - is a strange daemon launch at startup during `/etc/rcS` that open a `/tmp/cmd_client` sock file that listen to command and execute them. - No args +* `cmd_agent` - strange daemon launched at startup during `/etc/rcS` that opens a `/tmp/cmd_client` sock file that listens to commands and executes them. - No args -* `statd` - is a daemon launch at boot which collect monitoring data from the ONT. - No args +* `statd` - daemon launched at boot which collects monitoring data from the ONT. - No args * `ubusd` - ubusd is used to send message between processes, current ubus services are `cml,network-manager,smd` -* `smd` - is the daemon in charge of launching `/opt/` plugin for each of the ONT service like: `init, gpon, iptv, temperature, account, http, lan, network, syslog, system`. All is done in code which is not helping hacking the device. +* `smd` - daemon in charge of launching the `/opt/` plugin for each of the ONT's service like: `init, gpon, iptv, temperature, account, http, lan, network, syslog, system`. All is done in code which does not help hacking the device. # Usage -## Enable telnet/SSH/serial +## Enabling telnet/SSH/serial -Below code can be pasted in the browser console after loading the `http://192.168.100.1` (default ONT page). This will enable telnet as root with no password on the device (same can be done with `/usr/sbin/sshd` binary). The below hack uses an injection on the `eventlog_applog_download.json` page, command can be injected in the request body `applog_select` parameter and are executed as superadmin (root). +The code below can be pasted in the browser's console after opening `http://192.168.100.1` (default ONT's web UI). This will enable telnet as root with no password on the device (same can be done with `/usr/sbin/sshd` binary). The below hack uses an injection on the `eventlog_applog_download.json` page, the commands can be injected in the request body's `applog_select` parameter and they are executed as superadmin (root). ```javascript // Fetch a non csrf protected page to get a csrf token await fetch("http://192.168.100.1/setup.cgi?next_file=statusandsupport/status.html").then(function (response) { @@ -140,27 +140,27 @@ fetch('http://192.168.100.1/data/statussupporteventlog_applog_download.json?_=16 .then(console.log) ``` -There is a way to make a script call at boot if you want to have telnet or other service started at boot. It uses a hack from libsl_system.so where there is a `system(...)` call using a String from config, string must be <=12 char, the system call is supposed to set set hostname of the device for storage sharing. -In the example below you would first creat a `/data/up` shell script and ensure it has execute rights (ex: `chmod 755`) +There is a way to make a script call at boot to ensure telnet or other services start at boot if needed. It uses a hack from libsl_system.so where there is a `system(...)` call using a String from config, string must be <=12 char. The system call is supposed to set set hostname of the device for storage sharing. +In the example below, a `/data/up` shell script would be created (ensure it has execute rights, such as: `chmod 755`). ``` -#first we need to add the missing entry +#First we need to add the missing entry /usr/bin/cmld_client add InternetGatewayDevice.Services.StorageService. 1 -#then inject within the 12 character limit the hostname and a call to our script +#Then inject within the 12 character limit the hostname and a call to our script /usr/bin/cmld_client set InternetGatewayDevice.Services.StorageService.1.X_SC_NetbiosName='a;/data/up&' /usr/bin/cmld_client save ``` -## Log configuration -`syslogd` is configure via Config DB config `cmld_client get_node InternetGatewayDevice.X_SC_Management.Syslog.` this config is read from the libsl_syslog.so plugin of smd daemon, which generate the file `/tmp/lxxd/logd.conf` and start the daemon with it as parameter. +## Logging configuration +`syslogd` is configured via Config DB config `cmld_client get_node InternetGatewayDevice.X_SC_Management.Syslog.`. This config is read from the libsl_syslog.so plugin of smd daemon, which generates the `/tmp/lxxd/logd.conf` file and starts the daemon with it as parameter. # GPON ONU status -## Get the operational status of the ONU +## Getting the operational status of the ONU ``` /bin/gponctl getState ``` -## Get information of the OLT vendor +## Getting OLT vendor information ``` /usr/sbin/umci_ctl stack get olt_type ``` @@ -178,15 +178,15 @@ or # GPON/OMCI settings -Part of GPON config is done via the misc configuration loaded as first lib by the smd binary, config can be seens here: +Part of GPON config is done via the misc configuration loaded as first lib by the smd binary, the config can be seen here: ``` /usr/bin/cmld_client get_node InternetGatewayDevice.X_SC_MiscCfg.GPON. ``` -Beware the field `OmciManageUniMask`, `PretendFwVersion` are initiated in the binary with respective value `01000000`, `0` +Be aware the fields `OmciManageUniMask`, `PretendFwVersion` are initiated in the binary with respective value `01000000`, `0`. ## Getting/Setting ONU GPON Serial Number Default value: 16 hex chars on the back of the ONT, starts with `53434F4DA`. The default S/N is the Modem-ID on the sticker. -You can test serial and/or ploam combinaison using with below command. Pwd is Hexe only and can be up to 36. +You can test serial and/or ploam combinations using the command provided below. The password is Hex only and can be up to 36 characters long. ``` /bin/gponctl stop /bin/gponctl setSnPwd --pwd 00-00-0X-XX-XX-XX-XX-XX-XX-XX --sn YY-YY-YY-YY-YY-YY-YY-YY @@ -198,7 +198,7 @@ You can monitor status by running: /bin/gponctl getstate ``` -To save the serial number you need to re-mount R/W the `/tmp/var_link_dir/ft` and change the `gpon_sn` file (consider backup of the folder before ANY action) +To save the serial number you need to re-mount `/tmp/var_link_dir/ft` as R/W and change the `gpon_sn` file (consider backing up of the folder before ANY action) ``` /bin/mount -o remount,rw /dev/mtdblock5 /tmp/var_link_dir/ft echo "XXXXXXXXXXXXX" > /tmp/var_link_dir/ft/gpon_sn @@ -208,7 +208,8 @@ echo "XXXXXXXXXXXXX" > /tmp/var_link_dir/ft/gpon_sn ## Getting/Setting ONU GPON PLOAM password -PLOAM can be set directly for Text or Hexa (without `0x`) via Web interface if < 10 digit otherwise POST call to URL allow > 10 digits for example 20 digit hex can be setup via (max is 36 digit): +The PLOAM password can be set directly as text or hex (without `0x`) via the Web interface if shorter than 10 digits, otherwise a POST call to the URL provided below allows passwords longer than 10 digits (max is 36 characters). +For example a 20-digit long hex password can be set with these commands: ``` curl -i -s -k -X $'POST' -H $'Content-Type: application/x-www-form-urlencoded' \ @@ -217,14 +218,14 @@ curl -i -s -k -X $'POST' -H $'Content-Type: application/x-www-form-urlencoded' \ $'http://192.168.100.1/ONT/client/data/Router.json' ``` -Or via command line with: +Or via the CLI with: ``` /usr/bin/cmld_client set InternetGatewayDevice.WANDevice.1.X_SC_GponInterfaceConfig.X_SC_Password=00000XXXXXXXXXXXXXXX /usr/bin/cmld_client save ``` ## Getting/Setting ONU GPON LOID and LOID password -{% include alert.html content="Not tested but seems used by the misc config at smd init" alert="Warning" icon="svg-warning" color="red" %} +{% include alert.html content="Not tested but seems to be used by the misc config at smd init" alert="Warning" icon="svg-warning" color="red" %} ``` /usr/bin/cmld_client set InternetGatewayDevice.X_SC_MiscCfg.GPON.LoIdPassword= @@ -233,12 +234,12 @@ Or via command line with: ``` ## Getting/Setting OMCI software version (ME 7) -{% include alert.html content="`get` works, `set` is not tested but seems used by the misc config at smd init" alert="Warning" icon="svg-warning" color="red" %} +{% include alert.html content="`get` works, `set` is not tested but seems to be used by the misc config at smd init" alert="Warning" icon="svg-warning" color="red" %} ``` /usr/bin/cmld_client get InternetGatewayDevice.X_SC_MiscCfg.GPON.OmciVersion ``` -or via umci_ctl get/set tool (not tested if config overwrite umci or the other way around) +or via umci_ctl get/set tool (if the config overwrite OMCI or the other way around has not been tested) ``` /usr/sbin/umci_ctl mib get 7 ``` @@ -253,45 +254,45 @@ reboot ``` ## Getting/Setting OMCI vendor ID (ME 256) Default value: `53434F4D` -{% include alert.html content="`set` option is available with `Class_id`, `Entity_id`, `Index` and `Value` parameters, not tested." alert="Warning" icon="svg-warning" color="red" %} +{% include alert.html content="The `set` command is available for `Class_id`, `Entity_id`, `Index` and `Value` parameters, but has not been tested." alert="Warning" icon="svg-warning" color="red" %} ``` /usr/sbin/umci_ctl mib get 256 ``` ## Getting/Setting OMCI equipment ID (ME 257) -{% include alert.html content="`set` option is available with `Class_id`, `Entity_id`, `Index` and `Value` parameters, not tested." alert="Warning" icon="svg-warning" color="red" %} +{% include alert.html content=" The `set` command is available for `Class_id`, `Entity_id`, `Index` and `Value` parameters, but has not been tested." alert="Warning" icon="svg-warning" color="red" %} ``` -/usr/sbin/umci_ctl mib get 256 +/usr/sbin/umci_ctl mib get 257 ``` # Advanced settings ## Transferring files to the stick -Since neither `netcat`/`nc` nor `ftp`/`sftp`/`ftps` are available the best option is to use `curl` to download file from a webserver on your network over HTTP only. -Additionaly you can add a arm full version of `busybox` in the /data partition and then use `nc` to pipe data in and out of the device. +Since neither `netcat`/`nc` nor `ftp`/`sftp`/`ftps` are available, the best option is to use `curl` to download files from a webserver on your network over HTTP only. +Additionaly a full version of `busybox` for ARM can be added in the /data partition and then use `nc` to pipe data in and out of the device. -## Backup of all partition -You can use `dd` which is available on the device/default busybox to backup the efull nand via `/dev/mtd` +## Backup of all partitions +`dd` can be used, as it is available on the device/default busybox to backup the efull nand via `/dev/mtd` ## Checking the currently active image ``` /usr/sbin/fw_ctl -s ``` -Output information about the firmware including a `current running fw` line +The output includes a `current running fw` line. ## Booting to a different image ``` /usr/sbin/fw_ctl -c X ``` -Where `X` is <0|1|3> set commit image, 3: commit current fw +Where `X` is <0|1|3> and sets commit image; 3 commits current firmware. ## Cloning of image 0 into image 1 ``` /usr/sbin/fw_ctl -r XXXX ``` -Where `XXX` is <fw|lib> copy type <fw|lib> from current fw to backup fw +Where `XXX` is <fw|lib> copy type <fw|lib> from current firmware to backup firmware. ## Setting management MAC ``` @@ -300,7 +301,7 @@ echo "A095XXXXXXXX" > /tmp/var_link_dir/ft/mac_addr /bin/mount -o remount,ro /dev/mtdblock5 /tmp/var_link_dir/ft /sbin/reboot ``` -The format is 12 hex digit without `0x` nor `:` +The format is 12 hex digit without any `0x` or `:` ## Setting management IP ``` @@ -309,13 +310,13 @@ The format is 12 hex digit without `0x` nor `:` ``` ## Rebooting the ONU -Either via the public WebUi `http://192.168.100.1/ONT/client/html/content/config/problem_handling.html?lang=en`, `Reboot` boutton -or +Either via the public WebUi `http://192.168.100.1/ONT/client/html/content/config/problem_handling.html?lang=en`, `Reboot` button or + ``` /sbin/reboot ``` # Known Bugs -It seems the `cmld_client get` can't return string values longer than 12 characters even for fields type mentioning string length. A walkaround is to use the `get_node` on the parent element to get proper value ouput. +It seems `cmld_client get` can't return string values longer than 12 characters, even for field types mentioning string length. A walkaround is to use `get_node` on the parent element to get proper value ouput. # Miscellaneous Links @@ -327,5 +328,5 @@ It seems the `cmld_client get` can't return string values longer than 12 charact - Telekom Glasfaser Modem 2 # Credits -This whole documentation here was made possible by reverse engineering, and time investment from @hwti and the rest of the folks from the forum mention in the links section of the page. Thanks a lot! +This whole documentation here was made possible thanks to the time invested into reverse engineering by @hwti and the rest of the folks from the forum mentioned in the links section of this page. Thanks a lot! diff --git a/_ont/ont-sercomm-fgs202.md b/_ont/ont-sercomm-fgs202.md index db10779..c06a896 100644 --- a/_ont/ont-sercomm-fgs202.md +++ b/_ont/ont-sercomm-fgs202.md @@ -30,7 +30,7 @@ parent: Sercomm ## Telnet Access -The stick has telned opened only on WAN side, only way to access it is thru an OLT +The stick has telnet available only on the PON side, the only way to access it is by using an OLT. ## List of software versions - SCOMFGS202305 (TIM Italy) @@ -38,7 +38,7 @@ The stick has telned opened only on WAN side, only way to access it is thru an O # GPON ONU status -## Get the operational status of the ONU +## Getting the operational status of the ONU ```sh # show gpon @@ -112,7 +112,7 @@ Set command exectue successfully. # Advanced settings -## Show live OMCI messages +## Showing live OMCI messages ```sh # show omci diff --git a/_ont/ont-t-w-twcgpon657.md b/_ont/ont-t-w-twcgpon657.md index b1dc00f..6ab7b9e 100644 --- a/_ont/ont-t-w-twcgpon657.md +++ b/_ont/ont-t-w-twcgpon657.md @@ -34,13 +34,13 @@ parent: T&W - [Firmware repository by Anime4000](https://github.com/Anime4000/RTL960x/tree/main/Firmware/TWCGPON657) -The reccomended version are `C00R657V2801F_V1.9.0-220404.tar` because it is the V2801F firmware for T&W TWC GPON657. +The recommended version is `C00R657V2801F_V1.9.0-220404.tar`, because it is the V2801F firmware for T&W TWC GPON657. {% include_relative ont-luna-sdk-useful-commands.md flash='flash' ploam='ascii' speedLan='123456' - customSpeedLanAlert='Please use recommended version `C00R657V2801F_V1.9.0-220404.tar`. With other firmware it is not guaranteed that `LAN_SDS_MODE` other than `1` will work. Before editing the speed make sure your hardware supports it.' + customSpeedLanAlert='Please use recommended version `C00R657V2801F_V1.9.0-220404.tar`. It is not guaranteed that any value for `LAN_SDS_MODE` other than `1` will work with other firmware versions. Before editing the sync speed settings make sure your hardware supports it.' %} # Known Bugs diff --git a/_ont/ont-technicolor-afm0002.md b/_ont/ont-technicolor-afm0002.md index adc2482..deecb29 100644 --- a/_ont/ont-technicolor-afm0002.md +++ b/_ont/ont-technicolor-afm0002.md @@ -80,7 +80,7 @@ The stick has a TTL 3.3v UART console (configured as 115200 8-N-1) that can be a This stick supports dual boot. -`k0` and `r0` respectively contain the kernel and firmware of the first image, `k1` and `r1` the kernel and firmware of the second one +`k0` and `r0` respectively contain kernel and firmware of the first image, while `k1` and `r1` contain kernel and firmware of the second one. {% include_relative ont-luna-sdk-useful-commands.md flash='/etc/scripts/flash' @@ -122,7 +122,7 @@ From the PC to the stick: {% include alert.html content="Only the inactive image can be flashed, change sw_versionX and sw_commit X based on the bank you have flashed" alert="Info" icon="svg-info" color="blue" %} -So mtd4/5 if you are on image1, mtd6/7 if you are on image0. +Flash mtd4/5 if you are on image1, mtd6/7 if you are on image0. The following commands are used to flash a new rootfs to image1 and then boot to it ```sh @@ -291,7 +291,7 @@ esac ``` ## Increasing the length of the software version from 13 to 14 characters -`omci_app` has an hard-coded limit of 13 characters for the software version, which is too low. We can binary patch it to increase it to 14 (or more, if you dare/need) +`omci_app` has a hard-coded limit of 13 characters for the software version, which is too low. We can binary patch it to increase it to 14 (or more, if you dare/need) ``` JVhEWjAwNCUAAAAIAAgACAAAAAAAAAAAAAAAAAAAAABvbWNpX2FwcG9tY2lfYXBwH4sIAAAAAAAA AwMAAAAAAAAAAAAfiwgAAAAAAAADY2BoYGZgYFjh9Uq/aNcZQdXsOh3R5ktr/fd0sTEwcuTnJmfG @@ -325,7 +325,7 @@ reboot ``` 1. The binary log will be placed inside: `/tmp/omcilog` 2. You can convert it into a .pcap file using [omcilog2pcap](https://github.com/hack-gpon/omcilog2pcap) -3. You can then open it with Wireshark by installing the OMCI plugin from [GitHub](https://github.com/hack-gpon/omci-wireshark-dissector) +3. You can then open it with Wireshark by installing this OMCI plugin from [GitHub](https://github.com/hack-gpon/omci-wireshark-dissector) If you want to log everything since the stick boots, you can create a custom rootfs. Place the last command inside `etc/runomci.sh` as the last line of the file diff --git a/_ont/ont-technicolor-afm0003.md b/_ont/ont-technicolor-afm0003.md index 7a44ab2..ad5eabe 100644 --- a/_ont/ont-technicolor-afm0003.md +++ b/_ont/ont-technicolor-afm0003.md @@ -68,13 +68,13 @@ The stick has a TTL 3.3v UART console (configured as 115200 8-N-1) that can be a This stick supports dual boot. -`k0` and `r0` respectively contain the kernel and firmware of the first image, `k1` and `r1` the kernel and firmware of the second one +`k0` and `r0` respectively contain kernel and firmware of the first image, while `k1` and `r1` contain kernel and firmware of the second one. {% include_relative ont-luna-sdk-useful-commands.md flash='/etc/scripts/flash' ploam='ascii' speedLan='123456' - customSpeedLanAlert='The defualt firmware does not allow modification of the `LAN_SDS_MODE` parameter. Is it necessary to use the modded firmware. Before editing the speed make sure your hardware supports it.' + customSpeedLanAlert='The default firmware does not allow modification of the `LAN_SDS_MODE` parameter. Using modded firmware is needed. Before editing the sync speed make sure your hardware supports it.' lastgoodHs=true flashSwVersion=true %} @@ -110,7 +110,7 @@ tftp> q {% include alert.html content="Only the inactive image can be flashed, change sw_versionX and sw_commit X based on the bank you have flashed" alert="Info" icon="svg-info" color="blue" %} -So mtd4/5 if you are on image1, mtd6/7 if you are on image0. +Flash mtd4/5 if you are on image1, mtd6/7 if you are on image0. The following commands are used to flash a new rootfs to image1 and then boot to it ```sh diff --git a/_ont/ont-template.md b/_ont/ont-template.md index 9e63f89..27e25a1 100644 --- a/_ont/ont-template.md +++ b/_ont/ont-template.md @@ -53,9 +53,9 @@ # GPON ONU status
-## Get the operational status of the ONU
+## Getting the operational status of the ONU
-## Get information of the OLT vendor
+## Getting OLT vendor information
## Querying a particular OMCI ME
@@ -81,7 +81,7 @@ ## Transferring files to the stick
-## Backup of all partition
+## Backing up all partitions
## Checking the currently active image
diff --git a/_ont/ont-tplink-xz000-g3.md b/_ont/ont-tplink-xz000-g3.md index 171cea3..2d69301 100644 --- a/_ont/ont-tplink-xz000-g3.md +++ b/_ont/ont-tplink-xz000-g3.md @@ -27,7 +27,7 @@ parent: TP-Link # Known Bugs -The ONT randomly crashes when PPPoE connection by a connected router is established. +The ONT randomly crashes when a PPPoE connection by a connected router is established. The GPON serial sometimes temporarily disappears after a crash, preventing the ONT from reaching the O5 operational status. diff --git a/_ont/ont-vsol-v2801f.md b/_ont/ont-vsol-v2801f.md index c87de37..1fd93aa 100644 --- a/_ont/ont-vsol-v2801f.md +++ b/_ont/ont-vsol-v2801f.md @@ -33,13 +33,13 @@ parent: VSOL - [Firmware repository by Anime4000](https://github.com/Anime4000/RTL960x/tree/main/Firmware/V2801F) -The reccomended version are `V2801F_V1.9.0-220425.tar` because it has Modern WebGUI, 2.5GbE, patched `runlansds.sh`, `tftpd`, ... +The recommended version is `V2801F_V1.9.0-220425.tar` because it has a modern WebGUI, 2.5GbE support, patched `runlansds.sh`, `tftpd` and more. {% include_relative ont-luna-sdk-useful-commands.md flash='flash' ploam='ascii' speedLan='123456' - customSpeedLanAlert='Please use recommended version `V2801F_V1.9.0-220425.tar`. With other firmware it is not guaranteed that `LAN_SDS_MODE` other than `1` will work. Before editing the speed make sure your hardware supports it.' + customSpeedLanAlert='Please use recommended version `V2801F_V1.9.0-220425.tar`. It is not guaranteed that any value for `LAN_SDS_MODE` other than `1` will work with other firmware versions. Before editing the sync speed make sure your hardware supports it.' %} # Known Bugs diff --git a/_ont/ont-ziza-op151s.md b/_ont/ont-ziza-op151s.md index b184940..cb79345 100644 --- a/_ont/ont-ziza-op151s.md +++ b/_ont/ont-ziza-op151s.md @@ -36,7 +36,7 @@ parent: Ziza ## Serial -The stick has a TTL 3.3v UART console (configured as 115200 8-N-1) that can be accessed from the top surface. It's near the SFP header. TX, RX and ground pads need to be connected to a USB2TTL adapter supporting a logic level of 3.3V. +The stick has a TTL 3.3v UART console (configured as 115200 8-N-1) that can be accessed from the top surface: it's near the SFP header. TX, RX and ground pads need to be connected to a USB2TTL adapter that supports 3V3 logic. {% include image.html file="tw236h-cdel-serial.jpg" alt="PMG3000-D20B Serial Pinout" caption="PMG3000-D20B Serial Pinout" %} diff --git a/_ont/ont-zte-f6005.md b/_ont/ont-zte-f6005.md index 19a5fb4..2dadbb3 100644 --- a/_ont/ont-zte-f6005.md +++ b/_ont/ont-zte-f6005.md @@ -66,7 +66,7 @@ You need a 3.3V SPI programmer (like a modded CH341a) to read and write back the {% include alert.html content="This was tested only on a TIM V6.0.10N20 firmware!" alert="Note" icon="svg-info" color="blue" %} -After you got a full dump of your ONT, here is the procedure to replace the original bootloader with the CIG one enable the serial port: +After getting a full dump of your ONT, here is the procedure to replace the original bootloader with CIG's to enable the serial port: Cut old bootloader: ```sh @@ -92,11 +92,11 @@ After powering up the ONT, the serial port will print this message: To access full U-Boot a special escape sequence is needed. -If you use TeraTerm software, create a simple MACRO file that contains this code: +If Tera Term is used, create a simple MACRO file that contains this code: `send $1B $1D $0F $0B` -Configure TeraTerm with the correct serial parameters (refer to **Serial** paragraph), select the created MACRO file **BEFORE** powering up the ONT but **DON'T OPEN IT NOW**, power-up the ONT and when you see the above message, quickly open the macro to reach the U-Boot prompt: +Configure Tera Term with the correct serial parameters (refer to **Serial** paragraph), select the created MACRO file **BEFORE** powering up the ONT but **DON'T OPEN IT NOW**, power-up the ONT and when you see the above message, quickly open the macro to reach the U-Boot prompt: ```sh 9601D# @@ -104,12 +104,12 @@ Configure TeraTerm with the correct serial parameters (refer to **Serial** parag {% include alert.html content="Note that this proceedure needs to be done each time you power-cycle the ONT" alert="Note" icon="svg-info" color="blue" %} -Now with the U-Boot prompt a custom firmware that enable TELNET can be flashed. -Please note that if you use a **TIM** or **OpenFiber** base firmware, the TTL will be silent after kernel loading because it was disabled at kernel level. +Now with the U-Boot prompt a custom firmware that enables TELNET can be flashed. +Please note that if a **TIM** or **OpenFiber** base firmware is used, the TTL will be silent after kernel loading because it is disabled at kernel level. -Here is the procedure to flash a custom firmware on your ONT via the U-Boot console: +Here is the procedure to flash a custom firmware on the ONT via the U-Boot console: -- Attach your ONT via ethernet cable to your PC and configure it to have IP **192.168.1.2** +- Attach the ONT via ethernet cable to your PC and configure it to have IP **192.168.1.2** - Launch TFTP server and place custom firmware inside its root folder renamed into `cramfs.img.crc`. Be sure that the file has this name, otherwise the upgrade procedure will stop immediately - Run this command on U-Boot prompt: @@ -142,7 +142,7 @@ Writing 6619136 B from 80400000 to 00200000... 100% ~ 0084ffff/6619136 B [Done] ``` -{% include alert.html content="Please note that some OLTs (like Alcatel with TIM in Italy) needs to have software image 0 or 1 as active. So in this case you have to do these commands twice to flash image on both slot:" alert="Note" icon="svg-info" color="blue" %} +{% include alert.html content="Please note that some OLTs (like TIM's Alcatel OLTs in Italy) need to have software image 0 or 1 set as active. So in this case, these commands will have to be executed twice to flash the image on both slots:" alert="Note" icon="svg-info" color="blue" %} **ImageA**: @@ -152,7 +152,7 @@ set activeimage imagea saveenv ``` -and flash image with the `upgdimage` +And flash image with the `upgdimage`. **ImageB**: @@ -161,13 +161,13 @@ set activeimage imageb saveenv ``` -and flash image with the `upgdimage` +And flash image with the `upgdimage`. -So you will have both slot with the same firmware version and avoid the swap from the OLT +This way both slots will have the same firmware version and will avoid any swap by the OLT. -After these steps, you can power-cycle ONT and logon on TELNET with `root\admin` credentials. From this moment you can simply spoof your ONT with the usual commands. +After these steps, power-cycle ONT and login via TELNET with `root\admin` credentials. From this moment you can simply spoof your ONT with the usual commands. # Known Bugs -In versions V6.0.10N14 and V6.0.10P2N02 buffer size is suboptimal: because of this the ONT is unable to work at full speed during uploads if the server is geographically, and/or latency-wise, far. There are no known problems if there is only one person in the GPON tree. +In versions V6.0.10N14 and V6.0.10P2N02 buffer size is suboptimal: because of this the ONT is unable to work at full speed during uploads if the server is geographically, and/or latency-wise, far. There are no known problems if there is only one person on the GPON tree. diff --git a/_ont/ont-zte-f601.md b/_ont/ont-zte-f601.md index 1299f3f..7defbef 100644 --- a/_ont/ont-zte-f601.md +++ b/_ont/ont-zte-f601.md @@ -63,16 +63,16 @@ parent: ZTE This ONT supports dual boot, as visible from the presence of `kernel0` and `kernel1`, which contain the rootfs. -The boot image can be swapped with the following command: +The boot images can be swapped with the following command: ```sh upgradetest switchver X ``` -Where `X` can be `0/1` based on the image you want to boot. +Where `X` can be `0/1`, based on the image you want to boot from. -You can also clone the currently running image into other slot using this command: +You can also clone the currently running image into the other slot using this command: ```sh syn_version @@ -82,9 +82,9 @@ syn_version {% include alert.html content="Commands have been tested on V6/V7 HW rev. on TIM and OpenFiber firmwares" alert="Note" icon="svg-info" color="blue" %} ## Enable Telnet -{% include alert.html content="This is an external script ([ZTE Telnet enabled](https://github.com/douniwan5788/zte_modem_tools)), so use it at your own risk! Credential doesn't survive at reboot!" alert="Note" icon="svg-info" color="blue" %} +{% include alert.html content="This is an external script ([ZTE Telnet enabler](https://github.com/douniwan5788/zte_modem_tools)), use at your own risk! Credentials don't survive at reboot!" alert="Note" icon="svg-info" color="blue" %} -{% include alert.html content="For italian users, it only works on versions V6.0.10N40 (TIM) and V6.0.10P6N7 (OpenFiber)" alert="Note" icon="svg-info" color="blue" %} +{% include alert.html content="For italian users, the script above only works on versions V6.0.10N40 (TIM) and V6.0.10P6N7 (OpenFiber)" alert="Note" icon="svg-info" color="blue" %} ```sh python3 zte_factroymode.py --user admin --pass admin --ip 192.168.1.1 --port 80 telnet open @@ -119,7 +119,7 @@ Password: Eqb8X8Qt ## Enable console redirection -To see omcidebug messages on Telnet you need to execute this command (just the first time of each connection): +To see omcidebug messages on telnet, execute this command (just the first time of each connection): ```sh redir printf @@ -127,21 +127,21 @@ redir printf # GPON ONU status -## Get the operational status of the ONU +## Getting the operational status of the ONU -To see the connection state use the following command: +To check the connection status, use the following command: ``` gpontest -gstate ``` `[gpontest] gpon state is [O5]` for O5 state -## Get information of the OLT vendor +## Getting OLT vendor information ```sh sendcmd 132 omcidebug showmedata 131 ``` -This command will print out the result like this one: +This command will print the following output: ```sh ################################## @@ -167,7 +167,7 @@ MIB INFO: sendcmd 132 omcidebug showmedata ID_MIB (eg. 7 for Firmware version) ``` -This command will print out a result like this one: +This command will print the following output: ```sh @@ -195,7 +195,7 @@ MIB INFO: ## Setting ONU GPON Serial Number -{% include alert.html content="You have to change S/N and the VID. 2176 is for the VID (first 4 letters of the S/N) and 2177 is for the last 8 digits of the S/N" alert="Note" icon="svg-info" color="blue" %} +{% include alert.html content="Both S/N and VID have to be changed. 2176 is for the VID (first 4 letters of the S/N) and 2177 is for the last 8 digits of the S/N" alert="Note" icon="svg-info" color="blue" %} ```sh setmac 1 2176 ZTEG setmac 1 2177 AABBCCDD @@ -204,29 +204,29 @@ setmac 1 2177 AABBCCDD ## Setting ONU GPON PLOAM password {% include alert.html content="The PLOAM password is stored in the ASCII format." alert="Note" icon="svg-info" color="blue" %} -This can be done easily via web ui. If you prefer to do it via the shell use: +This can be done easily via the web UI. To do it via the shell use: ```sh setmac 1 2181 1234567890 setmac 1 2178 1234567890 ``` -## Change ONU HW\SW Version and Permanent TELNET +## Changing ONU HW/SW Version and gaining persistent telnet access -{% include alert.html content="The only way to change HW\SWVer on this ONT is to modify the firmware, so do it at your own risk" alert="Note" icon="svg-info" color="blue" %} +{% include alert.html content="The only way to change HW/SWVer on this ONT is to modify the firmware, so do it at your own risk" alert="Note" icon="svg-info" color="blue" %} {% include alert.html content="This procedure was only tested on TIM V6.0.10N40 and OF V6.0.10P6N7 firmwares" alert="Note" icon="svg-info" color="blue" %} -{% include alert.html content="This procedure work with `ZTE_Firmware_Mod.py` v1.0.0" alert="Note" icon="svg-info" color="blue" %} +{% include alert.html content="This procedure works with `ZTE_Firmware_Mod.py` v1.0.0" alert="Note" icon="svg-info" color="blue" %} Needed tools: - Linux VM or WSL with Python >3.3 -- [ZTE Telnet enabled](https://github.com/douniwan5788/zte_modem_tools) +- [ZTE Telnet enabler](https://github.com/douniwan5788/zte_modem_tools) - [ZTE Firmware Mod Script](http://github.com/hack-gpon/ZTE-firmware-mod) - TFTP server -Download the script `ZTE_Firmware_Mod.py` and place in the same folder where you have the `kernel0` or `kernel1` mtd dump taken from step `**Backup ONT Paritions for HW\SW Version Mod**`. +Download the script `ZTE_Firmware_Mod.py` and place in the same folder where you have the `kernel0` or `kernel1` mtd dump taken from step `**Backing up ONT partitions for HW/SW version mod**`. -Run the script with the following parameters, you can use `-h` for help. In this example we are just replacing the firmware version with `V6.0.10N40`. You can put your own version here, maximium 15 characters. This parameter is mandatory: +Run the script with the following parameters, use `-h` for help. In this example we are just replacing the firmware version with `V6.0.10N40`. Put your own version here, it has to be a maximum of 15 characters long. This parameter is mandatory: If you need to create a partition dump with a different name, please put the correct name instead of `kernel0` @@ -234,7 +234,7 @@ If you need to create a partition dump with a different name, please put the cor python3 ZTE_Firmware_Mod.py kernel0 V6.0.10N40 fw_mod.bin ``` -The script will output the following messages, ending with instruction on how to install the created patched firmware: +The script will output the following messages, ending with instruction on how to install the patched firmware that has been created: ```sh --------------------------------------- @@ -283,13 +283,13 @@ Good luck! **Two last steps!** -If you are swapping from TIM to OpenFiber Firmware, or viceversa, you have to run these two command before rebooting the ONT based on the firmware version: +If you are swapping from TIM to OpenFiber firmware, or viceversa, run these two command before rebooting the ONT based on the firmware version: From **OpenFiber V6.0.10P6N7** to **TIM V6.0.10N40**: `upgradetest sfactoryconf 97` From **TIM V6.0.10N40** to **OpenFiber V6.0.10P6N7**: `upgradetest sfactoryconf 116` -After the ONT is reboot and you can access again, you can enable TELNET on each reboot, to do this, run again `zte_factroymode.py` to open new session to it. When you are in, execute these commands: +After the ONT has rebooted and you can access again, telnet can be enabled on each reboot. To do this, run again `zte_factroymode.py` to open new session to it. When you are in, execute these commands: ```sh sendcmd 1 DB set TelnetCfg 0 TS_Enable 1 @@ -306,7 +306,7 @@ sendcmd 1 DB set FWSC 0 FilterTarget 1 sendcmd 1 DB saveasy ``` -Reboot the ONT and TELNET will be already opened and you can logon with `root\root` credentials. +Reboot the ONT and a telnet interface will be available. You can login using `root\root` as credentials. **Just for OpenFiber firmware** @@ -320,22 +320,22 @@ sendcmd 1 DB set DevAuthInfo 5 Level 0 sendcmd 1 DB set DevAuthInfo 5 AppID 1 sendcmd 1 DB saveasy ``` -Reboot the ONT and you can logon on the WebUI using `superadmin\superadmin` credentials with full unlocked menus. +Reboot the ONT and you can login to the WebUI using `superadmin\superadmin` as credentials with full unlocked menus. # Advanced settings -## Backup ONT Paritions for HW\SW Version Mod +## Backing up ONT partitions for HW/SW version mod -This step is suggested if you want to replace firmware on your ONT to spoof HW and SW version: +This step is suggested if you want to replace firmware on the ONT to spoof HW and SW versions: Needed tools: - Linux VM or WSL with Python >3.3 -- [ZTE Telnet enabled](https://github.com/douniwan5788/zte_modem_tools) +- [ZTE Telnet enabler](https://github.com/douniwan5788/zte_modem_tools) - [ZTE_Firmware_Mod](https://github.com/hack-gpon/ZTE-firmware-mod) - TFTP server -First step is to login over telnet with `zte_factroymode.py` then execute ALL this command for a full backup: +First step is to login over telnet with `zte_factroymode.py`, then execute ALL these commands for a full backup: **Go to `/tmp` folder to create tmp files** @@ -349,13 +349,13 @@ cd /tmp cat /dev/mtd1 > uboot_config ``` -Copy the dumped firmware via TFTP to you VM or Windows machine with this commnad: +Copy the dumped firmware via TFTP to you VM or Windows machine with this command: ```sh tftp -l uboot_config -r uboot_config -p 192.168.1.X (where X is the IP of your PC) ``` -Delete dump +Delete dump: ```sh rm uboot_config @@ -367,13 +367,13 @@ Delete dump cat /dev/mtd2 > kernel0 ``` -Copy the dumped firmware via TFTP to you VM or Windows machine with this commnad: +Copy the dumped firmware via TFTP to you VM or Windows machine with this command: ```sh tftp -l kernel0 -r kernel0 -p 192.168.1.X (where X is the IP of your PC) ``` -Delete dump +Delete dump: ```sh rm kernel0 @@ -385,13 +385,13 @@ Delete dump cat /dev/mtd3 > kernel1 ``` -Copy the dumped firmware via TFTP to you VM or Windows machine with this commnad: +Copy the dumped firmware via TFTP to you VM or Windows machine with this command: ```sh tftp -l kernel1 -r kernel1 -p 192.168.1.X (where X is the IP of your PC) ``` -Delete dump +Delete dump: ```sh rm kernel1 @@ -403,13 +403,13 @@ Delete dump cat /dev/mtd4 > others ``` -Copy the dumped firmware via TFTP to you VM or Windows machine with this commnad: +Copy the dumped firmware via TFTP to you VM or Windows machine with this command: ```sh tftp -l others -r others -p 192.168.1.X (where X is the IP of your PC) ``` -Delete dump +Delete dump: ```sh rm others @@ -421,13 +421,13 @@ Delete dump cat /dev/mtd5 > param_tags ``` -Copy the dumped firmware via TFTP to you VM or Windows machine with this commnad: +Copy the dumped firmware via TFTP to you VM or Windows machine with this command: ```sh tftp -l param_tags -r param_tags -p 192.168.1.X (where X is the IP of your PC) ``` -Delete dump +Delete dump: ```sh rm param_tags @@ -439,23 +439,23 @@ Delete dump cat /dev/mtd6 > usercfg ``` -Copy the dumped firmware via TFTP to you VM or Windows machine with this commnad: +Copy the dumped firmware via TFTP to you VM or Windows machine with this command: ```sh tftp -l usercfg -r usercfg -p 192.168.1.X (where X is the IP of your PC) ``` -Delete dump +Delete dump: ```sh rm usercfg ``` -## Change region code +## Changing region code -{% include alert.html content="Looks like TIM and OF firmwares work only with their stock factory conf, so 97 or 116, otherwise no PPPoE" alert="Note" icon="svg-info" color="blue" %} +{% include alert.html content="Be aware that changing the region code may break features such as PPPoE depending on your ISP" alert="Note" icon="svg-info" color="blue" %} -ZTE has created various region codes that load default valuse based on the local ISP. This configuration can be changed using this command: +ZTE has created various region codes that load default values based on the local ISP. This configuration can be changed using this command: ```sh upgradetest sfactoryconf X @@ -487,11 +487,11 @@ Where X is the number of supported regioncode into file `/etc/init.d/regioncode` ``` # Random notes -- F601v6/v7 read the software version exposed thru gpon_omci deamon from each kernel partition's header, so only way to spoof this parameter is to change the version in the header and recalculate CRC, otherwise bootloader refuse to load image -- F601v6 from TIM line use HWVer `VDF`, this can be changed back to `V6.0` issuing this command on telnet session: `setmac 1 32770 3` +- Both F601v6 and F601v7 read the software version exposed through the gpon_omci deamon from each kernel partition header, so the only way to spoof this parameter is to change the version in the header and recalculate CRC, otherwise the bootloader will refuse to load the image. +- TIM's F601v6s use HWVer `VDF`, this can be changed back to `V6.0` issuing this command via telnet: `setmac 1 32770 3` - The F601v7 is mounted 'upside down' to save on waveguides, the LEDs would be on the bottom of the PCB, so it would have to be turned upside down to make it cooler... -- The F601v6 turns on and runs even with 9V input -- The F601v7 turns on and runs even with 5V input +- The F601v6 turns on and runs even with 9V input. +- The F601v7 turns on and runs even with 5V input. # Miscellaneous Links @@ -501,7 +501,7 @@ Where X is the number of supported regioncode into file `/etc/init.d/regioncode` - [ZTE Telnet enabled](https://github.com/douniwan5788/zte_modem_tools) - [ZTE Firmware Mod Script](http://github.com/hack-gpon/ZTE-firmware-mod) -# Theardown and other photos +# Teardown and other photos ## HW V6.0 @@ -529,5 +529,5 @@ Where X is the number of supported regioncode into file `/etc/init.d/regioncode` --- -[^1]: If you flash a modified firmware (only HWVer V6.0 at the moment), you can permanent enable TELNET to avoid run each time the `zte_factory.py` script. -[^2]: Credentials are random generated by zte_factroymode.py, don't survive at reboot
\ No newline at end of file +[^1]: If you flash a modified firmware (only HWVer V6.0 at the moment), you can permanently enable telnet to avoid running the `zte_factory.py` script each time. +[^2]: Credentials are randomly generated by zte_factroymode.py, they are not persistent and will change at reboot.
\ No newline at end of file diff --git a/_ont/ont-zyxel-pmg3000-d20b.md b/_ont/ont-zyxel-pmg3000-d20b.md index a6d0517..69fa3b7 100644 --- a/_ont/ont-zyxel-pmg3000-d20b.md +++ b/_ont/ont-zyxel-pmg3000-d20b.md @@ -39,7 +39,7 @@ From the Zyxel shell you can move to a standard Linux shell using the `linuxshel ## Serial -The stick has a TTL 3.3v UART console (configured as 115200 8-N-1) that can be accessed from the top surface. It's near the SFP header. TX, RX and ground pads need to be connected to a USB2TTL adapter supporting a logic level of 3.3V. +The stick has a TTL 3.3v UART console (configured as 115200 8-N-1) that can be accessed from the top surface. It's near the SFP header. TX, RX and ground pads need to be connected to a USB2TTL adapter supporting 3V3 logic. {% include image.html file="tw236h-cdel-serial.jpg" alt="PMG3000-D20B Serial Pinout" caption="PMG3000-D20B Serial Pinout" %} @@ -85,8 +85,8 @@ This stick supports dual boot, as visible from the presence of `ImageA` and `Ima # GPON ONU status -## Get the operational status of the ONU -To see the connection state use the following command: +## Getting the operational status of the ONU +To check the connection status, use the following command: ``` linuxshell onu ploamsg @@ -102,20 +102,20 @@ onu lanpsg 0 ``` ## Setting Speed LAN Mode -{% include alert.html content="This command forces the speed to 2.5 and is instantaneous and permanent, use it only if your hardware supports HSGMII and be compatible (not to be used with Broadcom 57810s NIC)" alert="Note" icon="svg-warning" color="red" %} +{% include alert.html content="This command forces the speed to 2.5 and is instantaneous and permanent, use it only if your hardware supports HSGMII and is compatible (not to be used with Broadcom 57810s NIC)" alert="Note" icon="svg-warning" color="red" %} ```sh hal set speed 2.5g mode full ``` ## Querying a particular OMCI ME -Query via OMCI ME Class Name +Query via OMCI ME Class Name: ```sh omci show me classname OmciClassName (e.g Ont2g) ``` -Query via OMCI ME ID +Query via OMCI ME ID: ```sh omci show me classid OmciClassId (e.g 7) @@ -132,11 +132,11 @@ exit hal set sn ALCLf0f0f0f0 ``` -Do not worry if you're missing one of the two commands, the change is still applied with just one of them. +Do not worry if one of the two commands results missing, the change is still applied with just one of them. ## Setting ONU GPON PLOAM password {% include alert.html content="The PLOAM password is stored in the ASCII format." alert="Note" icon="svg-info" color="blue" %} -This can be done easily via web ui. If you prefer to do it via the shell use: +This can be done easily via the web UI. To do it via the shell use: ```sh hal set password PLOAMPASS @@ -166,7 +166,7 @@ ONTG_VER:0x463630303556362e300000000000 The hardware version must be encoded in hex format and right padded to 28 characters with 0 (excluding the starting 0x) to avoid any spurious values. ## Setting OMCI equipment ID (ME 257) -{% include alert.html content="Model number must not be more than 20 characters long in total." alert="Note" icon="svg-info" color="blue" %} +{% include alert.html content="Model number must not be longer than 20 characters in total." alert="Note" icon="svg-info" color="blue" %} ```sh manufactory set equipment id MYEQUIPMENTID @@ -186,10 +186,10 @@ The equipment id must be encoded in hex format and right padded to 39 characters # Advanced settings -## Reset Web Gui admin credentials +## Resetting Web GUI admin credentials -Sometimes, under certain circumstances, the Web Gui admin credentials might get changed from the default `admin`/`1234` combination. -To restore the default combination you can try following [this method](https://github.com/xvzf/zyxel-gpon-sfp/issues/6#issuecomment-1065864650). +Under certain circumstances, the Web GUI admin credentials might get changed from the default `admin`/`1234` combination. +To restore the default combination try following [this method](https://github.com/xvzf/zyxel-gpon-sfp/issues/6#issuecomment-1065864650). ## Creating a new rootfs The stick has a tricky image packing method, fortunately it has been reverse engineered. A script to help you create a custom rootfs can be found here: [https://github.com/nanomad/zyxel-pmg-3000-mod-kit](https://github.com/nanomad/zyxel-pmg-3000-mod-kit) @@ -197,25 +197,25 @@ The stick has a tricky image packing method, fortunately it has been reverse eng ## Flashing a new rootfs {% include alert.html content="All commands start from the twmanu shell." alert="Note" icon="svg-info" color="blue" %} -- Transfer the new mtd on the stick via tftp +- Transfer the new mtd on the stick via tftp: ``` linuxshell tftp -gr mtd2.mod.bin TFTP_SERVER_IP ``` - Flash it on the standby partition. You can use `system` and then `show actimage` to get the current active image. Check `/proc/mtd` for the right mtds. Usually: -- if the currect active image is A the mtd in use is mtd2 -- If the current active image is B the mtd in use is mtd3 +- if the currect active image is A, mtd2 is in use +- If the current active image is B, mtd3 is in use ``` linuxshell mtd -e /dev/mtd2 write /tmp/mtd2.mod.bin /dev/mtd2 ``` -- Switch to the new image +- Switch to the new image: ``` system set actimage a ``` -- Reboot the ONT +- Reboot the ONT: ``` system reboot @@ -224,11 +224,11 @@ reboot # EEPROM (I2C slave simulated EEPROM) The Zyxel PMG3000-D20B does not have a physical EEPROM, the Falcon SOC emulates an EEPROM by exposing it on the I2C interface as required by the SFF-8472 specification. -On the I2C interface there will be two memories of 256 bytes each at the addresses `1010000X (A0h)` and `1010001X (A2h)`. +On the I2C interface, two memories of 256 bytes each will be available at the addresses `1010000X (A0h)` and `1010001X (A2h)`. The Zyxel PMG3000-D20B stores the content of the emulated EEPROM1 (A2h) in `/tmp/config/sfp_eeprom1` to restore it after a reboot. -{% include alert.html content="The contents of EEPROM0 (A0h) are not stored anywhere and is regenerated at each boot" alert="Info" icon="svg-info" color="blue" %} +{% include alert.html content="The contents of EEPROM0 (A0h) are not stored anywhere and they're regenerated at each boot" alert="Info" icon="svg-info" color="blue" %} ## EEPROM0 layout @@ -342,9 +342,9 @@ The Zyxel PMG3000-D20B stores the content of the emulated EEPROM1 (A2h) in `/tmp # Known Bugs - [Not working with Broadcom BCM57810S](https://github.com/xvzf/zyxel-gpon-sfp/issues/10) -- Issue on IPv6 discovery. But we are not sure if is a edge case of a particular ISP or not +- Issue on IPv6 discovery. Not certain whether it is a edge case of a particular ISP or not - [Some sticks have a custom password](https://github.com/xvzf/zyxel-gpon-sfp/issues/6) -- On V2.5 the Lantiq SDK has been updated from 6.4.2 to 7.5.1, but breaking upload performance +- On V2.5 the Lantiq SDK has been updated from 6.4.2 to 7.5.1, breaking upload performance # Miscellaneous Links |