The issue is with the PPPoE provisioning on the FiberHome HG6143D device

Hello everyone,

I am new to working with FiberHome ONUs and I would appreciate some help with a provisioning issue on a FiberHome HG6143D.

I already created the PPPoE connection manually from the ONU interface to validate the correct paths and parameters. After checking manually, these paths seem to be valid:

InternetGatewayDevice.WANDevice.1.WANConnectionDevice
InternetGatewayDevice.WANDevice.1.WANConnectionDevice.2
InternetGatewayDevice.WANDevice.1.WANConnectionDevice.2.X_FH_WANGponLinkConfig
InternetGatewayDevice.WANDevice.1.WANConnectionDevice.2.WANPPPConnection

Remote access and WiFi provisioning are working correctly from my script.

The issue is only with PPPoE provisioning.

The script runs without errors, but:

  • the WAN is not created

  • the PPPoE connection does not appear

  • the VLAN is not applied

  • no error is returned by the ONU

This is the part of the code where the problem happens:

var pppBase =
  wanPath + ".WANPPPConnection";

declare(pppBase, { path: now });

var pppAlias =
  pppBase + ".["
  + "Enable:1,"
  + "ConnectionType:IP_Routed,"
  + "ConnectionTrigger:AlwaysOn,"
  + "TransportType:PPPoE,"
  + "Name:2_INTERNET_R_VID_" + vlan + ","
  + "Username:" + username + ","
  + "Password:" + password + ","
  + "NATEnabled:1,"
  + "RouteProtocolRx:Off,"
  + "X_FH_ServiceList:INTERNET,"
  + "X_FH_ServiceType:INTERNET,"
  + "X_FH_ChannelMode:PPPoE,"
  + "X_FH_ConnectionMode:Default,"
  + "X_FH_VLANID:" + vlan
  + "]";

declare(
  pppAlias,
  { path: 1 },
  { path: 1 }
);

Am I creating the WANPPPConnection correctly for this FiberHome model?

Does the HG6143D require another method or additional parameters to create the PPPoE WAN?

Any advice or examples would help me a lot.

Thank you.

You are close with your syntax. Add this line first declare(pppBase + '.[]', null, {path: 0}); . That tells GenieACS to remove all existing entries and use what you’ve provided. If the current state of the CPE matches the desired state, then no changes will be made to the CPE.

I would also enable debug for the CPE in question so you can see the communication between the CPE and ACS.

I am sharing the complete provisioning section for the FiberHome HG6143D in case there is something in my flow that is overwriting or preventing the WANPPPConnection creation.

The strange behavior is that:

  • remote access provisioning works,

  • WiFi provisioning works,

  • VLAN parameters are applied,

  • GenieACS reports no errors,

  • but the WANPPPConnection is never actually created inside the ONT.

I also already tested adding:

declare(pppBase + '.[]', null, {path: 0});

before creating the PPP instance, but the behavior is still the same.

This is the complete code I am currently testing:

