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

Wireshark cannot find interface to nRF51 dongle



I have used an nRF 51 dongle for capturing BLE packets on my Mac using Wireshark,, but it no longer works.
The only system change that I can recall that might affect this is that
I recently upgraded to Mac OSX Catalina Version 10.15.5, which was an incremental update.

The usb connection and dongle must be in good shape, because I am to run nRF Connect v3.4.1 - Bluetooth Low Energy successfully.

I am using nrf_sniffer_for_bluetooth_le_3.0.0_129d2b3.zip
To be sure that the problem is not related to Wireshark or its configuration, I have been testing with:
extcap/nrf_sniifer_ble.sh --extcap-interfaces

And, it is never able to find an interface.  It does not generate an error, but does not find an interface.
Can you suggest a solution and/or additional tests to run?

Thank you !

Parents
  • Yes.  I used sniffer_pca10031_129d2b3.hex after checking the sticker on the dongle.

    How does Bluetooth Low Energy app interact with the dongle?  As I mentioned, I am able to use it successfully with the dongle.

    I expected that it used the same code on the dongle as what is used for the Wireshark  interface.  Is this true?

  • I'm sorry I was not clear. 

    The nrf_sniffer_ble  still does NOT work for me.

    I mentioned that the Bluetooth Low Energy app does work for me, because I thought that might provide

    some confirmation that the appropriate hex file had been flashed to the dongle.

  • I have looked into nrf_sniffer_ble.py and determined that  UART.find_sniffer  returns an empty list.
    reader.decodeFromSLIP(0.3, complete_timeout=0.3)  always times out.
    I uncommented these lines in UART.readByte
            logging.info('rbtype: {}'.format(r.__class__))
            logging.info('r: {}'.format(r))
    and set the logger level to logging.INFO
    to see if it was seeing any values on the interface.

    There is something there, but it never finds  a SLIP_START.
    Here is the output from such a trial.
    I removed all the lines "rbtype: <class 'int'>" to shorten this list.
    Does this provide any useful information ?

    % ./nrf_sniffer_ble.sh --extcap-interfaces
    Started PID 836
    Namespace(baudrate=None, capture=False, device='', extcap_capture_filter=None, extcap_config=False, extcap_control_in=None, extcap_control_out=None, extcap_dlts=False, extcap_interface=None, extcap_interfaces=True, fifo=None, only_advertising=False)
    extcap {version=3.0.0}{display=nRF Sniffer for Bluetooth LE}{help=www.nordicsemi.com/.../nRF-Sniffer-for-Bluetooth-LE}
    Opening serial port /dev/cu.Bluetooth-Incoming-Port
    rbtype: <class 'NoneType'>
    r: None
    closing UART
    Opening serial port /dev/cu.Bluetooth-Incoming-Port
    rbtype: <class 'NoneType'>
    r: None
    closing UART
    Opening serial port /dev/cu.usbmodem0006801572801
    r: 192
    r: 0
    r: 47
    r: 0
    r: 209
    r: 1
    r: 126
    r: 192
    r: 192
    r: 0
    r: 47
    r: 0
    r: 209
    r: 1
    r: 126
    r: 192
    r: 192
    closing UART
    Opening serial port /dev/cu.usbmodem0006801572801
    r: 252
    r: 248
    r: 249
    r: 248
    r: 254
    r: 248
    r: 255
    r: 252
    r: 252
    closing UART
    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}
    Exiting PID 836

Reply
  • I have looked into nrf_sniffer_ble.py and determined that  UART.find_sniffer  returns an empty list.
    reader.decodeFromSLIP(0.3, complete_timeout=0.3)  always times out.
    I uncommented these lines in UART.readByte
            logging.info('rbtype: {}'.format(r.__class__))
            logging.info('r: {}'.format(r))
    and set the logger level to logging.INFO
    to see if it was seeing any values on the interface.

    There is something there, but it never finds  a SLIP_START.
    Here is the output from such a trial.
    I removed all the lines "rbtype: <class 'int'>" to shorten this list.
    Does this provide any useful information ?

    % ./nrf_sniffer_ble.sh --extcap-interfaces
    Started PID 836
    Namespace(baudrate=None, capture=False, device='', extcap_capture_filter=None, extcap_config=False, extcap_control_in=None, extcap_control_out=None, extcap_dlts=False, extcap_interface=None, extcap_interfaces=True, fifo=None, only_advertising=False)
    extcap {version=3.0.0}{display=nRF Sniffer for Bluetooth LE}{help=www.nordicsemi.com/.../nRF-Sniffer-for-Bluetooth-LE}
    Opening serial port /dev/cu.Bluetooth-Incoming-Port
    rbtype: <class 'NoneType'>
    r: None
    closing UART
    Opening serial port /dev/cu.Bluetooth-Incoming-Port
    rbtype: <class 'NoneType'>
    r: None
    closing UART
    Opening serial port /dev/cu.usbmodem0006801572801
    r: 192
    r: 0
    r: 47
    r: 0
    r: 209
    r: 1
    r: 126
    r: 192
    r: 192
    r: 0
    r: 47
    r: 0
    r: 209
    r: 1
    r: 126
    r: 192
    r: 192
    closing UART
    Opening serial port /dev/cu.usbmodem0006801572801
    r: 252
    r: 248
    r: 249
    r: 248
    r: 254
    r: 248
    r: 255
    r: 252
    r: 252
    closing UART
    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}
    Exiting PID 836

Children
No Data
Related