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
  • Still looking for a solution here.  I think a few others are having the same trouble.

    , what is the next steps?

  • Can you summarize your versions so I can look at it.

    OS Version:
    Wireshark version:
    Python version:
    Pyserial version:

    Segger jlink version on PC:
    Segger jlink version or build date on the jlink emulator on nRF5x-DK:

    nRF Sniffer version:

    PCA board number: 

    =

    Python 32 bit or 64 bit:

    Use: 

    import ctypes
    ctypes.sizeof(ctypes.c_void_p)

    8 -> 64 bit
    4 -> 32 bit

  • I've not done that before, though I expect I have all I need in equipment.

    Are we able to connect by phone (I could message you)?

    I'm in US Central time

  • I found the modem name, and typed in terminal

         screen cu.usbmodem1461 19200 -L

    ---> blanks, promptness terminal window (? screen window?) from which I can exit with Ctrl-A, Ctrl-K

    Is that helpful? 

  • Davids-MacBook-Pro-2:extcap davidelvig$ ./nrf_sniffer.py --extcap-interfaces
    extcap {version=2.0.0}{display=nRF Sniffer}{help=http://www.nordicsemi.com/eng/Products/Bluetooth-low-energy/nRF-Sniffer#Downloads}
    control {number=0}{type=selector}{display=Device}{tooltip=Device list}
    control {number=1}{type=string}{display=Passkey / OOB key}{tooltip=6 digit temporary key or 16 byte Out-of-band (OOB) key in hexadecimal starting with '0x', big endian format. If the entered key is shorter than 16 bytes, it will be zero-padded in front'}{validation=\b^(([0-9]{6})|(0x[0-9a-fA-F]{1,32}))$\b}
    control {number=2}{type=string}{display=Adv Hop}{default=37,38,39}{tooltip=Advertising channel hop sequence. Change the order in which the siffer switches advertising channels. Valid channels are 37, 38 and 39 separated by comma.}{validation=^\s*((37|38|39)\s*,\s*){0,2}(37|38|39){1}\s*$}{required=true}
    control {number=3}{type=button}{role=help}{display=Help}{tooltip=Access user guide (launches browser)}
    control {number=4}{type=button}{role=restore}{display=Defaults}{tooltip=Resets the user interface and clears the log file}
    control {number=5}{type=button}{role=logger}{display=Log}{tooltip=Log per interface}
    value {control=0}{value= }{display=All advertising devices}{default=true}
    Davids-MacBook-Pro-2:extcap davidelvig$ 

  • did you actually give the right path to the UART, it is usually in /dev .

    Verify that by using the "screen <port> 460800", you should see some characters on the screen.

  • I've done the following:
    - Identified the serial port with this partial ls from \dev

    cu.Bluetooth-Incoming-Port	ttyv0
    cu.LGHBS760-CSRGAIA		ttyv1
    cu.MALS				ttyv2
    cu.SOC				ttyv3
    cu.usbmodem1451061		ttyv4
    cu.usbmodem1461			ttyv5
    disk0				ttyv6
    disk0s1				ttyv7
    

        It is the "cu.usbmodem1461" entry that appear/disappears with plugging/unplugging the dongle

    I typed the following into Terminal:      
            screen cu.usbmodem1461 46800

    ...resulting in:

    No typed keystrokes show, and it responds only to the Ctrl-a-Ctrl-k command to quit.

Reply
  • I've done the following:
    - Identified the serial port with this partial ls from \dev

    cu.Bluetooth-Incoming-Port	ttyv0
    cu.LGHBS760-CSRGAIA		ttyv1
    cu.MALS				ttyv2
    cu.SOC				ttyv3
    cu.usbmodem1451061		ttyv4
    cu.usbmodem1461			ttyv5
    disk0				ttyv6
    disk0s1				ttyv7
    

        It is the "cu.usbmodem1461" entry that appear/disappears with plugging/unplugging the dongle

    I typed the following into Terminal:      
            screen cu.usbmodem1461 46800

    ...resulting in:

    No typed keystrokes show, and it responds only to the Ctrl-a-Ctrl-k command to quit.

Children
  • The baud rate I suggested was 460800 (not 46800 as I see in your screen shot). 
    Please connect to the port at 460800 and see if you are getting characters on the "screen".

    Thanks

  • Thanks for your patience.

    I get the same result as above with

    "screen cu.usbmodem1461 460800"

    Dave

  • That is a problem, can you try with other terminal programs like minicom and open the port at 460800. You need to see something on the UART. Turn on the hardware flow control if possible.

    Actions:

    1. Can you verify that the board is indeed working by flashing some example program like ble_app_uart and running those examples.

    2, Can you also try with a different board 

    3. Specify the board PCA10040 and the PCA10031 version numbers ?

    4. Please stay on jlink 6.16c on the jlink emulator for all the experiments and actions.


    Edit: Additional Action:

    I checked if the jlink 6.16c for OS X and Windows are bundling the identical version of the jlink emulator firmware they are NOT. If you have a windows PC can you install jlink 6.16c and use the exec invalidatefw to set the jlink emulator firmware to what was bundled with jlink 6.16c for windows. Then use the board with OS X. Let me know if this is possible for you.

    Edit : ping

  • I've done all but the minicom step.  I ran the Windows j-Link Configurator and it shows this screen

    as in the sniffer 2.0 documentation

    I ran j-Link Commander and with exec invalidatefw I get this

    I said "no" since I think we're trying to stay on older builds... That said, I'm typing commands that I don't fully understand (I don't understand all of the layers involved)

    I expect my hardware is working (both the dongle (PCA10031) and the Dev Kit (PCA10040)).  I can use the dongle without trouble using nRFConnect on the Mac, and the DK works well with example SDK apps, and my own MIDI BLE app.

    I've stayed on the 6.16c version throughout (on Mac and Win)

    I did not easily find how to install minicom on the Mac.

    I did flash the Dev Kit board using the nRF52832_XXAA parameter to "erase"

    No difference in Wireshark visibility.

    Is there a chance of a screen-share where you could look over my shoulder, @David Edwin?

    I expect it's a missed step on my part... I have two hardware options to try, and access to all of the various permutations of j-link, segger and Wireshark.

    I'm available any time around the clock to make that happen (and have WebEx available for screen-sharing)

  • We need to see some characters on the screen when connecting to the board from OS X.

    "screen <port> 460800"  

    If that does not happen then

    Action 1:
    we need to do this in addition (we will attempt to disable the mass storage device to see if this improves the situation. 

    Action 2:

    We attempt to see the characters when connecting to the board on windows. In addition can you connect to the board in Windows using termite or other terminal application at 460800 to verify that the port is accessible and that characters are coming out of it.

Related