Skip to content

Pico-W OSError: [Errno 114] EALREADY #13611

Closed
@redhead-p

Description

@redhead-p

MicroPython v1.22.1 on 2024-01-05; Raspberry Pi Pico W with RP2040

This error occurs as part of a BLE central implementation. I'm using the BLE class direct rather than the aioble library.

Following scanning and a successful _IRQ_PERIPHERAL_CONNECT event, service discovery is initiated. During service discovery the attribute tree is navigated recording service handles, characteristic handles and descriptor handles. This includes recording handles for the CCC descriptor for characteristics with Notify enabled (UUID = 0x2902). Following service discovery MTUs are exchanged. The CCC descriptors then have 1 written to them, to enable notifications to be reported by the server. The first of these generates an _IRQ_GATTC_WRITE_DONE with a result of 0 (OK). The second write causes the OSError 114.

This failure is specific to the Pico-W with the Infineon radio. The code works as expected without the OSError on both an ESP32 and an Arduino Nano RP2040 Connect (Nina W102 uBlox radio). I've also tried it with two different peripheral implementations - micropython on the RP2040 Connect and c++/ARM mbed Bluetooth library on an Arduino Nano BLE. The failure happens consistently with both peripheral implementations.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions