
Optimum Fiber WAS-110 ONU Bypass — Full Writeup (XGS-PON, 100% Web UI, No SSH)
The day finally arrived. After a long fought battle, u/Zestclose_Pirate760 figured out how to bypass the shitty Optimum Fiber Gateway (XSR150DX) using a WAS-110 SFP+ stick running the 8311 community firmware. Full walkthrough below — everything is done in the stick's web UI, no SSH required. Tested end-to-end: full 5 Gbps, router untagged, survives reboots.
Full repo with configs/scripts: https://github.com/AttariSolutions/WAS-110-optimum
⚠️ A note on hardware ownership. The Optimum XSR150DX is typically ISP-leased equipment, not something you own outright. This guide documents replacing it with your own ONT for full control over your own network — do your own research on your lease/ToS terms before proceeding, and understand this may affect warranty/support claims on the original gateway if you ever need to return it. The serial console steps in the appendix specifically cross a tamper seal on that hardware; that's called out again down there.
⚠️ Cooling is mandatory, not optional. The WAS-110 runs ~110°C under load with no airflow — past a certain point the internet just starts dropping from thermal protection on the CPU. Get a small fan on it from day one. With forced airflow it settles around ~60°C and stays stable.
What you need
- A WAS-110 with 8311 community firmware already flashed (if not: 8311-was-110-firmware-builder on GitHub)
- The bottom label of your Optimum gateway (or a clear photo of it)
- A router with an SFP+ WAN port
Step 1 — Pull the values off your Optimum box's label
The label gives you almost everything you need:
S/N : 5054494E-XXXXXXXX → PON serial = PTIN + last 8 hex digits
MAC : 68:AA:C4:__:__:__
HW : 3NTRGW22161P00 → Hardware Version (yours may differ — copy from label)
The serial doesn't literally say "PTIN" on the sticker — it's encoded in raw hex. 5054494E in hex decodes to ASCII PTIN. So a label reading 5054494E1A2B3C4D becomes PON serial PTIN1A2B3C4D. Handy sanity check: the last 8 hex digits of the S/N always match the last 8 hex digits of the MAC.
The only thing not on the label is Software Version — Optimum doesn't expose it anywhere (no app, no web UI). Use the platform constant in Step 3; it's from a production XSR150DX and works.
Step 2 — Log into the stick
Plug the WAS-110 into your router's SFP+ WAN port. Browse to https://192.168.11.1 and log in with your 8311 root password.
No SFP+ port on your PC? Temporarily set your router's WAN interface (the one the stick is plugged into) to static IP 192.168.11.2/24 so you can reach the web UI through it. You'll flip it back to DHCP in Step 7.
Step 3 — 8311 → Configuration → PON tab
| Field | Value |
|---|---|
| PON Serial Number (ONT ID) | PTIN + last 8 hex of your label S/N |
| Vendor ID | PTIN |
| Equipment ID | XSR150DX |
| Hardware Version | (the HW: value from your label) |
| Sync Circuit Pack Version | ✅ checked |
| Software Version A / B | 3XGS020700R19 |
| Override active/committed firmware bank | A |
| PON Mode | XGS-PON |
| Registration ID (HEX) | 20202020202020202020 |
| MIB File | /etc/mibs/prx300_1V.ini ⚠️ not the 1U default |
| IP Host MAC Address | your label MAC |
Leave everything else default/empty.
Step 4 — ISP Fixes tab
Set Fix VLANs → Hook script only, then paste this into the hook script editor (replaces the placeholder text):
sh
#!/bin/sh
# Seed ME 45 (MAC bridge service profile) instance 0 — required by this OLT
omci_pipe.sh mec 45 0 0 1 1 0x8000 0x1400 0x0200 0x0f00 0 0 0x00000258 2>/dev/null
# Unify datapath + clear GEM tc filters; gem29 = IPTV multicast, keep out
for dev in $(ip -o link | awk -F'[@:]' '/(gem|pmapper)[0-9]+@pon0/ {print $2}' | grep -v gem29); do
tc filter del dev "$dev" egress 2>/dev/null
tc filter del dev "$dev" ingress 2>/dev/null
ip link set "$dev" master sw1 2>/dev/null
done
# VLAN 12 tag translation in hardware
tc filter del dev eth0_0 ingress pref 100 2>/dev/null
tc filter del dev eth0_0 egress pref 100 2>/dev/null
tc filter add dev eth0_0 ingress protocol all pref 100 flower skip_sw \
action vlan push id 12 priority 0 protocol 802.1Q pass
tc filter add dev eth0_0 egress protocol 802.1Q pref 100 flower vlan_id 12 skip_sw \
action vlan pop pass
exit 0
Save the hook script, then Save on the config page.
Step 5 — Reboot first, THEN move the fiber
Go to System → Reboot and wait ~2 minutes. Only after that, unplug the fiber from the Optimum box and plug it into the stick. Order matters here.
Step 6 — Verify
Wait 2–3 minutes for the first provisioning round, then check 8311 → PON Status. You want:
✅ O5.1, Associated state
That's PON sync — the real confirmation is your router pulling an IP in the next step.
Step 7 — Router
Switch the WAN port back to DHCP, untagged, no VLAN. It should pull a public IP within a minute. Run a speed test.
Step 8 — (Optional) Fix your peering
Optimum's good routing pool is reserved for MACs starting with 68:AA:C4 (their own hardware). Clone the Optimum box's base MAC onto your router's WAN interface and renew DHCP. Verify with ping 1.1.1.1 — single-digit ms on the good pool vs. ~25ms otherwise.
⚠️ Never plug the original Optimum box back in while its MAC is cloned elsewhere on your network.
Troubleshooting
| Symptom | Fix |
|---|---|
| PON flaps forever, never hits O5.1 | MIB File still on prx300_1U.ini — set to prx300_1V.ini, reboot |
| Stick reboots every ~3–4 min | Firmware bank override not set to A (Step 3) |
| O5.1 but no internet | Recheck the hook script pasted correctly, Fix VLANs = Hook script only, wait 3 min for OLT audit cycle |
| O5.1, works, stuck at ~1 Gbps | Your router is tagging VLAN 12 — remove it, the stick handles tagging |
| Was working, broke after a web UI save | Check MIB File didn't silently revert to 1U |
Golden rule: fiber only goes in after the Step 5 reboot, in that exact order.
Appendix — serial console (only if the label constants don't provision)
Only needed if Optimum pushed different firmware to your specific unit than what's documented above.
⚠️ This step involves physically opening ISP-owned/leased hardware and crosses a tamper seal — either the FCC sticker or the bottom-mount screw's security sticker. That's a deliberate seal break on equipment you likely don't own outright. Know that before you go further.
Hardware: USB-to-TTL adapter, 3.3V logic (CP2102/FTDI/CH340 — verify voltage, many default to 5V).
Access: UART pins are on the bottom of the ONT under the FCC sticker or bottom-mount screw.
Wiring (3 wires only): middle pin = GND, right-hand pins = RX/TX (cross them: adapter RX ← ONT TX, adapter TX → ONT RX). Never connect V+/VCC — the ONT is self-powered and a 5V adapter will fry its 3.3V bus.
Terminal: 115200 baud, 8N1, no flow control. Power-cycle and watch the boot log for GPON Serial Number, Base MAC Address, and the NUNO env=... line with EQUIP_ID=, HW_VERSION=, SW_VERSION= — copy those into Step 3 in place of the constants.
Full credit to u/Zestclose_Pirate760 and the 8311 community, and to djGrrr for the community firmware this whole project is built on.
Repo: https://github.com/AttariSolutions/WAS-110-optimum
---
I am waiting for my 3D printed cooler to finish printing and a new fan to arrive. Will update the post with photos soon.