Alan Rosenthal
c34c5fdf17
Fix small bug with services set via --device-config
...
before:
```
File "/home/alanrosenthal/code/fitbit/bumble/bumble/gatt.py", line 572, in __str__
f'Descriptor(handle=0x{self.handle:04X}, '
File "/home/alanrosenthal/code/fitbit/bumble/bumble/att.py", line 756, in read_value
self.permissions & self.READ_REQUIRES_ENCRYPTION
TypeError: unsupported operand type(s) for &: 'str' and 'int'
```
2023-03-14 18:16:46 -04:00
Gilles Boccon-Gibod
97a0e115ae
two small hotfixes
2023-03-05 20:24:16 -08:00
uael
d21da78aa3
overall: host a minimal copy of ainsicolors
2023-02-23 20:53:06 +00:00
uael
ad27de7717
device: remove "feature" which enable accept to return the same connection has connect
2023-02-14 21:04:39 +00:00
uael
b731f6f556
overall: add types hints to the small subset used by avatar
2023-02-02 19:37:55 +00:00
Gilles Boccon-Gibod
99758e4b7d
add basic support for mypy type checking
2023-01-20 00:20:50 -08:00
Gilles Boccon-Gibod
0a22f2f7c7
use HCI_LE_Rand
2023-01-13 16:59:34 -08:00
Gilles Boccon-Gibod
422b05ad51
don't set a random address when it is 00:00:00:00:00:00
2023-01-13 13:22:27 -08:00
Gilles Boccon-Gibod
7e854efbbb
support more commands in controller.py
2023-01-06 21:51:47 -08:00
Abel Lucas
ea0a7e2347
device: commit LE connection **before** reading it's PHY
2022-12-20 19:25:43 +00:00
Abel Lucas
ce049865a4
device: always prefer R2 for remote name request
2022-12-20 01:48:08 +00:00
Gilles Boccon-Gibod
c2959dadb4
formatting and linting automation
...
Squashed commits:
[cd479ba] formatting and linting automation
[7fbfabb] formatting and linting automation
[c4f9505] fix after rebase
[f506ad4] rename job
[441d517] update doc (+7 squashed commits)
[2e1b416] fix invoke and github action
[6ae5bb4] doc for git blame
[44b5461] add GitHub action
[b07474f] add docs
[4cd9a6f] more linter fixes
[db71901] wip
[540dc88] wip
2022-12-15 23:07:17 -08:00
Abel Lucas
f580ffcbc3
device: set as Secure Connection when encrypted with AES
2022-12-15 17:02:21 +00:00
Abel Lucas
5178c866ac
classic: add to .encrypt the possibilty to disable encryption
2022-12-15 17:02:21 +00:00
Abel Lucas
441933bd64
reverted: 662704e "classic: complete authentication when being the .authenticate acceptor"
2022-12-15 17:02:21 +00:00
Abel Lucas
287df94090
host: spawn each asynchronous task with the right aliveness
2022-12-15 17:02:21 +00:00
Gilles Boccon-Gibod
135df0dcc0
format with Black
2022-12-10 09:40:12 -08:00
Alan Rosenthal
a8eff737e6
Add Device::add_default_services()
...
This will allow a test to:
a: add services to a device
b: reset services via `Server()`
c: add the default services back
2022-12-01 17:02:54 +00:00
Abel Lucas
ab4859bd94
device: fix typos
2022-11-29 16:33:12 +00:00
Lucas Abel
0d70cbde64
Merge pull request #75 from google/uael/fixes
...
Pairing: device/host fixes & improvements
2022-11-28 21:42:43 -08:00
Abel Lucas
662704e551
classic: complete authentication when being the .authenticate acceptor
2022-11-29 00:28:39 +00:00
Abel Lucas
02a474c44e
smp: emit enough information on pairing complete to deduce security level
2022-11-29 00:28:38 +00:00
Abel Lucas
a1c7aec492
device: fix .find_connection_by_bd_addr
2022-11-29 00:28:38 +00:00
Abel Lucas
6112f00049
device: introduce BR/EDR pending connections
...
This commit enable the BR/EDR pairing to run asynchronously to
the connection being established.
When in security mode 3, a controller shall start authentication as
part of the connection, which result in HCI events being sent on a BD
address without a completed connection (ie. no connection handle).
2022-11-29 00:28:38 +00:00
Alan Rosenthal
f56ac14f2c
Add bumble-console --device-config support for gatt services
...
This PR adds support for bumble-console to be preloaded with gatt services via `--device-config`.
This PR also adds some type annotations
2022-11-28 14:11:27 -05:00
Abel Lucas
5f1d57fcb0
device: simplify and fixes remote name request
2022-11-22 21:20:56 +00:00
Michael Mogenson
27c46eef9d
Merge pull request #71 from mogenson/prefer-notify
...
Add prefer_notify option to gatt_client subscribe()
2022-11-13 19:53:09 -05:00
Michael Mogenson
c140876157
Add prefer_notify option to gatt_client subscribe()
...
If characteristic supports Notify and Indicate, the prefer_notify option
will subscribe with Notify if True or Indicate if False.
If characteristic only supports one property, Notify or Indicate, that
mode will be selected, regardless of the prefer_notify setting.
Tested with a characteristic that supports both Notify and Indicate and
verified that prefer_notify sets the desired mode.
2022-11-13 19:38:12 -05:00
Abel Lucas
b91d0e24c1
device: handle HCI passkey notification event
2022-11-11 18:43:35 +00:00
Abel Lucas
eb46f60c87
le: save own_address_type on ACL connection for SMP to be able to use the right self address
2022-11-10 02:06:37 +00:00
Abel Lucas
8bbba7c84c
pairing: always ask user for confirmation, even in JUST_WORKS method
2022-11-10 01:58:02 +00:00
Gilles Boccon-Gibod
0f219eff12
address PR comments
2022-11-09 13:18:30 -08:00
Gilles Boccon-Gibod
4a1345cf95
only force the type if the address is passed as a string
2022-11-08 19:10:13 -08:00
Gilles Boccon-Gibod
8a1cdef152
fix classic connection event filtering
2022-11-08 17:33:29 -08:00
Abel Lucas
af8e0d4dc7
le: pass own_address_type to BLE Device.connect
2022-11-08 18:22:54 +00:00
Gilles Boccon-Gibod
ce9004f0ac
Add L2CAP CoC support (squashed)
...
[85542e0] fix test
[3748781] add ASAH sink example
[e782e29] add app
[83daa30] wip
[7f138a0] add test
[f732108] allow different address syntax
[9d0bbf8] rename deprecated methods
[eb303d5] add LE CoC support
2022-11-07 16:45:37 -08:00
Abel Lucas
ca16410a6d
device: add option to check for the address type when using find_connection_by_bd_addr
2022-11-07 22:17:01 +00:00
Abel Lucas
b95888eb39
le: permit legacy scanning even when extended is supported
2022-11-07 22:15:54 +00:00
Abel Lucas
56ed46adfa
classic: add BR/EDR accept connection logic
2022-11-04 17:26:59 +00:00
Abel Lucas
7044102e05
classic: upgrade Device.cancel_connection logic to support canceling ongoing BR/EDR connections
2022-11-04 17:26:59 +00:00
Abel Lucas
ca8f284888
le: add own_address_type parameter to Device.start_advertising
2022-11-04 17:26:59 +00:00
Abel Lucas
e9e14f5183
le: make the device connecting state relative to LE only
...
We may need to add a distinct BR/EDR connecting state in the future.
2022-11-04 17:26:59 +00:00
Abel Lucas
b961affd3d
device: update Device.connect documentation to match BR/EDR behavior
2022-11-04 17:26:59 +00:00
Abel Lucas
51ddb36c91
device: add auto_restart mechanism to .start_discovery (default to True)
2022-11-04 17:26:59 +00:00
Abel Lucas
78534b659a
device: enhance .request_remote_name to also accept an Address as argument
2022-11-04 17:26:59 +00:00
Abel Lucas
ce9472bf42
core: change AdvertisingData.get default raw behavior to False
2022-11-04 17:26:59 +00:00
Gilles Boccon-Gibod
cf4c43c4ff
Merge pull request #48 from google/uael/classic-parallel-connect
...
classic: update `Device.connect` to allow parallels connection creation
2022-10-23 20:52:08 -07:00
Abel Lucas
16b4f18c92
tests: add parallel device connection test
2022-10-21 15:49:03 +00:00
Abel Lucas
4e2f66f709
device: raise a CommandTimeoutError error on command timeout
2022-10-20 22:11:07 +00:00
Abel Lucas
45dd849d9f
classic: update ConnectionError to take transport and peer address
2022-10-20 14:53:03 +00:00