Revert "Revert "Fix device_info for v1/v2.""
This reverts commit 7514c31bc41f710de696c1b9c8ba446482eea641.
Reason for revert: okay
Change-Id: I2c8d1230db2998acc728dcd5496e71c1a9ca2eff
diff --git a/mbtk/device_info_generate b/mbtk/device_info_generate
index 5d7e738..e88914e 100755
--- a/mbtk/device_info_generate
+++ b/mbtk/device_info_generate
Binary files differ
diff --git a/mbtk/include/mbtk/mbtk_device.h b/mbtk/include/mbtk/mbtk_device.h
index f7e7cef..b2f1729 100755
--- a/mbtk/include/mbtk/mbtk_device.h
+++ b/mbtk/include/mbtk/mbtk_device.h
@@ -6,17 +6,15 @@
* Author : lb
* Date : 2023/12/30 11:36:35
*/
-#ifndef _MBTK_DEVICE_V2_H
-#define _MBTK_DEVICE_V2_H
+#ifndef _MBTK_DEVICE_H
+#define _MBTK_DEVICE_H
//#include "mbtk_type.h"
#define MBTK_DEVICE_INFO_PARTITION_NAME "device_info"
#define MBTK_DEVICE_INFO_PARTITION_TAG 0x87878787
-#define MBTK_DEVICE_INFO_CURR_VERSION 2
-#define MBTK_DEV_INFO_PARTITION_ADDR 0x02A20000
+#define MBTK_DEV_INFO_PARTITION_ADDR 0x005C0000
-// 78,147,482,134742231
#define MBTK_BAND_ALL_GSM_DEFAULT 78 // GSM : ASR default.
#define MBTK_BAND_ALL_WCDMA_DEFAULT 147 // WCDMA : ASR default.
#define MBTK_BAND_ALL_TDLTE_DEFAULT 482 // TDD-LTE : ASR default.
@@ -27,45 +25,11 @@
#define MBTK_BAND_ALL_NR_1_DEFAULT 256 // n41
#define MBTK_BAND_ALL_NR_0_DEFAULT 134217877 // n1/n3/n5/n8/n28
-#define MBTK_BAND_CN_GSM_DEFAULT 11 // GSM : B3/B8 (PGSM 900/DCS GSM 1800/EGSM 900)
-#define MBTK_BAND_CN_WCDMA_DEFAULT 145 // WCDMA : B1/B5/B8
-#define MBTK_BAND_CN_TDLTE_DEFAULT 482 // TDD-LTE : B34/B38/B39/B40/B41
-#define MBTK_BAND_CN_FDDLTE_DEFAULT 149 // FDD-LTE : B1/B3/B5/B8
-#define MBTK_BAND_CN_EXT_LTE_DEFAULT 0 // EXT-LTE
-#define MBTK_BAND_CN_NR_3_DEFAULT 0
-#define MBTK_BAND_CN_NR_2_DEFAULT 24576 // n78/n79
-#define MBTK_BAND_CN_NR_1_DEFAULT 384 // n40/n41
-#define MBTK_BAND_CN_NR_0_DEFAULT 134217877 // n1/n3/n5/n8/n28
-
-#define MBTK_BAND_EU_GSM_DEFAULT 11 // GSM : B3/B8 (PGSM 900/DCS GSM 1800/EGSM 900)
-#define MBTK_BAND_EU_WCDMA_DEFAULT 145 // WCDMA : B1/B5/B8
-#define MBTK_BAND_EU_TDLTE_DEFAULT 416 // TDD-LTE : B38/B40/B41
-#define MBTK_BAND_EU_FDDLTE_DEFAULT 134742229 // FDD-LTE : B1/B3/B5/B7/B8/B20/B28
-#define MBTK_BAND_EU_EXT_LTE_DEFAULT 0 // EXT-LTE
-#define MBTK_BAND_EU_NR_3_DEFAULT 0
-#define MBTK_BAND_EU_NR_2_DEFAULT 12352 // n71/n77/n78
-#define MBTK_BAND_EU_NR_1_DEFAULT 416 // n38/n40/n41
-#define MBTK_BAND_EU_NR_0_DEFAULT 134742229 // n1/n3/n5/n7/n8/n20/n28
-
-#define MBTK_BAND_SA_GSM_DEFAULT 79 // GSM : B2/B3/B5/B8(GSM 850/PGSM 900/EGSM 900/DCS GSM 1800/PCS GSM 1900)
-#define MBTK_BAND_SA_WCDMA_DEFAULT 155 // WCDMA : B1/B2/B4/B5/B8
-#define MBTK_BAND_SA_TDLTE_DEFAULT 128 // TDD-LTE : B40
-#define MBTK_BAND_SA_FDDLTE_DEFAULT 134217951 // FDD-LTE : B1/B2/B3/B4/B5/B7/B8/B28
-#define MBTK_BAND_SA_EXT_LTE_DEFAULT 2 // EXT-LTE : B66
-#define MBTK_BAND_SA_NR_3_DEFAULT MBTK_BAND_ALL_NR_3_DEFAULT
-#define MBTK_BAND_SA_NR_2_DEFAULT MBTK_BAND_ALL_NR_2_DEFAULT
-#define MBTK_BAND_SA_NR_1_DEFAULT MBTK_BAND_ALL_NR_1_DEFAULT
-#define MBTK_BAND_SA_NR_0_DEFAULT MBTK_BAND_ALL_NR_0_DEFAULT
-
#define MBTK_DEVICE_INFO_ITEM_STR_BASIC "BASIC"
#define MBTK_DEVICE_INFO_ITEM_STR_FOTA "FOTA"
#define MBTK_DEVICE_INFO_ITEM_STR_MODEM "MODEM"
#define MBTK_DEVICE_INFO_ITEM_STR_LOG "LOG"
-#define MBTK_DEVICE_INFO_ITEM_ADDR_BASIC 0x100 // Header is 0x100
-#define MBTK_DEVICE_INFO_ITEM_ADDR_FOTA 0x500 // Basic is 1k
-#define MBTK_DEVICE_INFO_ITEM_ADDR_MODEM 0x900 // Fota is 1k
-#define MBTK_DEVICE_INFO_ITEM_ADDR_LOG 0xD00 // Modem is 1k
#define MBTK_NET_SUPPORT_2G (1)
#define MBTK_NET_SUPPORT_3G (1<<1)
@@ -94,6 +58,11 @@
} mbtk_device_info_header_t;
typedef enum {
+ DEV_INFO_VERSION_V1 = 1,
+ DEV_INFO_VERSION_V2,
+} mbtk_device_info_version_enum;
+
+typedef enum {
MBTK_REBOOT_FLAG_NORMAL = 0,
MBTK_REBOOT_FLAG_DOWNLOAD,
MBTK_REBOOT_FLAG_POWER_OFF, //Power off and restart
@@ -113,13 +82,41 @@
uint8 revision_out[48]; // L508_X6v01.01b04.00
uint8 revision_in[64];
uint8 build_time[64];
- uint8 asr_baseline[64];
+} mbtk_device_info_basic_v1_t;
+
+typedef struct {
+ uint8 name[16];
+ uint32 version; // Default : 0x01
+ uint8 project[16]; // T108 / L508_X6
+ uint8 project_cust[16]; // T108_C1 / L508_X6_C1 (Refer to: Custom_Model in blf file.)
+ uint32 ab_support; // 1 for ab
+ mbtk_device_info_reboot_flag_enum reboot_flag;
+ uint8 revision_out[48]; // L508_X6v01.01b04.00
+ uint8 revision_in[64];
+ uint8 build_time[64];
+ uint8 asr_baseline[128];
+} mbtk_device_info_basic_v2_t;
+
+typedef struct {
+ mbtk_device_info_version_enum version;
+ union {
+ mbtk_device_info_basic_v1_t v1;
+ mbtk_device_info_basic_v2_t v2;
+ } basic;
} mbtk_device_info_basic_t;
typedef struct {
uint8 name[16];
uint32 version; // Default : 0x01
uint32 state; //
+} mbtk_device_info_fota_v1_t, mbtk_device_info_fota_v2_t;
+
+typedef struct {
+ mbtk_device_info_version_enum version;
+ union {
+ mbtk_device_info_fota_v1_t v1;
+ mbtk_device_info_fota_v2_t v2;
+ } fota;
} mbtk_device_info_fota_t;
typedef enum {
@@ -133,6 +130,17 @@
uint8 name[16];
uint32 version; // Default : 0x01
mbtk_modem_band_area_enum band_area;
+ uint32 band_gsm;
+ uint32 band_wcdma;
+ uint32 band_tdlte;
+ uint32 band_fddlte;
+ uint32 band_lte_ext;
+} mbtk_device_info_modem_v1_t;
+
+typedef struct {
+ uint8 name[16];
+ uint32 version; // Default : 0x01
+ mbtk_modem_band_area_enum band_area;
uint32 net_pref; // Refor to : mbtk_net_pref_enum
uint32 net_support; // 1:GSM 2:WCDMA 4:LTE 8:NR
uint32 band_gsm;
@@ -144,25 +152,33 @@
uint32 band_nr_2;
uint32 band_nr_1;
uint32 band_nr_0;
+} mbtk_device_info_modem_v2_t;
+
+typedef struct {
+ mbtk_device_info_version_enum version;
+ union {
+ mbtk_device_info_modem_v1_t v1;
+ mbtk_device_info_modem_v2_t v2;
+ } modem;
} mbtk_device_info_modem_t;
typedef struct {
uint8 name[16];
uint32 version; // Default : 0x01
uint32 state; //
+} mbtk_device_info_log_v1_t, mbtk_device_info_log_v2_t;
+
+typedef struct {
+ mbtk_device_info_version_enum version;
+ union {
+ mbtk_device_info_log_v1_t v1;
+ mbtk_device_info_log_v2_t v2;
+ } log;
} mbtk_device_info_log_t;
-
-/*
-* MBTK_DEVICE_INFO_ITEM_BASIC - mbtk_device_info_basic_t
-* MBTK_DEVICE_INFO_ITEM_FOTA - mbtk_device_info_fota_t
-* MBTK_DEVICE_INFO_ITEM_MODEM - mbtk_device_info_modem_t
-* MBTK_DEVICE_INFO_ITEM_LOG - mbtk_device_info_log_t
-*/
int mbtk_dev_info_read(mbtk_device_info_item_enum item_type, void *item_ptr, int item_size);
int mbtk_dev_info_write(mbtk_device_info_item_enum item_type, void *item_ptr, int item_size);
int mbtk_dev_info_revision_get(char *revision_out, char *revision_in, char *project_cust, char *band_area,
char* build_time);
-#endif /* _MBTK_DEVICE_V2_H */
-
+#endif /* _MBTK_DEVICE_H */
diff --git a/mbtk/mbtk_at/asr/mbtk_device_info.c b/mbtk/mbtk_at/asr/mbtk_device_info.c
index 1158301..e1238a6 100755
--- a/mbtk/mbtk_at/asr/mbtk_device_info.c
+++ b/mbtk/mbtk_at/asr/mbtk_device_info.c
@@ -61,11 +61,20 @@
return -1;
}
- if(strlen(info_basic.revision_out) > 0) {
- memcpy(revision_out, info_basic.revision_out, strlen(info_basic.revision_out));
- }
- if(strlen(info_basic.revision_in) > 0) {
- memcpy(revision_in, info_basic.revision_in, strlen(info_basic.revision_in));
+ if(info_basic.version == DEV_INFO_VERSION_V1) {
+ if(strlen(info_basic.basic.v1.revision_out) > 0) {
+ memcpy(revision_out, info_basic.basic.v1.revision_out, strlen(info_basic.basic.v1.revision_out));
+ }
+ if(strlen(info_basic.basic.v1.revision_in) > 0) {
+ memcpy(revision_in, info_basic.basic.v1.revision_in, strlen(info_basic.basic.v1.revision_in));
+ }
+ } else {
+ if(strlen(info_basic.basic.v2.revision_out) > 0) {
+ memcpy(revision_out, info_basic.basic.v2.revision_out, strlen(info_basic.basic.v2.revision_out));
+ }
+ if(strlen(info_basic.basic.v2.revision_in) > 0) {
+ memcpy(revision_in, info_basic.basic.v2.revision_in, strlen(info_basic.basic.v2.revision_in));
+ }
}
dev_info_inited = TRUE;
return 0;
diff --git a/mbtk/mbtk_at/src/mbtk_at_basic.c b/mbtk/mbtk_at/src/mbtk_at_basic.c
index 55638ef..77be9bf 100755
--- a/mbtk/mbtk_at/src/mbtk_at_basic.c
+++ b/mbtk/mbtk_at/src/mbtk_at_basic.c
@@ -734,13 +734,23 @@
{
char resp_buf[MBTK_AT_RESP_LEN_MAX] = {0};
if(!dev_info_get()) {
- snprintf(resp_buf, MBTK_AT_RESP_LEN_MAX,
- "Revision:%s\r\n"
- "Custom_Model:%s\r\n"
- "Module_Type:%s\r\n",
- strlen(info_basic.revision_out) > 0 ? info_basic.revision_out: "Unknown",
- strlen(info_basic.project_cust) > 0 ? info_basic.project_cust: "Unknown",
- band_area_2_str(info_modem.band_area));
+ if(info_basic.version == DEV_INFO_VERSION_V1) {
+ snprintf(resp_buf, MBTK_AT_RESP_LEN_MAX,
+ "Revision:%s\r\n"
+ "Custom_Model:%s\r\n"
+ "Module_Type:%s\r\n",
+ strlen(info_basic.basic.v1.revision_out) > 0 ? info_basic.basic.v1.revision_out: "Unknown",
+ strlen(info_basic.basic.v1.project_cust) > 0 ? info_basic.basic.v1.project_cust: "Unknown",
+ band_area_2_str(info_modem.modem.v1.band_area));
+ } else {
+ snprintf(resp_buf, MBTK_AT_RESP_LEN_MAX,
+ "Revision:%s\r\n"
+ "Custom_Model:%s\r\n"
+ "Module_Type:%s\r\n",
+ strlen(info_basic.basic.v2.revision_out) > 0 ? info_basic.basic.v2.revision_out: "Unknown",
+ strlen(info_basic.basic.v2.project_cust) > 0 ? info_basic.basic.v2.project_cust: "Unknown",
+ band_area_2_str(info_modem.modem.v2.band_area));
+ }
} else {
snprintf(resp_buf, MBTK_AT_RESP_LEN_MAX,
"Revision:%s\r\n"
@@ -1003,9 +1013,15 @@
{
char resp_buf[MBTK_AT_RESP_LEN_MAX] = {0};
if(!dev_info_get()) {
- snprintf(resp_buf, MBTK_AT_RESP_LEN_MAX, "Version: %s\r\nBuild time: %s\r\n",
- strlen(info_basic.revision_out) > 0 ? info_basic.revision_out: "Unknown",
- strlen(info_basic.build_time) > 0 ? info_basic.build_time: "Unknown");
+ if(info_basic.version == DEV_INFO_VERSION_V1) {
+ snprintf(resp_buf, MBTK_AT_RESP_LEN_MAX, "Version: %s\r\nBuild time: %s\r\n",
+ strlen(info_basic.basic.v1.revision_out) > 0 ? info_basic.basic.v1.revision_out: "Unknown",
+ strlen(info_basic.basic.v1.build_time) > 0 ? info_basic.basic.v1.build_time: "Unknown");
+ } else {
+ snprintf(resp_buf, MBTK_AT_RESP_LEN_MAX, "Version: %s\r\nBuild time: %s\r\n",
+ strlen(info_basic.basic.v2.revision_out) > 0 ? info_basic.basic.v2.revision_out: "Unknown",
+ strlen(info_basic.basic.v2.build_time) > 0 ? info_basic.basic.v2.build_time: "Unknown");
+ }
} else {
snprintf(resp_buf, MBTK_AT_RESP_LEN_MAX, "Version: %s\r\nBuild time: %s\r\n",
"Unknown", "Unknown");