本文转载自;http://blog.csdn.net/zqixiao_09/article/details/52506812
驱动部分:
1.kernle/drivers/usb/serial/option.c的结构体数组 static struct usb_device_id option_ids[]中增加加入产品的VID和PID
{ USB_DEVICE( 0x1c9e, 0x9e00 ) } // U5300v/C7500 evdo
{ USB_DEVICE( 0x1c9e, 0x9603 ) } // 6300v/U7500 wcdma
{ USB_DEVICE( 0x1c9e, 0x9b05 ) } // U8300 LTE
2.如果拨号上网则配置PPP,make menuconfig后
Device Drivers --->
-*-Network device support --->
{*}ppp(point-to-point protocol) support
……
[*] ppp support for async serial ports
[*] ppp support for sync tty ports
……
一般选择以上即可,如果需要更多PPP服务,则PPP相关都选择上。
……
3.配置USB MODEM
Device Drivers --->
[*]USB support --->
[*]USB Serial Conerter support --->
[*]USB Generic Serial Driver
……
[*]USB driver for GSM and CDMA modems
……
重新编译内核。设备正常加载后,输入命令“ls /dev/ttyUSB*”后会看到有ttyUSB(0,1,2,-,-)映射出来。
4.模块PID&VID 及对应的业务口分配
U6300v/U7500: VID_1C9E PID_9603 ttyUSB1 是AT口 ttyUSB2 modem口;
C5300v/C7500: VID_1C9E PID_9E00 ttyUSB3 是AT口 ttyUSB0 modem口;
U8300: VID_1C9E PID_9B05 ttyUSB2是 AT口 ttyUSB1 modem口;
系统应用部分:
一、 使用MODEM口,PPP拨号方式
1、 AT口主要用于网络情况查询、语音业务、短信等;
2、 MODEM口用于数据业务,通过AT口查询网络注册网络正常后再发起拨号处理;
3、 拨号的脚本主要有两个配置文件,以WCDMA为例:
A、在/etc/ppp/peers/wcdma:
/dev/ttyUSB2
115200
mru 1280
mtu 1280
nodetach
noauth
debug
nocrtscts
nocdtrcts
dump
defaultroute
usepeerdns
novj
novjccomp
noipdefault
ipcp-accept-local
ipcp-accept-remote
connect-delay 5000
connect '/usr/sbin/chat -s -v -f /etc/ppp/chat/wcdma-connect-chat'
B、/etc/ppp/chat/wcdma-connect-chat
TIMEOUT 15
ABORT "DELAYED"
ABORT "BUSY"
ABORT "ERROR"
ABORT "NO DIALTONE"
ABORT "NO CARRIER"
TIMEOUT 40
'' \rAT
OK AT+CGDCONT=1,"IP","3GNET"
OK ATDT*99***1#
CONNECT ''
执行WCDMA文件进行拨号。
注:如果是EVDO模块,则A文件里参数里带上
user card
password card;
如果是LTE模块,则B文件的CGDCONT设置两路,即
OK AT+CGDCONT=1,"IP","CMNET"
OK AT+CGDCONT=2,"IP","CMNET"
对应模块的硬件手册”XXX 模块硬件接口手册_2.x .PDF”的 “USB接口”章节下的
“Linux系统下XXX拨号上网过程”也有详细介绍。请参考相应文档
二、 LTE 模块NDIS拨号方式
LTE模块提供网口 NDIS拨号方式,因操作方式比较复杂,龙尚已经针对此拨号方式提供拨号代码,方便客户移植,并对其操作做了详细说明,具体可以参考:
文档A:“linux qmi ndis拨号api说明.pdf”
文档B:“嵌入式Linux系统中NDIS编译及使用说明.pdf”
相关文档请与技术接口人索取。