HI3515海思开发板移植3G模块笔记

硬件平台:

海思Hi3515 Linux

3G模块:

1、移动模块:ZTE M305(TD-SCDMA)
2、联通模块:HUAWEI EM770W(WCDMA)
3、电信模块:HUAWEI EM660(CDMA2000-EVDO)

开始工作:

1、在编译内核时,通过make menuconfig打开模块加载选项,因为调用3G需要用到pppd服务,所以找到pppd服务的,全部启用。
2、修改串口驱动,在内核文件中找到option.c文件,在linux-2.6.24\drivers\usb\serial目录下,然后找到option_ids这个设备枚举变量的定义,大概是在134行的位置,然后在这个定义的最后面(“{ } /* Terminating entry */”之前)添加三行:

[cpp]  view plain copy
  1. { USB_DEVICE(0x12d1,0x1404) },/* HUAWEI EM770 */  
  2. { USB_DEVICE(0x12d1,0x1001) },/* HUAWEI EM660 */  
  3. { USB_DEVICE(0x19d2,0x1303) },/* ZTE M305 */  


解释一下什么意思,这个就是添加一下我所用到的三种3G模块的设备信息,不然插上3G模块,系统无法识别,首先要保证系统识别才能进行后面的操作,在USB_DEVICE(0x12d1,0x1404)中,0x12d1是厂商ID,0x1404是设备模块的ID,这两个参数需要你参考你所使用的模块的datasheet文档了,因为我用的是这三个模块,所以填入对应的值就可以了。
  添加完之后,就可以重新编译内核,并把内核烧写到板子中,这里烧写过程不赘述。

3、在系统启动脚本中添加驱动加载,在/etc/init.d/rcS中添加下面几行,其中usbserial.ko和option.ko的路径根据在开发板中的具体位置而定

[html]  view plain copy
  1. insmod /lib/modules/2.6.24-rt1-hi3515v100/kernel/drivers/usb/serial/usbserial.ko maxRSize=16384 maxWSize=512 maxISize=64  
  2. insmod /lib/modules/2.6.24-rt1-hi3515v100/kernel/drivers/usb/serial/option.ko  
  3. mount -t tmpfs tmpfs /etc/ppp  
  4. mount -t usbfs none /proc/bus/usb   

4、在系统/var/目录下创建2个文件夹:(注意,这一步很关键,不然在进行拨号时会报Can't create lock file /var/lock/LCK..ttyUSB0: No such file or directory的错误)

[html]  view plain copy
  1. mkdir /var/run -p  
  2. mkdir /var/lock -p  

5、重头戏,移植pppd,我用的是ppp-2.4.5,大家可以从ftp://ftp.samba.org/pub/ppp/这里进行下载。

[html]  view plain copy
  1. #tar -zvxf ppp-2.4.5.tar.gz 解压文件  
  2. #cd ppp-2.4.5  
  3. #./configure    生成Makefile  

这里和以往的交叉编译有些不同,以往的交叉编译中,都是在运行./configure的时候,同时制定CC,AR,LD,STRIP等参数,然后再make一下就完了。但是编译这个的时候,要注意,在运行./configure的时候配置上述参数根本不起作用,我当时就按照以往的习惯编译了一遍,结果也没有报错,但是实际上使用的PC本身的gcc编译的,并非交叉编译,这里一定要注意。
  在make的同时指定CC等编译参数,命令如下:

[html]  view plain copy
  1. #make CC=/opt/hisi-linux/x86-arm/gcc-3.4.3-uClibc-0.9.28/bin/arm-hisi-linux-gcc AR=/opt/hisi-linux/x86-arm/gcc-3.4.3-uClibc-0.9.28/bin/arm-hisi-linux-ar LD=/opt/hisi-linux/x86-arm/gcc-3.4.3-uClibc-0.9.28/bin/arm-hisi-linux-ld STRIP=/opt/hisi-linux/x86-arm/gcc-3.4.3-uClibc-0.9.28/bin/arm-hisi-linux-strip  


因为我的交叉编译器路径保存到了/opt/hisi-linux/x86-arm/gcc-3.4.3-uClibc-0.9.28/bin路径下,大家可根据实际情况修改。

6、编译完成之后,拷贝编译后的文件:

[html]  view plain copy
  1. #mkdir /usr/local/build/lib/pppd/2.4.5  


其中/usr/local/build这个目录是我把最终需要拷贝的都放在这个目录下,到时候将这个目录下的文件统统拷贝到开发板中的/usr/目录下

回到ppp-2.4.5目录中:

[html]  view plain copy
  1. #cd ppp-2.4.5  
  2. #cp pppd/plugins/minconn.so pppd/plugins/passprompt.so pppd/plugins/passwordfd.so pppd/plugins/winbind.so /usr/local/build/lib/pppd/2.4.5  
  3. #cp pppd/plugins/rp-pppoe/rp-pppoe.so /usr/local/build/lib/pppd/2.4.5  
  4. #cp pppd/plugins/rp-pppoe/pppoe-discovery /usr/local/build/sbin  注意,目录不存在的,自己
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值