2023-04-21 14:13:50

by Luca Weiss

[permalink] [raw]
Subject: [PATCH RFC 0/4] Add WCN3988 Bluetooth support for Fairphone 4

Just to start with the important part why this is an RFC:

While Bluetooth chip init works totally fine and bluez seems to be
fairly happy with it, there's a (major) problem with scanning, as shown
with this bluetoothctl snippet and dmesg snippet:

[bluetooth]# scan on
Failed to start discovery: org.bluez.Error.InProgress

[ 202.371374] Bluetooth: hci0: Opcode 0x200b failed: -16

This opcode should be the following:

include/net/bluetooth/hci.h:#define HCI_OP_LE_SET_SCAN_PARAM 0x200b

Unfortunately trying various existing code branches in the Bluetooth
driver doesn't show any sign of making this work and I don't really know
where to look to debug this further.

On the other hand "discoverable on" makes the device show up on other
devices during scanning , so the RF parts of the Bluetooth chip are
generally functional for sure.

Any ideas are welcome.

@Bjorn: Patch "arm64: dts: qcom: sm6350: add uart1 node" should be fine
to take regardless the RFC status, I don't think the problem is caused
there.

Signed-off-by: Luca Weiss <[email protected]>
---
Luca Weiss (4):
dt-bindings: net: qualcomm: Add WCN3988
Bluetooth: btqca: Add WCN3988 support
arm64: dts: qcom: sm6350: add uart1 node
arm64: dts: qcom: sm7225-fairphone-fp4: Add Bluetooth

.../bindings/net/bluetooth/qualcomm-bluetooth.yaml | 2 +
arch/arm64/boot/dts/qcom/sm6350.dtsi | 63 ++++++++++++++++++++++
arch/arm64/boot/dts/qcom/sm7225-fairphone-fp4.dts | 17 ++++++
drivers/bluetooth/btqca.c | 13 ++++-
drivers/bluetooth/btqca.h | 12 ++++-
drivers/bluetooth/hci_qca.c | 12 +++++
6 files changed, 115 insertions(+), 4 deletions(-)
---
base-commit: cf4c0112a0350cfe8a63b5eb3377e2366f57545b
change-id: 20230421-fp4-bluetooth-b36a0e87b9c8

Best regards,
--
Luca Weiss <[email protected]>


2023-04-22 12:10:24

by Konrad Dybcio

[permalink] [raw]
Subject: Re: [PATCH RFC 0/4] Add WCN3988 Bluetooth support for Fairphone 4



On 21.04.2023 16:11, Luca Weiss wrote:
> Just to start with the important part why this is an RFC:
>
> While Bluetooth chip init works totally fine and bluez seems to be
> fairly happy with it, there's a (major) problem with scanning, as shown
> with this bluetoothctl snippet and dmesg snippet:
>
> [bluetooth]# scan on
> Failed to start discovery: org.bluez.Error.InProgress
>
> [ 202.371374] Bluetooth: hci0: Opcode 0x200b failed: -16
>
> This opcode should be the following:
>
> include/net/bluetooth/hci.h:#define HCI_OP_LE_SET_SCAN_PARAM 0x200b
Not a bluetooth expert or anything, but does that thing support
bluetooth LE?

Konrad
>
> Unfortunately trying various existing code branches in the Bluetooth
> driver doesn't show any sign of making this work and I don't really know
> where to look to debug this further.
>
> On the other hand "discoverable on" makes the device show up on other
> devices during scanning , so the RF parts of the Bluetooth chip are
> generally functional for sure.
>
> Any ideas are welcome.
>
> @Bjorn: Patch "arm64: dts: qcom: sm6350: add uart1 node" should be fine
> to take regardless the RFC status, I don't think the problem is caused
> there.
>
> Signed-off-by: Luca Weiss <[email protected]>
> ---
> Luca Weiss (4):
> dt-bindings: net: qualcomm: Add WCN3988
> Bluetooth: btqca: Add WCN3988 support
> arm64: dts: qcom: sm6350: add uart1 node
> arm64: dts: qcom: sm7225-fairphone-fp4: Add Bluetooth
>
> .../bindings/net/bluetooth/qualcomm-bluetooth.yaml | 2 +
> arch/arm64/boot/dts/qcom/sm6350.dtsi | 63 ++++++++++++++++++++++
> arch/arm64/boot/dts/qcom/sm7225-fairphone-fp4.dts | 17 ++++++
> drivers/bluetooth/btqca.c | 13 ++++-
> drivers/bluetooth/btqca.h | 12 ++++-
> drivers/bluetooth/hci_qca.c | 12 +++++
> 6 files changed, 115 insertions(+), 4 deletions(-)
> ---
> base-commit: cf4c0112a0350cfe8a63b5eb3377e2366f57545b
> change-id: 20230421-fp4-bluetooth-b36a0e87b9c8
>
> Best regards,