[Feature][T108][task-view-1550] GSW base code update v1453 --2 <merged ext_at>
Only Configure: No
Affected branch: GSW_V1453
Affected module: ALL
Is it affected on IC: only ASR
Self-test: yes
Doc Update: no
Change-Id: I742016ab3dbd47244334881dda29e9d341315b9f
diff --git a/marvell/lte-telephony/apps/atcmd_server_ss/src/dev_api.c b/marvell/lte-telephony/apps/atcmd_server_ss/src/dev_api.c
index 4c9416d..16e728e 100644
--- a/marvell/lte-telephony/apps/atcmd_server_ss/src/dev_api.c
+++ b/marvell/lte-telephony/apps/atcmd_server_ss/src/dev_api.c
@@ -5993,7 +5993,18 @@
sprintf((char *)resImei, "%s", imei);
else
sprintf((char *)resImei, "%s%c", imei, DEV_GetCD(imei));
- ATRESP( atHandle, ATCI_RESULT_CODE_OK, 0, (char *)resImei);
+
+#ifdef MBTK_AT_SUPPORT
+ extern mbtk_dev_info dev_infos;
+
+ if(strlen(dev_infos.imei) > 0) {
+ ATRESP( atHandle, ATCI_RESULT_CODE_OK, 0, (char *)resImei);
+ } else {
+ memcpy(dev_infos.imei, resImei, strlen(resImei));
+ }
+#else
+ ATRESP( atHandle, ATCI_RESULT_CODE_OK, 0, (char *)resImei);
+#endif
}
else
{
@@ -12797,11 +12808,18 @@
p += sprintf(p, "+EEMLTEINTER: %d, ", index);
//phyCellId, euArfcn, rsrp, rsrq
+#ifdef MBTK_AT_SUPPORT
+ p += sprintf(p, "%d, %u, %d, %d, %d ", pLteEngmodeInterFreqInfoInd->interFreq[index].phyCellId,
+ pLteEngmodeInterFreqInfoInd->interFreq[index].euArfcn,
+ pLteEngmodeInterFreqInfoInd->interFreq[index].rsrp,
+ pLteEngmodeInterFreqInfoInd->interFreq[index].rsrq,
+ pLteEngmodeInterFreqInfoInd->interFreq[index].cellId);
+#else
p += sprintf(p, "%u, %u, %u, %u", pLteEngmodeInterFreqInfoInd->interFreq[index].phyCellId,
pLteEngmodeInterFreqInfoInd->interFreq[index].euArfcn,
pLteEngmodeInterFreqInfoInd->interFreq[index].rsrp,
pLteEngmodeInterFreqInfoInd->interFreq[index].rsrq);
-
+#endif
//mcc, lenOfMnc, mnc, tac, cellId
p += sprintf(p, "%u, %u, %u, %u, %u", pLteEngmodeInterFreqInfoInd->interFreq[index].mcc,
pLteEngmodeInterFreqInfoInd->interFreq[index].lenOfMnc,
diff --git a/marvell/lte-telephony/apps/atcmd_server_ss/src/sim_api.c b/marvell/lte-telephony/apps/atcmd_server_ss/src/sim_api.c
index 94355a2..df9f234 100644
--- a/marvell/lte-telephony/apps/atcmd_server_ss/src/sim_api.c
+++ b/marvell/lte-telephony/apps/atcmd_server_ss/src/sim_api.c
@@ -6227,8 +6227,11 @@
int size = 0;
if(dst == NULL)
return;
-
+#ifdef MBTK_AT_SUPPORT
+ size = snprintf(pBuf + size, sizeof(pBuf) -size, "+ICCID: \"");
+#else
size = snprintf(pBuf + size, sizeof(pBuf) -size, "*ICCID: \"");
+#endif
for (i = 0; i < CI_SIM_UDP_ICCID_LEN; i++) {
low_nibble = data[i] & 0x0f;
high_nibble = (data[i] & 0xf0) >> 4;
diff --git a/marvell/lte-telephony/apps/atcmd_server_ss/src/telatci.c b/marvell/lte-telephony/apps/atcmd_server_ss/src/telatci.c
index 29df523..ec1904c 100644
--- a/marvell/lte-telephony/apps/atcmd_server_ss/src/telatci.c
+++ b/marvell/lte-telephony/apps/atcmd_server_ss/src/telatci.c
@@ -143,6 +143,9 @@
extern int gCurrentCgerepMode[NUM_OF_TEL_ATP];
extern int gRequestCgerepMode[NUM_OF_TEL_ATP];
+#ifdef MBTK_AT_SUPPORT
+extern bool mbtk_urc_enable;
+#endif
extern UINT8 GetMsgWaitCount(void);
/**********************************************************************
@@ -1358,6 +1361,11 @@
if(((atHandle == IND_REQ_HANDLE) ||(atHandle == IND_REQ_HANDLE_1))
&&(respString != NULL)){
+ #ifdef MBTK_AT_SUPPORT
+ if(!mbtk_urc_enable) {
+ return 0;
+ }
+ #endif
//DBGMSG(atRespStr2, "PROXY_DEBUG -atRespStr,%d- received an indication str %s\n ",
// __LINE__, respString);
diff --git a/marvell/lte-telephony/apps/atcmd_server_ss/src/telcontroller.c b/marvell/lte-telephony/apps/atcmd_server_ss/src/telcontroller.c
index 2893280..33b828b 100644
--- a/marvell/lte-telephony/apps/atcmd_server_ss/src/telcontroller.c
+++ b/marvell/lte-telephony/apps/atcmd_server_ss/src/telcontroller.c
@@ -90,6 +90,9 @@
#include "ursp.h"
#endif
+#ifdef MBTK_AT_SUPPORT
+#include "mbtk_device_info.h"
+#endif
/******************************************************************************
* Define
******************************************************************************/
@@ -1064,7 +1067,7 @@
utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
-#if defined(ATCMD_1901_CI) || defined(ATCMD_1903_CI)
+#if defined(ATCMD_1901_CI) || defined(ATCMD_1903_CI) || defined(MBTK_AT_SUPPORT)
utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
#endif
};
@@ -2645,6 +2648,17 @@
#endif
#endif
+#ifdef MBTK_AT_SUPPORT
+ #define MBTK_AT_COMMAND_PARAM
+ #include "mbtk_at_tables.h"
+ #undef MBTK_AT_COMMAND_PARAM
+#endif
+
+#ifdef MBTK_AT_SUPPORT
+ #define MBTK_AT_COMMAND_FUNCTION
+ #include "mbtk_at_tables.h"
+ #undef MBTK_AT_COMMAND_FUNCTION
+#endif
static utlAtCommand_T shell_commands[] = {
utlDEFINE_BASIC_AT_COMMAND("E", E_params, atParserShellSetFunction),
@@ -3013,7 +3027,11 @@
utlDEFINE_EXTENDED_AT_COMMAND("*CP_MIPS", starMRD_MIPS_params, "*CP_MIPS=<a>,<f>[,<v>,<d>]", AtMrdMips, AtMrdMips), // store or delete a communication data file (CDF) to the MRD
utlDEFINE_EXTENDED_AT_COMMAND("*MRD_ADF", starMRD_ADF_params, "*MRD_ADF=<a>,<f>[,<v>,<d>]", AtMrdAdf, AtMrdAdf), // store or delete a communication data file (CDF) to the MRD
utlDEFINE_EXTENDED_AT_COMMAND("*MRD_CDF", starMRD_CDF_params, "*MRD_CDF=<a>,<f>[,<v>,<d>]", AtMrdCdf, AtMrdCdf), // store or delete a communication data file (CDF) to the MRD
+#ifdef MBTK_AT_SUPPORT
+ utlDEFINE_EXTENDED_AT_COMMAND("+MRD_SN", starMRD_SN_params, "+MRD_SN=<a>,[<v>,<d>,<s>]", AtMrdSn, AtMrdSn), // write, read or delete the serial number to/from the MRD
+#else
utlDEFINE_EXTENDED_AT_COMMAND("*MRD_SN", starMRD_SN_params, "*MRD_SN=<a>,[<v>,<d>,<s>]", AtMrdSn, AtMrdSn), // write, read or delete the serial number to/from the MRD
+#endif
utlDEFINE_EXTENDED_AT_COMMAND("*MRD_IMEI", starMRD_IMEI_params, "*MRD_IMEI=<a>[,<v>,<d>,<s>,<n>]", AtMrdImei, AtMrdImei), // write, read or delete the IMEI number.
utlDEFINE_EXTENDED_AT_COMMAND("*CALINFO", starCALINFO_params, "*CALINFO=<a>,[<type>,<value>]", AtCalInfo, AtCalInfo),
utlDEFINE_EXTENDED_AT_COMMAND("*MRD_MEP", starMRD_MEP_params, "*MRD_MEP=<a>[,<v>,<d>,<cat>,<s1>[,<s2>[,<s3>,<s4>[,<s5>,<s6>,<s7>[,<s8>,<s9>[,<n>]]]]]]", AtMrdMep, AtMrdMep), // write, read or delete the MEP data.
@@ -3321,7 +3339,11 @@
utlDEFINE_EXTENDED_AT_COMMAND("*BTSTP", starBTSTP_params, "*BTSTP:(0,1)", ciBTSTransportProtocol, ciBTSTransportProtocol),
#endif
utlDEFINE_EXTENDED_AT_COMMAND("+OPERCFG", opercfg_params, "+OPERCFG=<feature1>,<value1>[,<feature2>,<value2>,....]", ciSetOperCfg, ciSetOperCfg),
- utlDEFINE_EXTENDED_AT_COMMAND("*ICCID", NULL, "*ICCID:", ciICCID, ciICCID),
+#ifdef MBTK_AT_SUPPORT
+ utlDEFINE_EXTENDED_MBTK_AT_COMMAND("+ICCID", NULL, "+ICCID:", NULL, ciICCID),
+#else
+ utlDEFINE_EXTENDED_AT_COMMAND("*ICCID", NULL, "*ICCID:", ciICCID, ciICCID),
+#endif
utlDEFINE_EXTENDED_AT_COMMAND("*PARK", starPARK_params, "*PARK:", ciPARK, ciPARK),
utlDEFINE_EXTENDED_AT_COMMAND("*CHECKEMER", startCheckEmer_params, "*CHECKEMER: <Emergency Call Number>", CheckEmergNumber, CheckEmergNumber),
@@ -3489,7 +3511,12 @@
#endif
#endif
#endif
-
+
+#ifdef MBTK_AT_SUPPORT
+ #define MBTK_AT_COMMAND_SHELL
+ #include "mbtk_at_tables.h"
+ #undef MBTK_AT_COMMAND_SHELL
+#endif
};
const utlAtCommand_T * const pshell_commands = shell_commands;
@@ -3532,6 +3559,8 @@
pthread_mutex_t gTimeoutTableLock = PTHREAD_MUTEX_INITIALIZER;
#ifdef MBTK_AT_SUPPORT
+mbtk_dev_info dev_infos = {.inited = FALSE};
+void dev_info_set(mbtk_dev_info *info);
#define EXT_SOCKET_NAME "/tmp/atcmdext" //LYNQ_MODFIY for gsw ext_at
//LYNQ_MODFIY_START for gsw ext_at
#define SOCKET_ZERO 0
@@ -3835,6 +3864,26 @@
pthread_mutex_unlock(&s_startupMutex);
}
//LYNQ_MODFIY_END for gsw ext_at
+static void mbtk_at_init_complete(TelAtParserID atpIndex)
+{
+ if(dev_infos.inited)
+ return;
+
+ memset(&dev_infos, 0x0, sizeof(mbtk_dev_info));
+ CiReturnCode ret = CIRC_FAIL;
+
+ UINT32 atHandle = MAKE_AT_HANDLE(atpIndex);
+ ret = DEV_GetSerialNumId(atHandle);
+ if(ret != CIRC_SUCCESS) {
+ ERRMSG(MBKT_AT, "GET IMEI fail.");
+ return;
+ }
+
+ DBGMSG(MBKT_AT, "GET IMEI : %s.", dev_infos.imei);
+
+ dev_info_set(&dev_infos);
+ dev_infos.inited = TRUE;
+}
#endif
@@ -4007,6 +4056,9 @@
{
unsigned char null_buf[1];
+#ifdef MBTK_AT_SUPPORT
+ mbtk_at_init_complete(sAtpIndex);
+#endif
//DBGMSG(ProcessAtChanThread3, "ProcessAtChanThread: parser_p %d run atparser to process next command\n", sAtpIndex);
utlAtParse(aParser_p[sAtpIndex], null_buf, 0);
continue;
@@ -4205,6 +4257,7 @@
writeATcmd2file(buffer);
ERRMSG(ProcessAtChanThread8, "[ProcessAtChanThread](length=%d):%s\n", received, buffer);
#ifdef MBTK_AT_SUPPORT
+ mbtk_at_init_complete(sAtpIndex);
//LYNQ_MODFIY_START for gsw ext_at
extID = sAtpIndex;
if(mbtk_check_extension_atcmd(buffer) == 0)
@@ -4519,6 +4572,9 @@
#ifdef LPA_SUPPORT
DEFINE_SIM1_NO_INDICATION_CHANEL_DESC(TEL_SOCKET_AT_CMD_ATP_BEGIN, "atcmdLpa", FALSE),
#endif
+#ifdef MBTK_AT_SUPPORT
+ DEFINE_MASTER_SIM_CHANEL_DESC(TEL_SOCKET_AT_CMD_ATP_BEGIN, "atcmdmbtk", FALSE),
+#endif
};
unsigned int i;
@@ -4747,7 +4803,11 @@
//
// Set the Manufacturer ID
//
- if (utlAtParserOp(aParser_p[index], utlAT_PARSER_OP_SET_MANUFACTURER, ATM_MANUFACTURER_ID) != utlSUCCESS)
+#ifdef MBTK_AT_SUPPORT
+ if (utlAtParserOp(aParser_p[index], utlAT_PARSER_OP_SET_MANUFACTURER, MBTK_DEVICES_MANUFACTURER) != utlSUCCESS)
+#else
+ if (utlAtParserOp(aParser_p[index], utlAT_PARSER_OP_SET_MANUFACTURER, ATM_MANUFACTURER_ID) != utlSUCCESS)
+#endif
{
ERRMSG(tcInitAtParser9, "Set Manufacturer ID Error\n");
return FALSE;
@@ -4756,7 +4816,11 @@
//
// Set Model ID
//
+#ifdef MBTK_AT_SUPPORT
+ if (utlAtParserOp(aParser_p[index], utlAT_PARSER_OP_SET_MODEL, MBTK_DEVICES_MODEL) != utlSUCCESS)
+#else
if (utlAtParserOp(aParser_p[index], utlAT_PARSER_OP_SET_MODEL, ATM_MODEL_ID) != utlSUCCESS)
+#endif
{
ERRMSG(tcInitAtParser10, "Set Model ID Error\n");
return FALSE;
diff --git a/marvell/lte-telephony/apps/atcmd_server_ss/src/teldev.c b/marvell/lte-telephony/apps/atcmd_server_ss/src/teldev.c
index c05808e..0337fd3 100644
--- a/marvell/lte-telephony/apps/atcmd_server_ss/src/teldev.c
+++ b/marvell/lte-telephony/apps/atcmd_server_ss/src/teldev.c
@@ -48,6 +48,10 @@
#include <unistd.h>
#include <sys/wait.h>
+#ifdef MBTK_AT_SUPPORT
+#include "mbtk_device_info.h"
+#endif
+
extern char * getAsrFlagPath(void);
extern unsigned char *cp_set_ddr_flag(int offset, unsigned int value);
char internalRevisionId[MAX_INTERNALREVISION_ID_LENGTH + 1] = "unknown";
@@ -9091,7 +9095,11 @@
{
case TEL_EXT_ACTION_CMD: /* AT+ZVN */
{
- sprintf(respbuf, "%s", VENDOR_SW_VERSION);
+#ifdef MBTK_AT_SUPPORT
+ sprintf(respbuf, "%s", MBTK_DEVICES_REVISION);
+#else
+ sprintf(respbuf, "%s", VENDOR_SW_VERSION);
+#endif
ret = ATRESP( atHandle, ATCI_RESULT_CODE_OK, 0, respbuf);
break;
}
diff --git a/marvell/lte-telephony/apps/atcmd_server_ss/src/telprod.c b/marvell/lte-telephony/apps/atcmd_server_ss/src/telprod.c
index 74b4fe4..d107523 100644
--- a/marvell/lte-telephony/apps/atcmd_server_ss/src/telprod.c
+++ b/marvell/lte-telephony/apps/atcmd_server_ss/src/telprod.c
@@ -2013,7 +2013,11 @@
{
case MRD_FILE_NOT_FOUND_ERROR :
{
+#ifdef MBTK_AT_SUPPORT
+ ret = ATRESP( atHandle,ATCI_RESULT_CODE_OK, 0, NULL);
+#else
ret = ATRESP( atHandle,ATCI_RESULT_CODE_CME_ERROR,CME_NOT_FOUND, NULL);
+#endif
break;
}
case MRD_NO_ERROR :
@@ -2058,7 +2062,11 @@
strncpy(Datebuf,ctime((time_t *)&lDate),24);//ignore '\n'
}
Datebuf[24] = '\0';
+#ifdef MBTK_AT_SUPPORT
+ sprintf(Buf,"%s:%s,%s,%s\n\r", command_name_p, Version, Datebuf, serial);
+#else
sprintf(Buf,"*MRD_SN:%s,%s,%s\n\r", Version, Datebuf, serial);
+#endif
ret = ATRESP( atHandle,ATCI_RESULT_CODE_OK,0, Buf);
}
else// Missing SN
@@ -2094,7 +2102,11 @@
break;
}
- sprintf(Buf,"*MRD_SN:%s\n\r", serial);
+#ifdef MBTK_AT_SUPPORT
+ sprintf(Buf,"%s:%s\n\r", command_name_p, serial);
+#else
+ sprintf(Buf,"*MRD_SN:%s\n\r", serial);
+#endif
ret = ATRESP( atHandle,ATCI_RESULT_CODE_OK, 0, Buf);
}
else
diff --git a/marvell/lte-telephony/apps/atcmd_server_ss/src/telsim.c b/marvell/lte-telephony/apps/atcmd_server_ss/src/telsim.c
index 04cfc93..9f5e766 100644
--- a/marvell/lte-telephony/apps/atcmd_server_ss/src/telsim.c
+++ b/marvell/lte-telephony/apps/atcmd_server_ss/src/telsim.c
@@ -3620,7 +3620,11 @@
switch (op)
{
+#ifdef MBTK_AT_SUPPORT
+ case TEL_EXT_ACTION_CMD: /* AT+ICCID */
+#else
case TEL_EXT_GET_CMD: /* AT*ICCID? */
+#endif
{
//INFOMSG(ciICCID1, "SIM_GetICCID");
ret = SIM_GetICCID(atHandle);
@@ -3628,7 +3632,11 @@
}
case TEL_EXT_SET_CMD: /* AT*ICCID=*/
case TEL_EXT_TEST_CMD: /* AT*ICCID=? */
+#ifdef MBTK_AT_SUPPORT
+ case TEL_EXT_GET_CMD: /* AT+ICCID? */
+#else
case TEL_EXT_ACTION_CMD: /* AT*ICCID */
+#endif
default:
{
ret = ATRESP( atHandle, ATCI_RESULT_CODE_CME_ERROR, CME_OPERATION_NOT_SUPPORTED, NULL);