This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

nRF Sniffer 2 not capturing Mesh packets

Hi,

I'm trying to capture Mesh packets using nRF Sniffer 2.0.0 and nRF52 DK while running the Light switch demo, but so far I haven't been able to capture any packet that I could identify as belonging to the Mesh network.

I do capture a lot of other packets like SCAN_REQ or ADV_IND, even with the Mesh nodes off.

I followed the instructions on nRF Sniffer User Guide v2.1, and I'm using Wireshark 2.4.6, Python 2.7.14 and pyserial 3.4. My Adv Hop settings are as default: 37,38,39.

Besides not being able to capture Mesh packets, I also often get the following error message: "Unable to send control message: Invalid argument." usually followed by some error starting with "Error by extcap pipe: Exception in thread Thread-3:"

I'm also using J-Link V6.30.



I fully followed the User Guide, so I really don't know why I can't see any Mesh packets.

Additionally, using btle.advertising_header.pdu_type == 0x2 filter in wireshark doesn't help either, I see ADV_NONCONN_IND packets but from one source address only, instead of 3 (1 client and 2 servers).

 

What could be the problem?

Parents
  • Mesh packets are broadcasted packets, i.e. ADV_NONCONN_IND so you can set up a display filter for ADV_NONCONN_IND packets like 

    btle.advertising_header.pdu_type == 0x2
    in wireshark.

    This will then allow you to see the mesh packets if they are being transmitted. You may want to press the buttons on the light switch demo client to transmit mesh packets more frequently.

    Verify your python version to be 2.7.x as Joakim has suggested above.

    The mesh is completely encrypted so you are likely to see messages, their types being transmitted and their RSSI but not much more. You may want to use the python API for the nRF Sniffer to get the messages and decrypt them with the netkey/appkey but that is additional work that is needed.

Reply
  • Mesh packets are broadcasted packets, i.e. ADV_NONCONN_IND so you can set up a display filter for ADV_NONCONN_IND packets like 

    btle.advertising_header.pdu_type == 0x2
    in wireshark.

    This will then allow you to see the mesh packets if they are being transmitted. You may want to press the buttons on the light switch demo client to transmit mesh packets more frequently.

    Verify your python version to be 2.7.x as Joakim has suggested above.

    The mesh is completely encrypted so you are likely to see messages, their types being transmitted and their RSSI but not much more. You may want to use the python API for the nRF Sniffer to get the messages and decrypt them with the netkey/appkey but that is additional work that is needed.

Children
Related