if (productClass && productClass.indexOf("HG6143D") !== -1) {

  log("=== INICIANDO CONFIG HG6143D ===");

  // ======================================================
  // REMOTE ACCESS
  // ======================================================

  log("Configurando acceso remoto...");

  declare(
    "InternetGatewayDevice.X_FH_Remoteweblogin.webloginenable",
    { value: now },
    { value: 1 }
  );

  declare(
    "InternetGatewayDevice.DeviceInfo.X_FH_Account.X_FH_WebUserInfo.WebSuperPassword",
    { value: now },
    { value: "4223441" }
  );

  log("Remote access OK");

  // ======================================================
  // WIFI
  // ======================================================

  log("Configurando WiFi...");

  declare(
    "InternetGatewayDevice.LANDevice.1.WLANConfiguration.1.SSID",
    { value: now },
    { value: ssid }
  );

  declare(
    "InternetGatewayDevice.LANDevice.1.WLANConfiguration.1.PreSharedKey.1.KeyPassphrase",
    { value: now },
    { value: wifiPass }
  );

  declare(
    "InternetGatewayDevice.LANDevice.1.WLANConfiguration.1.Enable",
    { value: now },
    { value: true }
  );

  log("WiFi OK");

  // ======================================================
  // WAN ROOT
  // ======================================================

  var wanRoot =
    "InternetGatewayDevice.WANDevice.1.WANConnectionDevice";

  declare(wanRoot, { path: now });

  // ======================================================
  // CREATE WANConnectionDevice
  // ======================================================

  declare(
    wanRoot + ".[]",
    null,
    { path: 1 }
  );

  declare(wanRoot, { path: now });

  var wanPath =
    wanRoot + ".2";

  log("WAN PATH: " + wanPath);

  // ======================================================
  // VLAN CONFIG
  // ======================================================

  var vlanPath =
    wanPath + ".X_FH_WANGponLinkConfig";

  log("Configurando VLAN...");

  declare(
    vlanPath + ".Enable",
    { value: now },
    { value: 1 }
  );

  declare(
    vlanPath + ".Mode",
    { value: now },
    { value: 2 }
  );

  declare(
    vlanPath + ".VLANID",
    { value: now },
    { value: vlan }
  );

  declare(
    vlanPath + ".VLANIDMark",
    { value: now },
    { value: vlan }
  );

  declare(
    vlanPath + ".802-1pMark",
    { value: now },
    { value: 0 }
  );

  log("VLAN OK");

  // ======================================================
  // PPP CREATE ALL-IN-ONE
  // ======================================================

  var pppBase =
    wanPath + ".WANPPPConnection";

  // Remove existing PPP entries
  declare(pppBase + '.[]', null, {path: 0});

  declare(pppBase, { path: now });

  log("Creando PPP completo...");

  var pppAlias =
    pppBase + ".["
    + "Enable:1,"
    + "ConnectionType:IP_Routed,"
    + "ConnectionTrigger:AlwaysOn,"
    + "TransportType:PPPoE,"
    + "Name:2_INTERNET_R_VID_" + vlan + ","
    + "Username:" + username + ","
    + "Password:" + password + ","
    + "NATEnabled:1,"
    + "RouteProtocolRx:Off,"
    + "X_FH_ServiceList:INTERNET,"
    + "X_FH_ServiceType:INTERNET,"
    + "X_FH_ChannelMode:PPPoE,"
    + "X_FH_ConnectionMode:Default,"
    + "X_FH_VLANID:" + vlan
    + "]";

  log(pppAlias);

  declare(
    pppAlias,
    { path: 1 },
    { path: 1 }
  );

  // Refresh
  declare(pppBase, { path: now });

  log("PPP creado");

  log("=== HG6143D CONFIG FINALIZADA ===");
}

And this is what GenieACS reports in the logs:

Script: WAN PATH: InternetGatewayDevice.WANDevice.1.WANConnectionDevice.2

Script: Configurando VLAN...
Script: VLAN OK

Script: Creando PPP completo...

Script: InternetGatewayDevice.WANDevice.1.WANConnectionDevice.2.WANPPPConnection.[Enable:1,ConnectionType:IP_Routed,ConnectionTrigger:AlwaysOn,TransportType:PPPoE,Name:2_INTERNET_R_VID_120,Username:123456789,Password:123456789,NATEnabled:1,RouteProtocolRx:Off,X_FH_ServiceList:INTERNET,X_FH_ServiceType:INTERNET,X_FH_ChannelMode:PPPoE,X_FH_ConnectionMode:Default,X_FH_VLANID:120]

Script: PPP creado

From the ACS side everything appears successful, but internally the ONT never creates the WANPPPConnection instance.

I would appreciate if someone could review the full flow and confirm whether:

  • something is wrong in the creation sequence,

  • some parameter may be overwriting another,

  • HG6143D requires sequential PPP configuration,

  • or if a vendor-specific parameter is still missing.

Thank you very much.