本文主要是介绍海思3518c平台 实现 华为WCDMA 拨号,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
硬件:海思3518c平台
软件:linux version 3.0.8 SVN
一、修改内核文件:
注册“设备ID(vendor_ID)” 和 “ 厂商ID(productor_ID)”
二、配置内核选项:
a、 配置网络选项:WCDMA通过pppd和 chat实现拨号,所以要将ppp相关选项选上。
b、选上USB相关选项:因为3G模块硬件上使用的是USB接口。
c、选上 usb driver for GSM and CDMA modes:3G上网功能
三、 移植拨号工具:
tar zxvf ppp-2.4.4.tar.gz
cd /ppp-2.4.4
./configure --prefix=/home/disk2/user/zp/software/ppp
make CC=arm-hisiv100nptl-linux-gcc
make install
cp pppd/plugins/rp-pppoe/pppoe-discovery /home/disk2/user/zp/software/ppp/sbin
cp pppd/pppd /home/disk2/user/zp/software/ppp/sbin
cp pppstatus/pppstatus /home/disk2/user/zp/software/ppp/sbin
cp pppdump/pppdump /home/disk2/user/zp/software/ppp/sbin
cp chat/chat /home/disk2/user/zp/software/ppp/sbin
cp etc.ppp/chap-secrets etc.ppp/pap-secrets etc.ppp/options /home/disk2/user/zp/software/ppp/ppp
生成海思平台的 pppd工具:chat + pppd + pppdump + pppstats
四、编写拨号软件代码:
拨号脚本:pppd-scripts + connect-scripts
执行拨号命令的脚本: wcdma.sh
编写 wcdma.c 和 wcdma.h模块文件
五、调试:
问题1、拨号脚本中的设备名与 /dev目录下的 设备名称不相同,导致 拨号失败;
--------解决方法:拔插3G模块设备,对比/dev/目录下,找到对应设备名称,修改脚本
问题2、拨号脚本中拨号工具的路径 + 连接脚本的路径不对,导致拨号失败;
-------解决方法:修改脚本拨号工具 和 连接脚本的 路径
问题3、其他网卡先获取到动态dns,而后才实现 3G拨号,导致 默认的路由信息 被设置成了第一张网卡的路由信息。而软件路基是 只要实现 3G拨号,就关闭其他网
卡, 导致连接外网用的默认路由被同时删除,导致访问外网失败;
--------解决方法:对比拨号成功后,能够正常访问外网是的路由信息 和 不能访问外网时的路由信息,找出差异,然后更改正确的路由信息。
--------命令:
route -e 查看路由信息;
route add -net default netmask 0.0.0.0 dev ppp0:更改网络路由信息。其中 default参数 为 default 时,表示设置的默认路由信息,为具体网卡IP时,表示设置
对应网卡的路由信息。
问题4、拨号成功后,没有开启对应网卡udhcpc功能,导致/etc目录下面没有resolv.con文件,导致获取到的域名无法保存,继而出现不能通过域名访问外网;
------解决方法:复制通过网线正常联网后生成的/etc/resolv.con文件,作为默认的3G拨号成功后记录DNS的文件。(确保这个文件原先的DNS是能够访问外网的,否则同样会
导致域名访问外网失败)。
问题5、拨号成功后 iSeem软件不能获取相机视频流;
----------解决方法:通过iSeem开启相机的dns功能(即建立与我们网络服务器的联系)
wcdma.sh脚本:
pppd-scripts脚本:
connect-scripts脚本:
这篇关于海思3518c平台 实现 华为WCDMA 拨号的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!