APN概述:
APN 的类型分为web(internet),wap,mms三种类型,用于手机中上网时数据交换的接入点名称配置与显示。 APN配置的时候,出现的type的值主要有:default,mms,supl,dun。Default常用于一般的数据业务,主要有internet,wap,web.mms类型用于彩信接收发送的业务;supl用于gprs上网;dun用于wifi等上网类型。
配置时注意事项:
1、如果是客户给的apn-conf.xml文件需要看看有没有authenticationtype属性,现在将此属性改为authtype,如果没改可能导致apn读取失败apn列表显示为空。在合入完成之后注意检查authtype=” ” 。authtype=“” 这种字串是不允许在apns-conf.xml 文件中出现的,会导致所有项目apn读取失败。
2、Type=””这个也不能为空,需求有时会省略它的配置,apn的Type=””值主要分为default,*,mms, supl等,在不确定的情况下,与需求工程师沟通清楚再合入。
3、mcc和mnc一般合起来为五位,其中mnc的位数为2,如果出现个位数应该自动补全,如1,补为01。
4、如果需求中存在Authentication:normal。说明没有用户名和密码的话,这个鉴权是不需要的。
5、注意检查wap和web一般不涉及彩信等相关端口的配置,没有mmsport,mmsproxy…注意端口写正确。
6、关于authtype, 需求表中没有注明的情况下置为PAP or CHAP或者空(没有authtype这一项)都可以的。 authtype这一项未填写,不管有无用户名,会自动默认为PAP or CHAP。
8、dun类型的apn 就是专门用做tethering的。如果没有dun类型的apn,默认用default的。dun后面加上default,是为了在tethering模式下可以进行下载操作。目前很多需求上明确写明只有dun,则按照需求处理。
检查方法:
1、验证其语法的正确性,可以直接双击用浏览器自带的编译xml检查其语法格式的正确性,不正确的会在浏览器末尾报错。 2、验证其读取的正确性: 请将配置文件替换到手机,验证一下配置文件的正确性: 方法:adb push apns-conf.xml system/etc 然后在apnsetting界面 点击reset to default。 3、修改手机预设apn的方法: 预设的文件在手机的 system/etc 目录 文件名字叫 apns-conf.xml ,可以使用 rm apns-conf.xml 命令将这个删了 然后到apn设置的界面去,恢复下默认设置,这个预设的就没有了,就可以手动设置了。
常见故障:
1、开发故障,APN没有拷贝在手机中
故障描述: APN没有拷贝在手机中,APN设置页面列表为空 故障分析:发现已经有APN文件,但是在版本中却没有发现相应的文件合入,检查 在相应的编译文件中分析是否有APN配置文件的添加语句。 代码修改:在项目分支APN文件所在目录下 device\mediatek\common\Device.mk 中添加语句: PRODUCT_COPY_FILES += device/mediatek/common/apns-conf.xml:system/etc/apns-conf.xml就可保证相应的APN文件添加到手机中。
2、自测,APN文件读取失败
故障描述:自测时,push APN配置文件到system/etc/后,执行“重置为默认APN”操作。 APN列表为空,说明APN文件读取失败。 故障分析:APN文件参数配置错误,导致读取失败,可能的原因有 代码修改:检查1、authtype若无需求,则不在配置表中列出该项,即不可以出现authtype = “”(authtype参数项中“”内不可为空);2、Type项也不可为空。常见的Type值有default,mms,supl,*等。在不确定的情况下,和需求工程师沟通后再合入。
3、前方故障,APN参数错误导致彩信无法发送
故障描述:彩信无法发送,但可以成功接收 故障分析:APN文件参数配置错误,注意检查彩信涉及的相关端口配置mmsport,mmsproxy是否正确 代码修改:与需求工程师核对apn需求,若不确定参数正确与否,可请前方测试人员在局方网络下使用对比机对比,参考其apn配置,进行修改。
4、前方故障,APN参数Authentication前方实测与需求不符
故障描述:前方测试,APN参数中authtype项实际为PAP or CHAP,而需求为Authentication:normal 故障分析:当需求中存在签权项Authentication: normal时,若无用户名和密码参数,该鉴权是不需要的,APN配置中可以没有该项;当配置文件中authype为空时,代码中默认会将其设置为PAP or CHAP。 代码修改:Authentication参数值在需求文件中写为 normal,且无用户名和密码参数,则在APN配置文件中不写该项,代码中会默认设置为PAP or CHAP,不做为故障处理。