Room Assistant Error: ENODEV, No such device

Hey all. I have set up room assistant on a separate pi, no issues. I am trying to use the add on from the add on store and I can get it to accept BTClassic, but not BLE. I know for a fact that I have an adapter that supports ble, I just bought the ASUS 500 today.
Running on Win10 and Virtualbox with OS setup from image.
Virtualbox has the adapter enabled (obviously, it reads classic.)
Logs below.

[s6-init] making user provided files available at /var/run/s6/etc...exited 0.
[s6-init] ensuring user provided files have correct perms...exited 0.
[fix-attrs.d] applying ownership & permissions fixes...
[fix-attrs.d] done.
[cont-init.d] executing container initialization scripts...
[cont-init.d] done.
[services.d] starting services
[services.d] done.
[13:09:36] INFO: Setting up Home Assistant configuration
[13:09:36] INFO: Copying room-assistant configuration from /config/room_assistant
[13:09:36] INFO: Starting room-assistant
*** WARNING *** The program 'node' uses the Apple Bonjour compatibility layer of Avahi.
*** WARNING *** Please fix your application to use the native API of Avahi!
*** WARNING *** For more information see <http://0pointer.de/blog/projects/avahi-compat.html>
*** WARNING *** The program 'node' called 'DNSServiceRegister()' which is not supported (or only supported partially) in the Apple Bonjour compatibility layer of Avahi.
*** WARNING *** Please fix your application to use the native API of Avahi!
*** WARNING *** For more information see <http://0pointer.de/blog/projects/avahi-compat.html>
7/7/2022, 1:09:40 PM - info - IntegrationsModule: Loading integrations: home-assistant, bluetooth-classic, bluetooth-low-energy
7/7/2022, 1:09:41 PM - info - NestFactory: Starting Nest application...
7/7/2022, 1:09:42 PM - info - InstanceLoader: AppModule dependencies initialized
7/7/2022, 1:09:42 PM - info - InstanceLoader: ConfigModule dependencies initialized
7/7/2022, 1:09:42 PM - info - InstanceLoader: NestEmitterModule dependencies initialized
7/7/2022, 1:09:42 PM - info - InstanceLoader: IntegrationsModule dependencies initialized
7/7/2022, 1:09:42 PM - info - InstanceLoader: DiscoveryModule dependencies initialized
7/7/2022, 1:09:42 PM - info - InstanceLoader: PrometheusModule dependencies initialized
7/7/2022, 1:09:42 PM - info - InstanceLoader: EventsModule dependencies initialized
7/7/2022, 1:09:42 PM - info - InstanceLoader: TerminusModule dependencies initialized
7/7/2022, 1:09:42 PM - info - InstanceLoader: ClusterModule dependencies initialized
7/7/2022, 1:09:42 PM - info - InstanceLoader: ScheduleModule dependencies initialized
7/7/2022, 1:09:42 PM - info - InstanceLoader: BluetoothModule dependencies initialized
7/7/2022, 1:09:42 PM - info - InstanceLoader: EntitiesModule dependencies initialized
7/7/2022, 1:09:42 PM - info - InstanceLoader: BluetoothLowEnergyModule dependencies initialized
7/7/2022, 1:09:42 PM - info - InstanceLoader: BluetoothClassicModule dependencies initialized
7/7/2022, 1:09:42 PM - info - InstanceLoader: HomeAssistantModule dependencies initialized
7/7/2022, 1:09:42 PM - info - InstanceLoader: StatusModule dependencies initialized
7/7/2022, 1:09:43 PM - info - WebSocketsController: EventsGateway subscribed to the "subscribeEvents" message
7/7/2022, 1:09:43 PM - info - RoutesResolver: EntitiesController {/entities}:
7/7/2022, 1:09:43 PM - info - RouterExplorer: Mapped {/entities, GET} route
7/7/2022, 1:09:43 PM - info - RoutesResolver: StatusController {/status}:
7/7/2022, 1:09:43 PM - info - RouterExplorer: Mapped {/status, GET} route
7/7/2022, 1:09:43 PM - info - RoutesResolver: PrometheusController {/metrics}:
7/7/2022, 1:09:43 PM - info - RouterExplorer: Mapped {/metrics, GET} route
7/7/2022, 1:09:43 PM - info - ConfigService: Loading configuration from /usr/lib/node_modules/room-assistant/dist/config/definitions/default.js, config/default.json, config/local.yml, /usr/lib/node_modules/room-assistant/dist/config/definitions/custom-environment-variables.yml (Current: /room-assistant)
7/7/2022, 1:09:44 PM - info - ClusterService: bedroom has been elected as leader
7/7/2022, 1:09:44 PM - info - HomeAssistantService: Successfully connected to MQTT broker at mqtt://core-mosquitto:1883
7/7/2022, 1:09:44 PM - error - ClusterService: Failed to start mdns discovery (dns service error: unknown)
/usr/lib/node_modules/room-assistant/node_modules/@mkerix/noble/lib/hci-socket/hci.js:121
        throw e;
        ^
