# macOS
screen /dev/tty.usbserial-XXXXX 115200 # Linux
screen /dev/ttyUSB0 115200 # With minicom
minicom -D /dev/ttyUSB0 -b 115200 -8 --noinit
# macOS
screen /dev/tty.usbserial-XXXXX 115200 # Linux
screen /dev/ttyUSB0 115200 # With minicom
minicom -D /dev/ttyUSB0 -b 115200 -8 --noinit
# macOS
screen /dev/tty.usbserial-XXXXX 115200 # Linux
screen /dev/ttyUSB0 115200 # With minicom
minicom -D /dev/ttyUSB0 -b 115200 -8 --noinit
mtd4 → kernel0 / k0 (3MB) — Image 0 kernel (original Ubiquiti — fallback)
mtd5 → rootfs0 / r0 (6MB) — Image 0 rootfs (original Ubiquiti firmware)
mtd6 → kernel1 / k1 (3MB) — Image 1 kernel — cloned kernel goes here
mtd7 → rootfs1 / r1 (4.5MB) — Image 1 rootfs — stich86 MOD goes here
mtd8 → europa.data — Laser calibration ⚠️ NEVER TOUCH
mtd4 → kernel0 / k0 (3MB) — Image 0 kernel (original Ubiquiti — fallback)
mtd5 → rootfs0 / r0 (6MB) — Image 0 rootfs (original Ubiquiti firmware)
mtd6 → kernel1 / k1 (3MB) — Image 1 kernel — cloned kernel goes here
mtd7 → rootfs1 / r1 (4.5MB) — Image 1 rootfs — stich86 MOD goes here
mtd8 → europa.data — Laser calibration ⚠️ NEVER TOUCH
mtd4 → kernel0 / k0 (3MB) — Image 0 kernel (original Ubiquiti — fallback)
mtd5 → rootfs0 / r0 (6MB) — Image 0 rootfs (original Ubiquiti firmware)
mtd6 → kernel1 / k1 (3MB) — Image 1 kernel — cloned kernel goes here
mtd7 → rootfs1 / r1 (4.5MB) — Image 1 rootfs — stich86 MOD goes here
mtd8 → europa.data — Laser calibration ⚠️ NEVER TOUCH
# Check active image
nv getenv sw_active sw_commit # Switch to image 1
setenv sw_active 1 && setenv sw_commit 1 && saveenv && boot # Fall back to image 0 (original Ubiquiti firmware)
setenv sw_active 0 && setenv sw_commit 0 && saveenv && boot
# Check active image
nv getenv sw_active sw_commit # Switch to image 1
setenv sw_active 1 && setenv sw_commit 1 && saveenv && boot # Fall back to image 0 (original Ubiquiti firmware)
setenv sw_active 0 && setenv sw_commit 0 && saveenv && boot
# Check active image
nv getenv sw_active sw_commit # Switch to image 1
setenv sw_active 1 && setenv sw_commit 1 && saveenv && boot # Fall back to image 0 (original Ubiquiti firmware)
setenv sw_active 0 && setenv sw_commit 0 && saveenv && boot
sf probe 0 # Clone Ubiquiti v4.4.2 kernel from image 0 → image 1
sf read 0x81000000 0x50000 0x300000 # read kernel0 into RAM
sf erase 0x4e0000 0x300000 # erase kernel1 (mtd6)
sf write 0x81000000 0x4e0000 0x300000 # write to mtd6 # Flash MOD rootfs (stich86) via TFTP
tftpboot 0x81000000 [HOST_IP]:[stich86_rootfs_filename]
sf erase 0x7e0000 0x480000 # erase rootfs1 (mtd7)
sf write 0x81000000 0x7e0000 ${filesize} # Activate image 1 and boot
setenv sw_active 1
setenv sw_commit 1
saveenv
boot
sf probe 0 # Clone Ubiquiti v4.4.2 kernel from image 0 → image 1
sf read 0x81000000 0x50000 0x300000 # read kernel0 into RAM
sf erase 0x4e0000 0x300000 # erase kernel1 (mtd6)
sf write 0x81000000 0x4e0000 0x300000 # write to mtd6 # Flash MOD rootfs (stich86) via TFTP
tftpboot 0x81000000 [HOST_IP]:[stich86_rootfs_filename]
sf erase 0x7e0000 0x480000 # erase rootfs1 (mtd7)
sf write 0x81000000 0x7e0000 ${filesize} # Activate image 1 and boot
setenv sw_active 1
setenv sw_commit 1
saveenv
boot
sf probe 0 # Clone Ubiquiti v4.4.2 kernel from image 0 → image 1
sf read 0x81000000 0x50000 0x300000 # read kernel0 into RAM
sf erase 0x4e0000 0x300000 # erase kernel1 (mtd6)
sf write 0x81000000 0x4e0000 0x300000 # write to mtd6 # Flash MOD rootfs (stich86) via TFTP
tftpboot 0x81000000 [HOST_IP]:[stich86_rootfs_filename]
sf erase 0x7e0000 0x480000 # erase rootfs1 (mtd7)
sf write 0x81000000 0x7e0000 ${filesize} # Activate image 1 and boot
setenv sw_active 1
setenv sw_commit 1
saveenv
boot
# GPON identity — use your actual Huawei ONT data
flash set GPON_SN HWTC[XXXXXXXX] # ONT SN: HWTC + 8 hex chars
flash set PON_VENDOR_ID HWTC
flash set OMCI_OLT_MODE 1
flash set OMCI_FAKE_OK 1
flash set OMCI_SW_VER1 [ONT_SW_VERSION] # ONT software version
flash set OMCI_SW_VER2 [ONT_SW_VERSION]
flash set HW_HWVER [ONT_HW_VERSION] # ONT hardware version
flash set GPON_ONU_MODEL [ONT_MODEL] # ONT model
flash set ELAN_MAC_ADDR [MAC_NO_COLONS] # ONT MAC without colons # Disable automatic factory reset (bootlimit=10 by default)
nv setenv bootcount 0
nv setenv bootlimit 0 reboot
# GPON identity — use your actual Huawei ONT data
flash set GPON_SN HWTC[XXXXXXXX] # ONT SN: HWTC + 8 hex chars
flash set PON_VENDOR_ID HWTC
flash set OMCI_OLT_MODE 1
flash set OMCI_FAKE_OK 1
flash set OMCI_SW_VER1 [ONT_SW_VERSION] # ONT software version
flash set OMCI_SW_VER2 [ONT_SW_VERSION]
flash set HW_HWVER [ONT_HW_VERSION] # ONT hardware version
flash set GPON_ONU_MODEL [ONT_MODEL] # ONT model
flash set ELAN_MAC_ADDR [MAC_NO_COLONS] # ONT MAC without colons # Disable automatic factory reset (bootlimit=10 by default)
nv setenv bootcount 0
nv setenv bootlimit 0 reboot
# GPON identity — use your actual Huawei ONT data
flash set GPON_SN HWTC[XXXXXXXX] # ONT SN: HWTC + 8 hex chars
flash set PON_VENDOR_ID HWTC
flash set OMCI_OLT_MODE 1
flash set OMCI_FAKE_OK 1
flash set OMCI_SW_VER1 [ONT_SW_VERSION] # ONT software version
flash set OMCI_SW_VER2 [ONT_SW_VERSION]
flash set HW_HWVER [ONT_HW_VERSION] # ONT hardware version
flash set GPON_ONU_MODEL [ONT_MODEL] # ONT model
flash set ELAN_MAC_ADDR [MAC_NO_COLONS] # ONT MAC without colons # Disable automatic factory reset (bootlimit=10 by default)
nv setenv bootcount 0
nv setenv bootlimit 0 reboot
# O5 = Operation State = OLT accepted the stick as a valid ONT
diag gpon get onu-state
# ONU state: Operation State(O5) # Correct OLT vendor
omcicli mib get 131
# OltVendorId: 0x48575443 ← HWTC (Huawei/Entel Chile) ✓ # VLANs provisioned by Entel's OLT
omcicli mib get 84
# VLAN 3610 → Internet | 3620 → TV | 3630 → VoIP | 3680 → TR-069
# O5 = Operation State = OLT accepted the stick as a valid ONT
diag gpon get onu-state
# ONU state: Operation State(O5) # Correct OLT vendor
omcicli mib get 131
# OltVendorId: 0x48575443 ← HWTC (Huawei/Entel Chile) ✓ # VLANs provisioned by Entel's OLT
omcicli mib get 84
# VLAN 3610 → Internet | 3620 → TV | 3630 → VoIP | 3680 → TR-069
# O5 = Operation State = OLT accepted the stick as a valid ONT
diag gpon get onu-state
# ONU state: Operation State(O5) # Correct OLT vendor
omcicli mib get 131
# OltVendorId: 0x48575443 ← HWTC (Huawei/Entel Chile) ✓ # VLANs provisioned by Entel's OLT
omcicli mib get 84
# VLAN 3610 → Internet | 3620 → TV | 3630 → VoIP | 3680 → TR-069 - No UART/U-Boot experience: The process requires bootloader commands. A wrong address in sf write can brick the stick (recoverable via TFTP if U-Boot still responds).
- Using a media converter (TP-Link MC220L): The europa_drv kernel panics with that hardware as an intermediary. The UF-Instant must go directly into the router's SFP+ slot.
- ISP uses authentication beyond PLOAM serial: Some ISPs also validate PLOAM password, OMCI details, or run clone detection.
- Using Entel's TV or VoIP: Those run on separate VLANs (3620 and 3630). You'll need to configure them on the router too. - stich86/UF-Instant-Mod — Modified rootfs for UF-Instant
- Anime4000/RTL960x — Firmware and RTL960x documentation
- hack-gpon.org — Community GPON hack reference
- MA5671A Config Guide (PLOAM) — PLOAM configuration guide