Error with ASUS USB-BT500 bluetooth controller and Home Assistant 2025.9

Hello all,
I have an issue with the bluetooth adapter connected to my Home Assistant server since version 2025.9.
My bluetooth adapter (ASUS USB-BT500) gives these messages in home-assistant.log (docker container) over and over.

2025-09-05 17:32:43.635 WARNING (MainThread) [bluetooth_auto_recovery.recover] Could not reset the power state of the Bluetooth adapter hci0 [08:BF:B8:53:92:73] (0) due to timeout after 5 seconds
2025-09-05 17:32:43.640 WARNING (MainThread) [bluetooth_auto_recovery.recover] Could not cycle the Bluetooth adapter hci0 [08:BF:B8:53:92:73] (0): [Errno 1] Operation not permitted
2025-09-05 17:32:43.642 WARNING (MainThread) [bluetooth_auto_recovery.recover] Bluetooth management socket connection lost: [Errno 22] Invalid argument
2025-09-05 17:32:48.642 WARNING (MainThread) [bluetooth_auto_recovery.recover] Could not reset the power state of the Bluetooth adapter hci0 [08:BF:B8:53:92:73] (0) due to timeout after 5 seconds
2025-09-05 17:32:48.649 WARNING (MainThread) [bluetooth_auto_recovery.recover] Closing Bluetooth adapter hci0 [08:BF:B8:53:92:73] failed: [Errno 9] Bad file descriptor

The adapter is working in the Home Assistant server OS (Debian 12) and in my Windows 10 PC.

I’m sure the adapter worked with 2025.8 version.
Any idea?
Thanks

Enabling debug for bluetooth integration, I can see this in the log:

