Skip to content

Commit 528dfd3

Browse files
simonebortolinnanomad
authored andcommitted
Add more info to Nokia G-010S-P
1 parent 4e8393a commit 528dfd3

File tree

1 file changed

+149
-30
lines changed

1 file changed

+149
-30
lines changed

_ont/ont-nokia-g-010s-p.md

Lines changed: 149 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,10 @@ parent: Nokia
4747

4848
The [Nokia G-010S-A](/ont-nokia-g-010s-a) can be flashed with the 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)
4949

50+
## List of software versions
51+
52+
- 3FE56853AOPD39
53+
5054
## Serial
5155

5256
The stick has a TTL 3.3v UART console (configured as 115200 8-N-1) that can be accessed from the SFP connector.
@@ -167,33 +171,6 @@ uci commit
167171

168172
{% include alert.html content="There is also the `onu gtc_password_set` command to set the ploam password but it does not seem to work." alert="Info" icon="svg-info" color="blue" %}
169173

170-
171-
## Getting/Setting Speed LAN Mode
172-
173-
The known speed values are as follows:
174-
175-
| Value | Speed |
176-
| ----- | -------- |
177-
| 4 | 1 Gbps |
178-
| 5 | 2.5 Gbps |
179-
180-
To set the (H)SGMII Mode:
181-
182-
```sh
183-
fw_setenv sgmii_mode 5
184-
```
185-
186-
To remove the value (back to default):
187-
```sh
188-
fw_setenv sgmii_mode
189-
```
190-
191-
To get the (H)SGMII Mode:
192-
193-
```sh
194-
onu lanpsg 0
195-
```
196-
197174
The `link_status` value shows the speed.
198175

199176
## Disabling Dying Gasp
@@ -208,7 +185,7 @@ reboot
208185

209186
## Checking whether the connection with the OLT was successful (O5 state)
210187

211-
```shell
188+
```sh
212189
onu ploamsg
213190
```
214191

@@ -239,10 +216,37 @@ cp /dev/mtdX /tmp
239216
{% include alert.html content="If you use a modern OpenSSH version (e.g. >= 8.8) you will have to use the legacy protocol and enable some deprecated algorithms: `scp -oKexAlgorithms=+diffie-hellman-group1-sha1 -oHostKeyAlgorithms=+ssh-dss [...]`" alert="Info" icon="svg-info" color="blue" %}
240217

241218
And in the computer shell:
242-
```shell
219+
```sh
243220
scp [email protected]:/tmp/mtdX ./
244221
```
245222

223+
## Checking the currently active image
224+
225+
```sh
226+
# fw_printenv committed_image
227+
```
228+
229+
## Booting to a different image
230+
231+
232+
```sh
233+
# fw_setenv committed_image 0|1
234+
# fw_setenv image0|1_is_valid 1
235+
```
236+
237+
## Cloning of mtd1 (image 0) into mtd5 (image 1)
238+
239+
{% include alert.html content="Image 0 can be flashed to image 1, while image 1 cannot be flashed to image 0 because it has larger rootfs_data" alert="Warning" icon="svg-warning" color="yellow" %}
240+
241+
The following commands are used to clone image0 to image1 and then boot to it
242+
```sh
243+
# cat /dev/mtd2 > /tmp/mtd2.bin
244+
# mtd -e image1 write /tmp/mtd2.bin image1
245+
# fw_setenv committed_image 1
246+
# fw_setenv image1_is_valid 1
247+
# reboot
248+
```
249+
246250
## Flashing a new rootfs via SSH
247251

248252
{% include alert.html content="Only the inactive image can be flashed" alert="Info" icon="svg-info" color="blue" %}
@@ -261,7 +265,7 @@ The following commands are used to flash a new rootfs to image1 and then boot to
261265

262266
If you wish to change the firmware via serial, we recommend using the web app: [Web Serial Flash](/ont-nokia-g-010s-p-ymodem)
263267

264-
# TX Fault / Serial
268+
## TX Fault / Serial
265269

266270
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.
267271

