请问一下嵌入式linux开发板使用ppp对EC20模块拨号,有没有办法可以知道模块连接状态,通过返回值判断拨号成功或失败原因,有的话,麻烦提供一份测试源代码,谢谢!
PPP 拨号的失败原因在pppd的代码里有。从模块这边没有命令可以指导失败原因。
好的谢谢,能否提供一份pppd代码源文件,发送到邮箱2303891539@qq.com
在Android 源码中 external/ppp/pppd/pppd.h 中
#define EXIT_OK 0
#define EXIT_FATAL_ERROR 1
#define EXIT_OPTION_ERROR 2
#define EXIT_NOT_ROOT 3
#define EXIT_NO_KERNEL_SUPPORT 4
#define EXIT_USER_REQUEST 5
#define EXIT_LOCK_FAILED 6
#define EXIT_OPEN_FAILED 7
#define EXIT_CONNECT_FAILED 8
#define EXIT_PTYCMD_FAILED 9
#define EXIT_NEGOTIATION_FAILED 10
#define EXIT_PEER_AUTH_FAILED 11
#define EXIT_IDLE_TIMEOUT 12
#define EXIT_CONNECT_TIME 13
#define EXIT_CALLBACK 14
#define EXIT_PEER_DEAD 15
#define EXIT_HANGUP 16
#define EXIT_LOOPBACK 17
#define EXIT_INIT_FAILED 18
#define EXIT_AUTH_TOPEER_FAILED 19
#ifdef MAXOCTETS
#define EXIT_TRAFFIC_LIMIT 20
#endif
#define EXIT_CNID_AUTH_FAILED 21
0 pppd已经断开,或者已经成功建立连接后请求方又中断了。
1 发成了一个严重错误,例如系统调用失败或者访问非法内存。
2 处理给定操作是检测到错误,例如使用两个互斥的操作。
3 调用pppd的用户没有权限(必须是超级用户)。
4 内核不支持ppp,例如PPP驱动没有加载或者内核编译没有包含PPP驱动。
5 pppd收到SIGINT, SIGTERM ,SIGHUP而中断。
6 不能锁定串口。
7 不能打开串口。
8 拨号脚本错误(退出状态非0)。
9 参数中指定的pty不可用。
10 PPP连接错误,也就是说在建立PPP连接中所有可用网络协议都不可到达。
11 服务器验证失败,拒绝连接。
12 链路成功建立,但是由于链路空闲所以中断连接。
13 链路已经成功建立,但由于连接超时导致中断连接。
14 已经完成握手协议,连接成功。
15 对发没有响应,连接连接中断。
16 modem挂起导致链路中断。
17 重复请求被检测到导致PPP连接中断(已经存在有一个连接请求)。
18 连接初始化脚本失败(返回一个非0值)。
19 验证自己失败。