微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 手机设计讨论 > MTK手机平台交流 > MT6260M无法联网哪里出问题了?

MT6260M无法联网哪里出问题了?

时间:10-02 整理:3721RD 点击:
这是获取 account id 的代码,在MT6250平台是可以联网的,60M平台无法联网,请问是哪里出问题了?
static U32 CB_GPRS_get_account()
{
    cbm_app_info_struct app_info;
    U8 app_id;
    U32 ret;
    app_info.app_icon_id = 0;
    app_info.app_str_id = 0;
    app_info.app_type = 0x0800;

    cbm_register_app_id_with_app_info(&app_info, &app_id);
    CB_DEBUG_TRACE("[CB_GPRS_get_account]app_id=%d", app_id );
    ret = cbm_encode_data_account_id(CBM_DEFAULT_ACCT_ID,(cbm_SIM_id_enum)0,app_id,(kal_bool)0);
    if (ret == CBM_INVALID_ACCT_ID)
    {
        CB_DEBUG_TRACE("[CB_GPRS_get_account]ret=%d, CBM_INVALID_ACCT_ID", ret );
    }
    else
    {
        CB_DEBUG_TRACE("[CB_GPRS_get_account]ret=%d", ret );
    }
   
    cbm_deregister_app_id(app_id);
    return ret;
}
=======================================================
打印的结果是
[00:01:35][CB_GPRS_get_account]app_id=1
[00:01:35][CB_GPRS_get_account]ret=16793140
[00:01:35][CB_socketCreate]socket=f00eedf4, socketID=-1

如果我没有记错的话, 50 60 cbm_sim_id_enum 这个sim卡的枚举值不同,看下代码。

/* sim id */
typedef enum
{
    CBM_SIM_ID_SIM1, /* sim card one */
    CBM_SIM_ID_SIM2, /* sim card two */
    CBM_SIM_ID_SIM3, /* sim card there */
    CBM_SIM_ID_SIM4, /* sim card four */
    CBM_SIM_ID_TOTAL /* total sim card number */
} cbm_sim_id_enum;

奇怪的是,50可以联网,60不行。

我是要你把50和60的对比一下,一个是从0开始的,一个是从1开始的,你要改一下试试

进来学习了

