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 Reply Children
  • OK.  I'll try that tomorrow (Tuesday US Central time) with:
    Python 2.7.14
    pyserial (3.2.1)
    - SEGGER J-Link Commander V6.16c (Compiled Jun 16 2017 18:19:39)
       DLL version V6.16c, compiled Jun 16 2017 18:19:20
    - WireShark Mac OS 
    Version 2.4.5

    In separate sessions, I'll use each device (nRF dongle-PCA10031 and DK-PCA10040) and flash them using the appropriate parameters in JLINKEXE to "erase..." as in the Sniffer 2.1 User Guide.

    Then in OSX Terminal, I'll run "screen <port> 460800" 
    and report the results.

    Have I got it?

    Thanks

     

  • OK, I've run the above with no luck on either board.

    I'm wondering where to go next.

    I've been through the steps many times.

    Are others experiencing this problem?
    Is so, what is your environment?

  • I was having issues with Wireshark not showing the extcap interface in it's UI on Mac OS X 10.13.5, even though the files were in the correct location, inside the .app /Applications/Wireshark.app/Contents/MacOS/extcap/

    While trying to debug the issue, i decided to run wireshark directly from my shell to see any possible output via /Applications/Wireshark.app/Contents/MacOS/Wireshark

    Turns out, this was enough to get nrf_sniffer.py to load, so if you've been having trouble getting it to load, it might be worth running the executable directly from Terminal.app 

    I suspect it has something to do with environment variables that Wireshark inherits from the shell, but haven't debugged further. 

    EDIT: Turns out, the best way to fix this so regular app launches work was to change the shebang at the top of nrf_sniffer.py to point directly to your local python2 instance. For me, this was #!/usr/local/bin/python2

  • Wow!  This appears to be the magic bullet.  With that one change to the nrf_sniffer.py file, I now see this when launching Wireshark.

    I'll check this more thoroughly tomorrow, end-to-end, and with the otherwise-default installation options.

    Thanks a million!  I'll validate the answer after that checking.

  • Would this have been caught if the the "python --version" as requested in nRF Sniffer User guide v2.1 was verified ?

    Install nRF Sniffer Step 6.

    C:>python --version
    Python 2.7.x

Related