Hi there!
It’s been a while im receiving the following error on some Huawei CPEs:
faultCode: "9003"
faultString: Invalid arguments
setParameterValuesFault:
- parameterName: InternetGatewayDevice.ManagementServer.ConnectionRequestPassword
faultCode: "9007"
faultString: Invalid parameter value
- parameterName: InternetGatewayDevice.ManagementServer.ConnectionRequestUsername
faultCode: "9007"
faultString: Invalid parameter value
- parameterName: InternetGatewayDevice.ManagementServer.PeriodicInformTime
faultCode: "9007"
faultString: Invalid parameter value
I’m actually using the default inform from GenieACS and sometime ago it was workinh perfectly fine, but, now it just show this message when trying to set the value for those 3 params. I eve thought i could be a Vendor update, but doesnt seem like it. Could it be a speficic behavior of those CPEs or i messed up somewhere else?
const now = Date.now();
// Device ID as user name
const username = declare("DeviceID.ID", {value: 1}).value[0]
// Password will be fixed for a given device because Math.random() is seeded with device ID by default.
const password = Math.trunc(Math.random() * Number.MAX_SAFE_INTEGER).toString(36);
const informInterval = 300;
// Refresh values daily
const daily = Date.now(86400000);
// Unique inform offset per device for better load distribution
const informTime = daily % 86400000;
// Update DeviceOLT
declare("VirtualParameters.DeviceOLT", {value: now});
// Update CodConexao
declare("VirtualParameters.CodConexao", {value: now});
declare("InternetGatewayDevice.ManagementServer.ConnectionRequestUsername", {value: daily}, {value: String(username)});
declare("InternetGatewayDevice.ManagementServer.ConnectionRequestPassword", {value: daily}, {value: String(password)});
declare("InternetGatewayDevice.ManagementServer.PeriodicInformEnable", {value: daily}, {value: true});
declare("InternetGatewayDevice.ManagementServer.PeriodicInformInterval", {value: daily}, {value: informInterval});
declare("InternetGatewayDevice.ManagementServer.PeriodicInformTime", {value: daily}, {value: informTime});
declare("Device.ManagementServer.ConnectionRequestUsername", {value: daily}, {value: String(username)});
declare("Device.ManagementServer.ConnectionRequestPassword", {value: daily}, {value: String(password)});
declare("Device.ManagementServer.PeriodicInformEnable", {value: daily}, {value: true});
declare("Device.ManagementServer.PeriodicInformInterval", {value: daily}, {value: informInterval});
declare("Device.ManagementServer.PeriodicInformTime", {value: daily}, {value: informTime});
Thank you so much in advance.