From cbe9446dcf3fc78086b694418af5998d8ec7a28d Mon Sep 17 00:00:00 2001 From: Gilles Boccon-Gibod Date: Tue, 12 Mar 2024 09:54:20 -0700 Subject: [PATCH 1/2] fix intel driver probe --- bumble/drivers/intel.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/bumble/drivers/intel.py b/bumble/drivers/intel.py index 1ef6105..c65d528 100644 --- a/bumble/drivers/intel.py +++ b/bumble/drivers/intel.py @@ -53,8 +53,12 @@ class Driver(common.Driver): self.host = host @classmethod - async def for_host(cls, host, force=False): # type: ignore - return cls(host) + async def for_host(cls, host): # type: ignore + # Only instantiate this driver if explicitly selected + if host.hci_metadata.get("driver") == "intel": + return cls(host) + + return None async def init_controller(self): self.host.ready = True From 7507be1eabf4a78282e37034d62500c7550e407d Mon Sep 17 00:00:00 2001 From: Gilles Boccon-Gibod Date: Tue, 12 Mar 2024 11:50:47 -0700 Subject: [PATCH 2/2] update metadata when setting the host controller directly --- bumble/host.py | 2 +- docs/mkdocs/src/drivers/index.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/bumble/host.py b/bumble/host.py index ab0df66..fd0a247 100644 --- a/bumble/host.py +++ b/bumble/host.py @@ -498,7 +498,7 @@ class Host(AbortableEventEmitter): def controller(self, controller) -> None: self.set_packet_sink(controller) if controller: - controller.set_packet_sink(self) + self.set_packet_source(controller) def set_packet_sink(self, sink: Optional[TransportSink]) -> None: self.hci_sink = sink diff --git a/docs/mkdocs/src/drivers/index.md b/docs/mkdocs/src/drivers/index.md index cb0a981..aa5f0a1 100644 --- a/docs/mkdocs/src/drivers/index.md +++ b/docs/mkdocs/src/drivers/index.md @@ -10,7 +10,7 @@ used with particular HCI controller. When the transport for an HCI controller is instantiated from a transport name, a driver may also be forced by specifying ``driver=`` in the optional metadata portion of the transport name. For example, -``usb:[driver=-rtk]0`` indicates that the ``rtk`` driver should be used with the +``usb:[driver=rtk]0`` indicates that the ``rtk`` driver should be used with the first USB device, even if a normal probe would not have selected it based on the USB vendor ID and product ID.