600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > 在ARM-linux上实现4G模块simcom7100c 的PPP拨号上网

在ARM-linux上实现4G模块simcom7100c 的PPP拨号上网

时间:2022-05-01 23:02:40

相关推荐

在ARM-linux上实现4G模块simcom7100c 的PPP拨号上网

转/s/blog_7880d3350102wb92.html

在ARM平台上实现4G模块的PPP拨号上网,参考网上的资料和自己的理解,从一无所知到开发完成花了一周多。最后看到ARM板ping通时甚是高兴,现将此过程整理如下。当然,除此之外要做的工作还有很多。

4G模块使用的SIMTECH的SIM7100C,SIM7100C带有UART和USB接口,在考虑速度上我们使用USB接口和ARM进行通信。所以向linux内核添加3G模块的驱动(USB转串口驱动)和PPP协议的支持,然后编译内核并下载到开发板。

1.编译内核

◇大容量存储驱动

> Device Drivers > USB support

make ARCH=arm menuconfig配置USB驱动:

<*>USB Mass Storage support

[*]USB Mass Storage verbose debug

<*>Realtek Card Reader support

[*]Realtek Card Reader autosuspend support

<*>Datafab Compact Flash Reader support

◇USB驱动

> Device Drivers > USB support

<*>Inventra Highspeed Dual Role Controller (TI, ADI, ...)

MUSB Mode Selection (Dual Role mode)--->

<*>Platform Glue Layer (TI DSPS platforms)--->

MUSB DMA mode (Disable DMA (always use PIO))--->

<*>USB Serial Converter support--->

[*]USBGeneric Serial Driver

<*>USBdriver for GSM and CDMA modems

◇PPP驱动

> Device Drivers > Network device support

<*>PPP (point-to-point protocol) support

<*>PPP BSD-Compress compression

<*>PPP Deflate compression

[*]PPP filtering

<*>PPP MPPE compression (encryption)

[*]PPP multilink support

<*>PPP over Ethernet

<*>PPP support for async serial ports

<*>PPP support for sync tty ports

<*>SLIP (serial line) support

[*]CSLIP compressed headers

2.交叉编译libusb

下载usblib库和libusb-compat

/projects/libusb/files/

root@zhaoxc-VBox:/opt/usb-tools/libusb-1.0.20#mkdir install

configure: error: "udev support requested but libudev not installed"(解决:添加--disable-udev)

root@zhaoxc-VBox:/opt/usb-tools/libusb-1.0.20#./configure --host=arm-none-linux-gnueabi --prefix=/opt/usb-tools/libusb-1.0.20/install --disable-udev

root@zhaoxc-VBox:/opt/usb-tools/libusb-1.0.20#make

root@zhaoxc-VBox:/opt/usb-tools/libusb-1.0.20#make install

添加环境变量/Linux/-03/33432.htm(PKG_CONFIG_PATH设置)

root@zhaoxc-VBox:/opt/usb-tools/libusb-1.0.20#export PKG_CONFIG_PATH=/opt/usb-tools/libusb-1.0.20/install/lib/pkgconfig:$PKG_CONFIG_PATH

root@zhaoxc-VBox:/opt/usb-tools/libusb-1.0.20#echo $PKG_CONFIG_PATH

编译libusb-compat:

root@zhaoxc-VBox:/opt/usb-tools/libusb-compat-0.1.5#./configure --host=arm-none-linux-gnueabi --prefix=/opt/usb-tools/libusb-compat-0.1.5/install

root@zhaoxc-VBox:/opt/usb-tools/libusb-compat-0.1.5#make

root@zhaoxc-VBox:/opt/usb-tools/libusb-compat-0.1.5#make install

将生成的libusb-1.0.20和libusb-compat-0.1.5下的库文件复制到ARM板上的linux的/lib下面即可。

3.交叉编译4G模块驱动

交叉编译GobiSerial.c(ARCH=arm CC=arm-none-linux-gnueabi-gcc),得到GobiSerial.ko。复制到ARM板安装驱动