2025-09-05 18:29:03.760 DEBUG (MainThread) [habluetooth.base_scanner] hci0 (08:BF:B8:53:92:73): Scanner watchdog time_since_last_detection: 30.004899978637695
2025-09-05 18:29:33.762 DEBUG (MainThread) [habluetooth.base_scanner] hci0 (08:BF:B8:53:92:73): Scanner watchdog time_since_last_detection: 60.00578689575195
2025-09-05 18:30:03.764 DEBUG (MainThread) [habluetooth.base_scanner] hci0 (08:BF:B8:53:92:73): Scanner watchdog time_since_last_detection: 90.00666046142578
2025-09-05 18:30:03.765 DEBUG (MainThread) [habluetooth.scanner] hci0 (08:BF:B8:53:92:73): Bluetooth scanner has gone quiet for 90.00666046142578s, restarting
2025-09-05 18:30:03.765 DEBUG (MainThread) [habluetooth.scanner] hci0 (08:BF:B8:53:92:73): Stopping bluetooth discovery
2025-09-05 18:30:03.786 DEBUG (MainThread) [habluetooth.scanner] hci0 (08:BF:B8:53:92:73): adapter stopped responding; executing reset
2025-09-05 18:30:03.900 DEBUG (MainThread) [bluetooth_auto_recovery.recover] Attempting to recover bluetooth adapter hci0 with mac address 08:BF:B8:53:92:73 (gone_silent=True)
2025-09-05 18:30:03.900 DEBUG (MainThread) [bluetooth_auto_recovery.recover] Attempting to power cycle bluetooth adapter hci0 [08:BF:B8:53:92:73]
2025-09-05 18:30:03.906 DEBUG (MainThread) [bluetooth_auto_recovery.recover] Found adapters from hci: {0: {'dev_id': 0, 'name': 'hci0', 'bdaddr': '08:BF:B8:53:92:73', 'flags': 5, 'type': 1, 'features': <ifaddr._shared.c_ubyte_Array_8 object at 0x7f4af97f9750>, 'pkt_type': 52472, 'link_policy': 15, 'link_mode': 32768, 'acl_mtu': 1021, 'acl_pkts': 6, 'sco_mtu': 255, 'sco_pkts': 12, 'stat': <bluetooth_adapters.systems.linux_hci.hci_dev_stats object at 0x7f4af97f9250>}}
2025-09-05 18:30:03.907 DEBUG (MainThread) [bluetooth_auto_recovery.recover] Found adapter 08:BF:B8:53:92:73 by mac in hci device as 0
2025-09-05 18:30:03.907 DEBUG (MainThread) [bluetooth_auto_recovery.recover] _get_adapter: hci0 [08:BF:B8:53:92:73] (hci_name=hci0) (mac=08:BF:B8:53:92:73) (idx=0)
2025-09-05 18:30:03.910 DEBUG (SyncWorker_3) [bluetooth_auto_recovery.recover] rfkill at /dev/rfkill is not accessible, cannot check bluetooth adapter hci0 [08:BF:B8:53:92:73] (0): [Errno 2] No such file or directory: '/dev/rfkill'
2025-09-05 18:30:03.912 DEBUG (MainThread) [bluetooth_auto_recovery.recover] Could not determine rfkill_idx of hci0 [08:BF:B8:53:92:73] (0): RFKillInfo(soft_block=None, hard_block=None, idx=None)
2025-09-05 18:30:03.913 DEBUG (MainThread) [bluetooth_auto_recovery.recover] Attempting to power cycle bluetooth adapter hci0 [08:BF:B8:53:92:73] (0)
2025-09-05 18:30:03.913 DEBUG (MainThread) [btsocket.btmgmt_protocol] Encoding cmd_code as type CmdCode
2025-09-05 18:30:03.914 DEBUG (MainThread) [btsocket.btmgmt_protocol] Encoding controller_idx as type Controller
2025-09-05 18:30:03.915 DEBUG (MainThread) [btsocket.btmgmt_protocol] Encoding param_len as type ParamLen
2025-09-05 18:30:03.933 DEBUG (MainThread) [btsocket.btmgmt_protocol] Decoding event_code as type EvtCode
2025-09-05 18:30:03.934 DEBUG (MainThread) [btsocket.btmgmt_protocol] Decoding controller_idx as type Controller
2025-09-05 18:30:03.935 DEBUG (MainThread) [btsocket.btmgmt_protocol] Decoding param_len as type ParamLen
2025-09-05 18:30:03.935 DEBUG (MainThread) [btsocket.btmgmt_protocol] Decoding command_opcode as type CmdCode
2025-09-05 18:30:03.936 DEBUG (MainThread) [btsocket.btmgmt_protocol] Decoding status as type Status
2025-09-05 18:30:03.936 DEBUG (MainThread) [btsocket.btmgmt_protocol] Decoding address as type Address
2025-09-05 18:30:03.937 DEBUG (MainThread) [btsocket.btmgmt_protocol] Decoding bluetooth_version as type IntUL
2025-09-05 18:30:03.937 DEBUG (MainThread) [btsocket.btmgmt_protocol] Decoding manufacturer as type IntUL
2025-09-05 18:30:03.937 DEBUG (MainThread) [btsocket.btmgmt_protocol] Decoding supported_settings as type IntUL
2025-09-05 18:30:03.938 DEBUG (MainThread) [btsocket.btmgmt_protocol] Decoding current_settings as type CurrentSettings
2025-09-05 18:30:03.938 DEBUG (MainThread) [btsocket.btmgmt_protocol] Decoding class_of_device as type IntUL
2025-09-05 18:30:03.939 DEBUG (MainThread) [btsocket.btmgmt_protocol] Decoding name as type Name
2025-09-05 18:30:03.939 DEBUG (MainThread) [btsocket.btmgmt_protocol] Decoding short_name as type IntUL
2025-09-05 18:30:03.939 DEBUG (MainThread) [btsocket.btmgmt_protocol] Socket Read: <event_code=CommandCompleteEvent, controller_idx=0, param_len=283> <command_opcode=ReadControllerInformation, status=Success> <address=08:BF:B8:53:92:73, bluetooth_version=10, manufacturer=93, supported_settings=245759, current_settings={Powered: True, Connectable: False, FastConnectable: False, Discoverable: False, Bondable: False, LinkLevelSecurity: False, SecureSimplePairing: True, BREDR: True, HighSpeed: False, LowEnergy: True, Advertising: False, SecureConnections: True, DebugKeys: False, Privacy: False, ControllerConfiguration: False, StaticAddress: False, PHYConfiguration: False, WidebandSpeech: False}, class_of_device=260, name=b'lmhome', short_name=0>
2025-09-05 18:30:03.940 DEBUG (MainThread) [bluetooth_auto_recovery.recover] Current power state of bluetooth adapter is ON.
2025-09-05 18:30:03.941 DEBUG (MainThread) [btsocket.btmgmt_protocol] Encoding powered as type IntUL
2025-09-05 18:30:03.941 DEBUG (MainThread) [btsocket.btmgmt_protocol] Encoding cmd_code as type CmdCode
2025-09-05 18:30:03.941 DEBUG (MainThread) [btsocket.btmgmt_protocol] Encoding controller_idx as type Controller
2025-09-05 18:30:03.942 DEBUG (MainThread) [btsocket.btmgmt_protocol] Encoding param_len as type ParamLen
2025-09-05 18:30:03.943 DEBUG (MainThread) [btsocket.btmgmt_protocol] Decoding event_code as type EvtCode
2025-09-05 18:30:03.944 DEBUG (MainThread) [btsocket.btmgmt_protocol] Decoding controller_idx as type Controller
2025-09-05 18:30:03.944 DEBUG (MainThread) [btsocket.btmgmt_protocol] Decoding param_len as type ParamLen
2025-09-05 18:30:03.944 DEBUG (MainThread) [btsocket.btmgmt_protocol] Decoding command_opcode as type CmdCode
2025-09-05 18:30:03.945 DEBUG (MainThread) [btsocket.btmgmt_protocol] Decoding status as type Status
2025-09-05 18:30:03.945 DEBUG (MainThread) [btsocket.btmgmt_protocol] Socket read <event_code=CommandStatusEvent, controller_idx=0, param_len=3> <command_opcode=SetPowered, status=PermissionDenied>
2025-09-05 18:30:03.950 DEBUG (MainThread) [btsocket.btmgmt_protocol] Decoding event_code as type EvtCode
2025-09-05 18:30:03.951 DEBUG (MainThread) [btsocket.btmgmt_protocol] Decoding controller_idx as type Controller
2025-09-05 18:30:03.952 DEBUG (MainThread) [btsocket.btmgmt_protocol] Decoding param_len as type ParamLen
2025-09-05 18:30:03.953 DEBUG (MainThread) [btsocket.btmgmt_protocol] Decoding command_opcode as type CmdCode
2025-09-05 18:30:03.955 DEBUG (MainThread) [btsocket.btmgmt_protocol] Decoding status as type Status
2025-09-05 18:30:03.956 DEBUG (MainThread) [btsocket.btmgmt_protocol] Socket read <event_code=CommandStatusEvent, controller_idx=0, param_len=3> <command_opcode=SetPowered, status=PermissionDenied>
2025-09-05 18:30:03.958 DEBUG (MainThread) [btsocket.btmgmt_protocol] Decoding event_code as type EvtCode
2025-09-05 18:30:03.959 DEBUG (MainThread) [btsocket.btmgmt_protocol] Decoding controller_idx as type Controller
2025-09-05 18:30:03.959 DEBUG (MainThread) [btsocket.btmgmt_protocol] Decoding param_len as type ParamLen
2025-09-05 18:30:03.960 DEBUG (MainThread) [btsocket.btmgmt_protocol] Decoding command_opcode as type CmdCode
2025-09-05 18:30:03.961 DEBUG (MainThread) [btsocket.btmgmt_protocol] Decoding status as type Status
2025-09-05 18:30:03.963 DEBUG (MainThread) [btsocket.btmgmt_protocol] Socket read <event_code=CommandStatusEvent, controller_idx=0, param_len=3> <command_opcode=SetPowered, status=PermissionDenied>
2025-09-05 18:30:03.966 DEBUG (MainThread) [btsocket.btmgmt_protocol] Decoding event_code as type EvtCode
2025-09-05 18:30:03.967 DEBUG (MainThread) [btsocket.btmgmt_protocol] Decoding controller_idx as type Controller
2025-09-05 18:30:03.967 DEBUG (MainThread) [btsocket.btmgmt_protocol] Decoding param_len as type ParamLen
2025-09-05 18:30:03.968 DEBUG (MainThread) [btsocket.btmgmt_protocol] Decoding command_opcode as type CmdCode
2025-09-05 18:30:03.968 DEBUG (MainThread) [btsocket.btmgmt_protocol] Decoding status as type Status
2025-09-05 18:30:03.969 DEBUG (MainThread) [btsocket.btmgmt_protocol] Socket read <event_code=CommandStatusEvent, controller_idx=0, param_len=3> <command_opcode=SetPowered, status=PermissionDenied>
2025-09-05 18:30:03.970 DEBUG (MainThread) [btsocket.btmgmt_protocol] Decoding event_code as type EvtCode
2025-09-05 18:30:03.971 DEBUG (MainThread) [btsocket.btmgmt_protocol] Decoding controller_idx as type Controller
2025-09-05 18:30:03.971 DEBUG (MainThread) [btsocket.btmgmt_protocol] Decoding param_len as type ParamLen
2025-09-05 18:30:03.972 DEBUG (MainThread) [btsocket.btmgmt_protocol] Decoding command_opcode as type CmdCode
2025-09-05 18:30:03.972 DEBUG (MainThread) [btsocket.btmgmt_protocol] Decoding status as type Status
2025-09-05 18:30:03.972 DEBUG (MainThread) [btsocket.btmgmt_protocol] Socket read <event_code=CommandStatusEvent, controller_idx=0, param_len=3> <command_opcode=SetPowered, status=PermissionDenied>
2025-09-05 18:30:03.976 DEBUG (MainThread) [btsocket.btmgmt_protocol] Decoding event_code as type EvtCode
2025-09-05 18:30:03.977 DEBUG (MainThread) [btsocket.btmgmt_protocol] Decoding controller_idx as type Controller
2025-09-05 18:30:03.977 DEBUG (MainThread) [btsocket.btmgmt_protocol] Decoding param_len as type ParamLen
2025-09-05 18:30:03.977 DEBUG (MainThread) [btsocket.btmgmt_protocol] Decoding command_opcode as type CmdCode
2025-09-05 18:30:03.978 DEBUG (MainThread) [btsocket.btmgmt_protocol] Decoding status as type Status
2025-09-05 18:30:03.978 DEBUG (MainThread) [btsocket.btmgmt_protocol] Socket read <event_code=CommandStatusEvent, controller_idx=0, param_len=3> <command_opcode=SetPowered, status=PermissionDenied>
[...]
2025-09-05 18:30:08.952 DEBUG (MainThread) [btsocket.btmgmt_protocol] Decoding event_code as type EvtCode
2025-09-05 18:30:08.953 DEBUG (MainThread) [btsocket.btmgmt_protocol] Decoding controller_idx as type Controller
2025-09-05 18:30:08.953 DEBUG (MainThread) [btsocket.btmgmt_protocol] Decoding param_len as type ParamLen
2025-09-05 18:30:08.954 DEBUG (MainThread) [btsocket.btmgmt_protocol] Decoding command_opcode as type CmdCode
2025-09-05 18:30:08.954 DEBUG (MainThread) [btsocket.btmgmt_protocol] Decoding status as type Status
2025-09-05 18:30:08.954 DEBUG (MainThread) [btsocket.btmgmt_protocol] Socket read <event_code=CommandStatusEvent, controller_idx=0, param_len=3> <command_opcode=SetPowered, status=PermissionDenied>
2025-09-05 18:30:08.956 WARNING (MainThread) [bluetooth_auto_recovery.recover] Could not reset the power state of the Bluetooth adapter hci0 [08:BF:B8:53:92:73] (0) due to timeout after 5 seconds
2025-09-05 18:30:08.972 DEBUG (MainThread) [bluetooth_auto_recovery.recover] Bouncing Bluetooth adapter hci0
2025-09-05 18:30:08.972 DEBUG (MainThread) [bluetooth_auto_recovery.recover] Setting hci0 down
2025-09-05 18:30:08.976 WARNING (MainThread) [bluetooth_auto_recovery.recover] Could not cycle the Bluetooth adapter hci0 [08:BF:B8:53:92:73] (0): [Errno 1] Operation not permitted
2025-09-05 18:30:08.977 DEBUG (MainThread) [btsocket.btmgmt_protocol] Encoding powered as type IntUL
2025-09-05 18:30:08.978 DEBUG (MainThread) [btsocket.btmgmt_protocol] Encoding cmd_code as type CmdCode
2025-09-05 18:30:08.978 DEBUG (MainThread) [btsocket.btmgmt_protocol] Encoding controller_idx as type Controller
2025-09-05 18:30:08.979 DEBUG (MainThread) [btsocket.btmgmt_protocol] Encoding param_len as type ParamLen
2025-09-05 18:30:08.979 DEBUG (MainThread) [btsocket.btmgmt_protocol] Decoding event_code as type EvtCode
2025-09-05 18:30:08.980 DEBUG (MainThread) [btsocket.btmgmt_protocol] Decoding controller_idx as type Controller
2025-09-05 18:30:08.980 DEBUG (MainThread) [btsocket.btmgmt_protocol] Decoding param_len as type ParamLen
2025-09-05 18:30:08.981 DEBUG (MainThread) [btsocket.btmgmt_protocol] Decoding command_opcode as type CmdCode
2025-09-05 18:30:08.981 DEBUG (MainThread) [btsocket.btmgmt_protocol] Decoding status as type Status
2025-09-05 18:30:08.981 DEBUG (MainThread) [btsocket.btmgmt_protocol] Socket read <event_code=CommandStatusEvent, controller_idx=0, param_len=3> <command_opcode=SetPowered, status=PermissionDenied>
2025-09-05 18:30:08.988 WARNING (MainThread) [bluetooth_auto_recovery.recover] Bluetooth management socket connection lost: [Errno 22] Invalid argument
2025-09-05 18:30:13.981 WARNING (MainThread) [bluetooth_auto_recovery.recover] Could not reset the power state of the Bluetooth adapter hci0 [08:BF:B8:53:92:73] (0) due to timeout after 5 seconds
2025-09-05 18:30:13.982 DEBUG (MainThread) [bluetooth_auto_recovery.recover] Executing USB reset for Bluetooth adapter hci0
2025-09-05 18:30:13.990 DEBUG (MainThread) [bluetooth_auto_recovery.recover] hci0 not found while attempting USB reset: [Errno 2] No such file or directory: '/dev/bus/usb/002/002'
2025-09-05 18:30:13.991 WARNING (MainThread) [bluetooth_auto_recovery.recover] Closing Bluetooth adapter hci0 [08:BF:B8:53:92:73] failed: [Errno 9] Bad file descriptor
2025-09-05 18:30:13.991 DEBUG (MainThread) [habluetooth.scanner] hci0 (08:BF:B8:53:92:73): adapter reset result: False
2025-09-05 18:30:13.992 DEBUG (MainThread) [habluetooth.scanner] Initializing bluetooth scanner with {'scanning_mode': 'active', 'adapter': 'hci0'}
2025-09-05 18:30:13.992 DEBUG (MainThread) [habluetooth.scanner] hci0 (08:BF:B8:53:92:73): Force stopping bluetooth discovery
2025-09-05 18:30:13.993 DEBUG (MainThread) [habluetooth.scanner] hci0 (08:BF:B8:53:92:73): Starting bluetooth discovery attempt: (1/4)
2025-09-05 18:30:14.009 DEBUG (MainThread) [habluetooth.scanner] hci0 (08:BF:B8:53:92:73): Success while starting bluetooth; attempt: (1/4)
2025-09-05 18:30:14.010 DEBUG (MainThread) [bleak_retry_connector] Restored 3 discoveries for hci0

