Fix dev_info

Change-Id: If0239f3821c5ff984a35c43cb528f09eafcbf3e5
diff --git a/mbtk/mbtk_utils_linux/device_info_generate.c b/mbtk/mbtk_utils_linux/device_info_generate.c
index e1341df..9744aab 100755
--- a/mbtk/mbtk_utils_linux/device_info_generate.c
+++ b/mbtk/mbtk_utils_linux/device_info_generate.c
@@ -57,11 +57,17 @@
     .name = MBTK_DEVICE_INFO_ITEM_STR_MODEM,
     .version = MBTK_DEVICE_INFO_CURR_VERSION,
     .band_area = MBTK_MODEM_BAND_AREA_ALL,  // Default for all bands.
+    .net_pref = 15,        // Default *band is 15
+    .net_support = MBTK_NET_SUPPORT_2G | MBTK_NET_SUPPORT_3G | MBTK_NET_SUPPORT_4G,      // Default support 2G/3G/4G
     .band_gsm = MBTK_BAND_ALL_GSM_DEFAULT,
     .band_wcdma = MBTK_BAND_ALL_WCDMA_DEFAULT,
     .band_tdlte = MBTK_BAND_ALL_TDLTE_DEFAULT,
     .band_fddlte = MBTK_BAND_ALL_FDDLTE_DEFAULT,
