Description
Board
ESP32 DEV MODULE
Device Description
The device is a RS485 Based Modbus to 4G_LTE Dataloger device.
Consist of esp32-wroom module 4MB Flash Size.
MAX485CSA IC for Modbus Communication >> connected on serial1 at 9600 baudrate
Quectel 4G-LTE module EC200S for Operating in remote area(There is no wifi network) >> connected on serial2 at 115200 baudrate.
and other 12-24v to different power regulations.
all the debugging is done from serial0.
Hardware Configuration
#define ESP32_U1_TX 25 // MAX485_RX -->
#define ESP32_U1_RX 27 // MAX485_TX -->
#define ESP32_U2_TX 17 // GSM_RX -->
#define ESP32_U2_RX 16 // GSM_TX -->
#define MAX485_EN 26
#define LED 2
#define BUZZ 33
#define CONFIG 35
#define ADC 34
#define GSMPWR 32
#define GSMDTR 4
Version
v1.0.6
IDE Name
Arduino IDE
Operating System
Windows 11
Flash frequency
80Mhz
PSRAM enabled
no
Upload speed
921600
Description
hello everyone,
I'm working on a device in which I'm trying to do Firmware Over the air update of esp32-wroom module,
but i'm using another 4G-LTE module from Quictel (EC200S) to download the bin file from server.
everything looks fine but in the last it gives me error to update as >>Error Occurred. Error #: 6
here is the ota Function i'm using.
please help
Sketch
bool FirmwareVersionCheck()
{
bool value;
int httpCode ;
String fwurl = "";
fwurl = URL_fw_Version;
Serial.println(fwurl);
Serial.println();
if (WiFi.status() != WL_CONNECTED)
{
Network_Check_GSM();
if (GSM_Network_STS == true)
{
Serial2.write("AT+QIACT?\r\n");
delay(100);
input = Serial2.readString();
if (input.indexOf("OK") >= 0)
{
Serial.println("GPRS CONNECT SUCCESSFULLY");
Serial.println();
input = Serial2.readString();
input.remove(0);
Serial2.print("AT+QHTTPURL=83,30\r\n");
delay(100);
input = Serial2.readString();
if (input.indexOf("CONNECT") >= 0)
{
Serial2.print(fwurl);
delay(100);
input = Serial2.readString();
if (input.indexOf("OK") >= 0)
{
Serial.println("URL CONNECT SUCCESSFULLY");
Serial.println();
input = Serial2.readString();
input.remove(0);
int count = 0;
Serial2.write("AT+QHTTPGET=30\r\n");
input = Serial2.readString();
while (input.indexOf("+QHTTPGET") < 0)
{
Serial.println("WAITING FOR GET COMMAND RESPONSE");
Serial.println();
if (count >= 5)
{
value = false;
break;
}
count++;
input = Serial2.readString();
}
String GetResponse = input.substring(input.indexOf("+QHTTPGET") + 13, input.indexOf("+QHTTPGET") + 16);
Serial.print("GET RESPONSE IS:");
Serial.println(GetResponse);
Serial.println();
if (GetResponse == "200")
{
Serial.println("GET RESPONSE IS OK");
Serial.println();
input = Serial2.readString();
input.remove(0);
Serial2.write("AT+QHTTPREAD=30\r\n");
while (!Serial2.available())
{
}
while (Serial2.available())
{
String line = Serial2.readStringUntil('\n');
Serial.print("line is:" + line); Serial.println();
line.trim();// remove white/empty space from the line.
if (!line.length())// if the the line is empty,this is end of headers,//break the while and feed the remaining `Serial2` to the Update.writeStream()
{
Serial.println("This Line Was empty");//headers ended
httpResponseLineCount ++;
Serial.println("httpResponseLineCount is :" + String(httpResponseLineCount));
if (httpResponseLineCount == 2)
{
Serial.println("This Line Was empty Two Times");//headers ended
Serial.println("Breaking While() Now");
httpResponseLineCount = 0;
break;
}
}
if (line.startsWith("HTTP/1.1"))// Check if the HTTP Response is 200, else break and Exit Update.
{
if (line.indexOf("200") < 0)
{
Serial.println("Got a non 200 status code from server. Exiting OTA Update.");
break;
}
}
if (line.startsWith("Content-Length: "))// extract headers here, Start with content length
{
contentLength = atol((getHeaderValue(line, "Content-Length: ")).c_str());
Serial.println("Got " + String(contentLength) + " bytes from server");
}
if (line.startsWith("Content-Type: "))// Next, the content type
{
String contentType = getHeaderValue(line, "Content-Type: ");
Serial.println("Got " + contentType + " payload.");
if (contentType == "text/plain")
{
isValidContentType = true;
}
}
}//-------------------------------------while
Serial.println("contentLength : " + String(contentLength) + ", isValidContentType : " + String(isValidContentType));
if (contentLength && isValidContentType)// check contentLength and content type
{
String GetVersion = Serial2.readStringUntil('#');
GetVersion = GetVersion.substring(GetVersion.indexOf("$") + 1, GetVersion.indexOf("#"));
Serial.println("Found Firmware Version is:" + GetVersion);
if (GetVersion == FirmwareVer)
{
Serial.println("Device is already on the latest Firmware Version:" + GetVersion );
value = false;
}
if (GetVersion != FirmwareVer)
{
Serial.println("This is a New Firmware Version" + GetVersion );
value = true;
}
}
else
{
Serial.println("There was no content in the response");
Serial2.flush();
value = false;
}
}
input = Serial2.readString();
input.remove(0);
Serial2.write("AT+QHTTPSTOP\r\n");
delay(100);
input = Serial2.readString();
input.remove(0);
}
else
{
Serial.println("HTTP RESPONSE ERROR");
Serial.println();
input.remove(0);
value = false;
}
}
else
{
Serial.println("URL CONNECT FAILED");
Serial.println();
value = false;
}
}
else
{
Serial.println("GPRS CONNECT FAILED");
Serial.println();
value = false;
}
}
else if (GSM_Network_STS == false)
{
value = false;
}
}
if (WiFi.status() == WL_CONNECTED)
{
WiFiClient * client = new WiFiClient;
if (client)
{
HTTPClient http;
if (http.begin( * client, fwurl))
{
httpCode = http.GET();
Serial.print("HTTP_Code Recieved : ");
Serial.print(httpCode);
Serial.println();
delay(1000);
if (httpCode == HTTP_CODE_OK) // if version received
{
payload = http.getString();
payload = payload.substring(payload.indexOf("$") + 1, payload.indexOf("#"));
Serial.println("Found Firmware Version is: " + payload );
Serial.println();
if (payload == FirmwareVer)
{
Serial.printf("\nDevice is already on the latest Firmware Version:%s\n", payload);
Serial.println();
value = false;
}
else if (payload != FirmwareVer)
{
Serial.println("This is a New Firmware Version: " + payload);
Serial.println();
value = true;
}
}
else
{
Serial.print("Error in Downloading version file:");
Serial.println(httpCode);
Serial.println();
value = false;
}
http.end();
}
delete client;
}
}
return value;
}
//----------------------------------------------------------------------------------
bool DoFirmwareUpdate()
{
Serial.println("<<< ATTENTION !!! DO NOT TURN OFF THE DEVICE... >>>"); Serial.println();
Serial.println("Updating the Device Firmware Now!"); Serial.println();
Serial.println("Please Wait untill the Device Restarts"); Serial.println();
bool value;
String fwurl = "";
fwurl = URL_fw_Bin;
Serial.println(fwurl); Serial.println();
if (WiFi.status() != WL_CONNECTED)
{
Network_Check_GSM();
if (GSM_Network_STS == true)
{
Serial2.write("AT+QIACT?\r\n");
delay(100);
input = Serial2.readString();
if (input.indexOf("OK") >= 0)
{
Serial.println("GPRS CONNECT SUCCESSFULLY");
Serial.println();
input = Serial2.readString();
input.remove(0);
Serial2.print("AT+QHTTPURL=79,30\r\n");
delay(100);
input = Serial2.readString();
if (input.indexOf("CONNECT") >= 0)
{
Serial2.print(fwurl);
delay(100);
input = Serial2.readString();
if (input.indexOf("OK") >= 0)
{
Serial.println("URL CONNECT SUCCESSFULLY");
Serial.println();
input = Serial2.readString();
input.remove(0);
int count = 0;
Serial2.write("AT+QHTTPGET=30\r\n");
input = Serial2.readString();
while (input.indexOf("+QHTTPGET") < 0)
{
Serial.println("WAITING FOR GET COMMAND RESPONSE");
Serial.println();
if (count >= 5)
{
break;
}
count++;
input = Serial2.readString();
}
String GetResponse = input.substring(input.indexOf("+QHTTPGET") + 13, input.indexOf("+QHTTPGET") + 16);
Serial.print("GET RESPONSE IS:");
Serial.println(GetResponse);
Serial.println();
if (GetResponse == "200")
{
Serial.println("GET RESPONSE IS OK");
Serial.println();
input = Serial2.readString();
input.remove(0);
httpResponseLineCount = 0;
Serial2.write("AT+QHTTPREAD=30\r\n");
while (!Serial2.available())
{
}
while (Serial2.available())
{
// read line till /n
String line = Serial2.readStringUntil('\n');
// remove space, to check if the line is end of headers
Serial.print("line:");
Serial.println(line);
line.trim();
// if the the line is empty,
// this is end of headers
// break the while and feed the
// remaining `client` to the
// Update.writeStream();
if (!line.length())
{
Serial.println("This Line Was empty one times");//headers ended
Serial.println("httpResponseLineCount is :" + String(httpResponseLineCount));
if (httpResponseLineCount == 1)
{
Serial.println("This Line Was empty two times");//headers ended
Serial.println("Breaking While() Now");
httpResponseLineCount = 0;
break; // and get the OTA started
}
httpResponseLineCount ++;
//break; // and get the OTA started
}
// Check if the HTTP Response is 200
// else break and Exit Update
if (line.startsWith("HTTP/1.1"))
{
if (line.indexOf("200") < 0)
{
Serial.println("Got a non 200 status code from server. Exiting OTA Update.");
break;
}
}
// extract headers here
// Start with content length
if (line.startsWith("Content-Length: "))
{
contentLength = atol((getHeaderValue(line, "Content-Length: ")).c_str());
Serial.println("Got " + String(contentLength) + " bytes from server");
}
// Next, the content type
if (line.startsWith("Content-Type: "))
{
String contentType = getHeaderValue(line, "Content-Type: ");
Serial.println("Got " + contentType + " payload.");
if (contentType == "application/octet-stream")
{
isValidContentType = true;
}
}
}//-------------------------------------while
Serial.println("contentLength : " + String(contentLength) + ", isValidContentType : " + String(isValidContentType));
// check contentLength and content type
if (contentLength && isValidContentType)
{
// Check if there is enough to OTA Update
bool canBegin = Update.begin(contentLength, 0, 2, 1, NULL);
// If yes, begin
if (canBegin)
{
Serial.println("Begin OTA. This may take 2 - 5 mins to complete. Things might be quite for a while.. Patience!");
// No activity would appear on the Serial monitor
// So be patient. This may take 2 - 5mins to complete
size_t written = Update.writeStream(Serial2);
if (written == contentLength)
{
Serial.println("Written : " + String(written) + " successfully");
}
else
{
Serial.println("Written only : " + String(written) + "/" + String(contentLength) + ". Retry?" );
// retry??
// execOTA();
}
if (Update.end())
{
Serial.println("OTA done!");
if (Update.isFinished())
{
Serial.println("Update successfully completed. Rebooting.");
ESP.restart();
}
else
{
Serial.println("Update not finished? Something went wrong!");
}
}
else
{
Serial.println("Error Occurred. Error #: " + String(Update.getError()));
}
}
else
{
// not enough space to begin OTA
// Understand the partitions and
// space availability
Serial.println("Not enough space to begin OTA");
Serial2.flush();
}
}
else
{
Serial.println("There was no content in the response");
Serial2.flush();
}
}
input = Serial2.readString();
input.remove(0);
Serial2.write("AT+QHTTPSTOP\r\n");
delay(100);
input = Serial2.readString();
input.remove(0);
}
else
{
Serial.println("HTTP RESPONSE ERROR");
Serial.println();
input.remove(0);
value = false;
}
}
else
{
Serial.println("URL CONNECT FAILED");
Serial.println();
value = false;
}
}
else
{
Serial.println("GPRS CONNECT FAILED");
Serial.println();
value = false;
}
input = Serial2.readString();
input.remove(0);
Serial2.write("AT+QIDEACT=1\r\n");
delay(100);
input = Serial2.readString();
input.remove(0);
}
else if (GSM_Network_STS == false)
{
value = false;
}
}
if (WiFi.status() == WL_CONNECTED)
{
WiFiClient client;
t_httpUpdate_return ret = httpUpdate.update(client, URL_fw_Bin);
switch (ret)
{
case HTTP_UPDATE_FAILED:
Serial.printf("HTTP_UPDATE_FAILD Error (%d): %s\n", httpUpdate.getLastError(), httpUpdate.getLastErrorString().c_str());
break;
case HTTP_UPDATE_NO_UPDATES:
Serial.println("HTTP_UPDATE_NO_UPDATES");
break;
case HTTP_UPDATE_OK:
Serial.println("HTTP_UPDATE_OK");
break;
}
}
}
//----------------------------------------------------------------------------------
String getHeaderValue(String header, String headerName)
{
return header.substring(strlen(headerName.c_str()));
}
//----------------------------------------------------------------------------------
Debug Message
[4-25 14:46:22.2]FoxTerm Info: Logging started.
[4-25 14:46:23.4]ets Jun 8 2016 00:22:57
[4-25 14:46:23.4]
[4-25 14:46:23.4]rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)C¡¬ËË¥�Í¥Áé 0, SPIWP:0xee
[4-25 14:46:23.4]clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00C¡ë��éDIO, clock div:1
[4-25 14:46:23.4]load:0x3fff0018,len:4
[4-25 14:46:23.4]load:0x3fff001c,len:1216
[4-25 14:46:23.4]ho 0 tail 12 room 4
[4-25 14:46:23.4]load'ÂÑ0078000,len:10944
[4-25 14:46:23.4]load:0x40080400,len:6388
[4-25 14:46:23.4]entry 0x400806b4
[4-25 14:46:23.7]��¨µUÍÁÍ2-hal-cpu.c:189] setCpuFrequencyMhz(): PLL: 320 / 4 = 80 Mhz, APB: 80000000 Hz
[4-25 14:46:25.2]<<--Developed By SILICIS ROAD INDUSTRIES LLP copyright2022-->>
[4-25 14:46:25.2]
[4-25 14:46:25.2]<----------BOOTING UP THE DEVICE---------->
[4-25 14:46:25.2]
[4-25 14:46:25.3]Flash Memory Begin Successfully
[4-25 14:46:25.3]
[4-25 14:46:25.3]Listing directory: /
[4-25 14:46:30.7]Listing directory: /
[4-25 14:46:30.7]EEPROM Begin Successfully
[4-25 14:46:30.7]
[4-25 14:46:30.7]Last Data Upload Interval = 1
[4-25 14:46:30.7]
[4-25 14:46:30.7]Files Stored In Flash = 0
[4-25 14:46:30.7]
[4-25 14:46:30.7]SSID :
[4-25 14:46:30.7]
[4-25 14:46:30.7]PASS :
[4-25 14:46:30.7]
[4-25 14:46:30.9][D][WiFiGeneric.cpp:374] _eventCallback(): Event: 0 - WIFI_READY
[4-25 14:46:30.9][D][WiFiGeneric.cpp:374] _eventCallback(): Event: 2 - STA_START
[4-25 14:46:32.4][E][WiFiMulti.cpp:55] addAP(): [WIFI][APlistAdd] no ssid or ssid too long
[4-25 14:46:32.4][I][WiFiMulti.cpp:84] addAP(): [WIFI][APlistAdd] add SSID: silicis
[4-25 14:46:32.4][I][WiFiMulti.cpp:84] addAP(): [WIFI][APlistAdd] add SSID: PM12
[4-25 14:46:32.4][I][WiFiMulti.cpp:84] addAP(): [WIFI][APlistAdd] add SSID: PM13
[4-25 14:46:32.4]
[4-25 14:46:34.7][D][WiFiGeneric.cpp:374] _eventCallback(): Event: 1 - SCAN_DONE
[4-25 14:46:34.7][I][WiFiMulti.cpp:114] run(): [WIFI] scan done
[4-25 14:46:34.7][I][WiFiMulti.cpp:119] run(): [WIFI] 3 networks found
[4-25 14:46:34.7][D][WiFiMulti.cpp:151] run(): 0: [5][52:9B:68:86:29:7B] PM (-48) *
[4-25 14:46:34.7][D][WiFiMulti.cpp:151] run(): 1: [4][24:0B:88:F7:B1:49] Tanmay wifi-2.4g (-79) *
[4-25 14:46:34.7][D][WiFiMulti.cpp:151] run(): 2: [13][50:2B:73:3D:EE:60] Tenda_3DEE60 (-92) *
[4-25 14:46:34.7][E][WiFiMulti.cpp:191] run(): [WIFI] no matching wifi found!
[4-25 14:46:35.7]UNABLE TO CONNECT ANY WIFI
[4-25 14:46:35.7]
[4-25 14:46:35.8]CHECKING GSM MODULE IN 10Sec.
[4-25 14:46:35.8]
[4-25 14:46:50.0]MODULE OK
[4-25 14:46:50.0]
[4-25 14:46:50.0]SETTING OTHER PARAMETERS TO GSM
[4-25 14:46:50.0]
[4-25 14:46:52.3]IMEI : 861190059737848
[4-25 14:46:52.3]
[4-25 14:46:53.9]CHECKING FOR SIM CARD
[4-25 14:46:53.9]
[4-25 14:46:55.0]SIM CARD FOUND OK
[4-25 14:46:55.0]
[4-25 14:46:56.1]GSM INITIALIZATION COMPLETE
[4-25 14:46:56.1]
[4-25 14:46:57.2]GSM IS REGISTERED ON NETWORK
[4-25 14:46:57.2]
[4-25 14:46:58.4]NETWORK TIME SYNC SUCCESSFUL
[4-25 14:46:58.4]
[4-25 14:46:59.5]SETTING SMS COMMANDS
[4-25 14:46:59.5]
[4-25 14:47:00.1]SETTING HTTP COMMANDS
[4-25 14:47:00.1]
[4-25 14:47:03.5]<--APN SET FOR JIO-->
[4-25 14:47:03.5]
[4-25 14:47:06.0]STARTING GPRS/PDP CONTEXT CONNECTION
[4-25 14:47:08.0]CONTEXT PROFILE IS OK
[4-25 14:47:08.0]
[4-25 14:47:09.1]GPRS/PDP CONTEXT PROFILE IS ACTIVATED
[4-25 14:47:09.1]
[4-25 14:47:10.1]
[4-25 14:47:10.1]+QIACT: 1,1,1,"26.85.155.38"
[4-25 14:47:10.1]
[4-25 14:47:10.1]OK
[4-25 14:47:10.1]
[4-25 14:47:10.1]Device Firmware Version is : 1.0
[4-25 14:47:10.1]
[4-25 14:47:10.1]Checking Firmware update...
[4-25 14:47:10.1]
[4-25 14:47:10.1]http://data.silicisroadindustries.com/silicis_fota/buslog4g_fota_lpa/fw_version.txt
[4-25 14:47:10.1]
[4-25 14:47:11.1]GSM REGISTERED ON NETWORK
[4-25 14:47:11.1]
[4-25 14:47:12.1]Signal Strength : 31
[4-25 14:47:12.1]
[4-25 14:47:13.2]GPRS CONNECT SUCCESSFULLY
[4-25 14:47:13.2]
[4-25 14:47:16.4]URL CONNECT SUCCESSFULLY
[4-25 14:47:16.4]
[4-25 14:47:18.4]WAITING FOR GET COMMAND RESPONSE
[4-25 14:47:18.4]
[4-25 14:47:19.6]GET RESPONSE IS:200
[4-25 14:47:19.6]
[4-25 14:47:19.6]GET RESPONSE IS OK
[4-25 14:47:19.6]
[4-25 14:47:20.6]line is:
[4-25 14:47:20.6]This Line Was empty
[4-25 14:47:20.6]httpResponseLineCount is :1
[4-25 14:47:20.6]line is:CONNECT
[4-25 14:47:20.6]line is:HTTP/1.1 200 OK
[4-25 14:47:20.6]line is:Server: nginx/1.18.0 (Ubuntu)
[4-25 14:47:20.6]line is:Date: Mon, 25 Apr 2022 09:17:30 GMT
[4-25 14:47:20.6]line is:Content-Type: text/plain
[4-25 14:47:20.6]Got text/plain payload.
[4-25 14:47:20.6]line is:Content-Length: 5
[4-25 14:47:20.6]Got 5 bytes from server
[4-25 14:47:20.6]line is:Last-Modified: Tue, 19 Apr 2022 03:56:14 GMT
[4-25 14:47:20.8]line is:Connection: keep-alive
[4-25 14:47:20.8]line is:ETag: "625e32de-5"
[4-25 14:47:20.8]line is:Accept-Ranges: bytes
[4-25 14:47:20.8]line is:
[4-25 14:47:20.8]This Line Was empty
[4-25 14:47:20.8]httpResponseLineCount is :2
[4-25 14:47:20.8]This Line Was empty Two Times
[4-25 14:47:20.8]Breaking While() Now
[4-25 14:47:20.8]contentLength : 5, isValidContentType : 1
[4-25 14:47:20.8]Found Firmware Version is:1.1
[4-25 14:47:20.8]This is a New Firmware Version1.1
[4-25 14:47:22.8]Starting FOTA to update New Firmware
[4-25 14:47:22.8]
[4-25 14:47:22.8]<<< ATTENTION !!! DO NOT TURN OFF THE DEVICE... >>>
[4-25 14:47:22.8]
[4-25 14:47:22.8]Updating the Device Firmware Now!
[4-25 14:47:22.8]
[4-25 14:47:22.8]Please Wait untill the Device Restarts
[4-25 14:47:22.8]
[4-25 14:47:22.8]http://data.silicisroadindustries.com/silicis_fota/buslog4g_fota_lpa/update.bin
[4-25 14:47:22.8]
[4-25 14:47:23.8]GSM REGISTERED ON NETWORK
[4-25 14:47:23.8]
[4-25 14:47:24.8]Signal Strength : 31
[4-25 14:47:24.8]
[4-25 14:47:25.9]GPRS CONNECT SUCCESSFULLY
[4-25 14:47:25.9]
[4-25 14:47:29.1]URL CONNECT SUCCESSFULLY
[4-25 14:47:29.1]
[4-25 14:47:31.3]GET RESPONSE IS:200
[4-25 14:47:31.3]
[4-25 14:47:31.3]GET RESPONSE IS OK
[4-25 14:47:31.3]
[4-25 14:47:32.3]line:
[4-25 14:47:32.3]This Line Was empty one times
[4-25 14:47:32.3]httpResponseLineCount is :0
[4-25 14:47:32.3]line:CONNECT
[4-25 14:47:32.3]line:HTTP/1.1 200 OK
[4-25 14:47:32.3]line:Server: nginx/1.18.0 (Ubuntu)
[4-25 14:47:32.3]line:Date: Mon, 25 Apr 2022 09:17:41 GMT
[4-25 14:47:32.3]line:Content-Type: application/octet-stream
[4-25 14:47:32.3]Got application/octet-stream payload.
[4-25 14:47:32.3]line:Content-Length: 848560
[4-25 14:47:32.3]Got 848560 bytes from server
[4-25 14:47:32.3]line:Last-Modified: Sun, 24 Apr 2022 15:25:09 GMT
[4-25 14:47:32.3]line:Connection: keep-alive
[4-25 14:47:32.3]line:ETag: "62656bd5-cf2b0"
[4-25 14:47:32.3]line:Accept-Ranges: bytes
[4-25 14:47:32.3]line:
[4-25 14:47:32.3]This Line Was empty one times
[4-25 14:47:32.3]httpResponseLineCount is :1
[4-25 14:47:32.3]This Line Was empty two times
[4-25 14:47:32.3]Breaking While() Now
[4-25 14:47:32.3]contentLength : 848560, isValidContentType : 1
[4-25 14:47:32.3][D][Updater.cpp:132] begin(): OTA Partition: app1
[4-25 14:47:32.3]Begin OTA. This may take 2 - 5 mins to complete. Things might be quite for a while.. Patience!
[4-25 14:54:16.9]Written only : 784906/848560. Retry?
[4-25 14:54:16.9]Error Occurred. Error #: 6
[4-25 14:54:23.1]<----------BOOT PROCESS COMPLETE---------->
[4-25 14:54:23.1]
Other Steps to Reproduce
No response
I have checked existing issues, online documentation and the Troubleshooting Guide
- I confirm I have checked existing issues, online documentation and Troubleshooting guide.
Metadata
Metadata
Assignees
Type
Projects
Status