in the cut out part (the ellipsis) the same rows just repeat again and again.

Is it a bug of the newer version?

Are you using a USB hub on the affected setup compared to the others? it could be the hub in question or the usb port itself that is causing the issue on the affected setup.

Same problem with 2025.9, HA container with archlinux docker host, system is updated to latest. Restarting bluetooth.service and reboot did not work.

Rolled back HA to 2025.8 and no issue.

bluetooth/wifi module is Mediatek RZ616, builtin with minisforum ms-01.

Bus 003 Device 005: ID 0e8d:c616 MediaTek Inc. Wireless_Device

log snippet

homeassistant  | 2025-09-06T12:23:39.627606382Z 2025-09-06 20:23:39.625 WARNING (MainThread) [bluetooth_auto_recovery.recover] Could not reset the power state of the Bluetooth adapter hci0 [D0:12:55:2C:19:2F] (0) due to timeout after 5 seconds
homeassistant  | 2025-09-06T12:23:39.632923502Z 2025-09-06 20:23:39.631 WARNING (MainThread) [bluetooth_auto_recovery.recover] Closing Bluetooth adapter hci0 [D0:12:55:2C:19:2F] failed: [Errno 9] Bad file descriptor
homeassistant  | 2025-09-06T12:25:34.632254546Z 2025-09-06 20:25:34.630 WARNING (MainThread) [bluetooth_auto_recovery.recover] Could not reset the power state of the Bluetooth adapter hci0 [D0:12:55:2C:19:2F] (0) due to timeout after 5 seconds
homeassistant  | 2025-09-06T12:25:34.632551839Z 2025-09-06 20:25:34.632 WARNING (MainThread) [bluetooth_auto_recovery.recover] Could not cycle the Bluetooth adapter hci0 [D0:12:55:2C:19:2F] (0): [Errno 1] Operation not permitted
homeassistant  | 2025-09-06T12:25:34.632667248Z 2025-09-06 20:25:34.632 WARNING (MainThread) [bluetooth_auto_recovery.recover] Bluetooth management socket connection lost: [Errno 22] Invalid argument
homeassistant  | 2025-09-06T12:25:39.634552650Z 2025-09-06 20:25:39.633 WARNING (MainThread) [bluetooth_auto_recovery.recover] Could not reset the power state of the Bluetooth adapter hci0 [D0:12:55:2C:19:2F] (0) due to timeout after 5 seconds
homeassistant  | 2025-09-06T12:25:39.637791789Z 2025-09-06 20:25:39.636 WARNING (MainThread) [bluetooth_auto_recovery.recover] Closing Bluetooth adapter hci0 [D0:12:55:2C:19:2F] failed: [Errno 9] Bad file descriptor
homeassistant  | 2025-09-06T12:27:34.628524170Z 2025-09-06 20:27:34.628 WARNING (MainThread) [bluetooth_auto_recovery.recover] Could not reset the power state of the Bluetooth adapter hci0 [D0:12:55:2C:19:2F] (0) due to timeout after 5 seconds
homeassistant  | 2025-09-06T12:27:34.630521250Z 2025-09-06 20:27:34.630 WARNING (MainThread) [bluetooth_auto_recovery.recover] Could not cycle the Bluetooth adapter hci0 [D0:12:55:2C:19:2F] (0): [Errno 1] Operation not permitted
homeassistant  | 2025-09-06T12:27:34.630689629Z 2025-09-06 20:27:34.630 WARNING (MainThread) [bluetooth_auto_recovery.recover] Bluetooth management socket connection lost: [Errno 22] Invalid argument
homeassistant  | 2025-09-06T12:27:39.635150792Z 2025-09-06 20:27:39.633 WARNING (MainThread) [bluetooth_auto_recovery.recover] Could not reset the power state of the Bluetooth adapter hci0 [D0:12:55:2C:19:2F] (0) due to timeout after 5 seconds
homeassistant  | 2025-09-06T12:27:39.640032732Z 2025-09-06 20:27:39.638 WARNING (MainThread) [bluetooth_auto_recovery.recover] Closing Bluetooth adapter hci0 [D0:12:55:2C:19:2F] failed: [Errno 9] Bad file descriptor
homeassistant  | 2025-09-06T12:29:34.641466092Z 2025-09-06 20:29:34.636 WARNING (MainThread) [bluetooth_auto_recovery.recover] Could not reset the power state of the Bluetooth adapter hci0 [D0:12:55:2C:19:2F] (0) due to timeout after 5 seconds
homeassistant  | 2025-09-06T12:29:34.641949452Z 2025-09-06 20:29:34.641 WARNING (MainThread) [bluetooth_auto_recovery.recover] Could not cycle the Bluetooth adapter hci0 [D0:12:55:2C:19:2F] (0): [Errno 1] Operation not permitted
homeassistant  | 2025-09-06T12:29:34.642125341Z 2025-09-06 20:29:34.641 WARNING (MainThread) [bluetooth_auto_recovery.recover] Bluetooth management socket connection lost: [Errno 22] Invalid argument
homeassistant  | 2025-09-06T12:29:39.643664695Z 2025-09-06 20:29:39.642 WARNING (MainThread) [bluetooth_auto_recovery.recover] Could not reset the power state of the Bluetooth adapter hci0 [D0:12:55:2C:19:2F] (0) due to timeout after 5 seconds
homeassistant  | 2025-09-06T12:29:39.647065369Z 2025-09-06 20:29:39.645 WARNING (MainThread) [bluetooth_auto_recovery.recover] Closing Bluetooth adapter hci0 [D0:12:55:2C:19:2F] failed: [Errno 9] Bad file descriptor

HA 2025.8 docker-compose.yml that had bluetooth working

services:
  homeassistant:
    container_name: homeassistant
    image: "ghcr.io/home-assistant/home-assistant:2025.8"
    volumes:
      - ./config:/config
      - ./shared:/shared
      - /etc/localtime:/etc/localtime:ro
      - /run/dbus:/run/dbus:ro
    restart: always
    network_mode: host

I think I’m filing a bug in the Core Issue tracker

edit: done

Turned out I was missing two capabilities
NET_ADMIN
NET_RAW
in my docker container,
I needed to add the capabilities as for this comment: