3G模块(U6300)linux下拨号上网
U6300支持linux、Android系列嵌入式系统。作为linux内核系统,系统均会自带驱动usbserial,就没有提供专门的U6300V的USB驱动,都是加载系统的usbserial以实现对U6300V模块USB的加载,关键是找到usbserial.ko这个驱动文件在系统中的目录,将PID和VID加载系统。
U6300V模块默认的VID和PID是:VID_1C9E&PID_9603。
1. Linux系统加载U6300V的USB驱动过程
首先需要确认usbserial.ko这个驱动文件在当前应用端的Linux操作系统中。Linux 2.4.x和linux2.6.x系统均有usbserial.ko,Ubuntu部分版本没有usbserial.ko驱动文件,需要重新编译生成usbserial.ko驱动。
以PC下linux2.6.x加载过程为例,加载驱动步骤:
1) 硬件连接正常,模块可开机;
2) 加载系统的USB文件系统,使用如下指令:
#mount -t usbfs none /proc/bus/usb
3) 查看系统当前USB设备状态,使用如下指令:
#cat /proc/bus/us/devices


如果U6300V已经开机,USB准备好,将会看到Vendor=1c90 ProdID=9603 Rev=0.00这个返回,表明已识别了U6300V的USB端口。
U6300V的3个串口也已经识别,如蓝色字体标识(顺序按端口号升序为Diag,AT,Modem)。
4) 安装U6300V的USB驱动
#modprobe usbserial vendor=0x1c93 product=0x9603
5) 再查看系统当前USB设备状态
#cat /proc/bus/usb/devices
返回如下结果:

表明U6300V的USB驱动已经安装成功,请留意每个串口usbserial_generic状态,不同于未加载(none)。
6) 查看USB的端口,使用的指令是:
#cd /dev
#ls ttyUSB*
如果端口已经识别,将会返回显示ttyUSB0~ttyUSB2三个设备。
注:U6300V三个串口中AT(ttyUSB1),Modem(ttyUSB2)可以发AT命令,Diag(ttyUSB0)不能发AT指令。
Diag:Diagnostic interface诊断、诊断程序。
AT:Application interface
2. Linux系统下AT交互
Minicom配置端口/dev/ttyUSB1.
输入AT指令(打开回显):
ATE
系统正常,返回结果:
OK
输入指令(查询版本信息):
AT+LCTSW
返回U6300V的Firmware版本信息:
SoftwareVersion:LWA0003.2.3_MG31
InnerVersion:LWA003_240085_6.0.4W1011_EFS1.0
OK
输入如下指令(查询信号):
AT+CSQ
将会得到如下信号强度和误码率信息:
+CSQ:20,74
OK
输入如下指令(注册状态):
AT+CREG?
将会得到如下注册信息:
+CREG:0,1
OK
输入如下指令(网络运营商信息):
AT+COPS?
将会得到如下运营商信息(不同运营商返回字段不同。以中国联通USIMka为例):
+COPS:0,0”CHN-CUGSM”,2
OK
3. Linux系统U6300V拨号上网过程
1) 重复USB加载过程和AT交互流程。确保U6300V正确注册到网络,信号强度CSQ返回的第一个参数在13以上;
2) 确保linux系统带有pppd应用程序,如果系统没有pppd,请安装kppp,里面带有pppd应用程序;
3) 建立拨号配置文件/etc/ppp/chat/gprs-connect-chat----脚本内容可不同
在其中加入如下配置:
TIMEOUT 15
ABORT “DELAYED”
ABORT “BUSY”
ABORT “ERROR”
ABORT “NO DIALTONE”
TIMEOUT 40
“ \rAT
OK ATS0=0
OK ATE0V1
OK AT+CGDCONT=1,”IP”,”3GNET”
OK ATDT*99***1#
CONNECT “
注:插入不同运营商的卡,AT+CGDCONT=1,”IP”,”3GNET”最后一个参数不同,请咨询当地的运营商获取APN。
4) 修改pppd的配置文件/etc/ppp/options (可省略)
找到auth字样的行然后将其改成#auth,这样在拨号过程中就不会提示需要身份验证;
5) 建立拨号配置文件/etc/ppp/peer/gprs-----脚本内容可不同
在其中加入配置如下(必须指定Modem口是ttyUSB2):
#Usage:root>pppd call gprs
/dev/ttyUSB2
9600
crtscts
modem
#noauth
debug
nodetach
#hide-password
usepeerdns
noipdefault
defaultroute
user “3gnet”
0.0.0.0:0.0.0.0
ipcp-accept-local
ipcp-accept-remote
#lcp-echo-failure 12
#lcp-echo-interval 3
#noccp
#novj
#novjccomp
#persist
connect ‘/usr/sbin/chat –s –v –f /etc/ppp/chat/gprs-connect-chat’
6) 拨号上网,使用如下指令:
#pppd call gprs
#ifconfig
如果出现如下回显,多出一个ppp0网口,说明拨号已经成功:

