<environment>
- Windows10
- modem fw v1.2.0
- nrf v1.3.0
I try to get mnc and mcc data but no luck. Any help?
#include <zephyr.h>
#include <string.h>
#include <stdio.h>
#include <modem/modem_info.h>
#include <modem/lte_lc.h>
void main() {
int ret;
char rx_buf[MODEM_INFO_MAX_RESPONSE_SIZE];
u16_t rx_buf_short;
// Connect LTE first
printk("LTE Link Connecting ...\n");
ret = lte_lc_init_and_connect();
if(ret < 0){
printk("Error: lte_lc_init_and_connect\n");
return;
} else {
printk("LTE Link Connected!\n");
}
// Init modem info
ret = modem_info_init();
if(ret < 0){
printk("Error: modem_info_init\n");
return;
}
// Get cell ID => this is successful
ret = modem_info_string_get(MODEM_INFO_CELLID, rx_buf, MODEM_INFO_MAX_RESPONSE_SIZE);
if(ret < 0){
printk("Error: MODEM_INFO_CELLID\n");
return;
} else {
printk("MODEM_INFO_CELLID = %s\n", rx_buf);
}
// Get MCC => Fail
ret = modem_info_short_get(MODEM_INFO_MCC, &rx_buf_short);
if(ret < 0){
printk("Error: MODEM_INFO_MCC\n");
return;
} else {
printk("MODEM_INFO_MCC = %u\n", rx_buf_short);
}
// Get MNC => Fail
ret = modem_info_short_get(MODEM_INFO_MNC, &rx_buf_short);
if(ret < 0){
printk("Error: MODEM_INFO_MNC\n");
return;
} else {
printk("MODEM_INFO_MNC = %u\n", rx_buf_short);
}
// Get TAC(tracking area code) => this is successful
ret = modem_info_string_get(MODEM_INFO_AREA_CODE, rx_buf, MODEM_INFO_MAX_RESPONSE_SIZE);
if(ret < 0){
printk("Error: MODEM_INFO_AREA_CODE\n");
return;
} else {
printk("MODEM_INFO_AREA_CODE = %s\n", rx_buf);
}
return;
}
I also tried it using modem_info_params_init and modem_info_params_get, but modem_info_params_get causes an error -11.