@@ -135,13 +135,20 @@ Complete the following steps:
135
135
136
136
1. Reboot your Raspberry Pi after installing `pi-bluetooth`.
137
137
138
- #### Enable experimental Bluetooth support in BlueZ
138
+ #### Enable experimental Bluetooth support and disable battery plugin in BlueZ
139
139
140
140
The Matter application on Linux uses BlueZ to communicate with the Bluetooth
141
141
controller. The BlueZ version that comes with Ubuntu 22.04 does not support all
142
142
the features required by the Matter application by default. To enable these
143
143
features, you need to enable experimental Bluetooth support in BlueZ.
144
144
145
+ Also disable the battery plugin from BlueZ, because iOS devices advertises a
146
+ battery service via BLE, which requires pairing if accessed. BlueZ includes a
147
+ battery plugin by default which tries to connect to the battery service. The
148
+ authentication fails, because in this case no BLE pairing has been done. If the
149
+ BlueZ battery plugin is not disabled, the BLE connection will be terminated
150
+ during the Matter commissioning process.
151
+
145
152
1. Edit the `bluetooth.service` unit by running the following command:
146
153
147
154
```sh
@@ -153,7 +160,7 @@ features, you need to enable experimental Bluetooth support in BlueZ.
153
160
```ini
154
161
[Service]
155
162
ExecStart=
156
- ExecStart=/usr/lib/bluetooth/bluetoothd -E
163
+ ExecStart=/usr/lib/bluetooth/bluetoothd -E -P battery
157
164
```
158
165
159
166
1. Restart the Bluetooth service by running the following command:
@@ -199,22 +206,27 @@ permanently, you need to make the following changes:
199
206
200
207
## Installing ZAP tool
201
208
202
- `bootstrap.sh` will download a compatible ZAP tool version and set it up in
203
- `$PATH`. If you want to install or use a different version of the tool, you may
204
- download one from the ZAP project's
205
- [Releases](https://github.com/project-chip/zap/releases) page.
209
+ For platforms defined in [`scripts/setup/zap.json`](/scripts/setup/zap.json),
210
+ `bootstrap.sh` will download a compatible ZAP tool version from CIPD and set it
211
+ up in `$PATH`.
212
+
213
+ ZAP releases are copied to CIPD by an automated bot. You can check if a release
214
+ was copied by looking at tags created for
215
+ [ZAP CIPD Packages](https://chrome-infra-packages.appspot.com/p/fuchsia/third_party/zap)
216
+ in various platforms.
206
217
207
- ### Linux ARM
218
+ ### Custom ZAP
208
219
209
- Zap does not provide binary releases for arm. Rosetta solves this for Darwin,
210
- however for linux arm you will have to use a local ZAP, generally through
211
- setting `$ZAP_DEVELOPMENT_PATH` (see the section `Which zap to use` below) .
220
+ If you want to install or use a different version of the tool, you may download
221
+ one from the [ ZAP releases](https://github.com/project-chip/zap/releases) or
222
+ build it from source .
212
223
213
224
The file `scripts/setup/zap.json` contains the version that CIPD would download,
214
- so you can download a compatible version from the zap project
215
- [Releases](https://github.com/project-chip/zap/releases). To checkout as source
216
- code the corresponding tag should exist in the zap
217
- [repository tags](https://github.com/project-chip/zap/tags) list.
225
+ so you can refer to it to find a compatible version. The version is also
226
+ maintained at [`scripts/setup/zap.version`](/scripts/setup/zap.version).
227
+
228
+ To check out as source code, the corresponding tag should exist in the
229
+ [ZAP repository tags](https://github.com/project-chip/zap/tags) list.
218
230
219
231
Example commands:
220
232
0 commit comments