Error: ENODEV, No such device
    at Hci.init (/usr/lib/node_modules/room-assistant/node_modules/@mkerix/noble/lib/hci-socket/hci.js:116:37)
    at NobleBindings.init (/usr/lib/node_modules/room-assistant/node_modules/@mkerix/noble/lib/hci-socket/bindings.js:111:13)
    at /usr/lib/node_modules/room-assistant/node_modules/@mkerix/noble/lib/noble.js:60:24
    at processTicksAndRejections (internal/process/task_queues.js:77:11) {
  errno: 19,
  code: 'ENODEV',
  syscall: 'bind'
}
[cmd] /room-assistant/entrypoint.sh exited 1
[cont-finish.d] executing container finish scripts...
[cont-finish.d] done.
[s6-finish] waiting for services.
[s6-finish] sending all processes the TERM signal.

Error: ENODEV, No such device would indicate that I do not have the device installed, or I am using the wrong HCI. I’ve tried 0 and 1, I even tried 2.

What are my options for HCI or how to find it on OS? I don’t want to switch back to Supervisor. I just want Room Assistant to recognize the BLE signals.

I’ve found that sometimes a USB device shows as ticked in VirtualBox, but if you show the VM, it is un-ticked in the menu there. I think this sometimes happens if the host machine grabs the device first.

You can also check the hardware in HA under “Settings > System > Hardware > kebab menu > All hardware” to check it can see it.

It is definitely connected as it reads the Bluetooth Classic setup no problem, only when BLE is active in the config that I get this error. Thank you for showing me how to see all hardware, I was unaware of how to do that. Can I used this info to get the HCI Device ID?

BUSNUM: '001'
DEVNAME: /dev/bus/usb/001/001
DEVNUM: '001'
DEVPATH: /devices/pci0000:00/0000:00:06.0/usb1
DEVTYPE: usb_device
DRIVER: usb
ID_BUS: usb
ID_FOR_SEAT: usb-pci-0000_00_06_0
ID_MODEL: OHCI_PCI_host_controller
ID_MODEL_ENC: OHCI\x20PCI\x20host\x20controller
ID_MODEL_ID: '0001'
ID_PATH: pci-0000:00:06.0
ID_PATH_TAG: pci-0000_00_06_0
ID_REVISION: '0515'
ID_SERIAL: Linux_5.15.45_ohci_hcd_OHCI_PCI_host_controller_0000:00:06.0
ID_SERIAL_SHORT: '0000:00:06.0'
ID_USB_INTERFACES: ':090000:'
ID_VENDOR: Linux_5.15.45_ohci_hcd
ID_VENDOR_ENC: Linux\x205.15.45\x20ohci_hcd
ID_VENDOR_ID: 1d6b
MAJOR: '189'
MINOR: '0'
PRODUCT: 1d6b/1/515
SUBSYSTEM: usb
TAGS: ':seat:'
TYPE: 9/0/0
USEC_INITIALIZED: '7870233'

Room-Assistant config:

# You don't need to add the MQTT details for Home Assistant with the add-on installation, it will be auto-discovered!
global:
  instanceName: Bedroom
  integrations:
    - homeAssistant
    - bluetoothClassic
    - bluetoothLowEnergy
bluetoothClassic:
  hciDeviceId: 0
  interval: 20
  timeoutCycles: 2.5
  addresses:
    - 'xx:xx:xx:xx:xx:xx' #profold bt classic
    - 'xx:xx:xx:xx:xx:xx' #prowatch bt classic
  entityOverrides:
    'xx:xx:xx:xx:xx:xx':
        id: profoldxx
        name: ProfoldXX
    'xx:xx:xx:xx:xx:xx':
        id: prowatchxx
        name: ProwatchXX
bluetoothLowEnergy:
  hciDeviceId: 0
  allowlist:
    - my-uuid-for-phone ##Profold XQ ble
    - my-uuid-for-watch ##Prowatch XQ ble
    - my-uuid-for-ellies-collar ##Ellie Tile XQ ble
  maxDistance: 7
  tagOverrides:
    my-uuid-for-phone:
      name: Profold XQ
    my-uuid-for-watch:
      name: Prowatch XQ
    my-uuid-for-ellies-collar:
      name: Ellie Tile XQ

Same config works perfectly fine on the Pi with BLE build in.

Ah yes, I wasn’t thinking - if classic is working the VM must be able to see it.