microsoft / microsoft/WSL

Regression: BLE bonded reconnect fails with org.bluez.Error.Failed: le-connection-abort-by-local in newer WSL versions

Open
#40,928 3 comments 0 reactions 1 assignee View on GitHub

@chessturo is already working on this.

Since Jun 26, 2026.

emailed-logs kernel
Dominant language
C++
Stars
33.7k
Forks
1.8k
Avg merge
3d 17h
Merged PRs (30d)
116

Description

### Windows Version

Microsoft Windows 11 Business Version 10.0.26200 Build 26200

### WSL Version

2.7.8

### Are you using WSL 1 or WSL 2?

- [x] WSL 2
- [ ] WSL 1

### Kernel Version

6.18.33.1-1

### Distro Version

Ubuntu 24.04

### Other Software

BlueZ 5.72
Although my application is written in Python 3.12.3 using the Bleak library, the issue is not specific to Bleak.

The same behavior can be reproduced using the standard BlueZ tools alone:

Pair the device using bluetoothctl.
Disconnect.
Attempt to reconnect using bluetoothctl connect .

The reconnect fails with:

org.bluez.Error.Failed: le-connection-abort-by-local

### Repro Steps

Intel Bluetooth controller (HCI 5.4)
BLE peripheral: nRF52840 running Zephyr (any bonded BLE peripheral should exhibit the same behavior if affected)

Start with no existing bond on either the Linux host or the BLE peripheral.
Scan for the peripheral using bluetoothctl.

Pair and trust the device:

pair
trust
connect
Verify that pairing and the initial connection succeed.
Disconnect from the peripheral.
Attempt to reconnect to the already bonded peripheral using either:
bluetoothctl connect , or
a Bleak application using BleakClient.connect().
Observe that the reconnect fails.

### Expected Behavior

The bonded peripheral reconnects successfully.

### Actual Behavior

The reconnect fails with:

org.bluez.Error.Failed: le-connection-abort-by-local

btmon reports:

MGMT Event: Connect Failed
Status: Disconnected (0x0e)

dmesg reports:

Bluetooth: hci0: Invalid exception type 03
Bluetooth: hci0: Invalid exception type 04

The peripheral never receives a BLE connection callback, indicating that the connection is aborted before a link is established.

Regression

The exact same hardware, firmware, BlueZ version, and Python application work correctly after downgrading WSL to version 2.7.3.0 with wsl kernel version 6.6.114.1-microsoft-standard-WSL2. No changes were made to:

BLE peripheral firmware
BlueZ version
Python version
Bleak version
Bluetooth adapter

The only change was the WSL version.

### Diagnostic Logs

_No response_

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.