A step-by-step CLI guide for provisioning a VLAN 1530 PPPoE service on a VSOL
V1600G1-B GPON OLT, feeding a MikroTik PPPoE server on VLAN 1530, with a
Huawei HG8546M ONT as the subscriber gateway.
This version is corrected against a real deployment — it fixes several mistakes in
the generic online guides (wrong profile name, wrong uplink port, the “default
profile” trap). Notes marked ⚠ LESSON are pitfalls found in the field.
0. Topology & the one concept that avoids all confusion
ge0/1 … ge0/8 = the Ethernet uplink ports (to your network).
So there is a gpon0/1and a ge0/1 — different physical connectors, different
names. That’s why the CLI uses two prefixes:
interface gpon 0/1 → fiber/PON side (ONU, VLAN on the PON)
interface gigabitethernet 0/5 → Ethernet uplink side (MikroTik trunk)
⚠ LESSON: VLAN 1530 must be tagged on both the PON port carrying the ONU
and the exact uplink port the MikroTik is physically plugged into. In the field
deployment the cable was in port 5 (ge0/5), not port 1 — and until we tagged ge0/5,
nothing passed.
Verify — the port must appear under VLAN 1530’s tagged list:
gpon-olt# show interface vlan
You want to see, under Vlan ID : 1530:
Tagged Ports : ge0/5 gpon0/1
⚠ LESSON: If your cable is in a different port, tag 1530 on that port instead
(e.g. interface gigabitethernet 0/1). Symptom of the wrong port: MikroTik torch
on the VLAN shows RX = 0 and pings across the VLAN time out.
Do not put a permanent management IP on VLAN 1530 — it’s your PPPoE transport
VLAN and a public IP there is a security risk. Manage the OLT on a separate VLAN.
(A temporary IP on VLAN 1530 is fine only for the ping test in Step 11, and is
removed afterward.)
⚠ LESSON: The generic guides say
onu auto-learn default-onu-profile xpon — but xpon is not a real profile and
throws “onu profile xpon does not exist”. That word is just a profile name;
use the one you created (gpononu). This global default line is optional anyway
(Step 9 binds the real profile), so you can skip it:
gpon-olt(config)# onu auto-learn default-onu-profile gpononu # optional
7. Create the service profile (srv) — optional for a routing ONT
gpon-olt(config)# profile srv id 10 name srv_pon1_vlan_1530
gpon-olt(profile-srv:10)# portvlan eth 1 mode tag vlan 1530
gpon-olt(profile-srv:10)# commit
gpon-olt(profile-srv:10)# exit
⚠ LESSON: With a Huawei HG8546M in Route mode (it dials PPPoE itself), the
LAN-port tagging in the srv profile is not required on the OLT — the ONT handles
its own WAN VLAN. Binding srv on top of an already-provisioned ONU also throws
“port vlan or iphost has been configurated.” For this deployment we bound only
the line profile and set the VLAN on the Huawei itself (Step 12).
8. Create the line profile (T-CONT + GEM + service + service-port)
What each line does: tcont = upstream bandwidth container (bound to the DBA);
gemport = the channel that carries VLAN 1530; service/service-port = map the ONU’s
VLAN 1530 to the OLT VLAN 1530.
9. Set the PON port to auto-learn ONUs onto the line profile, and add VLAN 1530 to the PON
Look for your ONU (e.g. GPON0/1:1 ... working ... HWTCxxxxxxxx). The HWTC serial
prefix = Huawei.
Check which profile it landed on (note the syntax: PON number then ONU id):
gpon-olt# show onu info 1 1
⚠ LESSON — the “default profile” trap. When auto-learn is on, the ONU is
auto-provisioned with the OLT’s built-in default profile the instant it
registers — which silently creates a tcont/gemport/portvlan. If show onu info 1 1
shows Profile = default, your VLAN 1530 line profile did not bind, and you
cannot simply bind it on top — you’ll get “tcont has been configurated” /
“Object is in bad state” (the tcont is locked by the gemport riding on it).
Clean fix: point auto-learn at your line profile (Step 9), then delete and let
it re-learn so it comes up on your profile instead of default:
gpon-olt(config-pon-0/1)# no onu 1
Wait ~30–60 s, then show onu info 1 1 again — the Profile column should now show
your profile (we saw it flip from default to gpononu). Save with write.
11. Prove VLAN 1530 actually crosses OLT ↔ MikroTik (the test that finds most VLAN bugs)
gpon-olt(interface-vlan-1530)# ip address 10.30.30.2 255.255.255.0
gpon-olt(interface-vlan-1530)# exit
MikroTik:
/ping 10.30.30.2
Replies → VLAN 1530 transport is good; any remaining issue is the ONU or the
Huawei.
Timeout / host unreachable → VLAN 1530 isn’t crossing. Almost always the wrong
uplink port (go back to Step 3) or the MikroTik vlan1530 built on the wrong parent
interface (/interface vlan print detail).
Remove the temporary OLT IP once it pings (don’t leave a mgmt IP on the service VLAN):
gpon-olt(config)# interface vlan 1530
gpon-olt(interface-vlan-1530)# no ip address
gpon-olt(interface-vlan-1530)# exit
12. Configure the Huawei HG8546M (the subscriber gateway)
This unit’s CLI differs from every published guide. When a command is rejected, let
the box tell you the syntax with ? — type a word then ? (no Enter) to see valid
next tokens. Commands that were actually valid here:
Purpose
Command that works on this box
List ONUs & state
show onu state
ONU details
show onu info <pon> <onu> e.g. show onu info 1 1
VLAN membership / tagged ports
show interface vlan
Uplink port status
show interface gigabitethernet 0/5
Delete an ONU (clears all its config)
no onu 1
Remove one tcont
no onu 1 tcont 1 (remove its gemport first)
Bind line profile to an ONU
onu 1 profile line name <name>
Per-ONU config menu
onu 1 ? / no onu 1 ?
Commands from the online guides that failed here: show onu-profile,
show profile onu, show service-port, show profile line,
show onu info interface gpon 0/1 onu 1.
DBA → T-CONT → GEM → service-port (VLAN 1530) [line profile on the OLT]
Auto-learn binds line profile → delete/re-learn ONU so it drops the "default" profile
VLAN 1530 tagged on gpon0/1 (PON) AND ge0/5 (uplink to MikroTik)
Huawei HG8546M: Route + PPPoE + VLAN 1530, bound to LAN + SSID 1
MikroTik: PPPoE server on vlan1530 → session comes up
Field-tested working configuration. Original skeleton adapted from Smart Network Geek’s
VSOL guide, then corrected against the live V1600G1-B firmware.
Once PPPoE works end to end, add the OLT to ISPMan for monitoring — see the OLT SNMP field guide.