Forums - QCA4020 can't see other QCA4020 devices in Thread scan

7 posts / 0 new
Last post
QCA4020 can't see other QCA4020 devices in Thread scan
jesse
Join Date: 22 Aug 17
Posts: 22
Posted: Mon, 2019-06-03 11:05

I've been trying to debug an issue where our QCA4020 based product can't join Thread networks. From the OpenThread output log I will see something like "No networks found" when it does the pre-join scan. To work around some other bugs in QAPI manged to get access to the OpenThread API. (I'll leave the details on how to do this as  an exercise for the reader.)

I am using otLinkActiveScan() from a CLI command to scan for Active networks. QCA4020 devices NEVER see other other QCA4020 devices. Our KW41 devices can see the QCA4020 devices and the QCA4020 can see our KW41 devices. Our KW41 devices do not use OpenThread. 

I installed OpenThread on a KW41Z. The KW41Z sees the our KW41 devices but not QCA4020. The QCA4020 will see the KW41Z.

OpenThread reports a "Frame rx failed, error:UnknownNeighbor" when it recveives a Beacon Notify from a QCA4020 device. 

Here is the log output from two CDB20 QCA4020 dev boards.

KW41Z PAN ID: BAD3

CDB20 #1  PAN ID: 3BCF

CDB20 #1  PAN ID: 096E

Every other device is a KW41 running NXP Thread stack.

----- From CDB20 with PAN ID 3BCF -----

> thread scan network 500
 
[DEBG]-MAC-----: [00298B25] Started Scan (type=Active)
 
[DEBG]-MAC-----: Beacon Notify pan=096E chan=15
[DEBG]-MAC-----: Received from short address 4000
[DEBG]-MAC-----: drop not neighbor
[INFO]-MAC-----: Frame rx failed, error:UnknownNeighbor, len:26, seqnum:0, type:Beacon, src:0x4000, dst:None, s
[DEBG]-MAC-----: Beacon Notify pan=EAF6 chan=25
[INFO]-MAC-----: Received non-Thread Beacon src=9A7D2EE861D3F67B, chan=25, pan=EAF6
[DEBG]-MAC-----: Beacon Notify pan=84F4 chan=25
[INFO]-MAC-----: Received non-Thread Beacon src=2F03F3593EEFAFF3, chan=25, pan=84F4
[DEBG]-MAC-----: Beacon Notify pan=819E chan=25
[INFO]-MAC-----: Received non-Thread Beacon src=B621C5367D74DE8B, chan=25, pan=819E
[DEBG]-MAC-----: Beacon Notify pan=EAF6 chan=25
[INFO]-MAC-----: Received non-Thread Beacon src=576153C10037B761, chan=25, pan=EAF6
[DEBG]-MAC-----: Beacon Notify pan=FBDC chan=25
[INFO]-MAC-----: Received non-Thread Beacon src=276C26B4FA001F26, chan=25, pan=FBDC
[DEBG]-MAC-----: Beacon Notify pan=EAF6 chan=25
[INFO]-MAC-----: Received non-Thread Beacon src=96F65D714365B146, chan=25, pan=EAF6
[DEBG]-MAC-----: Beacon Notify pan=EAF6 chan=25
[INFO]-MAC-----: Received non-Thread Beacon src=F692923D70F13CCC, chan=25, pan=EAF6
[DEBG]-MAC-----: Beacon Notify pan=EAF6 chan=25
[INFO]-MAC-----: Received non-Thread Beacon src=E26ED0796A254018, chan=25, pan=EAF6
[DEBG]-MAC-----: Beacon Notify pan=BAD3 chan=17
[INFO]-MAC-----: Received non-Thread Beacon src=D2682E0CD2836CD8, chan=17, pan=BAD3
[DEBG]-MAC-----: [00299190] Received scan confirm.
|   Extended Addr  | PAN  | CH | RSSI | LQI | C | J |
+------------------+------+----+------+-----+---+---+
+ 9A7D2EE861D3F67B + EAF6 + 25 +  -70 +  47 + 0 + 0 +
+ 2F03F3593EEFAFF3 + 84F4 + 25 +  -72 +  39 + 0 + 0 +
+ B621C5367D74DE8B + 819E + 25 +  -75 +  32 + 0 + 0 +
+ 576153C10037B761 + EAF6 + 25 +  -73 +  37 + 0 + 0 +                                                                                                        
+ 276C26B4FA001F26 + FBDC + 25 +  -77 +  25 + 0 + 0 +                                                                                                        
+ 96F65D714365B146 + EAF6 + 25 +  -77 +  26 + 0 + 0 +                                                                                                        
+ F692923D70F13CCC + EAF6 + 25 +  -78 +  23 + 0 + 0 +                                                                                                        
+ E26ED0796A254018 + EAF6 + 25 +  -66 +  59 + 0 + 0 +                                                                                                        
+ D2682E0CD2836CD8 + BAD3 + 17 +  -57 +  84 + 0 + 0 +                                                                                                        
                                                                                                                                                             
                                                                                                                                                             
----- From CDB20 with PAN ID 096E -----                                                                                                                      
> thread scan network 500                                                                                                                                    
                                                                                                                                                             
[DEBG]-MAC-----: [000783FD] Started Scan (type=Active)                                                                                                       
                                                                                                                                                             
[DEBG]-MAC-----: Beacon Notify pan=3BCF chan=16                                                                                                              
[DEBG]-MAC-----: Received from short address e400                                                                                                            
[DEBG]-MAC-----: drop not neighbor                                                                                                                           
[INFO]-MAC-----: Frame rx failed, error:UnknownNeighbor, len:26, seqnum:0, type:Beacon, src:0xe400, dst:None, s                                              
[DEBG]-MAC-----: Beacon Notify pan=BAD3 chan=17                                                                                                              
[INFO]-MAC-----: Received non-Thread Beacon src=D2682E0CD2836CD8, chan=17, pan=BAD3                                                                          
[DEBG]-MAC-----: Beacon Notify pan=11E9 chan=25                                                                                                              
[INFO]-MAC-----: Received non-Thread Beacon src=C609721EDC08817F, chan=25, pan=11E9                                                                          
[DEBG]-MAC-----: Beacon Notify pan=EAF6 chan=25                                                                                                              
[INFO]-MAC-----: Received non-Thread Beacon src=9A7D2EE861D3F67B, chan=25, pan=EAF6                                                                          
[DEBG]-MAC-----: Beacon Notify pan=EAF6 chan=25                                                                                                              
[INFO]-MAC-----: Received non-Thread Beacon src=9F9B1906FA86E413, chan=25, pan=EAF6                                                                          
[DEBG]-MAC-----: Beacon Notify pan=84F4 chan=25                                                                                                              
[INFO]-MAC-----: Received non-Thread Beacon src=AB7C7ECD36BB54BD, chan=25, pan=84F4                                                                          
[DEBG]-MAC-----: Beacon Notify pan=84F4 chan=25                                                                                                              
[INFO]-MAC-----: Received non-Thread Beacon src=2F03F3593EEFAFF3, chan=25, pan=84F4                                                                          
[DEBG]-MAC-----: Beacon Notify pan=A8EF chan=25                                                                                                              
[INFO]-MAC-----: Received non-Thread Beacon src=3EDE6079BDB059D6, chan=25, pan=A8EF                                                                          
[DEBG]-MAC-----: Beacon Notify pan=EAF6 chan=25                                                                                                              
[INFO]-MAC-----: Received non-Thread Beacon src=E26ED0796A254018, chan=25, pan=EAF6                                                                          
[DEBG]-MAC-----: Beacon Notify pan=84F4 chan=25                                                                                                              
[INFO]-MAC-----: Received non-Thread Beacon src=2E93E8ECBC3BEC44, chan=25, pan=84F4                                                                          
[DEBG]-MAC-----: [00078A69] Received scan confirm.                                                                                                           
|   Extended Addr  | PAN  | CH | RSSI | LQI | C | J |                                                                                                        
+------------------+------+----+------+-----+---+---+                                                                                                        
+ D2682E0CD2836CD8 + BAD3 + 17 +  -64 +  63 + 0 + 0 +                                                                                                        
+ C609721EDC08817F + 11E9 + 25 +  -75 +  31 + 0 + 0 +                                                                                                        
+ 9A7D2EE861D3F67B + EAF6 + 25 +  -66 +  59 + 0 + 0 +                                                                                                        
+ 9F9B1906FA86E413 + EAF6 + 25 +  -64 +  64 + 0 + 0 +                                                                                                        
+ AB7C7ECD36BB54BD + 84F4 + 25 +  -69 +  48 + 0 + 0 +                                                                                                        
+ 2F03F3593EEFAFF3 + 84F4 + 25 +  -74 +  33 + 0 + 0 +                                                                                                        
+ 3EDE6079BDB059D6 + A8EF + 25 +  -77 +  26 + 0 + 0 +                                                                                                        
+ E26ED0796A254018 + EAF6 + 25 +  -70 +  47 + 0 + 0 +                                                                                                        
+ 2E93E8ECBC3BEC44 + 84F4 + 25 +  -75 +  32 + 0 + 0 +

 

  • Up0
  • Down0
manjulak Moderator
Join Date: 5 Dec 14
Posts: 33
Posted: Wed, 2019-06-05 13:10

Hi Jesse,

Without making any modifications to the open thread, can you please confirm if you are able to scan and find other 4020 device using QCLI demo? Can you please use below commands to verify this?

Commands on Thread router device:

Thread> Initialize 0
Thread> UseDefaultInfo
Thread> Start
Thread> CommissionerStart
Thread> CommissionerAddJoiner mypassword
Thread> GetDeviceConfiguration
Thread> GetNetworkConfiguration

Commands on Thread end device:

Thread> Initialize 2
Thread> JoinerStart mypassword
Thread> Start
Thread> GetDeviceConfiguration
Thread> GetNetworkConfiguration

Thanks,
Manjula

 

 

 

  • Up0
  • Down0
jesse
Join Date: 22 Aug 17
Posts: 22
Posted: Wed, 2019-06-05 15:32

From First Device:

Thread> GetDeviceConfiguration
 
Thread: Device Configuration:
Thread:    Extended Address:        BE2CD42AC3A806A9
Thread:    Child Timeout:           60 seconds
Thread:    Rx On While Idle:        1
Thread:    Use Secure Data Request: 1
Thread:    Is FFD:                  1
Thread:    Require Network Data:    1
 
Thread> GetNetworkConfiguration
 
Thread: Network Configuration:
Thread:    Channel:          16
Thread:    PAN_ID:           8DA8
Thread:    Extended_PAN_ID:  0001020304050607
Thread:    NetworkName:      Test Network
Thread:    MasterKey:        F32B7B515AD61BFAF32B7B515AD61BFA
From Second Device:
Thread> GetDeviceConfiguration
 
Thread: Device Configuration:
Thread:    Extended Address:        FE74ED12A99CDFAD
Thread:    Child Timeout:           60 seconds
Thread:    Rx On While Idle:        1
Thread:    Use Secure Data Request: 1
Thread:    Is FFD:                  0
Thread:    Require Network Data:    0
 
Thread> GetNetworkConfiguration
 
Thread: Network Configuration:
Thread:    Channel:          16
Thread:    PAN_ID:           8DA8
Thread:    Extended_PAN_ID:  0001020304050607
Thread:    NetworkName:      Test Network
Thread:    MasterKey:        F32B7B515AD61BFAF32B7B515AD61BFA
 
I don't know what this proves because it has nothing to do with problem I posted about. The problem I mentioned about joining Thread networks I believe is a range problem. To help determine if we have a range issue I implemented a CLI scan command, calling otLinkActiveScan(), to scan all channels for Thread devices in the area. The results of the scan return an RSSI and LQI for each device that responses to the Beacon Request. I wanted to see what devices are seen and how the RSSI and LQI values changes as I move the devices farther apart. The problem is, the QCA4020 doesn't process the Beacons from other QCA4020 devices. Also, the KW41Z running OpenThread also does not process the Beacons from the QCA4020, but the QCA4020 will process the Beacon from the KW41Z.
 
  • Up0
  • Down0
c_rpedad
Profile picture
Join Date: 18 Jun 18
Location: San Jose
Posts: 317
Posted: Thu, 2019-06-06 16:11

Kinldy try to increase the default transmit power used by the 15.4 MAC to Maixmum and let us know if issue still persist.

To increase the default transmit power used by the 15.4 MAC.
Edit @target\quartz\nvm\config\CDB\QCA4020_2p0.nvm file to set TagValue as 0F for TagNum 58 .

[Tag14]
TagNum = 58
TagLength = 1
TagValue = 0F

Rebuild(build.bat t 4020 cdb) and reflash the image on both devices. Verify if QCA4020 is able to identify other QCA4020 device during Thread Scan Operation.

 

  • Up0
  • Down0
jesse
Join Date: 22 Aug 17
Posts: 22
Posted: Fri, 2019-06-07 07:30

Signal strength has nothing to do with the issue I'm describing here. What I'm describing here is an issue I discovered while determining if signal strength was the cause of a different problem. The QCA4020 is getting the beacon from another QCA4020 and is rejecting it. The debug log from OpenThread shows this:

[DEBG]-MAC-----: Beacon Notify pan=096E chan=15
[DEBG]-MAC-----: Received from short address 4000
[DEBG]-MAC-----: drop not neighbor
[INFO]-MAC-----: Frame rx failed, error:UnknownNeighbor, len:26, seqnum:0, type:Beacon, src:0x4000, dst:None, s

The "drop not neighbor" text is coming from something Qualcomm added to OpenThread. That text does not appear anywhere in the OpenThread source. There are files referenced in thread.lib, mac_internal.cpp and mac_external.cpp, that do not exist in OpenThread. My suspicion is there is something wrong with the beacon the QCA4020 is sending. The KW41Z running OpenThread reports the same error with beacons received from a QCA4020 minus the "drop not neighbor" line. (The QCA4020 processes the beacon from the KW41Z just fine.)

Because the QCA4020 is throwing away beacons from other QCA4020 devices I never get scan results which makes it impossible to compare the RSSI and LQI values with other devices. 

We are using a newer module from Silex than what is on the CDB20 QCA4020 dev kit. We think there is problem with the module that we need to discuss with Silex. I would like to get scan results so we have concrete data we can present to Silex. We already have the transmit power set to maximum.

 

  • Up0
  • Down0
c_rpedad
Profile picture
Join Date: 18 Jun 18
Location: San Jose
Posts: 317
Posted: Tue, 2019-06-11 10:19
We have created a SF# case for you. Can you provide us your complete SDK and instructions on how you are verifying the issue and also if you have any sniffer capture log, kindly share in the case attachments.
  • Up0
  • Down0
jesse
Join Date: 22 Aug 17
Posts: 22
Posted: Tue, 2019-06-11 12:06

I don't know what more I can add to show how I'm verifying the problem. Beacon responses from QCA4020 devices never get passed into the callback function that gets registered  with otLinkActiveScan(). The table that gets printed at the end of the scans in my original post is generated from the results  passed into that callback function. You can see from the OpenThread log output that there are beacons received that do not result in entries in the table. In the first scan there is no entry in the table for the beacon received from the device on channel 15. In the second scan there is no entry in the table for the beacon received on channel 16. 

I'll be sending a Wireshark capture shortly.

  • Up0
  • Down0
or Register

Opinions expressed in the content posted here are the personal opinions of the original authors, and do not necessarily reflect those of Qualcomm Incorporated or its subsidiaries (“Qualcomm”). The content is provided for informational purposes only and is not meant to be an endorsement or representation by Qualcomm or any other party. This site may also provide links or references to non-Qualcomm sites and resources. Qualcomm makes no representations, warranties, or other commitments whatsoever about any non-Qualcomm sites or third-party resources that may be referenced, accessible from, or linked to this site.