Disclaimer: This NOT an official tool nor it was endorsed in any way by Ubiquiti. This is a community driven tool. Even though we will do our best to help the community there are no implicity or explicity warranties whatsoever. Use at your own risk.
FTTx became a quite popular technology to deliver high speed connectivity specially at homes (FTTH) on which on a single fiber optics terminal you can provision and deliver internet access, IPTV and VoIP.
Ubiquiti has a line of fiber optics networking products that target usually ISPs. Among those products, some of them in particular are used on the customer premises as a CPE, which receives the fiber optics line and transform it on ethernet which is usually called GPON CPE or ONT.
The Ubiquiti products that fall on this category are: UFiber Loco (UF-Loco), UFiber Nano G (UF-Nano-G), UFiber Instant (UF-Instant).
Even thought Ubiquiti advertive UF-Loco and UF-Nano-G as to support third party OLT devices on your ISP, the most "clean" usage requires a full UFiber networking deployment on your ISP to be as much as "plug and play" as possible. The UF-Instant is even worse, where Ubiquiti says that it only works if you are connected to a fiber optics line which is provided by an UFiber OLT.
On UF-Loco and UF-Nano-G, the 3rd party support allow you to select a profile and set a very limited number of options to make it work with them which not always is enough to make it work on ISPs that have custom or more complex fiber networks.
This tool allow you to overcome those limitations by patching UF-Loco and UF-Nano-G file system to allow those customizations and make it work properly with most of the ISPs.
After frustrating attempts to provide feedback and ask Ubiquiti for the ability to change some of those configuration using the embedded admin web pages natively, and seeing many users having the same problem, we decided to create this small tool to make it a simple one shot patch for the problem.
Most of us use FTTH and usually the clunky ISP ONT/Modems are pretty bad or provide a lot of limitations then we usually replace this modem with an custom GPON ONT device (like the ones mentioned here) and use our own routers to provide networking for our environments.
Essentially this is the flow:
Unlike other approaches found over the internet, this tool doesn't require any dependencies and is totally self-contained.
All you need is:
By running the UFiber.Configurator --help
you will get all the parameters used by this tool:
UFiber.Configurator
Apply configuration changes to UFiber devices
Usage:
UFiber.Configurator [options]
Options:
--host <host> IP or hostname of the target UFiber device. [default: 192.168.1.1]
--user <user> SSH user name. [default: ubnt]
--pw <pw> SSH password. [default: ubnt]
--port <port> SSH port of the target UFiber device. [default: 22]
--dry-run Don't apply the patched file to the target UFiber device. (i.e. dry-run)
--slid <slid> The SLID (or PLOAM Password).
--vendor <vendor> 4-digit Vendor Id (e.g. HWTC, MTSC, etc.). Combined with --serial, a GPON Serial Number is
built.
--serial <serial> 8-digit (e.g. 01234567) serial number or 16-digit (e.g. 41-4C-43-4C-xx-xx-xx-xx) HEX serial
number. Combined with --vendor, a GPON Serial Number is built. Note: If a 16-digit HEX
value is provided, the first 4 bytes (8 digits) will replace whatever value was passed to
Vendor Id with '--vendor'.
--mac <mac> The desired MAC address to clone.
--version Show version information
-?, -h, --help Show help and usage information
Please feel free to open issues and contribute back.
A huge thanks and kudos to @jakesays for all the help while creating this tool.