Beware that this post is related to an SDK in maintenance mode
More Info: Consider nRF Connect SDK for new designs
This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Sniffer on OSX - revisited

It looks like the last discussion of Sniffer on Devzone was 2-3 yrs ago.

I’ve ordered the nRF Dongle and will download the Windows-based nRF Sniffer app.

i can run this with WireShark on a Windows VM on my Mac, though I would like a Mac OSX option.

- Any news on that front?

- Any way the Bluetooth hardware built into the MacBook could serve a Mac Sniffer app?

thanks!

Parents
  • Hello David,

    Please check out the nRF SnifferV2. (download link)

     

    snippet from the documentation:

     

  • I am happy about the movement towards newer Nordic hardware and a new sniffer software.

    I just followed the User Guide v2.1. The sniffer is recognized by Wireshark, but it keeps crashing when I start the capturing process.

    Used software:

    • Mac OS 10.11.6 El Capitan
    • Python 2.7.10
    • pyserial 3.4
    • SEGGER J-Link V6.16c
    • Wireshark 2.4.5 (v2.4.5-0-g153e867)

    The firmware seems to be running fine on my nRF52832 (PCA10040 DK), but contrary to the User Guide, LED1 is always off, LED2 is flashing or toggling more or less periodically. LED3/4 are always on.

    The nrf_sniffer.py is executable and placed together with nrf_sniffer.bat and SnifferAPI folder in the wireshark extcap directory. Starting Wireshark, I can open the nRF Sniffer toolbar. The interface is also listed among the default interfaces.

    When I want to start the capturing process, Wireshark "quits unexpectedly". Does anyone experienced something similar?

  • OS X 10.11.6
    Wireshark : 2.4.1 
    python 2.7.10
    pyserial 3.2.1
    nRF Sniffer v2 Beta 1

    PCA10040

    Segger jlink 6.16c on the PC
    Segger jlink 6.16c on jlink emulator on the nRF5x board. (use the "Verify that Jlink emulator firmware is correct version" section in the nRF Sniffer user guide v2.1)

    Works for me.

    Looks like the pyserial is different (as I am not using the latest 3.4 version)

    Edit:
    Confirmed on one user that using the pyserial 3.2.1 for OS X definitely fixes the issue seen on OS X.

    Edit:

    Added a patched Sniffer python release that may improve the issue seen with the UART. Try this let me know if this improves things.

    2084.nrf_sniffer_2.0.0-beta-1_a00e98c_26Apr18_out.zip

    Edit:

    Can you try the OS X Sniffer for BTLE which uses the native serial driver for OS X ? This should give us some more clues on the issue, for those who still seeing issues on OS X.

Reply
  • OS X 10.11.6
    Wireshark : 2.4.1 
    python 2.7.10
    pyserial 3.2.1
    nRF Sniffer v2 Beta 1

    PCA10040

    Segger jlink 6.16c on the PC
    Segger jlink 6.16c on jlink emulator on the nRF5x board. (use the "Verify that Jlink emulator firmware is correct version" section in the nRF Sniffer user guide v2.1)

    Works for me.

    Looks like the pyserial is different (as I am not using the latest 3.4 version)

    Edit:
    Confirmed on one user that using the pyserial 3.2.1 for OS X definitely fixes the issue seen on OS X.

    Edit:

    Added a patched Sniffer python release that may improve the issue seen with the UART. Try this let me know if this improves things.

    2084.nrf_sniffer_2.0.0-beta-1_a00e98c_26Apr18_out.zip

    Edit:

    Can you try the OS X Sniffer for BTLE which uses the native serial driver for OS X ? This should give us some more clues on the issue, for those who still seeing issues on OS X.

Children
  • Thanks,

    I'll try downgrading to pyserial 3.2.1

    I used PIP to install ver 3.4. I can also see how to uninstall (pip uninstall pyserial) 

    I can also find the 3.2.1 version on GitHub at

    https://github.com/pyserial/pyserial/tree/v3.2.1

    I need to learn how to install an older version.  I've reviewed the output of "pip install --help" on Mac Terminal, though it's not yet apparent how to install something less than the most recent version.

    Any ideas?

    {edit}

    Downgraded to pyserial 3.2.1 with:

    pip uninstall pyserial
    pip install pyserial==3.2.1

    No success yet.

    Dang!

  • Installing a lower version of a specific module with pip

    Help:

    pip help install

    Create a "requirements.txt" file to specify the version needed for the pyserial (i.e. 3.2.1) and then you can Use the command 

    pip install -r requirements.txt
    "argparse >= 1.4.0

    #Contents of the requirements.txt file for nRF Sniffer v2 beta 1
    pyserial == 3.2.1

  • Ok, I tried all three of the above suggestions.  So far no luck.

    The last thing I tried was reverting the Wireshark version back to v2.0.x, as recommended in the "OS X Sniffer for BTLE" link.  In all cases, the nRF Sniffer capture interface does not show up in the interfaces list.  Also, there is not an interface toolbar available under the View menu as described in the v2.1 User Guide.  See the attached screenshot of the Wireshark window.

    Also, I have verified using minicom that packet data is arriving on the /dev/tty.usbmodem1411 interface from the pca10040 board.

Related