rk3288buildroot添加移远4G模块

      rk3288buildroot 系统搞的人比较少,最初调试一脸蒙蔽,不知如何下手,搞了几天,百度谷歌无数,最终搞定。其实也没那么麻烦,只要方法得当,写此博文只做记录吧!

       整个调试分为两部分,一部分是kernel部分添加,主要是打开一些配置宏。另一部分是系统层配置,我使用的是pppd,当然还有其他方式,我没有尝试了。

         1,修改kenel配置:

修改 drivers/usb/serial/usb_wwan.c 文件,如下红色部分
static struct urb *usb_wwan_setup_urb(struct usb_serial_port *port,
int endpoint,
int dir, void *ctx, char *buf, int len,
void (*callback) (struct urb *))
{
if(dir == USB_DIR_OUT) {
struct usb_device_descriptor *desc = &serial->dev->descriptor;
If((desc->idVendor == cpu_to_le16(0x2c7c) && desc->idProduct
== cpu_to_le16(0x0125)))
{
urb->transfer_flags |= URB_ZERO_PACKET;
}

}
return urb;
}
Setp5: Add VID add PID
drivers/usb/serial/option.c 添加红色部分
static const struct usb_device_id option_ids[] = {
{ USB_DEVICE(0x1286, 0x4e3d) },
{ USB_DEVICE(0x1286, 0x4e3c) },
{ USB_DEVICE(0x2C7C, 0x0125) },
{ USB_DEVICE(0x2C7C, 0x0121) },
{ USB_DEVICE(0x2C7C, 0x6026) },

config部分增加以下:

 CONFIG_PPP=y
 CONFIG_PPP_ASYNC=y

+CONFIG_PPP_BSDCOMP=y
+CONFIG_PPP_DEFLATE=y
+CONFIG_PPP_FILTER=y
+CONFIG_PPP_MPPE=y
+CONFIG_PPP_MULTILINK=y
+CONFIG_PPPOE=y
+CONFIG_PPP_SYNC_TTY=y

 

2,  buildroot部分增加pppd安装包方法:

--- a/configs/rockchip_rk3288_defconfig
+++ b/configs/rockchip_rk3288_defconfig
+BR2_PACKAGE_PPPD=y
+BR2_PACKAGE_PPPD_OVERWRITE_RESOLV_CONF=y

3, pppd脚本配置

  [root@rk3288:/etc/ppp/peers]# ls
quectel-chat-connect  quectel-chat-disconnect  quectel-pppd
[root@rk3288:/etc/ppp/peers]# 
[root@rk3288:/etc/ppp/peers]# 
[root@rk3288:/etc/ppp/peers]# 
[root@rk3288:/etc/ppp/peers]# 
[root@rk3288:/etc/ppp/peers]# 
[root@rk3288:/etc/ppp/peers]# pwd
/etc/ppp/peers
[root@rk3288:/etc/ppp/peers]# 
[root@rk3288:/etc/ppp/peers]# cat quectel-chat-connect
# /etc/ppp/peers/quectel-chat-connect
ABORT "BUSY"
ABORT "NO CARRIER"
ABORT "NO DIALTONE"
ABORT "ERROR"
ABORT "NO ANSWER"
TIMEOUT 30
"" AT
OK ATE0
OK ATI;+CSUB;+CSQ;+CPIN?;+COPS?;+CGREG?;&D2
# Insert the APN provided by your network operator, default apn is 3gnet
OK AT+CGDCONT=1,"IP","3gnet",,0,0
#OK AT+CGDCONT=1,"IP","cmnet",,0,0
#OK AT+CGDCONT=1,"IP","apn",,0,0
OK ATD*99#
#OK ATD981#
CONNECT
[root@rk3288:/etc/ppp/peers]# 
[root@rk3288:/etc/ppp/peers]# cat quectel-chat-disconnect
# /etc/ppp/peers/quectel-chat-disconnect
ABORT "ERROR"
ABORT "NO DIALTONE"
SAY "\nSending break to the modem\n"
""  +++
""  +++
""  +++
SAY "\nGoodbay\n"
[root@rk3288:/etc/ppp/peers]# 
[root@rk3288:/etc/ppp/peers]# cat quectel-pppd
# /etc/ppp/peers/quectel-pppd
# Usage:root>pppd call quectel-pppd
#Modem path, like /dev/ttyUSB3,/dev/ttyACM0, depend on your module, default path is /dev/ttyUSB3
/dev/ttyUSB3 115200
#Insert the username and password for authentication, default user and password are test
user "test" password "test"
# The chat script, customize your APN in this file
connect 'chat -s -v -f /etc/ppp/peers/quectel-chat-connect'
# The close script
disconnect 'chat -s -v -f /etc/ppp/peers/quectel-chat-disconnect'
# Hide password in debug messages
hide-password
# The phone is not required to authenticate
noauth
# Debug info from pppd
debug
# If you want to use the HSDPA link as your gateway
defaultroute
# pppd must not propose any IP address to the peer
noipdefault
# No ppp compression
novj
novjccomp
noccp
ipcp-accept-local
ipcp-accept-remote
local
# For sanity, keep a lock on the serial line
lock
modem
dump
nodetach
# Hardware flow control
nocrtscts
remotename 3gppp
ipparam 3gppp
ipcp-max-failure 30
# Ask the peer for up to 2 DNS server addresses
usepeerdns
[root@rk3288:/etc/ppp/peers]# 

 

4,测试,我使用的移动4G卡,联通貌似也可以

[root@rk3288:/]# 
[root@rk3288:/]# 
[root@rk3288:/]# pppd call quectel-pppd &
[root@rk3288:/]# pppd options in effect:
debug           # (from /etc/ppp/peers/quectel-pppd)
nodetach                # (from /etc/ppp/peers/quectel-pppd)
dump            # (from /etc/ppp/peers/quectel-pppd)
noauth          # (from /etc/ppp/peers/quectel-pppd)
user test               # (from /etc/ppp/peers/quectel-pppd)
password ??????         # (from /etc/ppp/peers/quectel-pppd)
remotename 3gppp                # (from /etc/ppp/peers/quectel-pppd)
/dev/ttyUSB3            # (from /etc/ppp/peers/quectel-pppd)
115200          # (from /etc/ppp/peers/quectel-pppd)
lock            # (from /etc/ppp/peers/quectel-pppd)
connect chat -s -v -f /etc/ppp/peers/quectel-chat-connect               # (from /etc/ppp/peers/quectel-pppd)
disconnect chat -s -v -f /etc/ppp/peers/quectel-chat-disconnect         # (from /etc/ppp/peers/quectel-pppd)
nocrtscts               # (from /etc/ppp/peers/quectel-pppd)
modem           # (from /etc/ppp/peers/quectel-pppd)
hide-password           # (from /etc/ppp/peers/quectel-pppd)
novj            # (from /etc/ppp/peers/quectel-pppd)
novjccomp               # (from /etc/ppp/peers/quectel-pppd)
ipcp-accept-local               # (from /etc/ppp/peers/quectel-pppd)
ipcp-accept-remote              # (from /etc/ppp/peers/quectel-pppd)
ipparam 3gppp           # (from /etc/ppp/peers/quectel-pppd)
noipdefault             # (from /etc/ppp/peers/quectel-pppd)
ipcp-max-failure 30             # (from /etc/ppp/peers/quectel-pppd)
defaultroute            # (from /etc/ppp/peers/quectel-pppd)
usepeerdns              # (from /etc/ppp/peers/quectel-pppd)
noccp           # (from /etc/ppp/peers/quectel-pppd)
abort on (BUSY)
abort on (NO CARRIER)
abort on (NO DIALTONE)
abort on (ERROR)
abort on (NO ANSWER)
timeout set to 30 seconds
send (AT^M)
expect (OK)
AT^M^M
OK
 -- got it

send (ATE0^M)
expect (OK)
^M
ATE0^M^M
OK
 -- got it

send (ATI;+CSUB;+CSQ;+CPIN?;+COPS?;+CGREG?;&D2^M)
expect (OK)
^M
^M
Quectel^M
EC25^M
Revision: EC25EUXGAR08A02M1G^M
^M
SubEdition: V02^M
^M
+CSQ: 28,99^M
^M
+CPIN: READY^M
^M
+COPS: 0,0,"CHINA MOBILE",7^M
^M
+CGREG: 0,1^M
^M
OK
 -- got it

send (AT+CGDCONT=1,"IP","3gnet",,0,0^M)
expect (OK)
^M
^M
OK
 -- got it

send (ATD*99#^M)
expect (CONNECT)
^M
^M
CONNECT
 -- got it

Script chat -s -v -f /etc/ppp/peers/quectel-chat-connect finished (pid 754), status = 0x0
Serial connection established.
using channel 1
Using interface ppp0
Connect: ppp0 <--> /dev/ttyUSB3
sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0x335b1982> <pcomp> <accomp>]
rcvd [LCP ConfReq id=0x0 <asyncmap 0x0> <auth chap MD5> <magic 0xbe9c9fea> <pcomp> <accomp>]
sent [LCP ConfAck id=0x0 <asyncmap 0x0> <auth chap MD5> <magic 0xbe9c9fea> <pcomp> <accomp>]
rcvd [LCP ConfAck id=0x1 <asyncmap 0x0> <magic 0x335b1982> <pcomp> <accomp>]
rcvd [LCP DiscReq id=0x1 magic=0xbe9c9fea]
rcvd [CHAP Challenge id=0x1 <acbf3d942eee223c638da0b6209d606c>, name = "UMTS_CHAP_SRVR"]
sent [CHAP Response id=0x1 <b9126c9efabf5da65fc14c6ff0bf7d24>, name = "test"]
rcvd [CHAP Success id=0x1 ""]
CHAP authentication succeeded
CHAP authentication succeeded
sent [IPCP ConfReq id=0x1 <addr 0.0.0.0> <ms-dns1 0.0.0.0> <ms-dns2 0.0.0.0>]
rcvd [IPCP ConfReq id=0x0]
sent [IPCP ConfNak id=0x0 <addr 0.0.0.0>]
rcvd [IPCP ConfNak id=0x1 <addr 10.222.106.114> <ms-dns1 211.138.180.2> <ms-dns2 211.138.180.3>]
sent [IPCP ConfReq id=0x2 <addr 10.222.106.114> <ms-dns1 211.138.180.2> <ms-dns2 211.138.180.3>]
rcvd [IPCP ConfReq id=0x1]
sent [IPCP ConfAck id=0x1]
rcvd [IPCP ConfAck id=0x2 <addr 10.222.106.114> <ms-dns1 211.138.180.2> <ms-dns2 211.138.180.3>]
Could not determine remote IP address: defaulting to 10.64.64.64
local  IP address 10.222.106.114
remote IP address 10.64.64.64
primary   DNS address 211.138.180.2
secondary DNS address 211.138.180.3

[root@rk3288:/]# 
[root@rk3288:/]# 
[root@rk3288:/]# 
[root@rk3288:/]# ping www.baidu.com
PING www.a.shifen.com (36.152.44.95) 56(84) bytes of data.
64 bytes from 36.152.44.95 (36.152.44.95): icmp_seq=1 ttl=55 time=56.4 ms
64 bytes from 36.152.44.95 (36.152.44.95): icmp_seq=2 ttl=55 time=34.5 ms
64 bytes from 36.152.44.95 (36.152.44.95): icmp_seq=3 ttl=55 time=43.2 ms
64 bytes from 36.152.44.95 (36.152.44.95): icmp_seq=4 ttl=55 time=31.2 ms
^C
--- www.a.shifen.com ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3005ms
rtt min/avg/max/mdev = 31.274/41.363/56.470/9.754 ms
[root@rk3288:/]# 
[root@rk3288:/]# 
[root@rk3288:/]# ifconfig
eth0      Link encap:Ethernet  HWaddr C2:4C:C4:3F:1E:64  
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:6 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:807 (807.0 B)
          Interrupt:39 

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:124 errors:0 dropped:0 overruns:0 frame:0
          TX packets:124 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1 
          RX bytes:8784 (8.5 KiB)  TX bytes:8784 (8.5 KiB)

ppp0      Link encap:Point-to-Point Protocol  
          inet addr:10.222.106.114  P-t-P:10.64.64.64  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
          RX packets:41 errors:0 dropped:0 overruns:0 frame:0
          TX packets:46 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:3 
          RX bytes:3405 (3.3 KiB)  TX bytes:3115 (3.0 KiB)

[root@rk3288:/]# 
[root@rk3288:/]# 
[root@rk3288:/]# 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值