Troubleshoot connectivity issues with the WAS-110 or X-ONU-SFPP¶

The MaxLinear SDK includes an extensive suite of debugging tools that come pre-bundled with the WAS-110 firmware(s). These tools can be run either from the shell console or have been tied into the web UI.
PON troubleshooting¶
Digital Diagnostic Monitor Interface¶
The WAS-110 supports the Digital Diagnostic Monitor Interface (DDMI)1 to provide pseudo-real-time access to its operating parameters via a host interface. Although simplistic, this interface is suitable for monitoring power and temperature behaviours, which are the first tells of troubles.
For more details on accessing this interface, please search your hosts' documentation for Digital Diagnostic Monitoring (DDM) or Digital Optical Monitoring (DOM).
Host access¶
Linux / UniFi OS¶
ethtool -m <interface>
MikroTik RouterOS¶
/interface ethernet monitor sfpX #(1)!
- Replace sfp
Xwith the port name/number.
Optical power¶
Optical specifications¶
| Min. | Max. | Unit | WAS-110 Error | |
|---|---|---|---|---|
| Tx Power | 4 | 9 | dBm | +/- 2 |
| Rx Power | -29 | -8 | dBm | +/- 3 |
Industry standard signal ranges¶
| Great | Good | Fair (Warning) | Poor (Action) | |
|---|---|---|---|---|
| Tx Power | 4 to 5 | 3 to 6 | 2 to 7 | <= 1 or >= 8 |
| Rx Power | −14 to −20 | −8 to −24 | −24 to −27 | < −27 or > -8 |
| Great | Optimal performance; low Bit Error Rate (BER). | |||
| Good | Typical operating range for most ISP networks. | |||
| Fair | Marginal; may see Error Corrections (FEC). | |||
| Poor | Risk of Loss of Signal (LOS) or reciever damage. | |||
Optical status¶
To determine if the WAS-110 optics are operating within specification, execute one of the following procedures:
from the Web UI
- Navigate to https://192.168.11.1/cgi-bin/luci/admin/8311/pon_status and, if asked, input your root password.
- From the PON Status page, select the Optical Status tab.
- Evaluate Transmit power and Receive power are within spec.
from the Linux shell
pontop -b -g 'Optical Interface Status'
from the Web UI
- Navigate to https://192.168.11.1/html/main.html#status/pon and, if asked, input your admin web credentials.
- From the Status tab, select the PON page.
- Evaluate Tx Power(dBm) and Rx Power(dBm) are within spec.
from the Linux shell
i2c_cmd show optical
- Within a web browser, navigate to http://192.168.33.1/ and, if asked, input the useradmin web credentials.
- From the main navigation Status drop-down, click PON Interface.
- From the Optical Information section, evaluate that the RX Power and TX Power are within spec.
And as with a Linux host, the DDMI1 is available from the WAS-110 shell, where both Laser output power and Receiver signal average optical power can be evaluated.
ethtool -m pon0
Simplex optic fault test
Test 1
- Unplug the fiber cable.
- Check the optical status, if the transmit (Tx) and receive (Rx) power (dBm) do not report No signal or -40dBm or -inf, the optics are miscalibrated or faulty.
Test 2
- Plug-in the fiber cable.
- Check the optical status, if the transmit (Tx) and receive (Rx) power (dBm) report No signal, you're likely subscribed to GPON (1490nm downstream and 1310nm upstream) which isn't a compatible wavelength for the WAS-110.
OLT authentication¶
Activation states¶
- O1 Initial state
- O2 Stand-by state
- O3 Serial number state
- O4 Ranging state
- O5 Operation state
- O6 POPUP state
- O7 Emergancy stop state
Fake O5¶
A common term tossed around is fake
O5, which is a misnomer that occurs when PLOAM message activation succeeds, including Serial Number and/or Registration ID authentication. However, the failure is further along in the registration chain, such as OMCI. It pertains to invalid managed entity attributes with common associations to device integrity, such as hardware and/or software versioning.
PLOAM status¶
To view the current PLOAM status (activation state), execute one of the following procedures:
from the Web UI
- Navigate to https://192.168.11.1/cgi-bin/luci/admin/8311/pon_status and, if asked, input your root password.
- From the PON Status page, select the Status tab to ascertain the PON PLOAM Status.
from the Linux shell
PLOAM Status
pontop -b -g s
PLOAM counters
pontop -b -g 'PLOAM Downstream Counters'
pontop -b -g 'PLOAM Upstream Counters'
from the Web UI
- Navigate to https://192.168.11.1/html/main.html#status/pon and, if asked, input your admin web credentials.
- From the Status tab, select the PON page to ascertain the ONU State.
from the Linux shell
PLOAM Status
pontop -b -g s
PLOAM counters
pontop -b -g 'PLOAM Downstream Counters'
pontop -b -g 'PLOAM Upstream Counters'
- Within a web browser, navigate to http://192.168.33.1/ and, if asked, input the useradmin web credentials.
- From the main navigation Status drop-down, click PON Interface.
- Evaluate the PLOAM State in the Link Information section.
OMCI clarification¶
To identify fake O5, execute the following command procedures. If the output is empty, the operational state is "fake" because the OLT failed to return the expected configuration. An output that only contains default rules can also be deceiving, even though it is technically valid.
| 15, 4096, 0, 15, 4096, 0, 0, (0, 15, 0, 0, 15, 0, 0) | Untagged |
| 15, 4096, 0, 14, 4096, 0, 0, (0, 15, 0, 0, 15, 0, 0) | Dot1Q |
| 14, 4096, 0, 14, 4096, 0, 0, (0, 15, 0, 0, 15, 0, 0) | QinQ |
As of version 2.7.2 the extended VLAN table(s) can now be dumped in a human readable format
from the Web UI
- Navigate to https://192.168.11.1/cgi-bin/luci/admin/8311/vlans and, if asked, input your root password.
- From the VLAN Tables page, if the textarea is blank, the ONT configuration has not satisfied the OLT.
from the Linux shell
8311-extvlan-decode.sh -t
from the Linux shell
omci_pipe.sh md | grep -E '^\|\s+(84|171)\s\|'
Additionally, it is possible to identify the connected OLT by executing the following command:
omci_pipe.sh meg 131 0
Typically, OLT operators enforce versioning compliance when software management is not handled over CWMP2.
Alarms¶
Alarms are critical for diagnosing hardware failures, authentication errors, and physical layer issues. Use these indicators to pinpoint whether a fault originates with the OLT, the ODN, or your ONT.
Common alarms¶
| Alarm Code | Description | Cause |
|---|---|---|
| LOS | Loss of Signal | Physical break in fiber, disconnected cable, or OLT port failure |
| LODS | Loss of Downstream Sync | Excessive attenuation (distance, dirty connectors) or fault ONT receiver |
| LOF | Loss of Frame | High Bit Error Rate (BER) or severe signal interference |
| O7 | Emergency Stop | ONT is in "Rogue" state or has been disabled by the OLT. (Disconnect immediately) |
Rogue ONT (O7)
An O7 alarm often indicates a "Rogue ONT" that is transmitting light outside of its assigned time slot. This can "blind" the OLT port and drop service for every other subscriber on that same PON split.
To view real-time faults and begin remediation, execute one of the following procedures:
Page: Active alarms
Alarm type Alarm Description
LEVEL PON_ALARM_STATIC_LOS Loss of signal
LEVEL PON_ALARM_STATIC_LODS Loss of downstream synchronization
LEVEL PON_ALARM_STATIC_ERR_LOSS Same signal as LOS just configured as level sensitive
from the Web UI
- Navigate to https://192.168.11.1/cgi-bin/luci/admin/8311/pon_status and, if asked, input your root password.
- From the PON Status page, select the Alarms tab to check for Active Alarms.
from the Linux shell
pontop -b -g w
from the Linux shell
pontop -b -g w
LAN troubleshooting¶
Link Speed¶
The WAS-110 will attempt to auto-negotiate with the host controller and, more often than not, fallback to 1 Gbps. To prevent this behaviour, forcefully set the speed of the host interface to 10 Gbps.
Furthermore, to force the link speed on the WAS-110 itself, execute the following ethtool3 procedures.
from the Web UI permanent
- Navigate to https://192.168.11.1/cgi-bin/luci/admin/8311/config and, if asked, input your root password.
- From the 8311 Configuration page, select the Device tab.
-
From the Device tab, set the Ethtool Speed Settings input to one of the following:
Parameters speed 1000 speed 2500 speed 10000
from the Linux shell temporary
The following command sets the link speed temporarily until the next power cycle
ethtool -s eth0_0 speed <speed> #(1)!
- Replace the <speed> parameter to either 1000, 2500, or 10000
from the Web UI permanent
- Navigate to https://192.168.11.1/html/main.html#service/setlanfixspeed, and, if asked, input your admin web credentials.
- From the Negotiation Speed page, select OnDemand and 10G link speed, and click Save.
from the Linux shell temporary
The following command sets the link speed temporarily until the next power cycle
ethtool -s eth0_0 speed <speed> #(1)!
- Replace the <speed> parameter to either 1000, 2500, or 10000
Tx fault¶
The SFP tx fault pin4 (2) is multiplexed with UART tx. If the serial UART is enabled, tx fault may be asserted by the host hardware and cause the link state to flap continuously.
Serial console¶
By default, serial UART is enabled during boot-up until Linux init, where it is disabled
from the Web UI
- Navigate to https://192.168.11.1/cgi-bin/luci/admin/8311/config and, if asked, input your root password.
- From the 8311 Configuration page, select the Device tab.
- From the Device tab, uncheck the Serial console checkbox.
from the Linux shell
To disable the serial console from the Linux shell, execute the following commands:
fwenv_set -8 console_en
from the U-Boot shell
To disable the serial console from the U-Boot shell, execute the following commands:
env delete 8311_console_en
env save
env save
Serial console is disabled by default, except in version 1.0.11
To disable the serial console from the Linux shell, execute the following commands:
uci -c /ptconf set usrconfig_conf.InternetGatewayDevice__X_PT_CONSOLE_CFG__=interface
uci -c /ptconf set usrconfig_conf.InternetGatewayDevice__X_PT_CONSOLE_CFG__.Enable=0
uci -c /ptconf commit usrconfig_conf
Boot console & early printk¶
UART tx can be further controlled by two (2) U-Boot environment variables: uart_select and uart_select_preboot.
DO NOT execute the following commands unless you understand the repercussions
from the Linux shell
fwenv_set uart_select off
from the U-Boot shell
setenv uart_select off
env save
env save
To recover, a host device with serial breakout on SFP pins 2 (rx) and 7 (tx) will be required.
-
Spam Esc in the serial terminal while plugging in the WAS-110
-
Press Enter
-
Type
mw.b 0xB6180121 0xd8followed by Enter -
Delete the
uart_select_prebootenvironment variableenv set uart_select_preboot env save env save
Host Solutions¶
Linux (SFP subsystem)¶
SFP+ network drivers built on the Linux SFP subsystem use SFF-84721 DDMI to manage modules. This causes issues for non-compliant GPON and XGS-PON sticks. To work around this, maintainers add hardcoded quirks. However, each new hardware or vendor variant requires a new kernel build. As of kernel 6.17, a quirk for the Yunvo SFP+ONU-XGSPON (X-ONU-SFPP) module has been included to address this.
If you see the following output in your kernel log, you are either running an older kernel version, or your WAS-110 or X-ONU-SFPP module's vendor information does not match an existing quirk.
sfp sfp1: module transmit fault indicated
sfp sfp1: module persistently indicates fault, disabling
To resolve this issue, you can take one of two approaches:
- Add a new quirk for your module and recompile your kernel.
- Modify the vendor information on the module itself to match an existing quirk.
The steps below will make modifications to your module's EEPROM. Make sure you create backups and proceed with caution.
To achieve the latter, SSH into the module and read the current EEPROM value as base64, then paste it into the form below.
base64 /sys/class/pon_mbox/pon_mbox0/device/eeprom50
Rx loss¶
The SFP rx loss pin5 (8) is asserted when the SC/APC fiber cable isn't plugged in and/or inactive. Depending on the host controller and implementation, the interface may enter a power saving state, making the WAS-110 inaccessible.
Rx loss is deasserted by default as of version 2.3.0
from the Web UI
- Navigate to https://192.168.11.1/cgi-bin/luci/admin/8311/config and, if asked, input your root password.
- From the 8311 Configuration page, select the Device tab.
- From the Device tab, uncheck the RX Loss of Signal checkbox.
from the Linux shell
To disable rx loss from the Linux shell, execute the following commands:
fwenv_set -8 rx_los
from the U-Boot shell
To disable rx loss from the U-Boot shell, execute the following commands:
env delete 8311_rx_los
env save
env save
Unfortunately, rx loss can't be disabled.
Host solutions¶
MikroTik RouterOS¶
Requires RouterOS 7.15+
/interface ethernet set sfpX sfp-ignore-rx-los=yes #(1)!
- Replace spf
Xwith the port name/number.
Common issues & workarounds¶
Nokia OLT (ALCL)¶
omci_pipe.sh meadg 131 0 1 | awk '/41 4C 43 4C/ {print "Nokia OLT"; id=1} /20 20 20 20/ {print "Fake O5"; id=1} END {if (!id) print "Other OLT"}'
GEM port encryption misconfiguration (key errors)¶
-
Check GEM port for Key Errors and make note of the GEM ID(s).
pontop -b -g 'GEM/XGEM Port Counters' -
If key errors are present (greater than 0), check GEM port Encryption Key Ring attribute value.
omci_pipe.sh meadg 268 <GEM ID> 10 | awk -F'attr_data=' '{print $2}' # (1)!- Replace
<GEM ID>with the one found in the output for GEM/XGEM Port Counters page.
- Replace
-
If the Encryption Key Ring value is 0 or 1, change it to 3 (downstream encryption only).
omci_pipe.sh meads 268 <GEM ID> 10 3 # (1)!- Replace
<GEM ID>with the one found in the output for GEM/XGEM Port Counters page.
- Replace
Related workaround found on the XS-010X-Q (/usr/lib/libomci.so)
A similar workaround is also found on the XS-010X-Q within /usr/lib/libomci.so. Specifically, the logic is found in the ca_omci_saturn_gemflow_add function:
...
if ((*(int *)((int)local_38 + 0x13c) == 6) && (*(int *)((int)local_38 + 0x148) != 2)) {
local_38 = (char *)0x7eb;
omci_log_msg(8,4,"%s() [%d]Don\'t enable us aes for ALCL\n","ca_omci_saturn_gemflow_add",0x7eb);
omci_log_print(1,8,"%s() [%d]Don\'t enable us aes for ALCL\r\n","ca_omci_saturn_gemflow_add",
local_38);
if (param_1[0x16] == 1) {
local_3c = 3;
}
else {
local_3c = (undefined1)param_1[0x16];
}
iVar5 = param_1[3];
}
...