#insmod GobiSerial.ko

4.查看驱动运行状况

插上4G模块,虚拟出6个ttyUSB,它们分别是:

root@am335x-evm:/#ls /dev/ttyUSB*

/dev/ttyUSB0/dev/ttyUSB1/dev/ttyUSB2/dev/ttyUSB3/dev/ttyUSB4/dev/ttyUSB5

1) /dev/ttyUSB0-diag port for output developing messages

2) /dev/ttyUSB1- NMEA port for GPS NMEA data output

3) /dev/ttyUSB2-AT port for AT commands

4) /dev/ttyUSB3-Modem port for ppp-dial

5) /dev/ttyUSB4-audio port

6) /dev/ttyUSB5-Virtual Net card

插上U盘,提示设备运行:

[75097.986054] usb 2-1: New USB device found, idVendor=058f, idProduct=6387

[75097.993167] usb 2-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3

[75098.000689] usb 2-1: Product: Mass Storage

[75098.004995] usb 2-1: Manufacturer: Generic

[75098.009342] usb 2-1: SerialNumber: AC3DF2EE

[75098.024341] usb-storage 2-1:1.0: USB Mass Storage device detected

[75098.049922] scsi0 : usb-storage 2-1:1.0

lsusb命令查看结果:

Bus 001 Device 002: ID 1e0e:9001

Bus 002 Device 002: ID 058f:6387

Bus 001 Device 001: ID 1d6b:0002

Bus 002 Device 001: ID 1d6b:0002

5.交叉编译PPP

参见:/s/blog_7880d3350102wb3e.html

6.拨号脚本设置

root@am335x-evm:/etc/ppp# vi gprs-connect-chat

#Chat script for China Mobile, used SIMCOM sim4100 TD module.

TIMEOUT 15

ABORT "DELAYED"

ABORT "BUSY"

ABORT "ERROR"

ABORT "NO DIALTONE"

ABORT "NO CARRIER"

TIMEOUT 40

'' \rAT

OK ATS0=0

OK ATE0V1

OK AT+CGDCONT=1,"IP","CMNET"

OK AT+CGEQREQ=1,2,128,384,,,0,,,,,,

OK ATDT*99*1#

CONNECT

root@am335x-evm:/etc/ppp/peers# vi gprsdial

#/etc/ppp/peers/gprsdial

# This is pppd script for China Mobile, used SIMCOM SIM7100 Module

# Usage: root>pppd call gprs

#Interface should be used is the interface which connects physics interface of S

/dev/ttyUSB3

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-failure 12

#lcp-echo-interval 3

#noccp

#novj

#novjccomp

#persist

connect '/usr/sbin/chat -s -v -f /etc/ppp/gprs-connect-chat'

#disconnect '/bin/chat -v -f /etc/ppp/gprs-disconnect-chat'

6.拨号

root@am335x-evm:pppd call gprsdial

6.测试

拨号之后进行测试,发现可以ping通ip但是无法ping通域名。这需要设置/etc/resolv.conf来添加DNS解析服务器的地址

文件/etc/resolv.conf配置DNS客户,它包含了主机的域名搜索顺序和DNS服务器的地址,每一行应包含一个关键字和一个或多个的由空格隔开的参数。下面是一个例子文件:

domain

nameserver 202.96.128.86

nameserver 202.96.128.166

nameserver#定义DNS服务器的IP地址

domain#定义本地域名

search#定义域名的搜索列表

sortlist#对返回的域名进行排序

主要是nameserver关键字,如果没指定nameserver就找不到DNS服务器,其它关键字是可选的。

我这里只设置了两个DNS,如下:

ameserver 114.114.114.114

nameserver 8.8.8.8

参考文档:

How to use the SIM7100 module in Linux.pdf

/hanmengaidudu/article/details/17099737

/Linux/-03/33430p2.htm

/Linux/-03/33430.htm

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。