This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

nrf_sniffer_ble.sh return OSError: [Errno 22] Invalid argument

Hello,

I follow the doc to install the nrf_sniffer_for_bluetooth_le_4.1.0

- Flashing the nRF52840 dongle with nRF Connect for Desktop 

Uploading image through SDFU: 97%

Uploading image through SDFU: 98%

Uploading image through SDFU: 100%

All dfu images have been written to the target device

Failed to write: Timeout while waiting for device xxx to be attached and enumerated

Is this error OK ?

Downloading nrf_sniffer_for_bluetooth_le_4.1.0

- Update all python softwares

and run 

nrf_sniffer_ble.sh --extcap-interfaces

It crash 

extcap {version=4.1.0}{display=nRF Sniffer for Bluetooth LE}{help=www.nordicsemi.com/.../nRF-Sniffer-for-Bluetooth-LE}

Traceback (most recent call last):

  File "./nrf_sniffer_ble.py", line 818, in <module>

    extcap_interfaces()

  File "./nrf_sniffer_ble.py", line 170, in extcap_interfaces

    for interface_port in get_interfaces():

  File "./nrf_sniffer_ble.py", line 160, in get_interfaces

    devices = UART.find_sniffer()

  File "nrf_sniffer_for_bluetooth_le_4.1.0/extcap/SnifferAPI/UART.py", line 68, in find_sniffer

    reader = Packet.PacketReader(portnum=port, baudrate=rate)

  File "nrf_sniffer_for_bluetooth_le_4.1.0/extcap/SnifferAPI/Packet.py", line 74, in __init__

    self.uart = UART.Uart(portnum, baudrate)

  File "nrf_sniffer_for_bluetooth_le_4.1.0/extcap/SnifferAPI/UART.py", line 130, in __init__

    self.ser.baudrate = baudrate

  File "Library/Python/3.8/lib/python/site-packages/serial/serialutil.py", line 299, in baudrate

    self._reconfigure_port()

  File "Library/Python/3.8/lib/python/site-packages/serial/serialposix.py", line 524, in _reconfigure_port

    self._set_special_baudrate(custom_baud)

  File "Library/Python/3.8/lib/python/site-packages/serial/serialposix.py", line 225, in _set_special_baudrate    fcntl.ioctl(self.fd, IOSSIOSPEED, buf, 1)

OSError: [Errno 22] Invalid argument

macOS 12.1, python 3.8

Parents Reply
  • I did not manage to replicate this here on a macbook air (not M1) running Monterey, so I'm not sure if it's related to the OS version. Do you have multiple python installations on your new mac? Either way, please try the following:

    1. Install pyserial dependency using Python that is distributed with OS: $ /usr/bin/python3 pip install --user  -r requirements

    2. run sciprt with the same interpreter: /usr/bin/python3 nrf_ble_sniffer.py --extcap-interfaces

Children
Related