-    .band_lte_ext = MBTK_BAND_ALL_EXT_LTE_DEFAULT
+    .band_lte_ext = MBTK_BAND_ALL_EXT_LTE_DEFAULT,
+    .band_nr_3 = MBTK_BAND_ALL_NR_3_DEFAULT,
+    .band_nr_2 = MBTK_BAND_ALL_NR_2_DEFAULT,
+    .band_nr_1 = MBTK_BAND_ALL_NR_1_DEFAULT,
+    .band_nr_0 = MBTK_BAND_ALL_NR_0_DEFAULT
 };
 
 static mbtk_device_info_log_t item_log = {
@@ -73,7 +79,7 @@
 static void help()
 {
 #ifdef MBTK_DEV_INFO_VERSION_2
-    printf("device_info_generate -a [a/ab] -b [revision_out] -c [revision_in] -d [project] -e [project_cust] -f [cn/eu/all] -g [build_time] -h [net_pref] -o [out_bin]\n");
+    printf("device_info_generate -a [a/ab] -b [revision_out] -c [revision_in] -d [project] -e [project_cust] -f [cn/eu/all] -g [build_time] -h [net_pref] -i [net_support] -o [out_bin]\n");
 #else
     printf("device_info_generate -a [a/ab] -b [revision_out] -c [revision_in] -d [project] -e [project_cust] -f [cn/eu/all] -g [build_time] -o [out_bin]\n");
 #endif
@@ -158,6 +164,44 @@
     return 0;
 }
 
+static char* net_support_str_get(uint32 net_support)
+{
+    static char net_str[100] = {0};
+
+    if(net_support & 0x01) { // GSM
+        if(strlen(net_str) > 0) {
+            strcat(net_str, "/2G");
+        } else {
+            strcat(net_str, "2G");
+        }
+    }
+
+    if(net_support & 0x02) { // WCDMA
+        if(strlen(net_str) > 0) {
+            strcat(net_str, "/3G");
+        } else {
+            strcat(net_str, "3G");
+        }
+    }
+
+    if(net_support & 0x04) { // LTE
+        if(strlen(net_str) > 0) {
+            strcat(net_str, "/4G");
+        } else {
+            strcat(net_str, "4G");
+        }
+    }
+
+    if(net_support & 0x08) { // NR
+        if(strlen(net_str) > 0) {
+            strcat(net_str, "/5G");
+        } else {
+            strcat(net_str, "5G");
+        }
+    }
+    return net_str;
+}
+
 /*
 *
 * device_info_generate -a [a/ab] -b [revision_out] -c [revision_in] -d [project] -e [project_cust] -f [cn/eu/sa/all] -o [out_bin]
@@ -168,7 +212,7 @@
     int ch;
     char out_bin[128] = {0};
 #ifdef MBTK_DEV_INFO_VERSION_2
-    while((ch = getopt(argc, argv, "a:b:c:d:e:f:g:h:o:"))!= -1){
+    while((ch = getopt(argc, argv, "a:b:c:d:e:f:g:h:i:o:"))!= -1){
 #else
     while((ch = getopt(argc, argv, "a:b:c:d:e:f:g:o:"))!= -1){
 #endif
@@ -208,6 +252,10 @@
                     item_modem.band_tdlte = MBTK_BAND_CN_TDLTE_DEFAULT;
                     item_modem.band_fddlte = MBTK_BAND_CN_FDDLTE_DEFAULT;
                     item_modem.band_lte_ext = MBTK_BAND_CN_EXT_LTE_DEFAULT;
+                    item_modem.band_nr_3 = MBTK_BAND_CN_NR_3_DEFAULT;
+                    item_modem.band_nr_2 = MBTK_BAND_CN_NR_2_DEFAULT;
+                    item_modem.band_nr_1 = MBTK_BAND_CN_NR_1_DEFAULT;
+                    item_modem.band_nr_0 = MBTK_BAND_CN_NR_0_DEFAULT;
                 } else if(strcmp(optarg, "eu") == 0) {
                     item_modem.band_area = MBTK_MODEM_BAND_AREA_EU;
                     item_modem.band_gsm = MBTK_BAND_EU_GSM_DEFAULT;
@@ -215,6 +263,10 @@
                     item_modem.band_tdlte = MBTK_BAND_EU_TDLTE_DEFAULT;
                     item_modem.band_fddlte = MBTK_BAND_EU_FDDLTE_DEFAULT;
                     item_modem.band_lte_ext = MBTK_BAND_EU_EXT_LTE_DEFAULT;
+                    item_modem.band_nr_3 = MBTK_BAND_EU_NR_3_DEFAULT;
+                    item_modem.band_nr_2 = MBTK_BAND_EU_NR_2_DEFAULT;
+                    item_modem.band_nr_1 = MBTK_BAND_EU_NR_1_DEFAULT;
+                    item_modem.band_nr_0 = MBTK_BAND_EU_NR_0_DEFAULT;
                 } else if(strcmp(optarg, "sa") == 0) {
                     item_modem.band_area = MBTK_MODEM_BAND_AREA_SA;
                     item_modem.band_gsm = MBTK_BAND_SA_GSM_DEFAULT;
@@ -222,6 +274,10 @@
                     item_modem.band_tdlte = MBTK_BAND_SA_TDLTE_DEFAULT;
                     item_modem.band_fddlte = MBTK_BAND_SA_FDDLTE_DEFAULT;
                     item_modem.band_lte_ext = MBTK_BAND_SA_EXT_LTE_DEFAULT;
+                    item_modem.band_nr_3 = MBTK_BAND_SA_NR_3_DEFAULT;
+                    item_modem.band_nr_2 = MBTK_BAND_SA_NR_2_DEFAULT;
+                    item_modem.band_nr_1 = MBTK_BAND_SA_NR_1_DEFAULT;
+                    item_modem.band_nr_0 = MBTK_BAND_SA_NR_0_DEFAULT;
                 } else {
                     item_modem.band_area = MBTK_MODEM_BAND_AREA_ALL;
                     item_modem.band_gsm = MBTK_BAND_ALL_GSM_DEFAULT;
@@ -229,6 +285,10 @@
                     item_modem.band_tdlte = MBTK_BAND_ALL_TDLTE_DEFAULT;
                     item_modem.band_fddlte = MBTK_BAND_ALL_FDDLTE_DEFAULT;
                     item_modem.band_lte_ext = MBTK_BAND_ALL_EXT_LTE_DEFAULT;
+                    item_modem.band_nr_3 = MBTK_BAND_ALL_NR_3_DEFAULT;
+                    item_modem.band_nr_2 = MBTK_BAND_ALL_NR_2_DEFAULT;
+                    item_modem.band_nr_1 = MBTK_BAND_ALL_NR_1_DEFAULT;
+                    item_modem.band_nr_0 = MBTK_BAND_ALL_NR_0_DEFAULT;
                     printf("Set to default band.\n");
                 }
                 break;
@@ -237,6 +297,11 @@
                 item_modem.net_pref = (uint32)atoi(optarg);
                 printf("Set net_pref to %d success.\n", item_modem.net_pref);
                 break;
+            case 'i':
+                item_modem.net_support = (uint32)atoi(optarg);
+                printf("Set net_support to %d(%s) success.\n", item_modem.net_support,
+                    net_support_str_get(item_modem.net_support));
+                break;
 #endif
             case 'g':
                 if(strlen(optarg) > 0)