添加SIM7100c串口驱动
找到内核源码文件 option.c(一般情况下,路径在drivers/usb/serial/option.c)
如果是较新的内核版本(3.2以上)
#defineSIMCOM_SIM7100_VID 0x1E0E
#defineSIMCOM_SIM7100_PID 0x9001
//forSIM7100 modem for NDIS
staticconst struct option_blacklist_info simcom_sim7100_blacklist = {
.reserved= BIT(5),
};
在 option_ids列表中增加
......
//forSIM7100 modem for NDIS
{USB_DEVICE(SIMCOM_SIM7100_VID, SIMCOM_SIM7100_PID),
.driver_info= (kernel_ulong_t)& simcom_sim7100_blacklist t
},
......
如果是较低的内核版本,
#defineSIMCOM_SIM7100_VID 0x1E0E
#defineSIMCOM_SIM7100_PID 0x9001
在 option_ids列表中增加
{USB_DEVICE(SIMCOM_SIM7100_VID, SIMCOM_SIM7100_PID)}, /*SIM7100 */
并且在 option_probe里过滤掉 interface5
/*sim7100 */
if(serial->dev->descriptor.idVendor == SIMCOM_SIM7100_VID &&
serial->dev->descriptor.idProduct== SIMCOM_SIM7100_PID &&
serial->interface->cur_altsetting->desc.bInterfaceNumber== 5 )
return-ENODEV;
makemenuconfig >Device drivers > USB suooport
<*>USBSerial Converter support --->
[*]USBGSM and CDMA modems
[*]Genericserial driver(*)
PPPD配置
编译ppp
将 ppp文件夹放在系统的“etc/”目录;
将 pppd文件放在系统的“usr/sbin/”目录。
将“libpcap.so.1”拷贝到“/usr/lib”:
同时将ls-gprs文件的串口改为ttyUSB2 波特率设为115200
/ppp/chat/gprs-connect-chat配置如下:
TIMEOUT15
ABORT"DELAYED"
ABORT"BUSY"
ABORT"ERROR"
ABORT"NO DIALTONE"
ABORT"NO CARRIER"
TIMEOUT40
''\rAT
OKATS0=0
OKATE0V1
OKAT+CGDCONT=1,"IP","CMNET"
OKAT+CGEQREQ=1,2,128,384,,,0,,,,,,
OKATDT*99*1#
CONNECT
/ppp/peers/ls-gprs(如果没有则自己创建一个,名字无所谓)配置如下:
#Usage: root> pppd call ls-gprs
/dev/ttyUSB2 //sim7100c通信串口
115200 //波特率
crtscts
modem
noauth
debug
nodetach
#hide-password
usepeerdns
noipdefault
defaultroute
user"cmnet"
0.0.0.0:0.0.0.0
#ipcp-accept-local
#ipcp-accept-remote
#lcp-echo-failure12
#lcp-echo-interval3
#noccp
#novj
#novjccomp
#persist
connect'/usr/sbin/chat -s -v -f /etc/ppp/chat/gprs-connect-chat'
PPPD启动
pppdcall ls-gprs&
PPPD将会在后台运行。成功启动后,就可以直接使用TCP的方式进行通信了,pppd会自动根据配置与4g模块进行通信。
PPPD断开
killallpppd