Re: [PATCH 2/2] Bluetooth: hci_bcm: Add support for BCM2E7E

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

On 07-09-17 22:25, Hans de Goede wrote:
Tested on a GPD win with a BCM4356 PCI-E wifi/bt combo card.

Ok, so there is a bit of a snarfu with this patch, it seems
that the bluetooth part of the BCM4356A2 can be connected
via both USB and an UART and on the GPD pocket it is actually
connected through both at the same time.

This probably also explains the weird 0000:0000 vid:pid
combo on the GPD pocket which commit 9834e586fa works around.

After applying this patch, which causes the kernel to communicate
with the BT part over the UART, the BT part drops from the USB
bus and can only be reached via the UART.

When using it over USB (by not having this patch in the kernel)
I cannot get patchram to load, this might because the patchram
file from the Windows partition on the device is only meant to
be used with the device in UART mode.

In USB mode when trying to use the patchram file I get:

[   31.145258] Bluetooth: hci0: BCM: chip id 101
[   31.146265] Bluetooth: hci0: BCM: features 0x2f
[   31.162270] Bluetooth: hci0: BCM4354A2
[   31.163280] Bluetooth: hci0: BCM4354A2 (001.003.015) build 0000
[   31.744211] Bluetooth: hci0 sending frame failed (-19)
[   33.759017] Bluetooth: hci0 command 0x0c03 tx timeout
[   41.950999] Bluetooth: hci0: BCM: Reset failed (-110)
[   62.069325] Bluetooth: hci0: BCM: chip id 101
[   62.070313] Bluetooth: hci0: BCM: features 0x2f
[   62.086574] Bluetooth: hci0: BCM4354A2
[   62.087325] Bluetooth: hci0: BCM4354A2 (001.003.015) build 0000
[   62.675127] Bluetooth: hci0 sending frame failed (-19)
[   64.691105] Bluetooth: hci0 command 0x0c03 tx timeout
[   72.947944] Bluetooth: hci0: BCM: Reset failed (-110)
[   92.997864] Bluetooth: hci0: BCM: chip id 101
[   92.998367] Bluetooth: hci0: BCM: features 0x2f
[   93.014732] Bluetooth: hci0: BCM4354A2
[   93.015360] Bluetooth: hci0: BCM4354A2 (001.003.015) build 0000
[   93.658961] Bluetooth: hci0 sending frame failed (-19)
[   95.666973] Bluetooth: hci0 command 0x0c03 tx timeout

Without the patchram file it does work in USB mode.

In UART mode it works with the patchram file and I get
(with the 2 patches from this series):

[   17.663889] Bluetooth: hci0: BCM: chip id 101
[   17.664205] Bluetooth: hci0: BCM: features 0x2f
[   17.665250] Bluetooth: hci0: BCM4354A2
[   17.665256] Bluetooth: hci0: BCM4356A2 (001.003.015) build 0000
[   18.344740] Bluetooth: hci0: BCM (001.003.015) build 0273

Given that windows seems to be using the device in UART
mode and the weird 0000:0000 USB-ID, which points to the USB
bits not being configured, I believe that the device should
really be used in UART mode.

This will happen automatically with this patch series,
but with the current 4.14 bluetooth stack it will work in
USB mode, and if we then merge this series post 4.14
bluetooth will stop working without users doing a btattach
command from userspace and we will have a regression on
our hands.

I believe that as a minimum we should revert commit 9834e586fa
("Bluetooth: btusb: Add workaround for Broadcom devices without product id")
to avoid users regressing once we move this setup over to
using UART mode.

Regards,

Hans







Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
---
  drivers/bluetooth/hci_bcm.c | 1 +
  1 file changed, 1 insertion(+)

diff --git a/drivers/bluetooth/hci_bcm.c b/drivers/bluetooth/hci_bcm.c
index 6a662d0161b4..4739acb5b201 100644
--- a/drivers/bluetooth/hci_bcm.c
+++ b/drivers/bluetooth/hci_bcm.c
@@ -878,6 +878,7 @@ static const struct acpi_device_id bcm_acpi_match[] = {
  	{ "BCM2E71", (kernel_ulong_t)&acpi_bcm_int_last_gpios },
  	{ "BCM2E7B", (kernel_ulong_t)&acpi_bcm_int_last_gpios },
  	{ "BCM2E7C", (kernel_ulong_t)&acpi_bcm_int_last_gpios },
+	{ "BCM2E7E", (kernel_ulong_t)&acpi_bcm_int_first_gpios },
  	{ "BCM2E95", (kernel_ulong_t)&acpi_bcm_int_first_gpios },
  	{ "BCM2E96", (kernel_ulong_t)&acpi_bcm_int_first_gpios },
  	{ },

--
To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Bluez Devel]     [Linux Wireless Networking]     [Linux Wireless Personal Area Networking]     [Linux ATH6KL]     [Linux USB Devel]     [Linux Media Drivers]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux