mirror of
https://github.com/google/bumble.git
synced 2026-05-20 05:58:01 +00:00
Deployed 7ae3a1d with MkDocs version: 1.3.1
This commit is contained in:
@@ -234,6 +234,34 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../development/contributing.html" class="md-nav__link">
|
||||
Contributing
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../development/code_style.html" class="md-nav__link">
|
||||
Code Style
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
</li>
|
||||
@@ -1222,21 +1250,22 @@
|
||||
<p>The Android emulator transport either connects, as a host, to a "Root Canal" virtual controller
|
||||
("host" mode), or attaches a virtual controller to the Android Bluetooth host stack ("controller" mode).</p>
|
||||
<h2 id="moniker">Moniker<a class="headerlink" href="#moniker" title="Permanent link">¶</a></h2>
|
||||
<p>The moniker syntax for an Android Emulator transport is: <code>android-emulator:[mode=<host|controller>][mode=<host|controller>]</code>.
|
||||
Both the <code>mode=<host|controller></code> and <code>mode=<host|controller></code> parameters are optional (so the moniker <code>android-emulator</code> by itself is a valid moniker, which will create a transport in <code>host</code> mode, connected to <code>localhost</code> on the default gRPC port for the emulator)</p>
|
||||
<p>The moniker syntax for an Android Emulator transport is: <code>android-emulator:[mode=<host|controller>][<hostname>:<port>]</code>, where
|
||||
the <code>mode</code> parameter can specify running as a host or a controller, and <code><hostname>:<port></code> can specify a host name (or IP address) and TCP port number on which to reach the gRPC server for the emulator.
|
||||
Both the <code>mode=<host|controller></code> and <code><hostname>:<port></code> parameters are optional (so the moniker <code>android-emulator</code> by itself is a valid moniker, which will create a transport in <code>host</code> mode, connected to <code>localhost</code> on the default gRPC port for the emulator).</p>
|
||||
<div class="admonition example example">
|
||||
<p class="admonition-title">Example</p>
|
||||
<p><code>android-emulator</code><br />
|
||||
<p><code>android-emulator</code>
|
||||
connect as a host to the emulator on localhost:8554</p>
|
||||
</div>
|
||||
<div class="admonition example example">
|
||||
<p class="admonition-title">Example</p>
|
||||
<p><code>android-emulator:mode=controller</code><br />
|
||||
<p><code>android-emulator:mode=controller</code>
|
||||
connect as a controller to the emulator on localhost:8554</p>
|
||||
</div>
|
||||
<div class="admonition example example">
|
||||
<p class="admonition-title">Example</p>
|
||||
<p><code>android-emulator:localhost:8555</code><br />
|
||||
<p><code>android-emulator:localhost:8555</code>
|
||||
connect as a host to the emulator on localhost:8555</p>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -234,6 +234,34 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../development/contributing.html" class="md-nav__link">
|
||||
Contributing
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../development/code_style.html" class="md-nav__link">
|
||||
Code Style
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
</li>
|
||||
@@ -1225,7 +1253,7 @@ This is typically used to open a PTY, or unix driver, not for real files.</p>
|
||||
<p>The moniker for a File transport is <code>file:<path></code></p>
|
||||
<div class="admonition example">
|
||||
<p class="admonition-title">Example</p>
|
||||
<p><code>file:/dev/ttys001</code><br />
|
||||
<p><code>file:/dev/ttys001</code>
|
||||
Opens the pseudo terminal <code>/dev/ttys001</code> as a transport</p>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -234,6 +234,34 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../development/contributing.html" class="md-nav__link">
|
||||
Contributing
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../development/code_style.html" class="md-nav__link">
|
||||
Code Style
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
</li>
|
||||
@@ -1228,7 +1256,7 @@
|
||||
<p>The moniker for an HCI Socket transport is either just <code>hci-socket</code> (to use the default/first Bluetooth controller), or <code>hci-socket:<index></code> where <code><index></code> is the 0-based index of a Bluetooth controller device.</p>
|
||||
<div class="admonition example">
|
||||
<p class="admonition-title">Example</p>
|
||||
<p><code>hci-socket</code><br />
|
||||
<p><code>hci-socket</code>
|
||||
Use an HCI socket to the first Bluetooth controller (<code>hci0 on Linux</code>)</p>
|
||||
</div>
|
||||
<div class="admonition tip">
|
||||
|
||||
@@ -234,6 +234,34 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../development/contributing.html" class="md-nav__link">
|
||||
Contributing
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../development/code_style.html" class="md-nav__link">
|
||||
Code Style
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
</li>
|
||||
|
||||
@@ -234,6 +234,34 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../development/contributing.html" class="md-nav__link">
|
||||
Contributing
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../development/code_style.html" class="md-nav__link">
|
||||
Code Style
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
</li>
|
||||
@@ -1225,7 +1253,7 @@
|
||||
Where <code>path</code>, is used, is the path name where a symbolic link to the PTY will be created for convenience (the link will be removed when the transport is closed or when the process exits).</p>
|
||||
<div class="admonition example">
|
||||
<p class="admonition-title">Example</p>
|
||||
<p><code>pty:virtual_hci</code><br />
|
||||
<p><code>pty:virtual_hci</code>
|
||||
Creates a PTY entry and a symbolic link, named <code>virtual_hci</code>, linking to the PTY</p>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -234,6 +234,34 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../development/contributing.html" class="md-nav__link">
|
||||
Contributing
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../development/code_style.html" class="md-nav__link">
|
||||
Code Style
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
</li>
|
||||
@@ -1225,7 +1253,7 @@
|
||||
When <code><speed></code> is omitted, the default value of 1000000 is used</p>
|
||||
<div class="admonition example">
|
||||
<p class="admonition-title">Example</p>
|
||||
<p><code>serial:/dev/tty.usbmodem0006839912172,1000000</code><br />
|
||||
<p><code>serial:/dev/tty.usbmodem0006839912172,1000000</code>
|
||||
Opens the serial port <code>/dev/tty.usbmodem0006839912172</code> at <code>1000000</code>bps</p>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -234,6 +234,34 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../development/contributing.html" class="md-nav__link">
|
||||
Contributing
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../development/code_style.html" class="md-nav__link">
|
||||
Code Style
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
</li>
|
||||
@@ -1224,7 +1252,7 @@
|
||||
<p>The moniker syntax for a TCP client transport is: <code>tcp-client:<remote-host>:<remote-port></code></p>
|
||||
<div class="admonition example">
|
||||
<p class="admonition-title">Example</p>
|
||||
<p><code>tcp-client:127.0.0.1:9001</code><br />
|
||||
<p><code>tcp-client:127.0.0.1:9001</code>
|
||||
Connects to port 9001 on the local host</p>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -234,6 +234,34 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../development/contributing.html" class="md-nav__link">
|
||||
Contributing
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../development/code_style.html" class="md-nav__link">
|
||||
Code Style
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
</li>
|
||||
@@ -1222,11 +1250,11 @@
|
||||
<p>The TCP Client transport uses an incoming TCP connection to a host:port address.</p>
|
||||
<h2 id="moniker">Moniker<a class="headerlink" href="#moniker" title="Permanent link">¶</a></h2>
|
||||
<p>The moniker syntax for a TCP server transport is: <code>tcp-server:<local-host>:<local-port></code>
|
||||
where <code><local-host></code> may be the address of a local network interface, or <code>_</code> to accept
|
||||
where <code><local-host></code> may be the address of a local network interface, or <code>_</code> to accept
|
||||
connections on all local network interfaces.</p>
|
||||
<div class="admonition example">
|
||||
<p class="admonition-title">Example</p>
|
||||
<p><code>tcp-server:_:9001</code><br />
|
||||
<p><code>tcp-server:_:9001</code>
|
||||
Waits for and accepts connections on port <code>9001</code></p>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -234,6 +234,34 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../development/contributing.html" class="md-nav__link">
|
||||
Contributing
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../development/code_style.html" class="md-nav__link">
|
||||
Code Style
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
</li>
|
||||
@@ -1224,7 +1252,7 @@
|
||||
<p>The moniker syntax for a UDP transport is: <code>udp:<local-host>:<local-port>,<remote-host>:<remote-port></code>.</p>
|
||||
<div class="admonition example">
|
||||
<p class="admonition-title">Example</p>
|
||||
<p><code>udp:0.0.0.0:9000,127.0.0.1:9001</code><br />
|
||||
<p><code>udp:0.0.0.0:9000,127.0.0.1:9001</code>
|
||||
UDP transport where packets are received on port <code>9000</code> and sent to <code>127.0.0.1</code> on port <code>9001</code></p>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -234,6 +234,34 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../development/contributing.html" class="md-nav__link">
|
||||
Contributing
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../development/code_style.html" class="md-nav__link">
|
||||
Code Style
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
</li>
|
||||
@@ -571,6 +599,13 @@
|
||||
Alternative
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#libusb" class="md-nav__link">
|
||||
Libusb
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
@@ -1263,6 +1298,13 @@
|
||||
Alternative
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#libusb" class="md-nav__link">
|
||||
Libusb
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
@@ -1345,9 +1387,9 @@ the first USB interface of the device will be used, regardless of the interface
|
||||
This may be useful for some devices that use a custom class/subclass but may nonetheless work as-is.</p>
|
||||
<div class="admonition examples">
|
||||
<p class="admonition-title">Examples</p>
|
||||
<p><code>usb:04b4:f901</code><br />
|
||||
<p><code>usb:04b4:f901</code>
|
||||
The USB dongle with <code><vendor></code> equal to <code>04b4</code> and <code><product></code> equal to <code>f901</code></p>
|
||||
<p><code>usb:0</code><br />
|
||||
<p><code>usb:0</code>
|
||||
The first Bluetooth HCI dongle that's declared as such by Class/Subclass/Protocol</p>
|
||||
<p><code>usb:04b4:f901/0016A45B05D8</code>
|
||||
The USB dongle with <code><vendor></code> equal to <code>04b4</code>, <code><product></code> equal to <code>f901</code> and <code><serial></code> equal to <code>0016A45B05D8</code></p>
|
||||
@@ -1359,6 +1401,9 @@ The BT USB dongle vendor=0B05 and product=17CB, in "forced" mode.</p>
|
||||
<h2 id="alternative">Alternative<a class="headerlink" href="#alternative" title="Permanent link">¶</a></h2>
|
||||
<p>The library includes two different implementations of the USB transport, implemented using different python bindings for <code>libusb</code>.
|
||||
Using the transport prefix <code>pyusb:</code> instead of <code>usb:</code> selects the implementation based on <a href="https://pypi.org/project/pyusb/">PyUSB</a>, using the synchronous API of <code>libusb</code>, whereas the default implementation is based on <a href="https://pypi.org/project/libusb1/">libusb1</a>, using the asynchronous API of <code>libusb</code>. In order to use the alternative PyUSB-based implementation, you need to ensure that you have installed that python module, as it isn't installed by default as a dependency of Bumble.</p>
|
||||
<h2 id="libusb">Libusb<a class="headerlink" href="#libusb" title="Permanent link">¶</a></h2>
|
||||
<p>The <code>libusb-1.0</code> shared library is required to use both <code>usb</code> and <code>pyusb</code> transports. This library should be installed automatically with Bumble, as part of the <code>libusb_package</code> Python package.
|
||||
If your OS or architecture is not supported by <code>libusb_package</code>, you can install a system-wide library with <code>brew install libusb</code> for Mac or <code>apt install libusb-1.0-0</code> for Linux.</p>
|
||||
<h2 id="listing-available-usb-devices">Listing Available USB Devices<a class="headerlink" href="#listing-available-usb-devices" title="Permanent link">¶</a></h2>
|
||||
<h3 id="with-usb_probe">With <code>usb_probe</code><a class="headerlink" href="#with-usb_probe" title="Permanent link">¶</a></h3>
|
||||
<p>You can use the <a href="../apps_and_tools/usb_probe.html"><code>usb_probe</code></a> tool to list all the USB devices attached to your host computer.
|
||||
|
||||
@@ -234,6 +234,34 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../development/contributing.html" class="md-nav__link">
|
||||
Contributing
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../development/code_style.html" class="md-nav__link">
|
||||
Code Style
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
</li>
|
||||
@@ -1228,7 +1256,7 @@
|
||||
<p>The moniker for a VHCI transport is either just <code>vhci</code> (to use the default VHCI device path at <code>/dev/vhci</code>), or <code>vhci:<path></code> where <code><path></code> is the path of a VHCI device.</p>
|
||||
<div class="admonition example">
|
||||
<p class="admonition-title">Example</p>
|
||||
<p><code>vhci</code><br />
|
||||
<p><code>vhci</code>
|
||||
Attaches a virtual controller transport to <code>/dev/vhci</code></p>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -234,6 +234,34 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../development/contributing.html" class="md-nav__link">
|
||||
Contributing
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../development/code_style.html" class="md-nav__link">
|
||||
Code Style
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
</li>
|
||||
@@ -1224,7 +1252,7 @@
|
||||
<p>The moniker syntax for a UDP transport is: <code>udp:<local-host>:<local-port>,<remote-host>:<remote-port></code>.</p>
|
||||
<div class="admonition example">
|
||||
<p class="admonition-title">Example</p>
|
||||
<p><code>udp:0.0.0.0:9000,127.0.0.1:9001</code><br />
|
||||
<p><code>udp:0.0.0.0:9000,127.0.0.1:9001</code>
|
||||
UDP transport where packets are received on port <code>9000</code> and sent to <code>127.0.0.1</code> on port <code>9001</code></p>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -234,6 +234,34 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../development/contributing.html" class="md-nav__link">
|
||||
Contributing
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../development/code_style.html" class="md-nav__link">
|
||||
Code Style
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
</li>
|
||||
@@ -1224,7 +1252,7 @@
|
||||
<p>The moniker syntax for a UDP transport is: <code>udp:<local-host>:<local-port>,<remote-host>:<remote-port></code>.</p>
|
||||
<div class="admonition example">
|
||||
<p class="admonition-title">Example</p>
|
||||
<p><code>udp:0.0.0.0:9000,127.0.0.1:9001</code><br />
|
||||
<p><code>udp:0.0.0.0:9000,127.0.0.1:9001</code>
|
||||
UDP transport where packets are received on port <code>9000</code> and sent to <code>127.0.0.1</code> on port <code>9001</code></p>
|
||||
</div>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user