现在改为从 g_srv_dtcnt_store_ctx 中取值了,但 g_srv_dtcnt_store_ctx 为空的,上了一下第三方的浏览器,g_srv_dtcnt_store_ctx 就有信息了。
U32 in_sys_FindAccProfIdByApn(const char* apn, cbm_sim_id_enum sim)
{
    extern srv_dtcnt_store_info_context g_srv_dtcnt_store_ctx;
    int i;
        S8 strapn[20] = {0};
        strcpy((S8*)strapn, (S8*)apn);
       
        CB_DEBUG_TRACE("[in_sys_FindAccProfIdByApn]dest_name=%s, sim=%d", strapn, sim);
    for(i = 0; i < SRV_DTCNT_PROF_MAX_ACCOUNT_NUM; ++i)
    {               
                CB_DEBUG_TRACE("[in_sys_FindAccProfIdByApn] i=%d, strapn=%s, acc_id=%d, sim_info=%d, acc_type=%d, in_use=%d, bearer_type=%d",
                        i,
                        g_srv_dtcnt_store_ctx.acc_list[i].dest_name,
                        g_srv_dtcnt_store_ctx.acc_list[i].acc_id,
                        g_srv_dtcnt_store_ctx.acc_list[i].sim_info,
                        g_srv_dtcnt_store_ctx.acc_list[i].acc_type,
                        g_srv_dtcnt_store_ctx.acc_list[i].in_use,
                        g_srv_dtcnt_store_ctx.acc_list[i].bearer_type);
        if(g_srv_dtcnt_store_ctx.acc_list[i].in_use &&
                g_srv_dtcnt_store_ctx.acc_list[i].bearer_type == SRV_DTCNT_BEARER_GPRS &&
                /*g_srv_dtcnt_store_ctx.acc_list[i].sim_info == (sim + 1) &&*/
                app_stricmp((char*)g_srv_dtcnt_store_ctx.acc_list[i].dest_name, (char*)apn) == 0)
        {
#if DEBUG_MODE // for test
                        CB_DEBUG_TRACE("[in_sys_FindAccProfIdByApn]find acc_id=%d", g_srv_dtcnt_store_ctx.acc_list[i].acc_id);
#else
            return g_srv_dtcnt_store_ctx.acc_list[i].acc_id;
#endif
        }
    }
    return CBM_INVALID_ACCT_ID;
}
======================
打印结果:
[00:00:28][in_sys_FindAccProfIdByApn]dest_name=uniwap, sim=1
[00:00:28][in_sys_FindAccProfIdByApn] i=0, strapn=, acc_id=0, sim_info=0, acc_type=0, in_use=0, bearer_type=0
[00:00:28][in_sys_FindAccProfIdByApn] i=1, strapn=, acc_id=0, sim_info=0, acc_type=0, in_use=0, bearer_type=0
[00:00:28][in_sys_FindAccProfIdByApn] i=2, strapn=, acc_id=0, sim_info=0, acc_type=0, in_use=0, bearer_type=0
[00:00:28][in_sys_FindAccProfIdByApn] i=3, strapn=, acc_id=0, sim_info=0, acc_type=0, in_use=0, bearer_type=0
[00:00:28][in_sys_FindAccProfIdByApn] i=4, strapn=, acc_id=0, sim_info=0, acc_type=0, in_use=0, bearer_type=0
[00:00:28][in_sys_FindAccProfIdByApn] i=5, strapn=, acc_id=0, sim_info=0, acc_type=0, in_use=0, bearer_type=0
[00:00:28][in_sys_FindAccProfIdByApn] i=6, strapn=, acc_id=0, sim_info=0, acc_type=0, in_use=0, bearer_type=0
[00:00:28][in_sys_FindAccProfIdByApn] i=7, strapn=, acc_id=0, sim_info=0, acc_type=0, in_use=0, bearer_type=0
[00:00:28][in_sys_FindAccProfIdByApn] i=8, strapn=, acc_id=0, sim_info=0, acc_type=0, in_use=0, bearer_type=0
[00:00:28][in_sys_FindAccProfIdByApn] i=9, strapn=, acc_id=0, sim_info=0, acc_type=0, in_use=0, bearer_type=0
******************************************************
******************************************************
用第三方浏览器上一下网后:
[00:08:04][in_sys_FindAccProfIdByApn]dest_name=uniwap, sim=1
[00:08:04][in_sys_FindAccProfIdByApn] i=0, strapn=uniwap, acc_id=0, sim_info=1, acc_type=0, in_use=1, bearer_type=2
[00:08:04][in_sys_FindAccProfIdByApn]find acc_id=0
[00:08:04][in_sys_FindAccProfIdByApn] i=1, strapn=, acc_id=0, sim_info=0, acc_type=0, in_use=0, bearer_type=0
[00:08:04][in_sys_FindAccProfIdByApn] i=2, strapn=, acc_id=0, sim_info=0, acc_type=0, in_use=0, bearer_type=0
[00:08:04][in_sys_FindAccProfIdByApn] i=3, strapn=, acc_id=0, sim_info=0, acc_type=0, in_use=0, bearer_type=0
[00:08:04][in_sys_FindAccProfIdByApn] i=4, strapn=, acc_id=0, sim_info=0, acc_type=0, in_use=0, bearer_type=0
[00:08:04][in_sys_FindAccProfIdByApn] i=5, strapn=, acc_id=0, sim_info=0, acc_type=0, in_use=0, bearer_type=0
[00:08:04][in_sys_FindAccProfIdByApn] i=6, strapn=, acc_id=0, sim_info=0, acc_type=0, in_use=0, bearer_type=0
[00:08:04][in_sys_FindAccProfIdByApn] i=7, strapn=, acc_id=0, sim_info=0, acc_type=0, in_use=0, bearer_type=0
[00:08:04][in_sys_FindAccProfIdByApn] i=8, strapn=, acc_id=0, sim_info=0, acc_type=0, in_use=0, bearer_type=0
[00:08:04][in_sys_FindAccProfIdByApn] i=9, strapn=, acc_id=0, sim_info=0, acc_type=0, in_use=0, bearer_type=0
这样就有账号了,然后取第一行的账号,就可以联网了
***************************
现在就有个疑问,第三方浏览器是怎么向 g_srv_dtcnt_store_ctx 添加了与SIM对应的账号?

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top