Fault code 9003 and 9007

Hii,
I am facing som issue while reflected the data in the acs ,when it try to commit the then i am getting this error
faultCode: “9003”
faultString: Invalid arguments
setParameterValuesFault:

  • parameterName: Device.ManagementServer.ConnectionRequestUsername
    faultCode: “9008”
    faultString: Attempt to set a non-writable parameter
  • parameterName: Device.ManagementServer.ConnectionRequestPassword
    faultCode: “9008”
    faultString: Attempt to set a non-writable parameter
  • parameterName: Device.ManagementServer.PeriodicInformInterval
    faultCode: “9008”
    faultString: Attempt to set a non-writable parameter
  • parameterName: Device.ManagementServer.PeriodicInformTime
    faultCode: “9008”
    faultString: Attempt to set a non-writable parameter


Please help to resolve this .
Thank You. Please let me know any other logs want.

It seems as if your device does not allow you to change those values.

The connection request username and password being used by genieacs is not what was written to your device - hence the error above.

So for that what i need to do remove this error ?

Ideally you should reach out to your vendor for new firmware that will allow you to change those values.

I have never had to deal with a device like that but, you could try modifying the inform script and comment-off the declare statements, so it doesn’t try to change the values on your device.
Then the current username and password in the device can be read and used in your connection request.

checked the logs related to cwmp in my device
Tue Nov 5 09:32:11 2024 user.err cwmpd: DM_DA - Validation failed, returning error 9003 - (DM_ENG_Device_SetParameterValues@DM_DeviceAdapter.c:784)
Tue Nov 5 09:32:11 2024 user.err cwmpd: DM_COM - SetParameterValues : NOK (9003) - (DM_SUB_SetParameterValues@src/dm_com.c:3543)
Tue Nov 5 09:32:11 2024 user.err cwmpd: DM_DA - cwmp have no write access to [Device.ManagementServer.ConnectionRequestUsername] - (DM_ENG_Device_SetParameterValues_Validate@DM_AmxParameterValues.c:354)
Tue Nov 5 09:32:11 2024 user.err cwmpd: DM_DA - cwmp have no write access to [Device.ManagementServer.ConnectionRequestPassword] - (DM_ENG_Device_SetParameterValues_Validate@DM_AmxParameterValues.c:354)
Tue Nov 5 09:32:11 2024 user.err cwmpd: DM_DA - cwmp have no write access to [Device.ManagementServer.PeriodicInformInterval] - (DM_ENG_Device_SetParameterValues_Validate@DM_AmxParameterValues.c:354)
Tue Nov 5 09:32:11 2024 user.err cwmpd: DM_DA - cwmp have no write access to [Device.ManagementServer.PeriodicInformTime] - (DM_ENG_Device_SetParameterValues_Validate@DM_AmxParameterValues.c:354)
Tue Nov 5 09:32:11 2024 user.err cwmpd: DM_DA - Validation failed, returning error 9003 - (DM_ENG_Device_SetParameterValues@DM_DeviceAdapter.c:784)
Tue Nov 5 09:32:11 2024 user.err cwmpd: DM_COM - SetParameterValues : NOK (9003) - (DM_SUB_SetParameterValues@src/dm_com.c:3543)
Tue Nov 5 09:32:35 2024 user.err cwmpd: CWMPD - Received a request without authentication data - (cwmp_server_validate_authentication@cwmpd_server.c:203)
Tue Nov 5 09:32:35 2024 user.err cwmpd: DM_COM - Digest Authentication failed - (DM_COM_PerformClientDigestAuthentication@src/dm_com_digest.c:529)
Tue Nov 5 09:32:35 2024 user.err cwmpd: CWMPD - Digest authentication failed - (cwmp_server_validate_authentication@cwmpd_server.c:222)

here digest athenticaiton is showing so is it this main reason for this fault code 9003 ?

Error 9003 is generated when you try setting a value on something that doesn’t exist or is not writable.

In the inform script:

// 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);

// Refresh values daily
const daily = Date.now(86400000);

declare("InternetGatewayDevice.ManagementServer.ConnectionRequestUsername", {value: daily}, {value: username});
declare("InternetGatewayDevice.ManagementServer.ConnectionRequestPassword", {value: daily}, {value: password});

The declare statement tries to write the username and password variables to the device. Your device is not allowing this…it generates an error.
Genieacs will still try to use the username and password in a connection request to the device and it will generate the “Connection Request error”.


in the admin—>provision—>bootstrap is there

in the bootstrap below contain is there only.

can u please help me what i need to then

So i got this from other thread ,like wise i did the changed

t’s not documented yet, but I hope this helps. Go to admin then config, and add the following config: cwmp.connectionRequestAuth For value, use something like this: AUTH(“myusername”, “mypassword”) The current values of ConnectionRequestUsername and ConnectionRequestPassword can be referenced too: AUTH(username, password) The above expression is actually the defualt if no config is set. So you can simply create a preset that sets the connection request credentials and it should work. Oth…

so after 9003 faule removed .but i am getting this error

What version of genieacs are you on?

There should be a default script and an inform script.
My scripts are modified but I would put together something for you to try.

I’m interested to know why the scripts are not there and what is trying to write to those parameters.

that inform script and default script is deleted

My scripts are modified but you can try this inform script:

// 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 = 3600;

// Refresh values daily
const daily = Date.now(86400000);

declare("InternetGatewayDevice.ManagementServer.ConnectionRequestUsername", {value: daily}, {value: username});
declare("InternetGatewayDevice.ManagementServer.ConnectionRequestPassword", {value: daily}, {value: 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: username});
//declare("Device.ManagementServer.ConnectionRequestPassword", {value: daily}, {value: 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});
declare("InternetGatewayDevice.DeviceInfo.ModelName", {value: daily});

These should be part of the default-install script.
I commented-off those from your list of errors.

Create the inform script with the above, delete your device from the ACS and let it register again. Hopefully it helps.


getting this fault code 9005 error now

Can you check to see which of the non-commented parameters exist on your device?

where i need to check this in the cpe?