@@ -277,10 +281,125 @@ FALCON => setenv asc0 0
277281
FALCON => saveenv
278282
```
279283

284+
## Getting/Setting Speed LAN Mode
285+
286+
| Velue | Speed |
287+
| ----- | ---------------------------------- |
288+
| 4 | 1 Gbps / SGMII |
289+
| 5 | 2.5 Gbps / HSGMII with auto-neg on |
290+
291+
To enable the 2.5 Gbps / HSGMII with auto-neg on:
292+
293+
```sh
294+
fw_setenv sgmii_mode 5
295+
```
296+
297+
To remove the value (back to default):
298+
```sh
299+
fw_setenv sgmii_mode
300+
```
301+
302+
To get the (H)SGMII Mode:
303+
304+
```sh
305+
onu lanpsg 0
306+
```
307+
The `link_status` variable tells the current speed
308+
309+
## Querying a particular OMCI ME
310+
```sh
311+
omci_pipe.sh meg MIB_IDX ME_IN
312+
```
313+
Where `MIB_IDX` is the MIB ID and the `ME_IN` is the ME instance number
314+
315+
# EEPROM (I2C slave simulated EEPROM)
316+
317+
The Nokia G-010S-P 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.
318+
319+
On the I2C interface there will be two memories of 256 bytes each at the addresses `1010000X (A0h)` and `1010001X (A2h)`.
320+
321+
The Zyxel PMG3000-D20B stores the content of the emulated EEPROM1 (A2h) in Boot env variable `sfp_a2_info` to restore it after a reboot.
322+
323+
{% 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" %}
324+
325+
## EEPROM1 layout
326+
327+
| address | size | name | default value | description |
328+
| ------- | ---- | --------------------------------- | ----------------------------------------- | ----------------------------------------------------------- |
329+
| | | **DIAGNOSTIC AND CONTROL FIELDS** | | |
330+
| 0-1 | 2 | Temp High Alarm | `0x64 0x00` (100℃) | Value expressed in two's complement |
331+
| 2-3 | 2 | Temp Low Alarm | `0xCE 0x00` (-50℃) | Value expressed in two's complement |
332+
| 4-5 | 2 | Temp High Warning | `0x5F 0x00` (95℃) | Value expressed in two's complement |
333+
| 6-7 | 2 | Temp Low Warning | `0xD8 0x00` (-40℃) | Value expressed in two's complement |
334+
| 8-9 | 2 | Voltage High Alarm | `0x8C 0xA0` (3.6V) | Value expressed in volt subunits[^subunit] |
335+
| 10-11 | 2 | Voltage Low Alarm | `0x75 0x30` (3V) | Value expressed in volt subunits[^subunit] |
336+
| 12-13 | 2 | Voltage High Warning | `0x88 0xB8` (3.5V) | Value expressed in volt subunits[^subunit] |
337+
| 14-15 | 2 | Voltage Low Warning | `0x79 0x18` (3.1V) | Value expressed in volt subunits[^subunit] |
338+
| 16-17 | 2 | Bias High Alarm | `0xAF 0xC8` (4.5mA) | Value expressed in milliampere subunits[^subunit] |
339+
| 18-19 | 2 | Bias Low Alarm | `0x00 0x00` (0mA) | Value expressed in milliampere subunits[^subunit] |
340+
| 20-21 | 2 | Bias High Warning | `0x88 0xB8` (3.5mA) | Value expressed in milliampere subunits[^subunit] |
341+
| 22-23 | 2 | Bias Low Warning | `0x00 0x00` (0mA) | Value expressed in milliampere subunits[^subunit] |
342+
| 24-25 | 2 | TX Power High Alarm | `0x7B 0x86` (5dBm) | Value expressed in watts subunits[^subunit] |
343+
| 26-27 | 2 | TX Power Low Alarm | `0x22 0xD0` (-0dBm) | Value expressed in watts subunits[^subunit] |
344+
| 28-29 | 2 | TX Power High Warning | `0x6E 0x17` (4dBm) | Value expressed in watts subunits[^subunit] |
345+
| 30-31 | 2 | TX Power Low Warning | `0x27 0x10` (0dBm) | Value expressed in watts subunits[^subunit] |
346+
| 32-33 | 2 | RX Power High Alarm | `0x07 0xCB` (-7dBm) | Value expressed in watts subunits[^subunit] |
347+
| 34-35 | 2 | RX Power Low Alarm | `0x00 0x0F` (-28dBm) | Value expressed in watts subunits[^subunit] |
348+
| 36-37 | 2 | RX Power High Warning | `0x06 0x30` (-8dBm) | Value expressed in watts subunits[^subunit] |
349+
| 38-39 | 2 | RX Power Low Warning | `0x00 0x14` (-27dBm) | Value expressed in watts subunits[^subunit] |
350+
| 40-45 | 6 | MAC address | Unique in each SFP | Contains the mac address of the SFP, it could also be empty |
351+
| 46-55 | 10 | Reserved | `0x00 0x00 0x00...` | Reserved |
352+
| 56-59 | 4 | RX_PWR(4) Calibration | `0x00 0x00 0x00 0x00` | 4th order RSSI calibration coefficient |
353+
| 60-63 | 4 | RX_PWR(3) Calibration | `0x00 0x00 0x00 0x00` | 3rd order RSSI calibration coefficient |
354+
| 64-67 | 4 | RX_PWR(2) Calibration | `0x00 0x00 0x00 0x00` | 2nd order RSSI calibration coefficient |
355+
| 68-71 | 4 | RX_PWR(1) Calibration | `0x3F 0x80 0x00 0x00` | 1st order RSSI calibration coefficient |
356+
| 72-75 | 4 | RX_PWR(0) Calibration | `0x00 0x00 0x00 0x00` | 0th order RSSI calibration coefficient |
357+
| 76-77 | 2 | TX_I(Slope) Calibration | `0x01 0x00` | Slope for Bias calibration |
358+
| 78-79 | 2 | TX_I(Offset) Calibration | `0x00 0x00` | Offset for Bias calibration |
359+
| 80-81 | 2 | TX_PWR(Slope) Calibration | `0x01 0x00` | Slope for TX Power calibration |
360+
| 82-83 | 2 | TX_PWR(Offset) Calibration | `0x00 0x00` | Offset for TX Power calibration |
361+
| 84-85 | 2 | T(Slope) Calibration | `0x01 0x00` | Slope for Temperature calibration |
362+
| 86-87 | 2 | T(Offset) Calibration | `0x00 0x00` | Offset for Temperature calibration, in units of 256ths °C |
363+
| 88-89 | 2 | V(Slope) Calibration | `0x01 0x00` | Slope for VCC calibration |
364+
| 90-91 | 2 | V(Offset) Calibration | `0x00 0x00` | Offset for VCC calibration |
365+
| 92-94 | 3 | Reserved | `0x00 0x00 0x00` | Reserved |
366+
| 95 | 1 | CC_DMI | | Check code for Base Diagnostic Fields (addresses 0 to 94) |
367+
| 96 | 1 | Temperature MSB | | Internally measured module temperature |
368+
| 97 | 1 | Temperature LSB | | |
369+
| 98 | 1 | Vcc MSB | | Internally measured supply voltage in transceiver |
370+
| 99 | 1 | Vcc LSB | | |
371+
| 100 | 1 | TX Bias MSB | | Internally measured TX Bias Current |
372+
| 101 | 1 | TX Bias LSB | | |
373+
| 102 | 1 | TX Power MSB | | Measured TX output power |
374+
| 103 | 1 | TX Power LSB | | |
375+
| 104 | 1 | RX Power MSB | | Measured RX input power |
376+
| 105 | 1 | RX Power LSB | | |
377+
| 106-109 | 4 | Optional Diagnostics | `0xFF 0xFF 0xFF 0xFF` (No support) | Monitor Data for Optional Laser temperature and TEC current |
378+
| 110 | 1 | Status/Control | `0x03` | Optional Status and Control Bits |
379+
| 111 | 1 | Reserved | `0x00` | Reserved |
380+
| 112-113 | 2 | Alarm Flags | Supported | Diagnostic Alarm Flag Status Bits |
381+
| 114 | 1 | Tx Input EQ control | `0xFF` (No support) | Tx Input equalization level control |
382+
| 115 | 1 | Rx Out Emphasis control | `0xFF` (No support) | Rx Output emphasis level control |
383+
| 116-117 | 2 | Warning Flags | Supported | Diagnostic Warning Flag Status Bits |
384+
| 118-119 | 2 | Ext Status/Control | `0x00 0x00` | Extended module control and status bytes |
385+
| | | **GENERAL USE FIELDS** | | |
386+
| 120-126 | 7 | Vendor Specific | `0x70 0x00 0x00 0x00 0x00 0x00 0x20` | Vendor specific memory addresses |
387+
| 127 | 1 | Table Select | `0x00` | Optional Page Select |
388+
| | | **USER WRITABLE EEPROM** | | |
389+
| 128-247 | 120 | Reserved | `0x00 0x00 0x00...` | Reserved |
390+
| 248-255 | 8 | Vendor Control | `0x00 0x00 0x00 0x00 0x00 0x41 0x41 0x31` | Vendor specific control functions |
391+
392+
{% include alert.html content="For more information, see the SFF-8472 Rev 11.0 specification." alert="Info" icon="svg-info" color="blue" %}
393+
394+
280395
# Miscellaneous Links
281396

282397
- [alcatel_lucent-lantiq_falcon](https://github.com/minhng99/alcatel_lucent-lantiq_falcon)
283398
- [uboot lantiq falcon](https://github.com/minhng99/u-boot_lantiq_falcon)
284399
- [Usage GPON module SFP in Spain](https://forum.mikrotik.com/viewtopic.php?t=116364&start=300)
285400

401+
---
402+
403+
[^subunit]: The subunit are 10000 times smaller than the specified unit
404+
286405

0 commit comments

Comments
 (0)