Skip to content

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工具或串口工具占用端口