LTE CPE Firmware Upgrade Issue

Hi,

I have created Preset named ‘FirmwareUpgrade’ and triggered on ‘1 BOOT’ Event. And my Provisioning script like below. Does ‘Downloads.URL’ method works in genieacs? as per the tr-069 protocol it should work. But below didn’t work. If any one have an idea please help.

log(">>> Event = Firmware Upgrade Check Start");
let serialNumber = declare("DeviceID.SerialNumber", { value: 1 }).value[0];
let sModel = declare("DeviceID.ProductClass", { value: 1 }).value[0];
let version = declare("InternetGatewayDevice.DeviceInfo.SoftwareVersion", { value: 1 }).value[0];

if(sModel == 'MODEL1'){
    log(`${serialNumber} >>> ${sModel} >>> ${version} Firmware Upgrade Start`);
    declare("Downloads.[FileType:1 Firmware Upgrade Image]", {path: 1}, {path: 1});
    declare("Downloads.[FileType:1 Firmware Upgrade Image].FileName", {value: 1}, {value: "firmware_name.bin"});
    declare("Downloads.[FileType:1 Firmware Upgrade Image].URL", {value: 1}, {value: "ftp://x.x.x.x/firmware_name.bin"});
    declare("Downloads.[FileType:1 Firmware Upgrade Image].Username", {value: 1}, {value: "user"});
    declare("Downloads.[FileType:1 Firmware Upgrade Image].Password", {value: 1}, {value: "pass"});
    declare("Downloads.[FileType:1 Firmware Upgrade Image].Download", {value: 1}, {value: now});
    log(`${serialNumber} >>> ${sModel} >>> ${version} Firmware Upgrade Completed`);
}```
Thanks

Why host the firmware files on an alternate server? GenieACS has a built-in file server for this exact purpose.