Fix dev_info

Change-Id: If0239f3821c5ff984a35c43cb528f09eafcbf3e5
diff --git a/mbtk/mbtk_rild_v2/src/ril_net.c b/mbtk/mbtk_rild_v2/src/ril_net.c
index 502d49e..6f2ad50 100755
--- a/mbtk/mbtk_rild_v2/src/ril_net.c
+++ b/mbtk/mbtk_rild_v2/src/ril_net.c
@@ -259,7 +259,9 @@
     int err = -1;
 
     if(band->gsm_band == 0 && band->umts_band == 0
-        && band->tdlte_band == 0 && band->fddlte_band == 0) {
+        && band->tdlte_band == 0 && band->fddlte_band == 0 && band->lte_ext_band == 0
+        && band->nr_3_band == 0 && band->nr_2_band == 0
+        && band->nr_1_band == 0 && band->nr_0_band == 0) {
         sprintf(cmd, "AT*BAND=%d", band->net_pref);
     } else {
         log_hex("BAND_SUPPORT", &band_info.band_support, sizeof(mbtk_band_info_t));
@@ -277,6 +279,21 @@
         if(band->fddlte_band == 0) {
             band->fddlte_band = band_info.band_support.fddlte_band;
         }
+        if(band->lte_ext_band == 0) {
+            band->lte_ext_band = band_info.band_support.lte_ext_band;
+        }
+        if(band->nr_3_band == 0) {
+            band->nr_3_band = band_info.band_support.nr_3_band;
+        }
+        if(band->nr_2_band == 0) {
+            band->nr_2_band = band_info.band_support.nr_2_band;
+        }
+        if(band->nr_1_band == 0) {
+            band->nr_1_band = band_info.band_support.nr_1_band;
+        }
+        if(band->nr_0_band == 0) {
+            band->nr_0_band = band_info.band_support.nr_0_band;
+        }
 
         if((band->gsm_band & band_info.band_support.gsm_band) != band->gsm_band) {
             LOG("GSM band error.");
@@ -303,6 +320,26 @@
             goto exit;
         }
 
+        if((band->nr_3_band & band_info.band_support.nr_3_band) != band->nr_3_band) {
+            LOG("nr_3_band band error.");
+            goto exit;
+        }
+
+        if((band->nr_2_band & band_info.band_support.nr_2_band) != band->nr_2_band) {
+            LOG("nr_2_band band error.");
+            goto exit;
+        }
+
+        if((band->nr_1_band & band_info.band_support.nr_1_band) != band->nr_1_band) {
+            LOG("nr_1_band band error.");
+            goto exit;
+        }
+
+        if((band->nr_0_band & band_info.band_support.nr_0_band) != band->nr_0_band) {
+            LOG("nr_0_band band error.");
+            goto exit;
+        }
+
         if(band->net_pref == 0xFF) { // No change net_pref.
             int tmp_int;
             err = at_send_command_singleline(port, "AT*BAND?", "*BAND:", &response);
@@ -330,10 +367,22 @@
             at_response_free(response);
         }
 
-        if(band->lte_ext_band > 0) {
-            sprintf(cmd, "AT*BAND=%d,%d,%d,%d,%d,,,,%d", band->net_pref, band->gsm_band, band->umts_band, band->tdlte_band, band->fddlte_band, band->lte_ext_band);
+        // Only support 4G/5G
+        if(band_info.net_support & MBTK_NET_SUPPORT_5G) {
+            // AT*band=19,0,0,482,134742231,0,24576,256,134217877,0
+            if(band->lte_ext_band > 0) {
+                sprintf(cmd, "AT*BAND=%d,%d,%d,%d,%d,%d,%d,%d,%d,0,,,,%d", band->net_pref, band->gsm_band, band->umts_band, band->tdlte_band, band->fddlte_band,
+                    band->nr_3_band, band->nr_2_band, band->nr_1_band, band->nr_0_band, band->lte_ext_band);
+            } else {
+                sprintf(cmd, "AT*BAND=%d,%d,%d,%d,%d,%d,%d,%d,%d,0", band->net_pref, band->gsm_band, band->umts_band, band->tdlte_band, band->fddlte_band,
+                    band->nr_3_band, band->nr_2_band, band->nr_1_band, band->nr_0_band);
+            }
         } else {
-            sprintf(cmd, "AT*BAND=%d,%d,%d,%d,%d", band->net_pref, band->gsm_band, band->umts_band, band->tdlte_band, band->fddlte_band);
+            if(band->lte_ext_band > 0) {
+                sprintf(cmd, "AT*BAND=%d,%d,%d,%d,%d,,,,%d", band->net_pref, band->gsm_band, band->umts_band, band->tdlte_band, band->fddlte_band, band->lte_ext_band);
+            } else {
+                sprintf(cmd, "AT*BAND=%d,%d,%d,%d,%d", band->net_pref, band->gsm_band, band->umts_band, band->tdlte_band, band->fddlte_band);
+            }
         }
     }
     err = at_send_command(port, cmd, &response);
@@ -364,6 +413,10 @@
 
 OK
 
+5G :
+*BAND: 19, 0, 0, 482, 149,0, 24576, 256, 134217877, 0, 0, 2, 2, 0
+
+
 // ?????????
 AT*BAND=5,79,147,128,1
 OK
@@ -473,6 +526,36 @@
     }
     band->fddlte_band = (uint32)tmp_int;
 
+    if(band_info.net_support & MBTK_NET_SUPPORT_5G) {
+        err = at_tok_nextint(&line, &tmp_int);
+        if (err < 0)
+        {
+            goto exit;
+        }
+        band->nr_3_band = (uint32)tmp_int;
+
+        err = at_tok_nextint(&line, &tmp_int);
+        if (err < 0)
+        {
+            goto exit;
+        }
+        band->nr_2_band = (uint32)tmp_int;
+
+        err = at_tok_nextint(&line, &tmp_int);
+        if (err < 0)
+        {
+            goto exit;
+        }
+        band->nr_1_band = (uint32)tmp_int;
+
+        err = at_tok_nextint(&line, &tmp_int);
+        if (err < 0)
+        {
+            goto exit;
+        }
+        band->nr_0_band = (uint32)tmp_int;
+    }
+
     // roamingConfig
     err = at_tok_nextint(&line, &tmp_int);
     if (err < 0)