nrf sniffer not able to capture packages after connection

Hi,

I am using a NRF52840Dongle sniffering ble communication. But no packages can be captured after connection (sometimes the connection package cannot be captured either). 

I have followed all the steps in the user guide: nRF Sniffer for Bluetooth LE v4.1.x, and tried both sniffer_nrf52840dongle_nrf52840_4.1.0.hex and sniffer_nrf52840dongle_nrf52840_4.1.1.hex. Neither works. I have also a nrf52840DK, which experiences the same issue.

Here are some information on my test setup:

OS: I tried both Windows and Linux

JLink: v.7.80

python 3.11.1

Wireshark: 4.0.6

nrf connect programmer 3.0.9

Steps:

1. sniffer all advertisement

2. Select the device I want to sniffer (the advertising device)

3. Connect to the device that is advertising (not encrypted between the devices)

One difference I noticed in my Wireshark view is that there is not a column of destination. What can be wrong? Thank you!

Parents
  • Hi Jenny

    Are you making sure to keep the two devices under test close to the dongle, to make sure the link is robust?

    What kind of devices are you trying to connect? 

    Are they based on Nordic chips or something else? 

    What about the hardware, is it custom or standard (like a DK)?

    Could you try to flash your nRF52840DK with a standard Bluetooth example, connect to it from a phone, and see if you can sniff this?

    Best regards
    Torbjørn

Reply
  • Hi Jenny

    Are you making sure to keep the two devices under test close to the dongle, to make sure the link is robust?

    What kind of devices are you trying to connect? 

    Are they based on Nordic chips or something else? 

    What about the hardware, is it custom or standard (like a DK)?

    Could you try to flash your nRF52840DK with a standard Bluetooth example, connect to it from a phone, and see if you can sniff this?

    Best regards
    Torbjørn

Children
  • Hi Torbjorn,

    Thank you for your quick response.
    The devices I am sniffing is between a phone (either iPhone or Andriod phone), and bl653 which is based on Nordic chip. The hardware is a custom hardware with a MCU connecting to bl653 via uart. The devices are places within 20cm at my desk.
    It is a good idea to use a standard hardware as a start point. I can try to sniffer ble communication between a phone and nRF52840dk using a nrf52840 dongle. Could you please suggest an instruction that I can follow to use nRF52840DK as a standard Bluetooth device and if possible how to initialize a connection with nRF52840DK?
     
    Thank you!
  • Hi Torbjorn,

    I am able to capture a standard Bluetooth example. So what can be wrong here? I am sure that there are communication ongoing after connection, Gatt services works well. but there's nothing shown on the sniffer. no encryption has been applied. What can I do to bring up the log after connection?

  • I have successfully sniffered the communication in the end. It seems that it only works when selecting the device address of the gatt server.

  • Hi Jenny

    I am sorry for the slow response on my end. 

    Jwang said:
    it only works when selecting the device address of the gatt server.

    The gatt server is the bl653 device I assume? 

    It makes sense that the sniffer would only work if you select the device address of the peripheral device. Essentially the sniffer doesn't care which central device establishes the connection, it looks for connections targeting a particular peripheral. 

    Part of the reason for this is that many phones will use a private BLE address, which will change over time, rather than a random static address. 

    Best regards
    Torbjørn

  • Thank you Torbjorn for the detailed explanation! I wonder if this can be added to the user guide that when sniffing the communication, always choose the peripheral device?

Related