Error "cwmp.9010" when uploading Vendor configuration File

I recently installed GenieACS and have been testing it in local network. So far i can make the device (Tp-Link 850n router) connect to ACS and get data from it or change the data from the “Devices” menu, but i can’t change the configuration pushing “3. Vendor configuration File” to CPE.

I tried to upload “1. Firmware Upgrade Image” and it was succesful, but the “3. Vendor configuration File” returns the error “cwmp.9010”, with the full report beeing:

cwmp.9010, Download failure, faultCode: “9010” faultString: Download failure setParam…"

faultCode: "9010"
faultString: Download failure
setParameterValuesFault: null

The file i’m trying to upload is the same CSV file it downloads from “All parameters”, tried to change several parameters and also only saving one line like SSID name that can be changed directly in the Devices webpage but not uploading the file.

This is the only line written on the CSV file:

"InternetGatewayDevice.LANDevice.1.WLANConfiguration.1.SSID,false,2023-07-19T08:24:24.994Z,true,2023-07-19T08:24:24.994Z,""NewWifi_D807"",xsd:string,2023-07-19T08:49:17.049Z,,,,"

Is this the correct way to upload a device configuration change? Is there any way to find the meaning of specific error codes in GenieACS?

The documentation doesn’t mention the file format for the configuration file to upload or the different error codes that you might encounter so i’m little lost.

The “setParameterValuesFault: null” is confusing because even only editing the line that holds the SSID name that it’s already written, it returns this as null.

You cannot upload a CSV of params to a CPE (unless your CPE takes its configuration in that format, which none I’ve seen do).

3 Vendor Configuration File is for uploading new configuration files specific to that model of CPE. Its not used for setting parameter values on a CPE.

So if i want to change change or set several parameters on one CPE i have to write it up on the Virtual Parameters, with the same format as the already existing “bootstrap”, “defaul” or “inform”?

I was wondering if it was possible to hold a backup of several CPE and, in case of factory reset the device, make them load the previous configuration, beeing this different for every CPE as some may have Static IP on WAN and others PPPoE.

Thanks for reply.

No need to use v-params. Declare the values you want for the CPE. There is no need to use a custom config per CPE.

Its easy to detect when a CPE has been factory reset, look for the 0 BOOTSTRAP event. There is a lot of documentation and instruction on how to configure CPEs on this forum. Please read through the forum posts.

Ok thanks. Was getting confused on the format to upload files and the error that didn’t match for other things i found on past posts. Will check other people configurations and do more tests with this device on closed network.

I tried different things and made some of the main params work. I don’t know if you can help me with two questions I have related to this.

I set up on the 1 BOOT event to test purposes of the “Provision” and “Presets”, making it able to enable the remote access through WAN and change the SSID name.

· It’s possible to apply a provision/preset, to for example change the SSID without needing to trigger the event? Example, as the question might not make too much sense:
Someone changed the WiFi SSID, but he’s not able to connect again with new SSID and want the previous one back.
Can i trigger my “defaultSSID” script directly into the CPE?

· Does GenieACS allow to reapply the previous configuration to a CPE that have been reset to factory default configuration? For example, associating the device ID to a PPPoE and if the device is reset to factory defaults it will pick up the same PPPoE/Password and get the connection back.

The only way i see to save this data is to download the CSV files, save them and if the devce reboots then look for the ID of the CPE and then i go and write the correct PPPoE info in.

Not really.

Not out of the box. This is where extension scripts come in. You have your preset which listens for 0 BOOTSTRAP clear the information from the genieacs cache. Then you clear any tags you need to. Then you have a script which runs which reprovisions the CPE. Example of a Provisioning Flow · genieacs/genieacs Wiki · GitHub

Thanks, will give it a go. :+1: