Hi Alexander, On Mon, Aug 5, 2024 at 9:04 AM Luiz Augusto von Dentz <luiz.dentz@xxxxxxxxx> wrote: > > Hi Alexander, > > On Mon, Aug 5, 2024 at 8:31 AM Alexander Ganslandt > <Alexander.Ganslandt@xxxxxxxx> wrote: > > > > Hello! > > > > I found a previous discussion about this here: https://lore.kernel.org/all/59CDEBDF.3090200@xxxxxxxx/t/, but there was no conclusion. Now I'm having the same issue 7 years later :) > > > > I'm trying to pass BT SIG tests but fail on two test cases: GATT/SR/GAR/BI-34-C and GATT/SR/GAR/BI-35-C. To my understanding, in order to pass these tests, you need to register a GATT characteristic that is readable only through LE or BR/EDR, but not both at the same time. However, when I register a service+characteristic through bluetoothctl, it is automatically registered for both LE and BR/EDR. To verify this, I use gatttool with and without "-p 31" to connect over BR/EDR and LE respectively, and the characteristic shows up in both. Based on the previous discussion, and based on reading the BlueZ API, there doesn't seem to be a way to only support ONE transport for a characteristic? Is this conclusion correct? > > You can detect what bearer it is connected via: > > bluez/doc/org.bluez.GattCharacteristic.rst at master · bluez/bluez · GitHub > > Looks like we are missing one of the options is link which can be > either LE or BR/EDR: > > bluez/src/gatt-database.c at master · bluez/bluez · GitHub Here is the commit that added support for it which specifically targets BI-34-C: gatt: Add implementation of link option · bluez/bluez@e577e47 · GitHub > > If so, how can one pass these BT SIG tests? In the previous thread I linked, the "solution" seemed to be to write an application that simply rejects the read request for a certain transport, but this seems like more of a hack than a solution to me. Is there any other solution? > > > > Very thankful for any thoughts! > > > > Best regards, > > Alexander > > > > -- > Luiz Augusto von Dentz -- Luiz Augusto von Dentz