linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/4] Attempt at adding WCN6855 BT support
@ 2023-01-29 21:51 Steev Klimaszewski
  2023-01-29 21:51 ` [PATCH 1/4] dt-bindings: net: Add WCN6855 Bluetooth bindings Steev Klimaszewski
                   ` (2 more replies)
  0 siblings, 3 replies; 10+ messages in thread
From: Steev Klimaszewski @ 2023-01-29 21:51 UTC (permalink / raw)
  To: steev
  Cc: David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
	Rob Herring, Krzysztof Kozlowski, Andy Gross, Bjorn Andersson,
	Konrad Dybcio, Marcel Holtmann, Johan Hedberg,
	Luiz Augusto von Dentz, Sven Peter, Balakrishna Godavarthi,
	Rocky Liao, netdev, devicetree, linux-kernel, linux-arm-msm,
	linux-bluetooth

This patchset is somewhat of an RFC/RFT, and also just something to get this out
there.

First things first, I do not have access to the specs nor the schematics, so a
lot of this was done via guess work, looking at the acpi tables, and looking at
how a similar device (wcn6750) was added.

There are definitely checkpatch warnings, and I do apologize to those who won't
review things until there are no warnings for wasting your time.

One example is that I have the vregs commented out, the dt-bindings say that
they are required since it's based on the wcn6750 work but also like the 6750,
I've added defaults into the driver, and those seem to work, at least for the
initial testing.

The end result is that we do have a working device, but not entirely reliable.

Hopefully by getting this out there, people who do have access to the specs or
schematics can see where the improvements or fixes need to come.

There are a few things that I am not sure why they happen, and don't have the
knowledge level to figure out why they happen or debugging it.

Bluetooth: hci0: setting up wcn6855
Bluetooth: hci0: Frame reassembly failed (-84)
Bluetooth: hci0: QCA Product ID   :0x00000013
Bluetooth: hci0: QCA SOC Version  :0x400c0210
Bluetooth: hci0: QCA ROM Version  :0x00000201
Bluetooth: hci0: QCA Patch Version:0x000038e6
Bluetooth: hci0: QCA controller version 0x02100201
Bluetooth: hci0: unexpected event for opcode 0xfc48
Bluetooth: hci0: Sending QCA Patch config failed (-110)
Bluetooth: hci0: QCA Downloading qca/hpbtfw21.tlv
Bluetooth: hci0: QCA Downloading qca/hpnv21g.bin
Bluetooth: hci0: QCA setup on UART is completed

I do not know why the Frame assembly failed, nor the unexpected event.

Likewise, I'm not entirely sure why it says the patch config send times out, and
*then* seems to send it?

The BD Address also seems to be incorrect, and I'm not sure what is going on
there either.

Additionally, I've tried with an additional patch that I'm not including that is
based on commit 059924fdf6c1 ("Bluetooth: btqca: Use NVM files based on SoC ID
for WCN3991") to try using the hpnv21g.bin or hpnv21.bin, and the firmware acted
the same regardless, so I am assuming I don't truly need the "g" firmware on my
Thinkpad X13s.

Testing was done by connecting a Razer Orochi bluetooth mouse, and using it, as
well as connecting to and using an H2GO bluetooth speaker and playing audio out
via canberra-gtk-play as well as a couple of YouTube videos in a browser.

The mouse only seems to work when < 2 ft. from the laptop, and for the speaker, only
"A2DP Sink, codec SBC" would provide audio output, and while I could see that
data was being sent to the speaker, it wasn't always outputting, and going >
4ft. away, would often disconnect.

steev@wintermute:~$ hciconfig -a
hci0:   Type: Primary  Bus: UART
        BD Address: 00:00:00:00:5A:AD  ACL MTU: 1024:8  SCO MTU: 240:4
        UP RUNNING PSCAN
        RX bytes:1492 acl:0 sco:0 events:126 errors:0
        TX bytes:128743 acl:0 sco:0 commands:597 errors:0
        Features: 0xff 0xfe 0x8f 0xfe 0xd8 0x3f 0x5b 0x87
        Packet type: DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3
        Link policy: RSWITCH HOLD SNIFF
        Link mode: PERIPHERAL ACCEPT
        Name: 'wintermute'
        Class: 0x0c010c
        Service Classes: Rendering, Capturing
        Device Class: Computer, Laptop
        HCI Version:  (0xc)  Revision: 0x0
        LMP Version:  (0xc)  Subversion: 0x46f7
        Manufacturer: Qualcomm (29)

steev@wintermute:~$ dmesg | grep Razer
[ 3089.235440] input: Razer Orochi as /devices/virtual/misc/uhid/0005:1532:0056.0003/input/input11
[ 3089.238580] hid-generic 0005:1532:0056.0003: input,hidraw2: BLUETOOTH HID v0.01 Mouse [Razer Orochi] on 00:00:00:00:5a:ad
steev@wintermute:~$ dmesg | grep H2GO
[ 3140.959947] input: H2GO Speaker (AVRCP) as /devices/virtual/input/input12

Bjorn Andersson (1):
  arm64: dts: qcom: sc8280xp: Enable BT

Steev Klimaszewski (3):
  dt-bindings: net: Add WCN6855 Bluetooth bindings
  Bluetooth: hci_qca: Add support for QTI Bluetooth chip wcn6855
  arm64: dts: qcom: thinkpad-x13s: Add bluetooth

 .../net/bluetooth/qualcomm-bluetooth.yaml     |  2 +
 .../qcom/sc8280xp-lenovo-thinkpad-x13s.dts    | 68 +++++++++++++++++++
 arch/arm64/boot/dts/qcom/sc8280xp.dtsi        | 14 ++++
 drivers/bluetooth/btqca.c                     | 24 ++++++-
 drivers/bluetooth/btqca.h                     | 10 +++
 drivers/bluetooth/hci_qca.c                   | 59 ++++++++++++----
 6 files changed, 162 insertions(+), 15 deletions(-)


base-commit: e2f86c02fdc96ca29ced53221a3cbf50aa6f8b49
-- 
2.39.0


^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2023-01-31  2:22 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-01-29 21:51 [PATCH 0/4] Attempt at adding WCN6855 BT support Steev Klimaszewski
2023-01-29 21:51 ` [PATCH 1/4] dt-bindings: net: Add WCN6855 Bluetooth bindings Steev Klimaszewski
2023-01-29 21:51   ` [PATCH 2/4] Bluetooth: hci_qca: Add support for QTI Bluetooth chip wcn6855 Steev Klimaszewski
2023-01-29 21:51     ` [PATCH 3/4] arm64: dts: qcom: sc8280xp: Enable BT Steev Klimaszewski
2023-01-29 21:51       ` [PATCH 4/4] arm64: dts: qcom: thinkpad-x13s: Add bluetooth Steev Klimaszewski
2023-01-30 18:35       ` [PATCH 3/4] arm64: dts: qcom: sc8280xp: Enable BT Brian Masney
2023-01-30 22:23   ` [PATCH 1/4] dt-bindings: net: Add WCN6855 Bluetooth bindings Rob Herring
2023-01-31  2:21     ` Steev Klimaszewski
2023-01-30  6:43 ` [PATCH 0/4] Attempt at adding WCN6855 BT support Paul Menzel
2023-01-30  6:53 ` Paul Menzel

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).