YOPEN常见问题
本文档列出了在使用过程中可能遇到的问题
socket断连
信号不稳定
信号不稳定是导致 socket 频繁断连的常见原因之一。当设备所处环境信号不佳时,会出现频繁断连的情况。
- 排查方法:检查设备端日志中的 RSSI(Received Signal Strength Indication,接收信号强度指示)变化。您可以通过调用
yopen_nw_get_csq
函数获取信号强度,以此了解设备当前接收到的信号状况。 - 解决办法:测试网络环境,尝试将设备移动到开阔区域,例如室外空旷地带或窗户旁边等信号较强的地方,观察断连情况是否减少。
tls连接失败
TLS连接失败通常是由于协议版本、加密套件、服务器配置或 SNI(Server Name Indication,服务器名称指示)等方面的问题引起的。以下为您具体分析:
SNI问题
当客户端未发送客户端未发送 Server Name Indication 扩展信息,而服务器托管了多个 HTTPS 站点,需要 SNI 来确定使用哪个证书
- 排查方法:根据抓包可以看到错误码为80的错误
- 解决方法:在wsclient.c文件中修改以下代码启用SNI
TLS版本不兼容
由于版本不兼容也会导致的连接失败
- 排查方法:根据抓包可以看到Protocol的错误
- 解决方法:在wsclient.c文件中修改以下代码选择正确的版本
加密套件不匹配
加密套件不匹配也可能导致 TLS 连接失败。
- 排查方法:根据抓包可以看到Handshake Failure的错误
- 解决方法:在wsclient.c文件中修改以下代码选择正确的版本
端口错误
端口设置错误同样会影响 TLS 连接,在wsclient.c文件中ws默认的端口为80,wss默认的端口为443
- 排查方法:根据抓包可以看到TCP连续重传的错误,即为端口错误
- 解决方法:在wsclient.c文件中修改以下代码选择正确的版本
无法注册网络
错误 | 排查 |
---|---|
模组是否找到SIM卡 | 调用yopen_sim_get_present_det 查看是否检测到SIM卡 |
SIM卡工作频段不兼容 | 调用 yopen_nw_get_band 函数获取模组的工作频段,并确保其与所在网络环境兼容 |
SIM卡状态错误 | 调用yopen_sim_get_card_status ,根据返回值确认SIM卡状态 |
确认IMEI号是否合法 | 有些客户会改写IMEI号导致无法注网,调用yopen_dev_get_imei 函数获取 IMEI 号,并验证其合法性 |
其他原因 | 卡是否欠费,被锁卡 |
工作频段不兼容
不同的运营商和地区可能使用不同的频段,若模组工作频段与当前网络环境不匹配,会导致无法注册网络。
- 排查方法:使用
yopen_nw_get_band
函数获取模组当前的工作频段。 - 解决办法:根据所在地区和运营商的要求,调整模组的工作频段,使其与网络环境相匹配。
SIM卡状态错误
- 排查方法:调用
yopen_sim_get_card_status
,根据返回值确认SIM卡状态
ret = yopen_sim_get_card_status(0, &card_status);
DEMO_SIM_TRACE("========== yopen_sim_get_card_status (sim%d) %d ret %d ==========", i, card_status, ret);
- 解决办法:根据返回值判断SIM卡当前状态,返回值参考yopen_sim.h文件
确认IMEI号是否合法
- 排查方法:有些客户会改写IMEI号导致无法注网,调用
yopen_dev_get_imei
函数获取 IMEI 号,并验证其合法性
char devinfo[64] = {0};
yopen_dev_get_imei(devinfo, 64, 0);
DEMO_DEV_TRACE("IMEI: %s", devinfo);
- 解决办法:若IMEI号非法可通过
yopen_dev_set_imei
设置IMEI号
掉网问题
错误 | 排查 |
---|---|
硬件问题 | 模组射频故障、接口接触不良(如 SIM 卡松动)、天线损坏或未接好; |
网络环境 | 信号弱(覆盖差、遮挡屏蔽)、强电磁干扰、基站 / 运营商网络拥塞或故障; |
软件配置 | 固件 bug、网络参数错误(如 APN配置错误、IP 冲突等)、心跳 / 超时设置不合理; |
电源供电 | 电压不稳、电流不足 |
软件异常
软件异常死机,参考软件异常分析工具Trace32使用指南导出死机现场,并参考死机问题分析
固件下载失败
固件不匹配
- 排查方法:查看日志信息窗口是否存在 Downloading process Runtime config failed, Runtime control para verify error错误
- 解决办法:检查固件版本,更换正确版本
AT口打开失败
- 排查方法:通过AT口烧录时,若烧录失败,查看日志信息窗口是否存在 At com reset process, resetdldboot assist com open fail错误
- 解决办法:端口选择错误,更换AT口重新烧录,端口被占用,检查是否有抓log工具或串口工具占用端口