Hello, I would like to have at least 3 AUTH passwords, however the routers only authenticate in the first one? How can I do this?
cwmp.auth AUTH(“test”, “12345678”) OR AUTH(“teste1”, “87654321”)
cwmp.connectionRequestAuth AUTH(serialNumber, “12345678”) OR AUTH(serialNumber, “87654321”)
That would work. For connection request auth, let GenieACS handle that. The default inform script sets a custom connection request un/pw for each CPE. If your CPEs already have a connection request un/pw programmed into them, then you could so something like this:
AUTH(username, password) OR AUTH(serialNumber, "12345678") OR AUTH(serialNumber, "87654321")
This is the default inform script incase your install is missing it:
// Device ID as username
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;
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});
Apparently the same thing is happening to me. I have 3 passwords, but, GenieACS is reading only the first auth values. If i set cwmp.ConnectionRequestAuth to:
AUTH("admin", "admin") OR AUTH("@dm1n", "@dm1n") OR AUTH(username, password)
I get the error “< DevicID >: Device is offline” for those that ConnectionRequestAuth.Password/Username are different than the first argument, and, if i set change the order the same happens and only the CPE that has the first un/pw got to authenticate.
It is a bit confused, i know. Sorry.
set cwmp.auth to true and try again. If that does not work then you have a problem somewhere else.
Isn’t cwmp.auth that one to authenticate CPE → ACS?
cwmp.auth CPE → ACS:
AUTH("username1", “password2”) OR AUTH(“username1”, “password2”)
cwmp.connectionRequestAuth ACS → CPE:
AUTH(username, password) OR AUTH(serialNumber, "12345678") OR AUTH(serialNumber, "87654321")
I thought the only cwmp config that receives a boolean value was cwmp.connectionRequestAllowBasicAuth
. Correct me if i’m mistaken.