4G模块调试(EC20)

1.USB驱动支持

目的:cat /dev/ttyUSB*显示出ttyUSB0,ttyUSB1…ttyUSB4
1.1Add VID和PID
查看自己设备vid和pid的方法:lsusb
路径t3/lichee/linux-3.10/drivers/usb/serial/option.
在这里插入图片描述
补充:如果以下文件中存在和自己相同的vid和pid,需要把它们注释或删除掉,理由略
t3/lichee/linux-3.10/drivers/usb/serial/qcserial.c
t3/lichee/linux-3.10//drivers/net/usb/qmi_wwan.c
1.2Add Zero Packet Mechanism
在这里插入图片描述
1.3Add Reset Resume
在这里插入图片描述
完成以上操作,就能成功查看到/dev/ttyUSB0,ttyUSB1…这些设备。
顺便用AT指令测试一下:
#busybox microcom -t 5000 -s 9600 /dev/ttyUSB2,输入AT,返回OK。

2.pppd拨号上网

2.1首先调试步骤
(1)确认RIL进程有没有运行,有运行显示running!
root@t3-p1:/ # getprop init.svc.ril-daemon
(2)确认lib是否是Quectel,如果是Quectel的应该是Quectel_Android_RIL开头的
root@t3-p1:/ # getprop gsm.version.ril-impl
(3)确认一下 init.rc 中的修改有没有成功
root@t3-p1:/ # cat /init.rc | grep ril
注:如遇以下问题解决方法
和预期的不一样
按理应该是Quectel开头的,说明库错误了,换成供应商提供的库:
/androidm/out/target/product/t3-p1/system/lib/libreference-ril.so
/androidm/device/softwinner/common/rild/lib/libreference-ril.so
在这里插入图片描述
需要修改服务:androidm/out/target/product/t3-p1/root/init.rc
或:androidm/device/softwinner/t3-p1/init.sun8iw11p1.rc

service ril-daemon /system/bin/rild -l /system/lib/libreference-ril.so
        class main
        socket rild stream 660 root radio
        socket rild-debug stream 660 radio system
        user radio
        group radio cache inet misc audio sdcard_rw log

在这里插入图片描述
查看显示的库的路径也还是错的,没有改正过来:
/androidm/out/target/product/t3-p1/system$ vi build.prop(可以看看system.prop)
rild.libpath=libsoftwinner-ril-6.0.so -->rild.libpath=/system/lib/libreference-ril.so
默认修改路径:/androidm/device/softwinner/common/rild$ vi radio_common.mk

1.device/softwinner/common/rild/lib/libreference-ril.so:system/lib/libreference-ril.so\

2.rild.libpath=/system/lib/libreference-ril.so \

如果编译后查看会变回原来的库,可以把提到库路径相关的地方都改了,以防万一。
2.2pppd拨号准备
把供应商提供的拨号脚本放到相应的路径中去:adb push或WinSCP
quectel-ppp-kill — /system/etc/ppp/peers
quectel-ppp — /system/etc/ppp/peers
quectel-chat-disconnect — /system/etc/ppp/peers
quectel-chat-connect — /system/etc/ppp/peers
ip-up — /system/etc/ppp/peers
chat — /system/bin
ip-down — /system/etc/ppp
ip-up — /system/etc/ppp
libreference-ril.so — /system/lib 库
注:相关文件在不同路径要一致的
device/softwinner/common/rild/ip-down:system/etc/ppp/ip-down
device/softwinner/common/rild/ip-up:system/etc/ppp/ip-up \
device/softwinner/common/rild/3g_dongle.cfg:system/etc/3g_dongle.cfg
2.3pppd拨号失败解决
拨号:root@t3-p1:/etc/ppp/peers # pppd call quectel-ppp
在这里插入图片描述
在设备上创建相关目录:mkdir /var/lock和mkdir /var/run
在这里插入图片描述
在这里插入图片描述
这个问题最恶心,花了好几天的时间去解决。。。
补充三大运营商的APN设置:
移动: at+cgdcont=1,“ip”,“cmnet” ATD991#
联通: at+cgdcont=1,“ip”,“3gnet” ATD*99#
电信: at+cgdcont=1,“ip”,“ctnet” ATD#777
在这里插入图片描述
这样就拨号成功了,查看也会多一个ppp0的网卡设备,然后ping通百度域名试试!

附加调试过程中尝试的一些操作(可忽略或许也有用到):
1.root@t3-p1:/ # getenforce 来获取 SELinux 的状态
root@t3-p1:/ # setenforce 0 将其设置为 Permissive
2.修改权限/androidm/out/target/product/t3-p1/root$ vi ueventd.rc
#quectel port
/dev/ttyUSB* 0660 radio radio
/dev/cdc-wdm* 0660 radio radio
/dev/qcqmi* 0660 radio radio
/dev/cdc-acm* 0660 radio radio
3.如果需要在 非root 下进行调试的话
/androidm/out/target/product/t3-p1/root$ vi ueventd.sun8iw11p1.rc
/dev/ttyUSB0 0666 radio radio
/dev/ttyUSB1 0666 radio radio
/dev/ttyUSB2 0666 radio radio
/dev/ttyUSB3 0666 radio radio
4.查看PPP log信息: Android下:logcat -s pppd
5.查看拨号IP: Android下:ifconfig/netcfg
6.查看日志:logcat -b radio
7.查看网络状态:netstat
8.androidm/out/target/product/t3-p1/root/init.rc和androidm/system/core/rootdir/init.rc
修改权限问题:mkdir /system成mkdir /system 0777 root root
修改mount rootfs rootfs / ro remount成mount rootfs rootfs / rw remount
9./androidm/hardware/ril$
拷贝referen-ril到android/hardware/ril,替换原来的reference-ril目录
10.modem hangup原因
(1)供电不足
(2)信号不好
(3)运营端有bug
(4)拨号脚本对比

4G拨号脚本链接:
https://blog.csdn.net/weixin_44981258/article/details/107106220

Logo

更多推荐