7) 测试连接Internet
#ping 119.75.217.56
测试是否ping通baidu的IP地址。如果ping不通,需要给本机加条路由,使用如下指令:
#route add default gw 10.64.64.64
注:10.64.64.64:运营商的ip地址,即上述红色字体部分。
或如下命令,从而不用知道IP地址:
#route del default
#route add -net 0.0.0.0 ppp0
如果IP地址能ping通,而ping域名不通,需要添加DNS到/etc/resolv.conf。
8) linux断开网路(必须kill当前的pppd,才能进行下一次pppd),需要kill pppd进程(这个过程需要一段时间,中间可能无响应),使用如下指令:
#killall pppd
注:切换波特率的指令是:
AT+IPR=<value>
<value>:
300,600,1200,2400,4800,9600,19200,38400,57600,115200,230400
注意:默认的波特率是115200,且Data Bits=8,Parity=None,Stop Bits=1,Flow Control=None.
3G模块(U6300)linux下拨号上网的更多相关文章
- ZTE AD3812 3G模块在linux 2.6.34 内核的开发板上的支持方法
先说段废话,话说在linux 2.6.34 下,好多比较新的3G网卡及3G模块都没有很好的支持.如果想支持的这些3G网卡/3G模块呢,基本上有两种方式: 1.使用该3G模块的 linux 下的驱动,交 ...
- python中pygame模块的Linux下安装过程
一.使用pip安装Python包 大多数较新的Python版本都自带pip,因此首先可检查系统是否已经安装了pip.在Python3中,pip有时被称为pip3. 1.在Linux和OS X系统中检查 ...
- Linux下编译安装Apache及模块
Apache是时下最流行的Webserver软件之中的一个,支持多平台,可高速搭建web服务,并且稳定可靠.并可通过简单的API扩充.就能够集成PHP/Python等语言解释器. 文章这里解说怎样在l ...
- Linux下USB suspend/resume源码分析【转】
转自:http://blog.csdn.net/aaronychen/article/details/3928479 Linux下USB suspend/resume源码分析 Author:aaron ...
- GPRS模块在Linux平台上ppp拨号上网总结与心得
linux平台的ppp拨号上网,(注明:这里只谈命令行拨号,用linux就要习惯和熟练使用命令行) 在网上常见的有三种方式:1.使用智能的ppp拨号软件wvdial:参考案例:本博客的<使用wv ...
- Linux之Ubuntu下DSL拨号上网
可视化桌面配置方法 1.编辑连接 2.选择 增加 3.选择 DSL 4.选择 新建连接[cmcc@gx属于移动校园用户的ISP指定后缀] 6.OK 当然,还有其他拨号上网的办法: [Linux/Ubu ...
- linux下ppp拨号无线上网
linux下用ppp上网需要两个程序:pppd和chat.ubuntu自带pppd和chat,可以使用man查看具体使用方法. 典型的ppp拨号需要准备几个文件: 1. pppd脚本. 2. chat ...
- sim900GPRS模块ppp拨号上网
--------------------------------------------- 主机操作系统:Centos 6.5 交叉编译器环境:arm-linux-gcc-4.5.4 开发板平台: F ...
- Ubuntu10.04下的使用使用华为E1750 3G模块
系 统:Ubuntu 10.04 3G模块:华为E1750 1 安装usb-modeswitch软件 E1750 无线上网卡并没有提供linux环境下的驱动程序,但我们可以通过USB模式转换来让l ...
随机推荐
- c/c++在windows下获取时间和计算时间差的几种方法总结 【转】
http://blog.csdn.net/coder_xia/article/details/6566708 一.标准C和C++都可用 1.获取时间用time_t time( time_t * tim ...
- android 带文字阴影的button
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android=&quo ...
- apache无法启动:The request operation has failed
apache无法启动提示the requested operation has failed 的错误信息,有以下几种解决方法:1.80端口占用 apache默认使用的端口是80,而IIS和迅雷用的也是 ...
- limit是mysql的语法
select * from table limit m,n 其中m是指记录开始的index,从0开始,表示第一条记录 n是指从第m+1条开始,取n条. , 即取出第3条至第6条,4条记录 转自:htt ...
- Win7如何删除家庭组
发表于 2010-07-15 11:38:06 [YY团]Win7家庭组不能正常使用的解决办法 只是把近期碰到的一个小毛病的解决方案共享一下罢了,估计碰到这问题的人不会很多-- 表现是家庭组不能正常访 ...
- Android编程心得-使用ActionBar+Fragment+ViewPager实现动态切换Menu效果
1.首先上效果图 2.本例实现的效果主要适用于当前页面有多个页签时.进行Fragment切换时,能够利用不同的Menu样式与当前Fragment中的内容进行配合,能够大大添加复用性,看到效果图后,以下 ...
- ffmpeg怎么样处理网络流
http://blog.sina.com.cn/s/blog_675142dc01010otk.html 最近遇到好几个人在问ffmpeg如何处理网络流,刚好前段时间也在做这方面,抽空整理了下,把主要 ...
- VLC 源代码结构
x64 sudo apt-get install -y liblua5.2-dev libmad0-dev libavutil-dev libavcodec-dev libavformat-dev l ...
- NoSQL的CURD结构体的定义
NoSQL的CURD结构体的定义 flyfish 2015-7-23 參考MongoDB Wire Protocol 在这里document部分使用json表示 使用boost::property_ ...
- python和c#通用一致的des加密采用CBC和PKCS7
在python下可以下载pydes 下载地址为 http://pydes.sourceforge.net/ 在c#下实现des加密较为简单,如下: using System; using System ...