BLE Connection Dropping Immediately on Samsung S20 Plus phone

1663784062.8476357

21-Sep-2022 11:14:22 (-0700) INFO: --------------------------------------------------------
21-Sep-2022 11:14:22 (-0700) INFO: Software version: 4.1.0
21-Sep-2022 11:14:22 (-0700) INFO: Started PID 20176
21-Sep-2022 11:14:22 (-0700) INFO: Namespace(capture=False, extcap_interfaces=True, extcap_interface=None, extcap_dlts=False, extcap_config=False, extcap_capture_filter=None, fifo=None, extcap_control_in=None, extcap_control_out=None, extcap_version='3.6', device='', baudrate=None, only_advertising=False, only_legacy_advertising=False, scan_follow_rsp=False, scan_follow_aux=False, coded=False)
21-Sep-2022 11:14:22 (-0700) INFO: Opening serial port COM4
21-Sep-2022 11:14:22 (-0700) ERROR: Error opening UART could not open port 'COM4': PermissionError(13, 'Access is denied.', None, 5)
Traceback (most recent call last):
  File "C:\Users\pam\AppData\Roaming\Wireshark\extcap\SnifferAPI\Packet.py", line 74, in __init__
    self.uart = UART.Uart(portnum, baudrate)
  File "C:\Users\pam\AppData\Roaming\Wireshark\extcap\SnifferAPI\UART.py", line 124, in __init__
    self.ser = serial.Serial(
  File "C:\Python310\lib\site-packages\serial\serialwin32.py", line 33, in __init__
    super(Serial, self).__init__(*args, **kwargs)
  File "C:\Python310\lib\site-packages\serial\serialutil.py", line 244, in __init__
    self.open()
  File "C:\Python310\lib\site-packages\serial\serialwin32.py", line 64, in open
    raise SerialException("could not open port {!r}: {!r}".format(self.portstr, ctypes.WinError()))
serial.serialutil.SerialException: could not open port 'COM4': PermissionError(13, 'Access is denied.', None, 5)
21-Sep-2022 11:14:22 (-0700) INFO: Opening serial port None
21-Sep-2022 11:14:22 (-0700) INFO: Opening serial port COM4
21-Sep-2022 11:14:22 (-0700) ERROR: Error opening UART could not open port 'COM4': PermissionError(13, 'Access is denied.', None, 5)
Traceback (most recent call last):
  File "C:\Users\pam\AppData\Roaming\Wireshark\extcap\SnifferAPI\Packet.py", line 74, in __init__
    self.uart = UART.Uart(portnum, baudrate)
  File "C:\Users\pam\AppData\Roaming\Wireshark\extcap\SnifferAPI\UART.py", line 124, in __init__
    self.ser = serial.Serial(
  File "C:\Python310\lib\site-packages\serial\serialwin32.py", line 33, in __init__
    super(Serial, self).__init__(*args, **kwargs)
  File "C:\Python310\lib\site-packages\serial\serialutil.py", line 244, in __init__
    self.open()
  File "C:\Python310\lib\site-packages\serial\serialwin32.py", line 64, in open
    raise SerialException("could not open port {!r}: {!r}".format(self.portstr, ctypes.WinError()))
serial.serialutil.SerialException: could not open port 'COM4': PermissionError(13, 'Access is denied.', None, 5)
21-Sep-2022 11:14:22 (-0700) INFO: Opening serial port None
21-Sep-2022 11:14:22 (-0700) INFO: Opening serial port COM12
21-Sep-2022 11:14:23 (-0700) INFO: closing UART
21-Sep-2022 11:14:23 (-0700) INFO: Opening serial port COM12
21-Sep-2022 11:14:23 (-0700) INFO: closing UART
21-Sep-2022 11:14:23 (-0700) INFO: Opening serial port COM11
21-Sep-2022 11:14:23 (-0700) INFO: closing UART
21-Sep-2022 11:14:23 (-0700) INFO: Opening serial port COM11
21-Sep-2022 11:14:24 (-0700) INFO: closing UART
21-Sep-2022 11:14:24 (-0700) INFO: Exiting PID 20176
21-Sep-2022 11:14:35 (-0700) INFO: --------------------------------------------------------
21-Sep-2022 11:14:35 (-0700) INFO: Software version: 4.1.0
21-Sep-2022 11:14:35 (-0700) INFO: Started PID 3728
21-Sep-2022 11:14:35 (-0700) INFO: Namespace(capture=False, extcap_interfaces=True, extcap_interface=None, extcap_dlts=False, extcap_config=False, extcap_capture_filter=None, fifo=None, extcap_control_in=None, extcap_control_out=None, extcap_version='3.6', device='', baudrate=None, only_advertising=False, only_legacy_advertising=False, scan_follow_rsp=False, scan_follow_aux=False, coded=False)
21-Sep-2022 11:14:35 (-0700) INFO: Opening serial port COM4
21-Sep-2022 11:14:35 (-0700) ERROR: Error opening UART could not open port 'COM4': PermissionError(13, 'Access is denied.', None, 5)
Traceback (most recent call last):
  File "C:\Users\pam\AppData\Roaming\Wireshark\extcap\SnifferAPI\Packet.py", line 74, in __init__
    self.uart = UART.Uart(portnum, baudrate)
  File "C:\Users\pam\AppData\Roaming\Wireshark\extcap\SnifferAPI\UART.py", line 124, in __init__
    self.ser = serial.Serial(
  File "C:\Python310\lib\site-packages\serial\serialwin32.py", line 33, in __init__
    super(Serial, self).__init__(*args, **kwargs)
  File "C:\Python310\lib\site-packages\serial\serialutil.py", line 244, in __init__
    self.open()
  File "C:\Python310\lib\site-packages\serial\serialwin32.py", line 64, in open
    raise SerialException("could not open port {!r}: {!r}".format(self.portstr, ctypes.WinError()))
serial.serialutil.SerialException: could not open port 'COM4': PermissionError(13, 'Access is denied.', None, 5)
21-Sep-2022 11:14:35 (-0700) INFO: Opening serial port None
21-Sep-2022 11:14:35 (-0700) INFO: Opening serial port COM4
21-Sep-2022 11:14:35 (-0700) ERROR: Error opening UART could not open port 'COM4': PermissionError(13, 'Access is denied.', None, 5)
Traceback (most recent call last):
  File "C:\Users\pam\AppData\Roaming\Wireshark\extcap\SnifferAPI\Packet.py", line 74, in __init__
    self.uart = UART.Uart(portnum, baudrate)
  File "C:\Users\pam\AppData\Roaming\Wireshark\extcap\SnifferAPI\UART.py", line 124, in __init__
    self.ser = serial.Serial(
  File "C:\Python310\lib\site-packages\serial\serialwin32.py", line 33, in __init__
    super(Serial, self).__init__(*args, **kwargs)
  File "C:\Python310\lib\site-packages\serial\serialutil.py", line 244, in __init__
    self.open()
  File "C:\Python310\lib\site-packages\serial\serialwin32.py", line 64, in open
    raise SerialException("could not open port {!r}: {!r}".format(self.portstr, ctypes.WinError()))
serial.serialutil.SerialException: could not open port 'COM4': PermissionError(13, 'Access is denied.', None, 5)
21-Sep-2022 11:14:35 (-0700) INFO: Opening serial port None
21-Sep-2022 11:14:35 (-0700) INFO: Opening serial port COM12
21-Sep-2022 11:14:35 (-0700) INFO: closing UART
21-Sep-2022 11:14:35 (-0700) INFO: Opening serial port COM12
21-Sep-2022 11:14:36 (-0700) INFO: closing UART
21-Sep-2022 11:14:36 (-0700) INFO: Opening serial port COM11
21-Sep-2022 11:14:36 (-0700) INFO: closing UART
21-Sep-2022 11:14:36 (-0700) INFO: Opening serial port COM11
21-Sep-2022 11:14:36 (-0700) INFO: closing UART
21-Sep-2022 11:14:36 (-0700) INFO: Exiting PID 3728
21-Sep-2022 11:16:16 (-0700) INFO: --------------------------------------------------------
21-Sep-2022 11:16:16 (-0700) INFO: Software version: 4.1.0
21-Sep-2022 11:16:16 (-0700) INFO: Started PID 1092
21-Sep-2022 11:16:16 (-0700) INFO: Namespace(capture=False, extcap_interfaces=True, extcap_interface=None, extcap_dlts=False, extcap_config=False, extcap_capture_filter=None, fifo=None, extcap_control_in=None, extcap_control_out=None, extcap_version='3.6', device='', baudrate=None, only_advertising=False, only_legacy_advertising=False, scan_follow_rsp=False, scan_follow_aux=False, coded=False)
21-Sep-2022 11:16:16 (-0700) INFO: Opening serial port COM4
21-Sep-2022 11:16:16 (-0700) ERROR: Error opening UART could not open port 'COM4': PermissionError(13, 'Access is denied.', None, 5)
Traceback (most recent call last):
  File "C:\Users\pam\AppData\Roaming\Wireshark\extcap\SnifferAPI\Packet.py", line 74, in __init__
    self.uart = UART.Uart(portnum, baudrate)
  File "C:\Users\pam\AppData\Roaming\Wireshark\extcap\SnifferAPI\UART.py", line 124, in __init__
    self.ser = serial.Serial(
  File "C:\Python310\lib\site-packages\serial\serialwin32.py", line 33, in __init__
    super(Serial, self).__init__(*args, **kwargs)
  File "C:\Python310\lib\site-packages\serial\serialutil.py", line 244, in __init__
    self.open()
  File "C:\Python310\lib\site-packages\serial\serialwin32.py", line 64, in open
    raise SerialException("could not open port {!r}: {!r}".format(self.portstr, ctypes.WinError()))
serial.serialutil.SerialException: could not open port 'COM4': PermissionError(13, 'Access is denied.', None, 5)
21-Sep-2022 11:16:16 (-0700) INFO: Opening serial port None
21-Sep-2022 11:16:16 (-0700) INFO: Opening serial port COM4
21-Sep-2022 11:16:16 (-0700) ERROR: Error opening UART could not open port 'COM4': PermissionError(13, 'Access is denied.', None, 5)
Traceback (most recent call last):
  File "C:\Users\pam\AppData\Roaming\Wireshark\extcap\SnifferAPI\Packet.py", line 74, in __init__
    self.uart = UART.Uart(portnum, baudrate)
  File "C:\Users\pam\AppData\Roaming\Wireshark\extcap\SnifferAPI\UART.py", line 124, in __init__
    self.ser = serial.Serial(
  File "C:\Python310\lib\site-packages\serial\serialwin32.py", line 33, in __init__
    super(Serial, self).__init__(*args, **kwargs)
  File "C:\Python310\lib\site-packages\serial\serialutil.py", line 244, in __init__
    self.open()
  File "C:\Python310\lib\site-packages\serial\serialwin32.py", line 64, in open
    raise SerialException("could not open port {!r}: {!r}".format(self.portstr, ctypes.WinError()))
serial.serialutil.SerialException: could not open port 'COM4': PermissionError(13, 'Access is denied.', None, 5)
21-Sep-2022 11:16:16 (-0700) INFO: Opening serial port None
21-Sep-2022 11:16:16 (-0700) INFO: Opening serial port COM12
21-Sep-2022 11:16:17 (-0700) INFO: closing UART
21-Sep-2022 11:16:17 (-0700) INFO: Opening serial port COM12
21-Sep-2022 11:16:17 (-0700) INFO: closing UART
21-Sep-2022 11:16:17 (-0700) INFO: Opening serial port COM11
21-Sep-2022 11:16:17 (-0700) INFO: closing UART
21-Sep-2022 11:16:17 (-0700) INFO: Opening serial port COM11
21-Sep-2022 11:16:17 (-0700) INFO: closing UART
21-Sep-2022 11:16:17 (-0700) INFO: Exiting PID 1092
21-Sep-2022 11:16:23 (-0700) INFO: --------------------------------------------------------
21-Sep-2022 11:16:23 (-0700) INFO: Software version: 4.1.0
21-Sep-2022 11:16:23 (-0700) INFO: Started PID 5856
21-Sep-2022 11:16:23 (-0700) INFO: Namespace(capture=False, extcap_interfaces=True, extcap_interface=None, extcap_dlts=False, extcap_config=False, extcap_capture_filter=None, fifo=None, extcap_control_in=None, extcap_control_out=None, extcap_version='3.6', device='', baudrate=None, only_advertising=False, only_legacy_advertising=False, scan_follow_rsp=False, scan_follow_aux=False, coded=False)
21-Sep-2022 11:16:23 (-0700) INFO: Opening serial port COM4
21-Sep-2022 11:16:23 (-0700) ERROR: Error opening UART could not open port 'COM4': PermissionError(13, 'Access is denied.', None, 5)
Traceback (most recent call last):
  File "C:\Users\pam\AppData\Roaming\Wireshark\extcap\SnifferAPI\Packet.py", line 74, in __init__
    self.uart = UART.Uart(portnum, baudrate)
  File "C:\Users\pam\AppData\Roaming\Wireshark\extcap\SnifferAPI\UART.py", line 124, in __init__
    self.ser = serial.Serial(
  File "C:\Python310\lib\site-packages\serial\serialwin32.py", line 33, in __init__
    super(Serial, self).__init__(*args, **kwargs)
  File "C:\Python310\lib\site-packages\serial\serialutil.py", line 244, in __init__
    self.open()
  File "C:\Python310\lib\site-packages\serial\serialwin32.py", line 64, in open
    raise SerialException("could not open port {!r}: {!r}".format(self.portstr, ctypes.WinError()))
serial.serialutil.SerialException: could not open port 'COM4': PermissionError(13, 'Access is denied.', None, 5)
21-Sep-2022 11:16:23 (-0700) INFO: Opening serial port None
21-Sep-2022 11:16:23 (-0700) INFO: Opening serial port COM4
21-Sep-2022 11:16:23 (-0700) ERROR: Error opening UART could not open port 'COM4': PermissionError(13, 'Access is denied.', None, 5)
Traceback (most recent call last):
  File "C:\Users\pam\AppData\Roaming\Wireshark\extcap\SnifferAPI\Packet.py", line 74, in __init__
    self.uart = UART.Uart(portnum, baudrate)
  File "C:\Users\pam\AppData\Roaming\Wireshark\extcap\SnifferAPI\UART.py", line 124, in __init__
    self.ser = serial.Serial(
  File "C:\Python310\lib\site-packages\serial\serialwin32.py", line 33, in __init__
    super(Serial, self).__init__(*args, **kwargs)
  File "C:\Python310\lib\site-packages\serial\serialutil.py", line 244, in __init__
    self.open()
  File "C:\Python310\lib\site-packages\serial\serialwin32.py", line 64, in open
    raise SerialException("could not open port {!r}: {!r}".format(self.portstr, ctypes.WinError()))
serial.serialutil.SerialException: could not open port 'COM4': PermissionError(13, 'Access is denied.', None, 5)
21-Sep-2022 11:16:23 (-0700) INFO: Opening serial port None
21-Sep-2022 11:16:23 (-0700) INFO: Opening serial port COM12
21-Sep-2022 11:16:24 (-0700) INFO: closing UART
21-Sep-2022 11:16:24 (-0700) INFO: Opening serial port COM12
21-Sep-2022 11:16:24 (-0700) INFO: closing UART
21-Sep-2022 11:16:24 (-0700) INFO: Opening serial port COM11
21-Sep-2022 11:16:24 (-0700) INFO: closing UART
21-Sep-2022 11:16:24 (-0700) INFO: Opening serial port COM11
21-Sep-2022 11:16:25 (-0700) INFO: closing UART
21-Sep-2022 11:16:25 (-0700) INFO: Exiting PID 5856
21-Sep-2022 11:16:35 (-0700) INFO: --------------------------------------------------------
21-Sep-2022 11:16:35 (-0700) INFO: Software version: 4.1.0
21-Sep-2022 11:16:35 (-0700) INFO: Started PID 6812
21-Sep-2022 11:16:35 (-0700) INFO: Namespace(capture=False, extcap_interfaces=True, extcap_interface=None, extcap_dlts=False, extcap_config=False, extcap_capture_filter=None, fifo=None, extcap_control_in=None, extcap_control_out=None, extcap_version='3.6', device='', baudrate=None, only_advertising=False, only_legacy_advertising=False, scan_follow_rsp=False, scan_follow_aux=False, coded=False)
21-Sep-2022 11:16:35 (-0700) INFO: Opening serial port COM4
21-Sep-2022 11:16:35 (-0700) ERROR: Error opening UART could not open port 'COM4': PermissionError(13, 'Access is denied.', None, 5)
Traceback (most recent call last):
  File "C:\Users\pam\AppData\Roaming\Wireshark\extcap\SnifferAPI\Packet.py", line 74, in __init__
    self.uart = UART.Uart(portnum, baudrate)
  File "C:\Users\pam\AppData\Roaming\Wireshark\extcap\SnifferAPI\UART.py", line 124, in __init__
    self.ser = serial.Serial(
  File "C:\Python310\lib\site-packages\serial\serialwin32.py", line 33, in __init__
    super(Serial, self).__init__(*args, **kwargs)
  File "C:\Python310\lib\site-packages\serial\serialutil.py", line 244, in __init__
    self.open()
  File "C:\Python310\lib\site-packages\serial\serialwin32.py", line 64, in open
    raise SerialException("could not open port {!r}: {!r}".format(self.portstr, ctypes.WinError()))
serial.serialutil.SerialException: could not open port 'COM4': PermissionError(13, 'Access is denied.', None, 5)
21-Sep-2022 11:16:35 (-0700) INFO: Opening serial port None
21-Sep-2022 11:16:35 (-0700) INFO: Opening serial port COM4
21-Sep-2022 11:16:35 (-0700) ERROR: Error opening UART could not open port 'COM4': PermissionError(13, 'Access is denied.', None, 5)
Traceback (most recent call last):
  File "C:\Users\pam\AppData\Roaming\Wireshark\extcap\SnifferAPI\Packet.py", line 74, in __init__
    self.uart = UART.Uart(portnum, baudrate)
  File "C:\Users\pam\AppData\Roaming\Wireshark\extcap\SnifferAPI\UART.py", line 124, in __init__
    self.ser = serial.Serial(
  File "C:\Python310\lib\site-packages\serial\serialwin32.py", line 33, in __init__
    super(Serial, self).__init__(*args, **kwargs)
  File "C:\Python310\lib\site-packages\serial\serialutil.py", line 244, in __init__
    self.open()
  File "C:\Python310\lib\site-packages\serial\serialwin32.py", line 64, in open
    raise SerialException("could not open port {!r}: {!r}".format(self.portstr, ctypes.WinError()))
serial.serialutil.SerialException: could not open port 'COM4': PermissionError(13, 'Access is denied.', None, 5)
21-Sep-2022 11:16:35 (-0700) INFO: Opening serial port None
21-Sep-2022 11:16:35 (-0700) INFO: Opening serial port COM12
21-Sep-2022 11:16:36 (-0700) INFO: closing UART
21-Sep-2022 11:16:36 (-0700) INFO: Opening serial port COM12
21-Sep-2022 11:16:36 (-0700) INFO: closing UART
21-Sep-2022 11:16:36 (-0700) INFO: Opening serial port COM11
21-Sep-2022 11:16:36 (-0700) INFO: closing UART
21-Sep-2022 11:16:36 (-0700) INFO: Exiting PID 6812
21-Sep-2022 11:16:36 (-0700) INFO: --------------------------------------------------------
21-Sep-2022 11:16:36 (-0700) INFO: Software version: 4.1.0
21-Sep-2022 11:16:36 (-0700) INFO: Started PID 1268
21-Sep-2022 11:16:36 (-0700) INFO: Namespace(capture=False, extcap_interfaces=False, extcap_interface='COM11-3.6', extcap_dlts=False, extcap_config=True, extcap_capture_filter=None, fifo=None, extcap_control_in=None, extcap_control_out=None, extcap_version=None, device='', baudrate=None, only_advertising=False, only_legacy_advertising=False, scan_follow_rsp=False, scan_follow_aux=False, coded=False)
21-Sep-2022 11:16:36 (-0700) INFO: main exit PID 1268
21-Sep-2022 11:16:36 (-0700) INFO: Exiting PID 1268
21-Sep-2022 11:16:37 (-0700) INFO: --------------------------------------------------------
21-Sep-2022 11:16:37 (-0700) INFO: Software version: 4.1.0
21-Sep-2022 11:16:37 (-0700) INFO: Started PID 13012
21-Sep-2022 11:16:37 (-0700) INFO: Namespace(capture=False, extcap_interfaces=False, extcap_interface='COM11-3.6', extcap_dlts=True, extcap_config=False, extcap_capture_filter=None, fifo=None, extcap_control_in=None, extcap_control_out=None, extcap_version=None, device='', baudrate=None, only_advertising=False, only_legacy_advertising=False, scan_follow_rsp=False, scan_follow_aux=False, coded=False)
21-Sep-2022 11:16:37 (-0700) INFO: main exit PID 13012
21-Sep-2022 11:16:37 (-0700) INFO: Exiting PID 13012
21-Sep-2022 11:16:40 (-0700) INFO: --------------------------------------------------------
21-Sep-2022 11:16:40 (-0700) INFO: Software version: 4.1.0
21-Sep-2022 11:16:40 (-0700) INFO: Started PID 8372
21-Sep-2022 11:16:40 (-0700) INFO: Namespace(capture=False, extcap_interfaces=False, extcap_interface='COM11-3.6', extcap_dlts=False, extcap_config=True, extcap_capture_filter=None, fifo=None, extcap_control_in=None, extcap_control_out=None, extcap_version=None, device='', baudrate=None, only_advertising=False, only_legacy_advertising=False, scan_follow_rsp=False, scan_follow_aux=False, coded=False)
21-Sep-2022 11:16:40 (-0700) INFO: main exit PID 8372
21-Sep-2022 11:16:40 (-0700) INFO: Exiting PID 8372
21-Sep-2022 11:16:40 (-0700) INFO: --------------------------------------------------------
21-Sep-2022 11:16:40 (-0700) INFO: Software version: 4.1.0
21-Sep-2022 11:16:40 (-0700) INFO: Started PID 20308
21-Sep-2022 11:16:40 (-0700) INFO: Namespace(capture=False, extcap_interfaces=False, extcap_interface='COM11-3.6', extcap_dlts=False, extcap_config=True, extcap_capture_filter=None, fifo=None, extcap_control_in=None, extcap_control_out=None, extcap_version=None, device='', baudrate=None, only_advertising=False, only_legacy_advertising=False, scan_follow_rsp=False, scan_follow_aux=False, coded=False)
21-Sep-2022 11:16:40 (-0700) INFO: main exit PID 20308
21-Sep-2022 11:16:40 (-0700) INFO: Exiting PID 20308
21-Sep-2022 11:16:40 (-0700) INFO: --------------------------------------------------------
21-Sep-2022 11:16:40 (-0700) INFO: Software version: 4.1.0
21-Sep-2022 11:16:40 (-0700) INFO: Started PID 7352
21-Sep-2022 11:16:40 (-0700) INFO: Namespace(capture=True, extcap_interfaces=False, extcap_interface='COM11-3.6', extcap_dlts=False, extcap_config=False, extcap_capture_filter=None, fifo='\\\\.\\pipe\\wireshark_extcap_COM11-3.6_20220921111640', extcap_control_in='\\\\.\\pipe\\wireshark_control_ws_to_ext_COM11-3.6_20220921111640', extcap_control_out='\\\\.\\pipe\\wireshark_control_ext_to_ws_COM11-3.6_20220921111640', extcap_version=None, device='', baudrate=None, only_advertising=False, only_legacy_advertising=False, scan_follow_rsp=True, scan_follow_aux=True, coded=False)
21-Sep-2022 11:16:40 (-0700) INFO: sniffer capture
21-Sep-2022 11:16:40 (-0700) INFO: Log started at Wed Sep 21 11:16:40 2022
21-Sep-2022 11:16:40 (-0700) INFO: Extcap version 3.6
21-Sep-2022 11:16:40 (-0700) INFO: Opening serial port COM11
21-Sep-2022 11:16:41 (-0700) INFO: closing UART
21-Sep-2022 11:16:41 (-0700) INFO: Opening serial port COM11
21-Sep-2022 11:16:41 (-0700) INFO: closing UART
21-Sep-2022 11:16:41 (-0700) INFO: Tearing down
21-Sep-2022 11:16:41 (-0700) INFO: Traceback (most recent call last):
  File "C:\Users\pam\AppData\Roaming\Wireshark\extcap\nrf_sniffer_ble.py", line 613, in sniffer_capture
    baudrate = get_default_baudrate(interface, fifo)
  File "C:\Users\pam\AppData\Roaming\Wireshark\extcap\nrf_sniffer_ble.py", line 557, in get_default_baudrate
    error_interface_not_found(interface, fifo)
  File "C:\Users\pam\AppData\Roaming\Wireshark\extcap\nrf_sniffer_ble.py", line 544, in error_interface_not_found
    sys.exit(ERROR_INTERFACE)
SystemExit: 2

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\pam\AppData\Roaming\Wireshark\extcap\nrf_sniffer_ble.py", line 843, in <module>
    sniffer_capture(interface, args.baudrate, args.fifo, args.extcap_control_in, args.extcap_control_out)
  File "C:\Users\pam\AppData\Roaming\Wireshark\extcap\nrf_sniffer_ble.py", line 674, in sniffer_capture
    sniffer.doExit()
UnboundLocalError: local variable 'sniffer' referenced before assignment

21-Sep-2022 11:16:41 (-0700) INFO: internal error: UnboundLocalError("local variable 'sniffer' referenced before assignment")
21-Sep-2022 11:16:41 (-0700) INFO: Exiting PID 7352
21-Sep-2022 11:17:35 (-0700) INFO: --------------------------------------------------------
21-Sep-2022 11:17:35 (-0700) INFO: Software version: 4.1.0
21-Sep-2022 11:17:35 (-0700) INFO: Started PID 14720
21-Sep-2022 11:17:35 (-0700) INFO: Namespace(capture=False, extcap_interfaces=False, extcap_interface='COM11-3.6', extcap_dlts=False, extcap_config=True, extcap_capture_filter=None, fifo=None, extcap_control_in=None, extcap_control_out=None, extcap_version=None, device='', baudrate=None, only_advertising=False, only_legacy_advertising=False, scan_follow_rsp=False, scan_follow_aux=False, coded=False)
21-Sep-2022 11:17:35 (-0700) INFO: main exit PID 14720
21-Sep-2022 11:17:35 (-0700) INFO: Exiting PID 14720
21-Sep-2022 11:17:35 (-0700) INFO: --------------------------------------------------------
21-Sep-2022 11:17:35 (-0700) INFO: Software version: 4.1.0
21-Sep-2022 11:17:35 (-0700) INFO: Started PID 19272
21-Sep-2022 11:17:35 (-0700) INFO: Namespace(capture=True, extcap_interfaces=False, extcap_interface='COM11-3.6', extcap_dlts=False, extcap_config=False, extcap_capture_filter=None, fifo='\\\\.\\pipe\\wireshark_extcap_COM11-3.6_20220921111735', extcap_control_in='\\\\.\\pipe\\wireshark_control_ws_to_ext_COM11-3.6_20220921111735', extcap_control_out='\\\\.\\pipe\\wireshark_control_ext_to_ws_COM11-3.6_20220921111735', extcap_version=None, device='', baudrate=None, only_advertising=False, only_legacy_advertising=False, scan_follow_rsp=True, scan_follow_aux=True, coded=False)
21-Sep-2022 11:17:35 (-0700) INFO: sniffer capture
21-Sep-2022 11:17:35 (-0700) INFO: Log started at Wed Sep 21 11:17:35 2022
21-Sep-2022 11:17:35 (-0700) INFO: Extcap version 3.6
21-Sep-2022 11:17:35 (-0700) INFO: Opening serial port COM11
21-Sep-2022 11:17:36 (-0700) INFO: closing UART
21-Sep-2022 11:17:36 (-0700) INFO: Opening serial port COM11
21-Sep-2022 11:17:36 (-0700) INFO: closing UART
21-Sep-2022 11:17:36 (-0700) INFO: Tearing down
21-Sep-2022 11:17:36 (-0700) INFO: Traceback (most recent call last):
  File "C:\Users\pam\AppData\Roaming\Wireshark\extcap\nrf_sniffer_ble.py", line 613, in sniffer_capture
    baudrate = get_default_baudrate(interface, fifo)
  File "C:\Users\pam\AppData\Roaming\Wireshark\extcap\nrf_sniffer_ble.py", line 557, in get_default_baudrate
    error_interface_not_found(interface, fifo)
  File "C:\Users\pam\AppData\Roaming\Wireshark\extcap\nrf_sniffer_ble.py", line 544, in error_interface_not_found
    sys.exit(ERROR_INTERFACE)
SystemExit: 2

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\pam\AppData\Roaming\Wireshark\extcap\nrf_sniffer_ble.py", line 843, in <module>
    sniffer_capture(interface, args.baudrate, args.fifo, args.extcap_control_in, args.extcap_control_out)
  File "C:\Users\pam\AppData\Roaming\Wireshark\extcap\nrf_sniffer_ble.py", line 674, in sniffer_capture
    sniffer.doExit()
UnboundLocalError: local variable 'sniffer' referenced before assignment

21-Sep-2022 11:17:36 (-0700) INFO: internal error: UnboundLocalError("local variable 'sniffer' referenced before assignment")
21-Sep-2022 11:17:36 (-0700) INFO: Exiting PID 19272
21-Sep-2022 11:24:10 (-0700) INFO: --------------------------------------------------------
21-Sep-2022 11:24:10 (-0700) INFO: Software version: 4.1.0
21-Sep-2022 11:24:10 (-0700) INFO: Started PID 17852
21-Sep-2022 11:24:10 (-0700) INFO: Namespace(capture=False, extcap_interfaces=True, extcap_interface=None, extcap_dlts=False, extcap_config=False, extcap_capture_filter=None, fifo=None, extcap_control_in=None, extcap_control_out=None, extcap_version='3.6', device='', baudrate=None, only_advertising=False, only_legacy_advertising=False, scan_follow_rsp=False, scan_follow_aux=False, coded=False)
21-Sep-2022 11:24:10 (-0700) INFO: Opening serial port COM4
21-Sep-2022 11:24:10 (-0700) ERROR: Error opening UART could not open port 'COM4': PermissionError(13, 'Access is denied.', None, 5)
Traceback (most recent call last):
  File "C:\Users\pam\AppData\Roaming\Wireshark\extcap\SnifferAPI\Packet.py", line 74, in __init__
    self.uart = UART.Uart(portnum, baudrate)
  File "C:\Users\pam\AppData\Roaming\Wireshark\extcap\SnifferAPI\UART.py", line 124, in __init__
    self.ser = serial.Serial(
  File "C:\Python310\lib\site-packages\serial\serialwin32.py", line 33, in __init__
    super(Serial, self).__init__(*args, **kwargs)
  File "C:\Python310\lib\site-packages\serial\serialutil.py", line 244, in __init__
    self.open()
  File "C:\Python310\lib\site-packages\serial\serialwin32.py", line 64, in open
    raise SerialException("could not open port {!r}: {!r}".format(self.portstr, ctypes.WinError()))
serial.serialutil.SerialException: could not open port 'COM4': PermissionError(13, 'Access is denied.', None, 5)
21-Sep-2022 11:24:10 (-0700) INFO: Opening serial port None
21-Sep-2022 11:24:10 (-0700) INFO: Opening serial port COM4
21-Sep-2022 11:24:10 (-0700) ERROR: Error opening UART could not open port 'COM4': PermissionError(13, 'Access is denied.', None, 5)
Traceback (most recent call last):
  File "C:\Users\pam\AppData\Roaming\Wireshark\extcap\SnifferAPI\Packet.py", line 74, in __init__
    self.uart = UART.Uart(portnum, baudrate)
  File "C:\Users\pam\AppData\Roaming\Wireshark\extcap\SnifferAPI\UART.py", line 124, in __init__
    self.ser = serial.Serial(
  File "C:\Python310\lib\site-packages\serial\serialwin32.py", line 33, in __init__
    super(Serial, self).__init__(*args, **kwargs)
  File "C:\Python310\lib\site-packages\serial\serialutil.py", line 244, in __init__
    self.open()
  File "C:\Python310\lib\site-packages\serial\serialwin32.py", line 64, in open
    raise SerialException("could not open port {!r}: {!r}".format(self.portstr, ctypes.WinError()))
serial.serialutil.SerialException: could not open port 'COM4': PermissionError(13, 'Access is denied.', None, 5)
21-Sep-2022 11:24:10 (-0700) INFO: Opening serial port None
21-Sep-2022 11:24:10 (-0700) INFO: Opening serial port COM12
21-Sep-2022 11:24:10 (-0700) INFO: closing UART
21-Sep-2022 11:24:10 (-0700) INFO: Opening serial port COM12
21-Sep-2022 11:24:10 (-0700) INFO: closing UART
21-Sep-2022 11:24:10 (-0700) INFO: Opening serial port COM11
21-Sep-2022 11:24:11 (-0700) INFO: closing UART
21-Sep-2022 11:24:11 (-0700) INFO: Opening serial port COM11
21-Sep-2022 11:24:11 (-0700) INFO: closing UART
21-Sep-2022 11:24:11 (-0700) INFO: Exiting PID 17852
21-Sep-2022 11:24:16 (-0700) INFO: --------------------------------------------------------
21-Sep-2022 11:24:16 (-0700) INFO: Software version: 4.1.0
21-Sep-2022 11:24:16 (-0700) INFO: Started PID 19092
21-Sep-2022 11:24:16 (-0700) INFO: Namespace(capture=False, extcap_interfaces=True, extcap_interface=None, extcap_dlts=False, extcap_config=False, extcap_capture_filter=None, fifo=None, extcap_control_in=None, extcap_control_out=None, extcap_version='3.6', device='', baudrate=None, only_advertising=False, only_legacy_advertising=False, scan_follow_rsp=False, scan_follow_aux=False, coded=False)
21-Sep-2022 11:24:16 (-0700) INFO: Opening serial port COM4
21-Sep-2022 11:24:16 (-0700) ERROR: Error opening UART could not open port 'COM4': PermissionError(13, 'Access is denied.', None, 5)
Traceback (most recent call last):
  File "C:\Users\pam\AppData\Roaming\Wireshark\extcap\SnifferAPI\Packet.py", line 74, in __init__
    self.uart = UART.Uart(portnum, baudrate)
  File "C:\Users\pam\AppData\Roaming\Wireshark\extcap\SnifferAPI\UART.py", line 124, in __init__
    self.ser = serial.Serial(
  File "C:\Python310\lib\site-packages\serial\serialwin32.py", line 33, in __init__
    super(Serial, self).__init__(*args, **kwargs)
  File "C:\Python310\lib\site-packages\serial\serialutil.py", line 244, in __init__
    self.open()
  File "C:\Python310\lib\site-packages\serial\serialwin32.py", line 64, in open
    raise SerialException("could not open port {!r}: {!r}".format(self.portstr, ctypes.WinError()))
serial.serialutil.SerialException: could not open port 'COM4': PermissionError(13, 'Access is denied.', None, 5)
21-Sep-2022 11:24:16 (-0700) INFO: Opening serial port None
21-Sep-2022 11:24:16 (-0700) INFO: Opening serial port COM4
21-Sep-2022 11:24:16 (-0700) ERROR: Error opening UART could not open port 'COM4': PermissionError(13, 'Access is denied.', None, 5)
Traceback (most recent call last):
  File "C:\Users\pam\AppData\Roaming\Wireshark\extcap\SnifferAPI\Packet.py", line 74, in __init__
    self.uart = UART.Uart(portnum, baudrate)
  File "C:\Users\pam\AppData\Roaming\Wireshark\extcap\SnifferAPI\UART.py", line 124, in __init__
    self.ser = serial.Serial(
  File "C:\Python310\lib\site-packages\serial\serialwin32.py", line 33, in __init__
    super(Serial, self).__init__(*args, **kwargs)
  File "C:\Python310\lib\site-packages\serial\serialutil.py", line 244, in __init__
    self.open()
  File "C:\Python310\lib\site-packages\serial\serialwin32.py", line 64, in open
    raise SerialException("could not open port {!r}: {!r}".format(self.portstr, ctypes.WinError()))
serial.serialutil.SerialException: could not open port 'COM4': PermissionError(13, 'Access is denied.', None, 5)
21-Sep-2022 11:24:16 (-0700) INFO: Opening serial port None
21-Sep-2022 11:24:16 (-0700) INFO: Opening serial port COM12
21-Sep-2022 11:24:16 (-0700) INFO: closing UART
21-Sep-2022 11:24:16 (-0700) INFO: Opening serial port COM12
21-Sep-2022 11:24:16 (-0700) INFO: closing UART
21-Sep-2022 11:24:16 (-0700) INFO: Opening serial port COM11
21-Sep-2022 11:24:17 (-0700) INFO: closing UART
21-Sep-2022 11:24:17 (-0700) INFO: Opening serial port COM11
21-Sep-2022 11:24:17 (-0700) INFO: closing UART
21-Sep-2022 11:24:17 (-0700) INFO: Exiting PID 19092
21-Sep-2022 11:26:37 (-0700) INFO: --------------------------------------------------------
21-Sep-2022 11:26:37 (-0700) INFO: Software version: 4.1.0
21-Sep-2022 11:26:37 (-0700) INFO: Started PID 4464
21-Sep-2022 11:26:37 (-0700) INFO: Namespace(capture=False, extcap_interfaces=True, extcap_interface=None, extcap_dlts=False, extcap_config=False, extcap_capture_filter=None, fifo=None, extcap_control_in=None, extcap_control_out=None, extcap_version='3.6', device='', baudrate=None, only_advertising=False, only_legacy_advertising=False, scan_follow_rsp=False, scan_follow_aux=False, coded=False)
21-Sep-2022 11:26:37 (-0700) INFO: Opening serial port COM4
21-Sep-2022 11:26:37 (-0700) ERROR: Error opening UART could not open port 'COM4': PermissionError(13, 'Access is denied.', None, 5)
Traceback (most recent call last):
  File "C:\Users\pam\AppData\Roaming\Wireshark\extcap\SnifferAPI\Packet.py", line 74, in __init__
    self.uart = UART.Uart(portnum, baudrate)
  File "C:\Users\pam\AppData\Roaming\Wireshark\extcap\SnifferAPI\UART.py", line 124, in __init__
    self.ser = serial.Serial(
  File "C:\Python310\lib\site-packages\serial\serialwin32.py", line 33, in __init__
    super(Serial, self).__init__(*args, **kwargs)
  File "C:\Python310\lib\site-packages\serial\serialutil.py", line 244, in __init__
    self.open()
  File "C:\Python310\lib\site-packages\serial\serialwin32.py", line 64, in open
    raise SerialException("could not open port {!r}: {!r}".format(self.portstr, ctypes.WinError()))
serial.serialutil.SerialException: could not open port 'COM4': PermissionError(13, 'Access is denied.', None, 5)
21-Sep-2022 11:26:37 (-0700) INFO: Opening serial port None
21-Sep-2022 11:26:37 (-0700) INFO: Opening serial port COM4
21-Sep-2022 11:26:37 (-0700) ERROR: Error opening UART could not open port 'COM4': PermissionError(13, 'Access is denied.', None, 5)
Traceback (most recent call last):
  File "C:\Users\pam\AppData\Roaming\Wireshark\extcap\SnifferAPI\Packet.py", line 74, in __init__
    self.uart = UART.Uart(portnum, baudrate)
  File "C:\Users\pam\AppData\Roaming\Wireshark\extcap\SnifferAPI\UART.py", line 124, in __init__
    self.ser = serial.Serial(
  File "C:\Python310\lib\site-packages\serial\serialwin32.py", line 33, in __init__
    super(Serial, self).__init__(*args, **kwargs)
  File "C:\Python310\lib\site-packages\serial\serialutil.py", line 244, in __init__
    self.open()
  File "C:\Python310\lib\site-packages\serial\serialwin32.py", line 64, in open
    raise SerialException("could not open port {!r}: {!r}".format(self.portstr, ctypes.WinError()))
serial.serialutil.SerialException: could not open port 'COM4': PermissionError(13, 'Access is denied.', None, 5)
21-Sep-2022 11:26:37 (-0700) INFO: Opening serial port None
21-Sep-2022 11:26:37 (-0700) INFO: Opening serial port COM12
21-Sep-2022 11:26:37 (-0700) INFO: closing UART
21-Sep-2022 11:26:37 (-0700) INFO: Opening serial port COM12
21-Sep-2022 11:26:37 (-0700) INFO: closing UART
21-Sep-2022 11:26:37 (-0700) INFO: Opening serial port COM11
21-Sep-2022 11:26:37 (-0700) INFO: closing UART
21-Sep-2022 11:26:37 (-0700) INFO: Exiting PID 4464
21-Sep-2022 11:26:37 (-0700) INFO: --------------------------------------------------------
21-Sep-2022 11:26:37 (-0700) INFO: Software version: 4.1.0
21-Sep-2022 11:26:37 (-0700) INFO: Started PID 9948
21-Sep-2022 11:26:37 (-0700) INFO: Namespace(capture=False, extcap_interfaces=False, extcap_interface='COM11-3.6', extcap_dlts=False, extcap_config=True, extcap_capture_filter=None, fifo=None, extcap_control_in=None, extcap_control_out=None, extcap_version=None, device='', baudrate=None, only_advertising=False, only_legacy_advertising=False, scan_follow_rsp=False, scan_follow_aux=False, coded=False)
21-Sep-2022 11:26:37 (-0700) INFO: main exit PID 9948
21-Sep-2022 11:26:37 (-0700) INFO: Exiting PID 9948
21-Sep-2022 11:26:38 (-0700) INFO: --------------------------------------------------------
21-Sep-2022 11:26:38 (-0700) INFO: Software version: 4.1.0
21-Sep-2022 11:26:38 (-0700) INFO: Started PID 20060
21-Sep-2022 11:26:38 (-0700) INFO: Namespace(capture=False, extcap_interfaces=False, extcap_interface='COM11-3.6', extcap_dlts=True, extcap_config=False, extcap_capture_filter=None, fifo=None, extcap_control_in=None, extcap_control_out=None, extcap_version=None, device='', baudrate=None, only_advertising=False, only_legacy_advertising=False, scan_follow_rsp=False, scan_follow_aux=False, coded=False)
21-Sep-2022 11:26:38 (-0700) INFO: main exit PID 20060
21-Sep-2022 11:26:38 (-0700) INFO: Exiting PID 20060
21-Sep-2022 11:26:46 (-0700) INFO: --------------------------------------------------------
21-Sep-2022 11:26:46 (-0700) INFO: Software version: 4.1.0
21-Sep-2022 11:26:46 (-0700) INFO: Started PID 13864
21-Sep-2022 11:26:46 (-0700) INFO: Namespace(capture=False, extcap_interfaces=True, extcap_interface=None, extcap_dlts=False, extcap_config=False, extcap_capture_filter=None, fifo=None, extcap_control_in=None, extcap_control_out=None, extcap_version='3.6', device='', baudrate=None, only_advertising=False, only_legacy_advertising=False, scan_follow_rsp=False, scan_follow_aux=False, coded=False)
21-Sep-2022 11:26:46 (-0700) INFO: Opening serial port COM4
21-Sep-2022 11:26:46 (-0700) ERROR: Error opening UART could not open port 'COM4': PermissionError(13, 'Access is denied.', None, 5)
Traceback (most recent call last):
  File "C:\Users\pam\AppData\Roaming\Wireshark\extcap\SnifferAPI\Packet.py", line 74, in __init__
    self.uart = UART.Uart(portnum, baudrate)
  File "C:\Users\pam\AppData\Roaming\Wireshark\extcap\SnifferAPI\UART.py", line 124, in __init__
    self.ser = serial.Serial(
  File "C:\Python310\lib\site-packages\serial\serialwin32.py", line 33, in __init__
    super(Serial, self).__init__(*args, **kwargs)
  File "C:\Python310\lib\site-packages\serial\serialutil.py", line 244, in __init__
    self.open()
  File "C:\Python310\lib\site-packages\serial\serialwin32.py", line 64, in open
    raise SerialException("could not open port {!r}: {!r}".format(self.portstr, ctypes.WinError()))
serial.serialutil.SerialException: could not open port 'COM4': PermissionError(13, 'Access is denied.', None, 5)
21-Sep-2022 11:26:46 (-0700) INFO: Opening serial port None
21-Sep-2022 11:26:46 (-0700) INFO: Opening serial port COM4
21-Sep-2022 11:26:46 (-0700) ERROR: Error opening UART could not open port 'COM4': PermissionError(13, 'Access is denied.', None, 5)
Traceback (most recent call last):
  File "C:\Users\pam\AppData\Roaming\Wireshark\extcap\SnifferAPI\Packet.py", line 74, in __init__
    self.uart = UART.Uart(portnum, baudrate)
  File "C:\Users\pam\AppData\Roaming\Wireshark\extcap\SnifferAPI\UART.py", line 124, in __init__
    self.ser = serial.Serial(
  File "C:\Python310\lib\site-packages\serial\serialwin32.py", line 33, in __init__
    super(Serial, self).__init__(*args, **kwargs)
  File "C:\Python310\lib\site-packages\serial\serialutil.py", line 244, in __init__
    self.open()
  File "C:\Python310\lib\site-packages\serial\serialwin32.py", line 64, in open
    raise SerialException("could not open port {!r}: {!r}".format(self.portstr, ctypes.WinError()))
serial.serialutil.SerialException: could not open port 'COM4': PermissionError(13, 'Access is denied.', None, 5)
21-Sep-2022 11:26:46 (-0700) INFO: Opening serial port None
21-Sep-2022 11:26:46 (-0700) INFO: Opening serial port COM12
21-Sep-2022 11:26:47 (-0700) INFO: closing UART
21-Sep-2022 11:26:47 (-0700) INFO: Opening serial port COM12
21-Sep-2022 11:26:47 (-0700) INFO: closing UART
21-Sep-2022 11:26:47 (-0700) INFO: Opening serial port COM11
21-Sep-2022 11:26:47 (-0700) INFO: closing UART
21-Sep-2022 11:26:47 (-0700) INFO: Opening serial port COM11
21-Sep-2022 11:26:48 (-0700) INFO: closing UART
21-Sep-2022 11:26:48 (-0700) INFO: Exiting PID 13864
21-Sep-2022 11:33:11 (-0700) INFO: --------------------------------------------------------
21-Sep-2022 11:33:11 (-0700) INFO: Software version: 4.1.0
21-Sep-2022 11:33:11 (-0700) INFO: Started PID 13096
21-Sep-2022 11:33:11 (-0700) INFO: Namespace(capture=False, extcap_interfaces=True, extcap_interface=None, extcap_dlts=False, extcap_config=False, extcap_capture_filter=None, fifo=None, extcap_control_in=None, extcap_control_out=None, extcap_version='3.6', device='', baudrate=None, only_advertising=False, only_legacy_advertising=False, scan_follow_rsp=False, scan_follow_aux=False, coded=False)
21-Sep-2022 11:33:11 (-0700) INFO: Opening serial port COM4
21-Sep-2022 11:33:11 (-0700) ERROR: Error opening UART could not open port 'COM4': PermissionError(13, 'Access is denied.', None, 5)
Traceback (most recent call last):
  File "C:\Users\pam\AppData\Roaming\Wireshark\extcap\SnifferAPI\Packet.py", line 74, in __init__
    self.uart = UART.Uart(portnum, baudrate)
  File "C:\Users\pam\AppData\Roaming\Wireshark\extcap\SnifferAPI\UART.py", line 124, in __init__
    self.ser = serial.Serial(
  File "C:\Python310\lib\site-packages\serial\serialwin32.py", line 33, in __init__
    super(Serial, self).__init__(*args, **kwargs)
  File "C:\Python310\lib\site-packages\serial\serialutil.py", line 244, in __init__
    self.open()
  File "C:\Python310\lib\site-packages\serial\serialwin32.py", line 64, in open
    raise SerialException("could not open port {!r}: {!r}".format(self.portstr, ctypes.WinError()))
serial.serialutil.SerialException: could not open port 'COM4': PermissionError(13, 'Access is denied.', None, 5)
21-Sep-2022 11:33:11 (-0700) INFO: Opening serial port None
21-Sep-2022 11:33:11 (-0700) INFO: Opening serial port COM4
21-Sep-2022 11:33:11 (-0700) ERROR: Error opening UART could not open port 'COM4': PermissionError(13, 'Access is denied.', None, 5)
Traceback (most recent call last):
  File "C:\Users\pam\AppData\Roaming\Wireshark\extcap\SnifferAPI\Packet.py", line 74, in __init__
    self.uart = UART.Uart(portnum, baudrate)
  File "C:\Users\pam\AppData\Roaming\Wireshark\extcap\SnifferAPI\UART.py", line 124, in __init__
    self.ser = serial.Serial(
  File "C:\Python310\lib\site-packages\serial\serialwin32.py", line 33, in __init__
    super(Serial, self).__init__(*args, **kwargs)
  File "C:\Python310\lib\site-packages\serial\serialutil.py", line 244, in __init__
    self.open()
  File "C:\Python310\lib\site-packages\serial\serialwin32.py", line 64, in open
    raise SerialException("could not open port {!r}: {!r}".format(self.portstr, ctypes.WinError()))
serial.serialutil.SerialException: could not open port 'COM4': PermissionError(13, 'Access is denied.', None, 5)
21-Sep-2022 11:33:11 (-0700) INFO: Opening serial port None
21-Sep-2022 11:33:11 (-0700) INFO: Opening serial port COM12
21-Sep-2022 11:33:11 (-0700) INFO: closing UART
21-Sep-2022 11:33:11 (-0700) INFO: Opening serial port COM12
21-Sep-2022 11:33:11 (-0700) INFO: closing UART
21-Sep-2022 11:33:11 (-0700) INFO: Opening serial port COM11
21-Sep-2022 11:33:12 (-0700) INFO: closing UART
21-Sep-2022 11:33:12 (-0700) INFO: Opening serial port COM11
21-Sep-2022 11:33:12 (-0700) INFO: closing UART
21-Sep-2022 11:33:12 (-0700) INFO: Exiting PID 13096
21-Sep-2022 11:33:16 (-0700) INFO: --------------------------------------------------------
21-Sep-2022 11:33:16 (-0700) INFO: Software version: 4.1.0
21-Sep-2022 11:33:16 (-0700) INFO: Started PID 4084
21-Sep-2022 11:33:16 (-0700) INFO: Namespace(capture=False, extcap_interfaces=True, extcap_interface=None, extcap_dlts=False, extcap_config=False, extcap_capture_filter=None, fifo=None, extcap_control_in=None, extcap_control_out=None, extcap_version='3.6', device='', baudrate=None, only_advertising=False, only_legacy_advertising=False, scan_follow_rsp=False, scan_follow_aux=False, coded=False)
21-Sep-2022 11:33:16 (-0700) INFO: Opening serial port COM4
21-Sep-2022 11:33:16 (-0700) ERROR: Error opening UART could not open port 'COM4': PermissionError(13, 'Access is denied.', None, 5)
Traceback (most recent call last):
  File "C:\Users\pam\AppData\Roaming\Wireshark\extcap\SnifferAPI\Packet.py", line 74, in __init__
    self.uart = UART.Uart(portnum, baudrate)
  File "C:\Users\pam\AppData\Roaming\Wireshark\extcap\SnifferAPI\UART.py", line 124, in __init__
    self.ser = serial.Serial(
  File "C:\Python310\lib\site-packages\serial\serialwin32.py", line 33, in __init__
    super(Serial, self).__init__(*args, **kwargs)
  File "C:\Python310\lib\site-packages\serial\serialutil.py", line 244, in __init__
    self.open()
  File "C:\Python310\lib\site-packages\serial\serialwin32.py", line 64, in open
    raise SerialException("could not open port {!r}: {!r}".format(self.portstr, ctypes.WinError()))
serial.serialutil.SerialException: could not open port 'COM4': PermissionError(13, 'Access is denied.', None, 5)
21-Sep-2022 11:33:16 (-0700) INFO: Opening serial port None
21-Sep-2022 11:33:16 (-0700) INFO: Opening serial port COM4
21-Sep-2022 11:33:16 (-0700) ERROR: Error opening UART could not open port 'COM4': PermissionError(13, 'Access is denied.', None, 5)
Traceback (most recent call last):
  File "C:\Users\pam\AppData\Roaming\Wireshark\extcap\SnifferAPI\Packet.py", line 74, in __init__
    self.uart = UART.Uart(portnum, baudrate)
  File "C:\Users\pam\AppData\Roaming\Wireshark\extcap\SnifferAPI\UART.py", line 124, in __init__
    self.ser = serial.Serial(
  File "C:\Python310\lib\site-packages\serial\serialwin32.py", line 33, in __init__
    super(Serial, self).__init__(*args, **kwargs)
  File "C:\Python310\lib\site-packages\serial\serialutil.py", line 244, in __init__
    self.open()
  File "C:\Python310\lib\site-packages\serial\serialwin32.py", line 64, in open
    raise SerialException("could not open port {!r}: {!r}".format(self.portstr, ctypes.WinError()))
serial.serialutil.SerialException: could not open port 'COM4': PermissionError(13, 'Access is denied.', None, 5)
21-Sep-2022 11:33:16 (-0700) INFO: Opening serial port None
21-Sep-2022 11:33:16 (-0700) INFO: Opening serial port COM12
21-Sep-2022 11:33:16 (-0700) INFO: closing UART
21-Sep-2022 11:33:16 (-0700) INFO: Opening serial port COM12
21-Sep-2022 11:33:16 (-0700) INFO: closing UART
21-Sep-2022 11:33:16 (-0700) INFO: Opening serial port COM11
21-Sep-2022 11:33:17 (-0700) INFO: closing UART
21-Sep-2022 11:33:17 (-0700) INFO: Opening serial port COM11
21-Sep-2022 11:33:17 (-0700) INFO: closing UART
21-Sep-2022 11:33:17 (-0700) INFO: Exiting PID 4084
21-Sep-2022 11:33:46 (-0700) INFO: --------------------------------------------------------
21-Sep-2022 11:33:46 (-0700) INFO: Software version: 4.1.0
21-Sep-2022 11:33:46 (-0700) INFO: Started PID 7300
21-Sep-2022 11:33:46 (-0700) INFO: Namespace(capture=False, extcap_interfaces=True, extcap_interface=None, extcap_dlts=False, extcap_config=False, extcap_capture_filter=None, fifo=None, extcap_control_in=None, extcap_control_out=None, extcap_version='3.6', device='', baudrate=None, only_advertising=False, only_legacy_advertising=False, scan_follow_rsp=False, scan_follow_aux=False, coded=False)
21-Sep-2022 11:33:46 (-0700) INFO: Opening serial port COM4
21-Sep-2022 11:33:46 (-0700) ERROR: Error opening UART could not open port 'COM4': PermissionError(13, 'Access is denied.', None, 5)
Traceback (most recent call last):
  File "C:\Users\pam\AppData\Roaming\Wireshark\extcap\SnifferAPI\Packet.py", line 74, in __init__
    self.uart = UART.Uart(portnum, baudrate)
  File "C:\Users\pam\AppData\Roaming\Wireshark\extcap\SnifferAPI\UART.py", line 124, in __init__
    self.ser = serial.Serial(
  File "C:\Python310\lib\site-packages\serial\serialwin32.py", line 33, in __init__
    super(Serial, self).__init__(*args, **kwargs)
  File "C:\Python310\lib\site-packages\serial\serialutil.py", line 244, in __init__
    self.open()
  File "C:\Python310\lib\site-packages\serial\serialwin32.py", line 64, in open
    raise SerialException("could not open port {!r}: {!r}".format(self.portstr, ctypes.WinError()))
serial.serialutil.SerialException: could not open port 'COM4': PermissionError(13, 'Access is denied.', None, 5)
21-Sep-2022 11:33:46 (-0700) INFO: Opening serial port None
21-Sep-2022 11:33:46 (-0700) INFO: Opening serial port COM4
21-Sep-2022 11:33:46 (-0700) ERROR: Error opening UART could not open port 'COM4': PermissionError(13, 'Access is denied.', None, 5)
Traceback (most recent call last):
  File "C:\Users\pam\AppData\Roaming\Wireshark\extcap\SnifferAPI\Packet.py", line 74, in __init__
    self.uart = UART.Uart(portnum, baudrate)
  File "C:\Users\pam\AppData\Roaming\Wireshark\extcap\SnifferAPI\UART.py", line 124, in __init__
    self.ser = serial.Serial(
  File "C:\Python310\lib\site-packages\serial\serialwin32.py", line 33, in __init__
    super(Serial, self).__init__(*args, **kwargs)
  File "C:\Python310\lib\site-packages\serial\serialutil.py", line 244, in __init__
    self.open()
  File "C:\Python310\lib\site-packages\serial\serialwin32.py", line 64, in open
    raise SerialException("could not open port {!r}: {!r}".format(self.portstr, ctypes.WinError()))
serial.serialutil.SerialException: could not open port 'COM4': PermissionError(13, 'Access is denied.', None, 5)
21-Sep-2022 11:33:46 (-0700) INFO: Opening serial port None
21-Sep-2022 11:33:46 (-0700) INFO: Opening serial port COM12
21-Sep-2022 11:33:46 (-0700) INFO: closing UART
21-Sep-2022 11:33:46 (-0700) INFO: Opening serial port COM12
21-Sep-2022 11:33:47 (-0700) INFO: closing UART
21-Sep-2022 11:33:47 (-0700) INFO: Opening serial port COM11
21-Sep-2022 11:33:47 (-0700) INFO: closing UART
21-Sep-2022 11:33:47 (-0700) INFO: Opening serial port COM11
21-Sep-2022 11:33:47 (-0700) INFO: closing UART
21-Sep-2022 11:33:47 (-0700) INFO: Exiting PID 7300
21-Sep-2022 11:34:10 (-0700) INFO: --------------------------------------------------------
21-Sep-2022 11:34:10 (-0700) INFO: Software version: 4.1.0
21-Sep-2022 11:34:10 (-0700) INFO: Started PID 2924
21-Sep-2022 11:34:10 (-0700) INFO: Namespace(capture=False, extcap_interfaces=True, extcap_interface=None, extcap_dlts=False, extcap_config=False, extcap_capture_filter=None, fifo=None, extcap_control_in=None, extcap_control_out=None, extcap_version='3.6', device='', baudrate=None, only_advertising=False, only_legacy_advertising=False, scan_follow_rsp=False, scan_follow_aux=False, coded=False)
21-Sep-2022 11:34:10 (-0700) INFO: Opening serial port COM4
21-Sep-2022 11:34:10 (-0700) ERROR: Error opening UART could not open port 'COM4': PermissionError(13, 'Access is denied.', None, 5)
Traceback (most recent call last):
  File "C:\Users\pam\AppData\Roaming\Wireshark\extcap\SnifferAPI\Packet.py", line 74, in __init__
    self.uart = UART.Uart(portnum, baudrate)
  File "C:\Users\pam\AppData\Roaming\Wireshark\extcap\SnifferAPI\UART.py", line 124, in __init__
    self.ser = serial.Serial(
  File "C:\Python310\lib\site-packages\serial\serialwin32.py", line 33, in __init__
    super(Serial, self).__init__(*args, **kwargs)
  File "C:\Python310\lib\site-packages\serial\serialutil.py", line 244, in __init__
    self.open()
  File "C:\Python310\lib\site-packages\serial\serialwin32.py", line 64, in open
    raise SerialException("could not open port {!r}: {!r}".format(self.portstr, ctypes.WinError()))
serial.serialutil.SerialException: could not open port 'COM4': PermissionError(13, 'Access is denied.', None, 5)
21-Sep-2022 11:34:10 (-0700) INFO: Opening serial port None
21-Sep-2022 11:34:10 (-0700) INFO: Opening serial port COM4
21-Sep-2022 11:34:10 (-0700) ERROR: Error opening UART could not open port 'COM4': PermissionError(13, 'Access is denied.', None, 5)
Traceback (most recent call last):
  File "C:\Users\pam\AppData\Roaming\Wireshark\extcap\SnifferAPI\Packet.py", line 74, in __init__
    self.uart = UART.Uart(portnum, baudrate)
  File "C:\Users\pam\AppData\Roaming\Wireshark\extcap\SnifferAPI\UART.py", line 124, in __init__
    self.ser = serial.Serial(
  File "C:\Python310\lib\site-packages\serial\serialwin32.py", line 33, in __init__
    super(Serial, self).__init__(*args, **kwargs)
  File "C:\Python310\lib\site-packages\serial\serialutil.py", line 244, in __init__
    self.open()
  File "C:\Python310\lib\site-packages\serial\serialwin32.py", line 64, in open
    raise SerialException("could not open port {!r}: {!r}".format(self.portstr, ctypes.WinError()))
serial.serialutil.SerialException: could not open port 'COM4': PermissionError(13, 'Access is denied.', None, 5)
21-Sep-2022 11:34:10 (-0700) INFO: Opening serial port None
21-Sep-2022 11:34:10 (-0700) INFO: Opening serial port COM12
21-Sep-2022 11:34:10 (-0700) INFO: closing UART
21-Sep-2022 11:34:10 (-0700) INFO: Opening serial port COM12
21-Sep-2022 11:34:11 (-0700) INFO: closing UART
21-Sep-2022 11:34:11 (-0700) INFO: Opening serial port COM11
21-Sep-2022 11:34:11 (-0700) INFO: closing UART
21-Sep-2022 11:34:11 (-0700) INFO: Exiting PID 2924
21-Sep-2022 11:34:11 (-0700) INFO: --------------------------------------------------------
21-Sep-2022 11:34:11 (-0700) INFO: Software version: 4.1.0
21-Sep-2022 11:34:11 (-0700) INFO: Started PID 20456
21-Sep-2022 11:34:11 (-0700) INFO: Namespace(capture=False, extcap_interfaces=False, extcap_interface='COM11-3.6', extcap_dlts=False, extcap_config=True, extcap_capture_filter=None, fifo=None, extcap_control_in=None, extcap_control_out=None, extcap_version=None, device='', baudrate=None, only_advertising=False, only_legacy_advertising=False, scan_follow_rsp=False, scan_follow_aux=False, coded=False)
21-Sep-2022 11:34:11 (-0700) INFO: main exit PID 20456
21-Sep-2022 11:34:11 (-0700) INFO: Exiting PID 20456
21-Sep-2022 11:34:12 (-0700) INFO: --------------------------------------------------------
21-Sep-2022 11:34:12 (-0700) INFO: Software version: 4.1.0
21-Sep-2022 11:34:12 (-0700) INFO: Started PID 20244
21-Sep-2022 11:34:12 (-0700) INFO: Namespace(capture=False, extcap_interfaces=False, extcap_interface='COM11-3.6', extcap_dlts=True, extcap_config=False, extcap_capture_filter=None, fifo=None, extcap_control_in=None, extcap_control_out=None, extcap_version=None, device='', baudrate=None, only_advertising=False, only_legacy_advertising=False, scan_follow_rsp=False, scan_follow_aux=False, coded=False)
21-Sep-2022 11:34:12 (-0700) INFO: main exit PID 20244
21-Sep-2022 11:34:12 (-0700) INFO: Exiting PID 20244
21-Sep-2022 11:34:14 (-0700) INFO: --------------------------------------------------------
21-Sep-2022 11:34:14 (-0700) INFO: Software version: 4.1.0
21-Sep-2022 11:34:14 (-0700) INFO: Started PID 18316
21-Sep-2022 11:34:14 (-0700) INFO: Namespace(capture=False, extcap_interfaces=False, extcap_interface='COM11-3.6', extcap_dlts=False, extcap_config=True, extcap_capture_filter=None, fifo=None, extcap_control_in=None, extcap_control_out=None, extcap_version=None, device='', baudrate=None, only_advertising=False, only_legacy_advertising=False, scan_follow_rsp=False, scan_follow_aux=False, coded=False)
21-Sep-2022 11:34:14 (-0700) INFO: main exit PID 18316
21-Sep-2022 11:34:14 (-0700) INFO: Exiting PID 18316
21-Sep-2022 11:34:14 (-0700) INFO: --------------------------------------------------------
21-Sep-2022 11:34:14 (-0700) INFO: Software version: 4.1.0
21-Sep-2022 11:34:14 (-0700) INFO: Started PID 776
21-Sep-2022 11:34:14 (-0700) INFO: Namespace(capture=False, extcap_interfaces=False, extcap_interface='COM11-3.6', extcap_dlts=False, extcap_config=True, extcap_capture_filter=None, fifo=None, extcap_control_in=None, extcap_control_out=None, extcap_version=None, device='', baudrate=None, only_advertising=False, only_legacy_advertising=False, scan_follow_rsp=False, scan_follow_aux=False, coded=False)
21-Sep-2022 11:34:14 (-0700) INFO: main exit PID 776
21-Sep-2022 11:34:14 (-0700) INFO: Exiting PID 776
21-Sep-2022 11:34:15 (-0700) INFO: --------------------------------------------------------
21-Sep-2022 11:34:15 (-0700) INFO: Software version: 4.1.0
21-Sep-2022 11:34:15 (-0700) INFO: Started PID 8876
21-Sep-2022 11:34:15 (-0700) INFO: Namespace(capture=True, extcap_interfaces=False, extcap_interface='COM11-3.6', extcap_dlts=False, extcap_config=False, extcap_capture_filter=None, fifo='\\\\.\\pipe\\wireshark_extcap_COM11-3.6_20220921113414', extcap_control_in='\\\\.\\pipe\\wireshark_control_ws_to_ext_COM11-3.6_20220921113414', extcap_control_out='\\\\.\\pipe\\wireshark_control_ext_to_ws_COM11-3.6_20220921113414', extcap_version=None, device='', baudrate=None, only_advertising=False, only_legacy_advertising=False, scan_follow_rsp=True, scan_follow_aux=True, coded=False)
21-Sep-2022 11:34:15 (-0700) INFO: sniffer capture
21-Sep-2022 11:34:15 (-0700) INFO: Log started at Wed Sep 21 11:34:15 2022
21-Sep-2022 11:34:15 (-0700) INFO: Extcap version 3.6
21-Sep-2022 11:34:15 (-0700) INFO: Opening serial port COM11
21-Sep-2022 11:34:15 (-0700) INFO: closing UART
21-Sep-2022 11:34:15 (-0700) INFO: Opening serial port COM11
21-Sep-2022 11:34:15 (-0700) INFO: closing UART
21-Sep-2022 11:34:15 (-0700) INFO: Tearing down
21-Sep-2022 11:34:15 (-0700) INFO: Traceback (most recent call last):
  File "C:\Users\pam\AppData\Roaming\Wireshark\extcap\nrf_sniffer_ble.py", line 613, in sniffer_capture
    baudrate = get_default_baudrate(interface, fifo)
  File "C:\Users\pam\AppData\Roaming\Wireshark\extcap\nrf_sniffer_ble.py", line 557, in get_default_baudrate
    error_interface_not_found(interface, fifo)
  File "C:\Users\pam\AppData\Roaming\Wireshark\extcap\nrf_sniffer_ble.py", line 544, in error_interface_not_found
    sys.exit(ERROR_INTERFACE)
SystemExit: 2

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\pam\AppData\Roaming\Wireshark\extcap\nrf_sniffer_ble.py", line 843, in <module>
    sniffer_capture(interface, args.baudrate, args.fifo, args.extcap_control_in, args.extcap_control_out)
  File "C:\Users\pam\AppData\Roaming\Wireshark\extcap\nrf_sniffer_ble.py", line 674, in sniffer_capture
    sniffer.doExit()
UnboundLocalError: local variable 'sniffer' referenced before assignment

21-Sep-2022 11:34:15 (-0700) INFO: internal error: UnboundLocalError("local variable 'sniffer' referenced before assignment")
21-Sep-2022 11:34:15 (-0700) INFO: Exiting PID 8876

6472.SuccessConnectionWireshark.pcapng

Hello,

Our production device is having issues with the BLE connection only identified with the Samsung S20+ model currently. We are using custom services for our phone App to communicate with our device. What is happening is that the connection is dropped quickly after the initial configuration handshaking occurs between the phone and our device. I observe the MTU exchange happening, but then the connection is dropped. 

Are there any known issues using the nRF52832 and the 1.9.1 BLE stack and specific Samsung phones?

Thanks for your help.

Parents Reply Children
  • Hi Pamela, 
    It's good that you managed to get the sniffer working. 
    Our team is looking at a solution to make it work on DK v3.0.0

    Regarding the issue you are having with Samsung S20+. From what I can see is that the MTU exchange was performed without any problem. The nRF52 requested and got the response. 

    However what I see is that the slave (nRF52) stopped responding after packet #7852. The master retried after that until timeout happened: 



    It's hard to tell what happened without any log from the nRF52. Could you check if there is any log on the nRF52 ? 

    It could be the issue either with the application or it could be the BLE stack that crashed. 


    It's why I was asking if you observe the same issue on the stock example in the SDK. Could you please try to reproduce the issue on one of the example ? If it doesn't happen you may want to add what you added to your application for example MTU exchange. 


    I have a Galaxy S10 and a Galaxy S22 here that can be used for testing. If you can provide any example to reproduce the issue it would be great. 

  • Hi Hung,

    It's tricky to get logs because we are using the nRF52832 and there is only one UART, which is being used elsewhere in our application. Basically I was never even to get the RTT terminal output to work consistently, so I didn't even consider adding the log complexity.

    I was able to repeat what I think is the same problem using the standard "peripheral_uart" sample application with a few changes. I added the following define to the prj.conf file:

    CONFIG_BT_GATT_CLIENT=y
    This is to allow for the call to "bt_gatt_exchange_mtu" which our application needs to force the usage of the larger MTU. The issue occurs when this call is done immediately from the connection callback. If I actually call a parameter update first from the connection callback, then wait to call the MTU exchange update from the parameter update callback, there is no issue.
    Attached is the updated main.c file I modified from the peripheral_update sample application.
    /*
     * Copyright (c) 2018 Nordic Semiconductor ASA
     *
     * SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
     */
    
    /** @file
     *  @brief Nordic UART Bridge Service (NUS) sample
     */
    #include "uart_async_adapter.h"
    
    #include <zephyr/types.h>
    #include <zephyr.h>
    #include <drivers/uart.h>
    #include <usb/usb_device.h>
    
    #include <device.h>
    #include <soc.h>
    
    #include <bluetooth/bluetooth.h>
    #include <bluetooth/uuid.h>
    #include <bluetooth/gatt.h>
    #include <bluetooth/hci.h>
    
    #include <bluetooth/services/nus.h>
    
    #include <dk_buttons_and_leds.h>
    
    #include <settings/settings.h>
    
    #include <stdio.h>
    
    #include <logging/log.h>
    
    #define LOG_MODULE_NAME peripheral_uart
    LOG_MODULE_REGISTER(LOG_MODULE_NAME);
    
    #define STACKSIZE CONFIG_BT_NUS_THREAD_STACK_SIZE
    #define PRIORITY 7
    
    #define DEVICE_NAME CONFIG_BT_DEVICE_NAME
    #define DEVICE_NAME_LEN	(sizeof(DEVICE_NAME) - 1)
    
    #define RUN_STATUS_LED DK_LED1
    #define RUN_LED_BLINK_INTERVAL 1000
    
    #define CON_STATUS_LED DK_LED2
    
    #define KEY_PASSKEY_ACCEPT DK_BTN1_MSK
    #define KEY_PASSKEY_REJECT DK_BTN2_MSK
    
    #define UART_BUF_SIZE CONFIG_BT_NUS_UART_BUFFER_SIZE
    #define UART_WAIT_FOR_BUF_DELAY K_MSEC(50)
    #define UART_WAIT_FOR_RX CONFIG_BT_NUS_UART_RX_WAIT_TIME
    
    static K_SEM_DEFINE(ble_init_ok, 0, 1);
    
    static struct bt_conn *current_conn;
    static struct bt_conn *auth_conn;
    
    static const struct device *uart;
    static struct k_work_delayable uart_work;
    
    static void exchange_mtu_callback(struct bt_conn *conn, uint8_t err, struct bt_gatt_exchange_params *params);
    static struct bt_gatt_exchange_params exchange_params = {
    	.func = exchange_mtu_callback
    };
    
    struct uart_data_t {
    	void *fifo_reserved;
    	uint8_t data[UART_BUF_SIZE];
    	uint16_t len;
    };
    
    static K_FIFO_DEFINE(fifo_uart_tx_data);
    static K_FIFO_DEFINE(fifo_uart_rx_data);
    
    static const struct bt_data ad[] = {
    	BT_DATA_BYTES(BT_DATA_FLAGS, (BT_LE_AD_GENERAL | BT_LE_AD_NO_BREDR)),
    	BT_DATA(BT_DATA_NAME_COMPLETE, DEVICE_NAME, DEVICE_NAME_LEN),
    };
    
    static const struct bt_data sd[] = {
    	BT_DATA_BYTES(BT_DATA_UUID128_ALL, BT_UUID_NUS_VAL),
    };
    
    #if CONFIG_BT_NUS_UART_ASYNC_ADAPTER
    UART_ASYNC_ADAPTER_INST_DEFINE(async_adapter);
    #else
    static const struct device *const async_adapter;
    #endif
    
    static void exchange_mtu_callback(struct bt_conn *conn, uint8_t err, struct bt_gatt_exchange_params *params)
    {
        if (!err) {
            printk("MTU exchange done");
        } else {
            printk("MTU exchange failed (err %" PRIu8 ")", err);
        }
    }
    
    static void uart_cb(const struct device *dev, struct uart_event *evt, void *user_data)
    {
    	ARG_UNUSED(dev);
    
    	static uint8_t *current_buf;
    	static size_t aborted_len;
    	static bool buf_release;
    	struct uart_data_t *buf;
    	static uint8_t *aborted_buf;
    
    	switch (evt->type) {
    	case UART_TX_DONE:
    		LOG_DBG("tx_done");
    		if ((evt->data.tx.len == 0) ||
    		    (!evt->data.tx.buf)) {
    			return;
    		}
    
    		if (aborted_buf) {
    			buf = CONTAINER_OF(aborted_buf, struct uart_data_t,
    					   data);
    			aborted_buf = NULL;
    			aborted_len = 0;
    		} else {
    			buf = CONTAINER_OF(evt->data.tx.buf, struct uart_data_t,
    					   data);
    		}
    
    		k_free(buf);
    
    		buf = k_fifo_get(&fifo_uart_tx_data, K_NO_WAIT);
    		if (!buf) {
    			return;
    		}
    
    		if (uart_tx(uart, buf->data, buf->len, SYS_FOREVER_MS)) {
    			LOG_WRN("Failed to send data over UART");
    		}
    
    		break;
    
    	case UART_RX_RDY:
    		LOG_DBG("rx_rdy");
    		buf = CONTAINER_OF(evt->data.rx.buf, struct uart_data_t, data);
    		buf->len += evt->data.rx.len;
    		buf_release = false;
    
    		if (buf->len == UART_BUF_SIZE) {
    			k_fifo_put(&fifo_uart_rx_data, buf);
    		} else if ((evt->data.rx.buf[buf->len - 1] == '\n') ||
    			  (evt->data.rx.buf[buf->len - 1] == '\r')) {
    			k_fifo_put(&fifo_uart_rx_data, buf);
    			current_buf = evt->data.rx.buf;
    			buf_release = true;
    			uart_rx_disable(uart);
    		}
    
    		break;
    
    	case UART_RX_DISABLED:
    		LOG_DBG("rx_disabled");
    		buf = k_malloc(sizeof(*buf));
    		if (buf) {
    			buf->len = 0;
    		} else {
    			LOG_WRN("Not able to allocate UART receive buffer");
    			k_work_reschedule(&uart_work, UART_WAIT_FOR_BUF_DELAY);
    			return;
    		}
    
    		uart_rx_enable(uart, buf->data, sizeof(buf->data),
    			       UART_WAIT_FOR_RX);
    
    		break;
    
    	case UART_RX_BUF_REQUEST:
    		LOG_DBG("rx_buf_request");
    		buf = k_malloc(sizeof(*buf));
    		if (buf) {
    			buf->len = 0;
    			uart_rx_buf_rsp(uart, buf->data, sizeof(buf->data));
    		} else {
    			LOG_WRN("Not able to allocate UART receive buffer");
    		}
    
    		break;
    
    	case UART_RX_BUF_RELEASED:
    		LOG_DBG("rx_buf_released");
    		buf = CONTAINER_OF(evt->data.rx_buf.buf, struct uart_data_t,
    				   data);
    		if (buf_release && (current_buf != evt->data.rx_buf.buf)) {
    			k_free(buf);
    			buf_release = false;
    			current_buf = NULL;
    		}
    
    		break;
    
    	case UART_TX_ABORTED:
    			LOG_DBG("tx_aborted");
    			if (!aborted_buf) {
    				aborted_buf = (uint8_t *)evt->data.tx.buf;
    			}
    
    			aborted_len += evt->data.tx.len;
    			buf = CONTAINER_OF(aborted_buf, struct uart_data_t,
    					   data);
    
    			uart_tx(uart, &buf->data[aborted_len],
    				buf->len - aborted_len, SYS_FOREVER_MS);
    
    		break;
    
    	default:
    		break;
    	}
    }
    
    static void uart_work_handler(struct k_work *item)
    {
    	struct uart_data_t *buf;
    
    	buf = k_malloc(sizeof(*buf));
    	if (buf) {
    		buf->len = 0;
    	} else {
    		LOG_WRN("Not able to allocate UART receive buffer");
    		k_work_reschedule(&uart_work, UART_WAIT_FOR_BUF_DELAY);
    		return;
    	}
    
    	uart_rx_enable(uart, buf->data, sizeof(buf->data), UART_WAIT_FOR_RX);
    }
    
    static bool uart_test_async_api(const struct device *dev)
    {
    	const struct uart_driver_api *api =
    			(const struct uart_driver_api *)dev->api;
    
    	return (api->callback_set != NULL);
    }
    
    static int uart_init(void)
    {
    	int err;
    	int pos;
    	struct uart_data_t *rx;
    	struct uart_data_t *tx;
    
    	uart = device_get_binding(CONFIG_BT_NUS_UART_DEV);
    	if (!uart) {
    		return -ENXIO;
    	}
    
    	if (IS_ENABLED(CONFIG_USB_DEVICE_STACK)) {
    		err = usb_enable(NULL);
    		if (err) {
    			LOG_ERR("Failed to enable USB");
    			return err;
    		}
    	}
    
    	rx = k_malloc(sizeof(*rx));
    	if (rx) {
    		rx->len = 0;
    	} else {
    		return -ENOMEM;
    	}
    
    	k_work_init_delayable(&uart_work, uart_work_handler);
    
    
    	if (IS_ENABLED(CONFIG_BT_NUS_UART_ASYNC_ADAPTER) && !uart_test_async_api(uart)) {
    		/* Implement API adapter */
    		uart_async_adapter_init(async_adapter, uart);
    		uart = async_adapter;
    	}
    
    	err = uart_callback_set(uart, uart_cb, NULL);
    	if (err) {
    		LOG_ERR("Cannot initialize UART callback");
    		return err;
    	}
    
    	if (IS_ENABLED(CONFIG_UART_LINE_CTRL)) {
    		LOG_INF("Wait for DTR");
    		while (true) {
    			uint32_t dtr = 0;
    
    			uart_line_ctrl_get(uart, UART_LINE_CTRL_DTR, &dtr);
    			if (dtr) {
    				break;
    			}
    			/* Give CPU resources to low priority threads. */
    			k_sleep(K_MSEC(100));
    		}
    		LOG_INF("DTR set");
    		err = uart_line_ctrl_set(uart, UART_LINE_CTRL_DCD, 1);
    		if (err) {
    			LOG_WRN("Failed to set DCD, ret code %d", err);
    		}
    		err = uart_line_ctrl_set(uart, UART_LINE_CTRL_DSR, 1);
    		if (err) {
    			LOG_WRN("Failed to set DSR, ret code %d", err);
    		}
    	}
    
    	tx = k_malloc(sizeof(*tx));
    
    	if (tx) {
    		pos = snprintf(tx->data, sizeof(tx->data),
    			       "Starting Nordic UART service example\r\n");
    
    		if ((pos < 0) || (pos >= sizeof(tx->data))) {
    			k_free(tx);
    			LOG_ERR("snprintf returned %d", pos);
    			return -ENOMEM;
    		}
    
    		tx->len = pos;
    	} else {
    		return -ENOMEM;
    	}
    
    	err = uart_tx(uart, tx->data, tx->len, SYS_FOREVER_MS);
    	if (err) {
    		LOG_ERR("Cannot display welcome message (err: %d)", err);
    		return err;
    	}
    
    	return uart_rx_enable(uart, rx->data, sizeof(rx->data), 50);
    }
    
    static void connected(struct bt_conn *conn, uint8_t err)
    {
    	char addr[BT_ADDR_LE_STR_LEN];
    
    	if (err) {
    		LOG_ERR("Connection failed (err %u)", err);
    		return;
    	}
    
    	bt_addr_le_to_str(bt_conn_get_dst(conn), addr, sizeof(addr));
    	LOG_INF("Connected %s", log_strdup(addr));
    
    	current_conn = bt_conn_ref(conn);
    
    	err = bt_gatt_exchange_mtu(conn, &exchange_params);
       	if (err) 
    	{
        	printk("MTU exchange failed (err %d)", err);
       	}
    	else
    	{
    		printk("MTU exchange request succeeded\n");
    	}
    	dk_set_led_on(CON_STATUS_LED);
    }
    
    static void disconnected(struct bt_conn *conn, uint8_t reason)
    {
    	char addr[BT_ADDR_LE_STR_LEN];
    
    	bt_addr_le_to_str(bt_conn_get_dst(conn), addr, sizeof(addr));
    
    	LOG_INF("Disconnected: %s (reason %u)", log_strdup(addr), reason);
    
    	if (auth_conn) {
    		bt_conn_unref(auth_conn);
    		auth_conn = NULL;
    	}
    
    	if (current_conn) {
    		bt_conn_unref(current_conn);
    		current_conn = NULL;
    		dk_set_led_off(CON_STATUS_LED);
    	}
    }
    
    #ifdef CONFIG_BT_NUS_SECURITY_ENABLED
    static void security_changed(struct bt_conn *conn, bt_security_t level,
    			     enum bt_security_err err)
    {
    	char addr[BT_ADDR_LE_STR_LEN];
    
    	bt_addr_le_to_str(bt_conn_get_dst(conn), addr, sizeof(addr));
    
    	if (!err) {
    		LOG_INF("Security changed: %s level %u", log_strdup(addr),
    			level);
    	} else {
    		LOG_WRN("Security failed: %s level %u err %d", log_strdup(addr),
    			level, err);
    	}
    }
    #endif
    
    BT_CONN_CB_DEFINE(conn_callbacks) = {
    	.connected    = connected,
    	.disconnected = disconnected,
    #ifdef CONFIG_BT_NUS_SECURITY_ENABLED
    	.security_changed = security_changed,
    #endif
    };
    
    #if defined(CONFIG_BT_NUS_SECURITY_ENABLED)
    static void auth_passkey_display(struct bt_conn *conn, unsigned int passkey)
    {
    	char addr[BT_ADDR_LE_STR_LEN];
    
    	bt_addr_le_to_str(bt_conn_get_dst(conn), addr, sizeof(addr));
    
    	LOG_INF("Passkey for %s: %06u", log_strdup(addr), passkey);
    }
    
    static void auth_passkey_confirm(struct bt_conn *conn, unsigned int passkey)
    {
    	char addr[BT_ADDR_LE_STR_LEN];
    
    	auth_conn = bt_conn_ref(conn);
    
    	bt_addr_le_to_str(bt_conn_get_dst(conn), addr, sizeof(addr));
    
    	LOG_INF("Passkey for %s: %06u", log_strdup(addr), passkey);
    	LOG_INF("Press Button 1 to confirm, Button 2 to reject.");
    }
    
    
    static void auth_cancel(struct bt_conn *conn)
    {
    	char addr[BT_ADDR_LE_STR_LEN];
    
    	bt_addr_le_to_str(bt_conn_get_dst(conn), addr, sizeof(addr));
    
    	LOG_INF("Pairing cancelled: %s", log_strdup(addr));
    }
    
    
    static void pairing_complete(struct bt_conn *conn, bool bonded)
    {
    	char addr[BT_ADDR_LE_STR_LEN];
    
    	bt_addr_le_to_str(bt_conn_get_dst(conn), addr, sizeof(addr));
    
    	LOG_INF("Pairing completed: %s, bonded: %d", log_strdup(addr),
    		bonded);
    }
    
    
    static void pairing_failed(struct bt_conn *conn, enum bt_security_err reason)
    {
    	char addr[BT_ADDR_LE_STR_LEN];
    
    	bt_addr_le_to_str(bt_conn_get_dst(conn), addr, sizeof(addr));
    
    	LOG_INF("Pairing failed conn: %s, reason %d", log_strdup(addr),
    		reason);
    }
    
    
    static struct bt_conn_auth_cb conn_auth_callbacks = {
    	.passkey_display = auth_passkey_display,
    	.passkey_confirm = auth_passkey_confirm,
    	.cancel = auth_cancel,
    	.pairing_complete = pairing_complete,
    	.pairing_failed = pairing_failed
    };
    #else
    static struct bt_conn_auth_cb conn_auth_callbacks;
    #endif
    
    static void bt_receive_cb(struct bt_conn *conn, const uint8_t *const data,
    			  uint16_t len)
    {
    	int err;
    	char addr[BT_ADDR_LE_STR_LEN] = {0};
    
    	bt_addr_le_to_str(bt_conn_get_dst(conn), addr, ARRAY_SIZE(addr));
    
    	LOG_INF("Received data from: %s", log_strdup(addr));
    
    	for (uint16_t pos = 0; pos != len;) {
    		struct uart_data_t *tx = k_malloc(sizeof(*tx));
    
    		if (!tx) {
    			LOG_WRN("Not able to allocate UART send data buffer");
    			return;
    		}
    
    		/* Keep the last byte of TX buffer for potential LF char. */
    		size_t tx_data_size = sizeof(tx->data) - 1;
    
    		if ((len - pos) > tx_data_size) {
    			tx->len = tx_data_size;
    		} else {
    			tx->len = (len - pos);
    		}
    
    		memcpy(tx->data, &data[pos], tx->len);
    
    		pos += tx->len;
    
    		/* Append the LF character when the CR character triggered
    		 * transmission from the peer.
    		 */
    		if ((pos == len) && (data[len - 1] == '\r')) {
    			tx->data[tx->len] = '\n';
    			tx->len++;
    		}
    
    		err = uart_tx(uart, tx->data, tx->len, SYS_FOREVER_MS);
    		if (err) {
    			k_fifo_put(&fifo_uart_tx_data, tx);
    		}
    	}
    }
    
    static struct bt_nus_cb nus_cb = {
    	.received = bt_receive_cb,
    };
    
    void error(void)
    {
    	dk_set_leds_state(DK_ALL_LEDS_MSK, DK_NO_LEDS_MSK);
    
    	while (true) {
    		/* Spin for ever */
    		k_sleep(K_MSEC(1000));
    	}
    }
    
    #ifdef CONFIG_BT_NUS_SECURITY_ENABLED
    static void num_comp_reply(bool accept)
    {
    	if (accept) {
    		bt_conn_auth_passkey_confirm(auth_conn);
    		LOG_INF("Numeric Match, conn %p", (void *)auth_conn);
    	} else {
    		bt_conn_auth_cancel(auth_conn);
    		LOG_INF("Numeric Reject, conn %p", (void *)auth_conn);
    	}
    
    	bt_conn_unref(auth_conn);
    	auth_conn = NULL;
    }
    
    void button_changed(uint32_t button_state, uint32_t has_changed)
    {
    	uint32_t buttons = button_state & has_changed;
    
    	if (auth_conn) {
    		if (buttons & KEY_PASSKEY_ACCEPT) {
    			num_comp_reply(true);
    		}
    
    		if (buttons & KEY_PASSKEY_REJECT) {
    			num_comp_reply(false);
    		}
    	}
    }
    #endif /* CONFIG_BT_NUS_SECURITY_ENABLED */
    
    static void configure_gpio(void)
    {
    	int err;
    
    #ifdef CONFIG_BT_NUS_SECURITY_ENABLED
    	err = dk_buttons_init(button_changed);
    	if (err) {
    		LOG_ERR("Cannot init buttons (err: %d)", err);
    	}
    #endif /* CONFIG_BT_NUS_SECURITY_ENABLED */
    
    	err = dk_leds_init();
    	if (err) {
    		LOG_ERR("Cannot init LEDs (err: %d)", err);
    	}
    }
    
    void main(void)
    {
    	int blink_status = 0;
    	int err = 0;
    
    	configure_gpio();
    
    	err = uart_init();
    	if (err) {
    		error();
    	}
    
    	if (IS_ENABLED(CONFIG_BT_NUS_SECURITY_ENABLED)) {
    		bt_conn_auth_cb_register(&conn_auth_callbacks);
    	}
    
    	err = bt_enable(NULL);
    	if (err) {
    		error();
    	}
    
    	LOG_INF("Bluetooth initialized");
    
    	k_sem_give(&ble_init_ok);
    
    	if (IS_ENABLED(CONFIG_SETTINGS)) {
    		settings_load();
    	}
    
    	err = bt_nus_init(&nus_cb);
    	if (err) {
    		LOG_ERR("Failed to initialize UART service (err: %d)", err);
    		return;
    	}
    
    	err = bt_le_adv_start(BT_LE_ADV_CONN, ad, ARRAY_SIZE(ad), sd,
    			      ARRAY_SIZE(sd));
    	if (err) {
    		LOG_ERR("Advertising failed to start (err %d)", err);
    		return;
    	}
    
    	for (;;) {
    		dk_set_led(RUN_STATUS_LED, (++blink_status) % 2);
    		k_sleep(K_MSEC(RUN_LED_BLINK_INTERVAL));
    	}
    }
    
    void ble_write_thread(void)
    {
    	/* Don't go any further until BLE is initialized */
    	k_sem_take(&ble_init_ok, K_FOREVER);
    
    	for (;;) {
    		/* Wait indefinitely for data to be sent over bluetooth */
    		struct uart_data_t *buf = k_fifo_get(&fifo_uart_rx_data,
    						     K_FOREVER);
    
    		if (bt_nus_send(NULL, buf->data, buf->len)) {
    			LOG_WRN("Failed to send data over BLE connection");
    		}
    
    		k_free(buf);
    	}
    }
    
    K_THREAD_DEFINE(ble_write_thread_id, STACKSIZE, ble_write_thread, NULL, NULL,
    		NULL, PRIORITY, 0, 0);
    
    Hopefully this will help find the issue, which I also believe is something in the stack. For now we have a workaround, and have only seen the problem on the Samsung S20+ and Samsung S10+ phones.
    Regards,
    Pam
  • Hi Pam, 

    It can be difficult to debug without a way to print out log. 

    If you test with the default peripheral_uart sample , do you get the RTT log ? 

    I have made a very similar sample with peripheral_uart (which I assume you based your application on) that also request MTU exchange when in connected callback , very close to what you have done in your application. Could you try to test with my sample ?  you can download it here at the end of section 2.2 :

     Building a Bluetooth application on nRF Connect SDK - Part 3 Optimizing the connection 

Related