diff --git a/bumble/l2cap.py b/bumble/l2cap.py index fdd76fc5..f82a31a2 100644 --- a/bumble/l2cap.py +++ b/bumble/l2cap.py @@ -1521,6 +1521,9 @@ class ChannelManager: def next_identifier(self, connection: Connection) -> int: identifier = (self.identifiers.setdefault(connection.handle, 0) + 1) % 256 + # 0x00 is an invalid ID (BT Core Spec, Vol 3, Part A, Sect 4 + if identifier == 0: + identifier = 1 self.identifiers[connection.handle] = identifier return identifier