接着前一篇,本篇博文记录4G模块的移植。
我使用的模块是中兴ME3630模块,前面说了使用供应商或者官方的资料进行移植即可。一般来说4G模块的驱动,Linux内核也基本都有了,只需要设置一下option.c文件中模块的ID信息即可,如果Linux内核太老,没有驱动,那么就要使用官方提供的源码进行对应修改了。
驱动我这里很顺利,Linux内核3.4和3.6都OK。
这里给出核心配置:
1. Device Drivers --->
<span style="white-space:pre"> </span>USB support --->
<span style="white-space:pre"> </span>USB Serial Converter support --->
<span style="white-space:pre"> </span>USB Generic Serial Driver
<span style="white-space:pre"> </span>USB driver for GSM and CDMA modems
2. Device Drivers --->
<span style="white-space:pre"> </span>Network device support --->
<span style="white-space:pre"> </span>PPP (point-to-point protocol) support
<span style="white-space:pre"> </span>PPP multilink support
<span style="white-space:pre"> </span>PPP filtering
<span style="white-space:pre"> </span>PPP support for async serial ports
<span style="white-space:pre"> </span>PPP support for sync tty ports
为了确保是否设置成功,可查看.config配置文件,里面应该包含有下面的设置:
CONFIG_USB_SERIAL=y
CONFIG_USB_SERIAL_GENERIC=y
CONFIG_USB_SERIAL_OPTION=y
CONFIG_PPP=y
CONFIG_PPP_ MULTILINK=y
CONFIG_PPP_FILTER=y
CONFIG_PPP_ASYNC=y
CONFIG_PPP_SYNC_TTY=y
option.c文件中option_ids结构体添加ME3630的VID和PID信息。
驱动就不多说了,完成后插上4G模块,应该会产生ttyUSB0、ttyUSB1、ttyUSB2这类节点,有它了,那么就说明是OK的。
到这里基本成功一半了,剩下就是脚本和配置文件了。这里使用官方文档的方法,需要三个文件:ppp-on.sh、zte_options、zte_ppp_dialer,把它们放在同一个目录下,直接运行ppp-on.sh即可自动拨号。
下面给出这三个文件具体的内容:
联通4G
ppp-on.sh:
#!/bin/sh
#clear
OPTION_FILE="/usr/sbin/zte_options"
DIALER_SCRIPT=$(pwd)/zte_ppp_dialer
pppd file $OPTION_FILE connect '/usr/sbin/chat -v -f /usr/sbin/zte_ppp_dialer' &
zte_options:
/dev/ttyUSB2
115200
crtscts
modem
persist
lock
noauth
noipdefault
debug
nodetach
user Anyname
password Anypassword
ipcp-accept-local
ipcp-accept-remote
#replacedefaultroute
defaultroute
usepeerdns
noccp
nobsdcomp
novj
dump
zte_ppp_dialer:
ABORT "NO CARRIER"
ABORT "ERROR"
TIMEOUT 120
"" ATE
SAY "ATE"
ECHO ON
OK ATH
OK ATP
OK AT+CGDCONT=1,\"IP\",\"3GNET\"
OK AT+ZSNT=0,0,0
OK ATD*99#
CONNECT
电信4G
ppp-on.sh:
#!/bin/sh
#clear
OPTION_FILE="/usr/sbin/zte_options"
DIALER_SCRIPT=$(pwd)/zte_ppp_dialer
pppd file $OPTION_FILE connect '/usr/sbin/chat -v -f /usr/sbin/zte_ppp_dialer' &
zte_options:
/dev/ttyUSB2
115200
crtscts
modem
persist
lock
noauth
noipdefault
debug
nodetach
user Anyname
password Anypassword
ipcp-accept-local
ipcp-accept-remote
#replacedefaultroute
defaultroute
usepeerdns
noccp
nobsdcomp
novj
dump
zte_ppp_dialer:
ABORT "NO CARRIER"
ABORT "NO DIALTONE"
ABORT "ERROR"
ABORT "NO ANSWER"
ABORT "BUSY"
TIMEOUT 120
"" at
OK ATDT*99*1#
CONNECT
不同的网络执行不同的脚本就可以了,移动的就不贴了,也没测试。
一般来说这样可能会比较麻烦,会使用ppp.sh wcdma这样的方式,配置文件路径在/etc/ppp/peers下,有需要可以把上面的配置信息按照模板放到/etc/ppp/peers下即可。
附录:给出ttyUSB0、ttyUSB1、ttyUSB2接口的功能图:
由上图可知,我们需要使用ttyUSB2口。
4G模块的移植记录到这,下面介绍WiFi热点是怎么建立。
更多推荐
Linux 开发板4G转WiFi热点 手机连接热点上网(二 4G模块的移植)
发布评论