Hi Luiz, On Thu, 25 Jan 2024 at 03:54, Luiz Augusto von Dentz <luiz.dentz@xxxxxxxxx> wrote: > > Hi Emil, > > > I'm sort of surprised by this, we do only use the PHYs listed as > supported by the controller, so is there a bug or is this really a way > to disable PHYs that the controllers report as supported but in > reality don't really work properly? In case of the latter I think we > would be better off having a quirk added in the kernel so it can be > marked to the controllers we know misbehaves rather than limiting all > controllers to 1M PHY by default. > Using pristine bluez, bluetoothctl/mgmt/phy lists (omitting the slot phys): Supported phys: LE1MTX LE1MRX LE2MTX LE2MRX LECODEDTX LECODEDRX Configurable phys: LE2MTX LE2MRX LECODEDTX LECODEDRX Selected phys: LE1MTX LE1MRX With this patch + the LE/SupportedPHY config set to "LE1MTX LE1MRX LE2MTX LE2MRX LECODEDTX LECODEDRX", as per the original patch we get. Note: I've intentionally dropped the override for submission, happy to bring it back if you prefer. Supported phys: LE1MTX LE1MRX LE2MTX LE2MRX LECODEDTX LECODEDRX Configurable phys: LE2MTX LE2MRX LECODEDTX LECODEDRX Selected phys: LE1MTX LE1MRX LE2MTX LE2MRX LECODEDTX LECODEDRX Note: I've intentionally dropped the override for upstreaming, happy to bring it back if you prefer. So from what I can tell, the controller reports that all (as far as we're concerned) PHYs are supported. Yet the selected and configurable PHYs are mutually exclusive, which doesn't quite compute here. Mind you, my bluetooth knowledge is a bit limited - I'm just going by the code. What would you say is the best way to move forward with this? It doesn't seem like a kernel quirk is needed IMHO. Generally, if you feel that a different name and/or semantics for the toggle would help, I'm all ears. Thanks in advance, Emil