WAP/MMS 参数配置

增加WAP/MMS参数个数:

需要修改的位置:

1.GPRSdatacount个数(插入SIM,设置—>数据账户—>GPRS

MMI相关  #define MAX_GPRS_PROFILE_NUM                         (30)

NV相关   #define NVRAM_EF_ABM_GPRS_PROFILE_TOTAL            30

上面两个值要保持一致

2. WAP/MMSProfile的个数(网络服务—>Internet service >settings>profiles,

Messaging  >MMS  > MMS Settings >profiles   >   >   >  >)

#define NVRAM_WAP_PROF_MAX_STATIC_PROFILES    15

这个WAP/MMS共用

3.WIFIID(网络服务—>Internet service >settings>profiles可能会有WIFI设置)

 #define DTCNT_WIFI_ID              40

此值一般是10+datacount的总数

4.根据客户提供的表在NV中配置各个参数,就是修改nvram_cust_pack.c。此文件主要修改以下几个数据

NVRAM_EF_ABM_PS_PROFILE_DEFAULT

WAP相关的

NVRAM_EF_WAP_PROF_WAP_PROFILE_CONTENT_DEFAULT

NVRAM_EF_WAP_PROF_WAP_SIM1_PROFILE_NAMES_DEFAULT

NVRAM_EF_WAP_PROF_WAP_SIM2_PROFILE_NAMES_DEFAULT

 

MMS相关的

NVRAM_EF_WAP_PROF_MMS_PROFILE_CONTENT_DEFAULT

NVRAM_EF_WAP_PROF_MMS_SIM1_PROFILE_NAMES_DEFAULT

NVRAM_EF_WAP_PROF_MMS_SIM2_PROFILE_NAMES_DEFAULT

搞清这个几个数组的数据如何关联起来的,就很容易修改了:

WAP profile配置与数据账户关系:

数据帐户列表:NVRAM_EF_ABM_PS_PROFILE_DEFAULT

Wap 浏览器设置档列表:NVRAM_EF_WAP_PROF_WAP_PROFILE_CONTENT_DEFAULT

每个SIMWap浏览器设置档内容列表:NVRAM_EF_WAP_PROF_WAP_SIM1_PROFILE_NAMES_DEFAULT

 

数据帐户列表、Wap 浏览器设置档列表、Wap浏览器设置档内容之间的关系为:

每个SIMWap 浏览器设置档列表的每个成员必须选择一个 Wap浏览器设置档内容列表的一个成员,Wap浏览器设置档内容列表每个成员必须选择数据帐户列表 一个成员

那这种关系如何联系起来的呢?

第一种关系的建立:NVRAM_EF_WAP_PROF_WAP_SIM1_PROFILE_NAMES_DEFAULT元素的类型是typedef struct

{

    kal_uint8 conn_type;

    kal_uint8 dcs;

         kal_uint8 access;

         kal_uint8 content_index;

    kal_uint8 profile_name[NVRAM_WAP_PROF_PROFILE_NAME_LEN];

    kal_uint8 prov_url[NVRAM_WAP_PROF_PROVURL_LEN];

    kal_uint8 context_id[NVRAM_WAP_PROF_CONTEXT_ID_LEN];

} nvram_wap_prof_profile_name_struct;

 

4个成员就是关联到NVRAM_EF_WAP_PROF_WAP_PROFILE_CONTENT_DEFAULT[ ]对应元素的索引

第二种关系的建立:

NVRAM_EF_WAP_PROF_WAP_PROFILE_CONTENT_DEFAULT[ ]元素的类型是

typedef struct

{

    kal_uint8     access;

    kal_uint16   proxy_port;

    kal_int32     data_account_primary_id;

         kal_int32    data_account_secondary_id;

         kal_uint8    conn_type;

         kal_uint8   use_proxy_status;

    kal_uint8     proxy_ip[4];

    kal_uint8     username[NVRAM_WAP_PROF_PROFILE_USERNAME_LEN];

    kal_uint8     password[NVRAM_WAP_PROF_PROFILE_PASSWORD_LEN];

    kal_uint8     url[NVRAM_WAP_PROF_URL_LEN];

} nvram_wap_prof_profile_content_struct;

3个成员account_primary_id就是关联到NVRAM_EF_ABM_PS_PROFILE_DEFAULT [ ]对应元素,不过此数据不是数组的索引,此数组第一个元素ID默认是10,其他元素依次加1

(为什么是10,我也不知道,还望知道的告知哦O(_)O~

 

基本就是这样,至于上层MMI如何读取NV这些数据,并关联起来,我还没有在code中找到,这是我的另一个疑问

 

 

需要注意的几个问题:

1. { /* wap profile 1 -Airtel Live*/

      1,8080,10,-1,1,0,100,001,200,099,"","","http://live.airtelworld.com"

   },

"custom/app/PROWAVE35_08B_BB/nvram_cust_pack.c", line 1497: Error: C2445E: digit 8 or 9 found in octal number

 

原因:C中默认以0开头的数字是八进制,所以099被认为是八进制数其中又含有9,当然是错误的。类似这样的数字不要以0开头,直接写99。另外即使是0——8的数字,供应商给的IP一般都类似010.011.012.023这样,必须去掉前面的0

2.如过客户给的个数不够,

NVRAM_EF_ABM_PS_PROFILE_DEFAULT[]余下的要填空,即元素必须必须和MAX_GPRS_PROFILE_NUM保持一致

你可能感兴趣的:(浏览器,struct,service,Access,internet,WAP)