This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] CC1352R:如果附近有多个网络在运行、CC1352孤立扫描会返回 no_beacon (234)

Guru**** 2482225 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz-group/sub-1-ghz/f/sub-1-ghz-forum/1223706/cc1352r-cc1352-orphan-scan-returns-no_beacon-234-if-multiple-networks-are-running-nearby

器件型号:CC1352R
我们使用2种基于 TI CC1352的产品。 其中一个示例运行修改的 TI15.4-collector 代码(SDK 4.20)以及另一个 TI15.4-sensor 代码(SDK 4.30)。 无线电在50kbps 2-GFSK WBDSS 模式下运行。 加密已启用。
加电后、传感器通常可以加入网络并发送/接收数据。 但我们观察到孤立扫描的一些问题。
步骤如下:
  1. 让2个或更多 TI15.4收集器器件在附近运行网络。  
  2. 具有 与网络1配对的 TI15.4-传感器。
  3. 为 TI15.4传感器加电。 观察它是否成功加入网络#1
  4. 关闭 TI15.4-collector #1。 等待一段时间(10-15秒)。
  5. 检查传感器日志。 它将启动孤立扫描、并按预期-未找到父扫描:  
[128.680] jdllc: updateState (2074) State 4->5.
[128.681] SSF:SSF_stateChangeUpdate (488)孤立
[128.681] jdllc:Jdlc_process (475) Jdlc_events = 0x8.
[128.682] jdllc:进程状态(1119)状态3.
[128.682] jdllc: sendScanReq (2423)开始扫描3.
[128.683] API_Mac: ApiMac_mlmeScanReq (653)已调用
[128.684] jdllc: sendScanReq (2463) RC=0
[128.709] API_Mac: processIncomingICallMsg (1146) event=7.
[128.709] jdllc: scanCnfCb (1346)状态234 scanType 3

  1. 等待一段时间
  2. 为 TI15.4-collector #1.
  3. 等待并检查传感器日志
预期值:
传感器启动孤立扫描、最多需要 CONFIG_SCAN_DURATION、检测到  TI15.4-collector #1已联机并成功连入网络
 
实际:
传感器启动孤立扫描、几乎即时返回指示 no_beacon 结果的回调(请参见下面的日志)。 在重新启动之前,传感器从不加入网络1。
 
[ 188.802] jdllc:Jdlc_process (475) Jdlc_events = 0x100
[ 188.802] jdllc:进程状态(1119)状态3.
[ 188.803] jdllc: sendScanReq (2423)开始扫描3.
[188.804] API_Mac: ApiMac_mlmeScanReq (653)已调用
[188.804] jdllc: sendScanReq (2463) RC=0
[ 188.828] API_Mac: processIncomingICallMsg (1146) event=7.
[ 188.829] jdllc:scanCnfCb (1346) status 234 scanType 3
 
注1: 如果传感器重新启动,它将成功加入网络#1。
注2:如果我  在第8步将"Orphan"更改为"Active scan"-它正常运行5秒并找到父级扫描。 所以问题似乎与孤立扫描有关。  
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Serhi:

    我正在做这件事。 我还没有找到这个问题的原因。  

    我将在找到解决方案后立即联系我们

    此致、  

    Alex

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Serhi:

    您能给我更多的信息吗?  

    但是、我发现了两个类似的问题:

    是在为 收集器上电时传感器已处于"孤立"状态。 您可以尝试将  Orphan 回退间隔更 改为 较低的值(我选择10 s )以使其工作。  

    但是,如果设备在您再次为收集器供电之前没有进入"Orphan"-状态,请轻触堆栈的"角落"。 描述和求解如下:  

    收集器复位后、它将丢失其在连接的器件上的信息。 传感器则不会。 因此、传感器能够向收集器发送消息。 但是、传感器仍可以知道网络的 PAN-ID 和短地址。 因此,它将能够向收集器发送消息。 收集器将接收这些消息并予以确认。 但是、由于传感器不在连接设备列表中、因此不会向应用层提供信息。 因此、传感器会认为它仍然连接、但收集器不会接收到 传感器的信息

    如何处理:

    当接收到不在其连接列表中的设备包时,连接器应执行取消关联请求。 ()

    在收集器项目更改中:

    静态空 pollIndCB (ApiMac_mlmePollind_t * pPollInd)

    至:

    静态空 pollIndCB (ApiMac_mlmePollind_t * pPollInd)

       ApiMac_sAddr_t addr;

           addr.addrMode = ApiMac_addrType_short;

           if (pPollInd->srcAddr.addrMode == ApiMac_addrType_short)

           {

               addr.addr.shortAddr = pPollInd->srcAddr.addr.shortAddr;

           }

           方案

           {

               addr.addr.shortAddr = Csf_getDeviceShort (

                               &pPollInd->srcAddr.addr.extAddr);

           }

     

           if (findDevice (&pPollInd->srcAddr)== NULL &&

              pPollInd->srcAddr.addrMode == ApiMac_addrType_short)

           {

               Cllc_sendDisassociationRequest (addr.addr.shortAddr、false);

           }

           方案

           {

               processDataRetry (&addr);

           }

    }

    这将使您的收集器在收到来自未知设备的消息时立即进行解离

    在传感器项目中添加 到 jdlc.c 函数: disassocIndCb()

    Util_setEvent (&Sensor_Events、SENSOR_START_EVT);

    这将导致传感器重新启动网络。

     

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Serhi:

    您能使用我们最新的 SDK (6.10.00.17)和那里的传感器/收集器示例尝试一下吗。

    我无法获得之前提到的其他错误。  

    此致、

    Alex

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Alex:

    >>当您启动 收集器时,传感器是否已处于"孤立"状态。 您可以尝试将  Orphan 回退间隔更 改为 较低的值(我选择10 s )以使其工作。  

    我已经尝试减小退避间隔。 没有区别。 正在正确触发孤立扫描。 问题在于、MAC API 几乎会立即返回 no_beacon、而不会在 SCAN_DURATION 期间尝试所有通道。

    >>您可以使用我们最新的 SDK 进行试用吗(6.10.00.17)  

    好的、我将尝试使用新的 SDK 并在此处发布结果

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Serhii:  

    期待看到结果。 我将继续尝试重现您的问题。  

    如果周围没有其他收集器,以及这些网络节点是否具有相同的 PAN-ID,了解这种情况是否也会发生,也是很好的。  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Serhii:  

    我无法重现您的问题。

    您是否使用最新的 SDK 帮助解决了您的问题?

    此致、  

    Alex

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Serhii、您的问题似乎已经解决、如果您仍需要帮助、请告知我们。