[Bugfix][T108-GSW][bug-view-1583] gsw_get_cellinfo: miss info
Only Configure: No
Affected branch: unknown
Affected module: network
Is it affected on both ZXIC and ASR: only ASR
Self-test: yes
Doc Update: no
Change-Id: Ie1f0f9e6a9a7cf13627269a7063f8af5e92c06de
diff --git a/mbtk/test/libgsw_lib/gsw_nw_test.c b/mbtk/test/libgsw_lib/gsw_nw_test.c
index 5082226..67c43b8 100755
--- a/mbtk/test/libgsw_lib/gsw_nw_test.c
+++ b/mbtk/test/libgsw_lib/gsw_nw_test.c
@@ -86,29 +86,36 @@
typedef struct
{
+ // NR server cell:
+ // NR cell:
// LTE server cell: tac, PCI, dlEuarfcn, ulEuarfcn, band
// LTE cell: phyCellId,euArfcn,rsrp,rsrq
// WCDMA server cell: lac, ci, arfcn
// WCDMA cell: lac, ci, arfcn
// GSM server cell: lac, ci, arfcn, bsic
// GSM cell:
- mbtk_cell_type_enum type : 8;
uint32 value1; //tac
uint32 value2; //pci
uint32 value3; //dlEuarfcn
- uint32 value4; //ul arfcn
+ uint32 value4; //bler
uint32 value5; //band
- uint32 value6; //mcc
+ uint32 value6; //mcc
uint32 value7; //mnc
- uint32 value8; //cid
- uint32 value9; //rsrp
+ uint32 value8; //rsrp
+ uint32 value9; //rsrq
uint32 value10; //cell identiy
+ uint32 value11; //sinr
+ uint32 value12; //is tdd
+ uint32 value13;
+ uint32 value14;
+ uint32 value15;
} __attribute__((packed)) mbtk_cell_info_t;
+
typedef struct
{
uint8 net_pref; // mbtk_net_pref_enum
@@ -581,8 +588,8 @@
unsigned char bler_valid;
int bler; /*bit error rate*/
-
- GSW_NW_CELL_EXT_INFO ext_info[MAX_CELL_EXT_INFO]; /* Used to hold neighborhood information for service cells. */
+ int ext_info_len; /**<ext_info len*/
+ GSW_NW_CELL_EXT_INFO ext_info[MAX_CELL_EXT_INFO];
} GSW_NW_CELL_INFO;
typedef struct {
@@ -807,7 +814,7 @@
return 0;
}
-
+
static void gsw_serving_info_callback(GSW_NW_SERVING_INFO serving_info)
{
printf("gsw_serving_info_callback: \n");
@@ -960,7 +967,7 @@
printf("gsw_get_nwinfo failed, ret is %d\n",ret);
continue;
}
- printf("nwinfo.reg_state = %d\nnwinfo.ps_state = %d\nnwinfo.reg_rat = %d\nnwinfo.srv_domain = %d\nnwinfo.roaming_ind = %d\nnwinfo.reg_plmn = %s\nnwinfo.operator_name = %s\nnwinfo.cell_id = %s\nnwinfo.lac = %s\nnwinfo.sid=%d\nnwinfo.nid = %d\n",nwinfo->reg_state, nwinfo->ps_state, nwinfo->reg_rat, nwinfo->srv_domain, nwinfo->roaming_ind, nwinfo->reg_plmn, nwinfo->operator_name, nwinfo->cell_id, nwinfo->lac, nwinfo->sid, nwinfo->nid);
+ printf("nwinfo.reg_state = %d\nnwinfo.ps_state = %d\nnwinfo.reg_rat = %d\nnwinfo.srv_domain = %d\nnwinfo.roaming_ind = %d\nnwinfo.reg_plmn = %s\nnwinfo.operator_name = %s\nnwinfo.cell_id = %s\nnwinfo.tac = %s\nwinfo.lac = %s\nnwinfo.sid=%d\nnwinfo.nid = %d\n",nwinfo->reg_state, nwinfo->ps_state, nwinfo->reg_rat, nwinfo->srv_domain, nwinfo->roaming_ind, nwinfo->reg_plmn, nwinfo->operator_name, nwinfo->cell_id, nwinfo->tac,nwinfo->lac, nwinfo->sid, nwinfo->nid);
free(nwinfo);
break;
}
@@ -1243,15 +1250,13 @@
printf("-------------------------------------inter cell info ------------------------------\n");
- for(int i = 0; i <MAX_CELL_EXT_INFO ; i++)
+ printf("ext_info_len = %d\n",cell_info.ext_info_len);
+
+ for(int i = 0; i <cell_info.ext_info_len ; i++)
{
printf("-----------------------------------------------------------\n");
printf("inter cell info[%d] rat = %d\n",i,cell_info.ext_info[i].rat);
- printf("inter cell info[%d] mcc = %s\n",i,cell_info.ext_info[i].mcc);
-
- printf("inter cell info[%d] mnc = %s\n",i,cell_info.ext_info[i].mnc);
-
printf("inter cell info[%d] pci_valid = %d\n",i,cell_info.ext_info[i].pci_valid);
printf("inter cell info[%d] pci = %d\n",i,cell_info.ext_info[i].pci);
@@ -1264,12 +1269,19 @@
printf("inter cell info[%d] rsrq_valid = %d\n",i,cell_info.ext_info[i].rsrq_valid);
printf("inter cell info[%d] rsrq = %d\n",i,cell_info.ext_info[i].rsrq);
+ printf("inter cell info[%d] mcc = %s\n",i,cell_info.ext_info[i].mcc);
+
+ printf("inter cell info[%d] mnc = %s\n",i,cell_info.ext_info[i].mnc);
+
printf("inter cell info[%d] cell_id_valid = %d\n",i,cell_info.ext_info[i].cell_id_valid);
printf("inter cell info[%d] cell_id = %u\n",i,cell_info.ext_info[i].cell_id);
printf("inter cell info[%d] band_valid = %d\n",i,cell_info.ext_info[i].band_valid);
printf("inter cell info[%d] band = %u\n",i,cell_info.ext_info[i].band);
+ printf("inter cell info[%d] rssi_valid = %d\n",i,cell_info.ext_info[i].rssi_valid);
+ printf("inter cell info[%d] rssi = %d\n",i,cell_info.ext_info[i].rssi);
+
printf("-----------------------------------------------------------\n");
}