2021-12-28 03:24:19

by Aditya Garg

[permalink] [raw]
Subject: [BUG] Slow bluetooth speed on Apple MacBook Pro 16,1

The file transfer speed on MacBook Pro 16,1 from an Android device to Mac is too slow even if I transfer a file of a few Kbs. In case of a transfer from Mac to my Android device, it simply fails.

Some logs that might be helpful :-

-- Logs begin at Fri 2021-11-26 21:34:04 IST, end at Tue 2021-12-28 08:38:16 IST. --
Dec 28 08:28:29 MacBook kernel: Bluetooth: Core ver 2.22
Dec 28 08:28:29 MacBook kernel: NET: Registered PF_BLUETOOTH protocol family
Dec 28 08:28:29 MacBook kernel: Bluetooth: HCI device and connection manager initialized
Dec 28 08:28:29 MacBook kernel: Bluetooth: HCI socket layer initialized
Dec 28 08:28:29 MacBook kernel: Bluetooth: L2CAP socket layer initialized
Dec 28 08:28:29 MacBook kernel: Bluetooth: SCO socket layer initialized
Dec 28 08:28:29 MacBook kernel: Bluetooth: HCI UART driver ver 2.3
Dec 28 08:28:29 MacBook kernel: Bluetooth: HCI UART protocol H4 registered
Dec 28 08:28:29 MacBook kernel: Bluetooth: HCI UART protocol BCSP registered
Dec 28 08:28:29 MacBook kernel: Bluetooth: HCI UART protocol LL registered
Dec 28 08:28:29 MacBook kernel: Bluetooth: HCI UART protocol ATH3K registered
Dec 28 08:28:29 MacBook kernel: Bluetooth: HCI UART protocol Three-wire (H5) registered
Dec 28 08:28:29 MacBook kernel: Bluetooth: HCI UART protocol Intel registered
Dec 28 08:28:29 MacBook kernel: Bluetooth: HCI UART protocol Broadcom registered
Dec 28 08:28:29 MacBook kernel: Bluetooth: HCI UART protocol QCA registered
Dec 28 08:28:29 MacBook kernel: Bluetooth: HCI UART protocol AG6XX registered
Dec 28 08:28:29 MacBook kernel: Bluetooth: HCI UART protocol Marvell registered
Dec 28 08:28:29 MacBook kernel: Bluetooth: hci0: BCM: failed to write update baudrate (-16)
Dec 28 08:28:29 MacBook kernel: Bluetooth: hci0: Failed to set baudrate
Dec 28 08:28:29 MacBook kernel: Bluetooth: hci0: BCM: chip id 150
Dec 28 08:28:29 MacBook kernel: Bluetooth: hci0: BCM: features 0x07
Dec 28 08:28:29 MacBook kernel: Bluetooth: hci0: BCM4364B3 Trinidad Olympic GEN (MFG)
Dec 28 08:28:29 MacBook kernel: Bluetooth: hci0: BCM (001.016.075) build 0099
Dec 28 08:28:29 MacBook kernel: Bluetooth: hci0: BCM: firmware Patch file not found, tried:
Dec 28 08:28:29 MacBook kernel: Bluetooth: hci0: BCM: 'brcm/BCM.hcd'
Dec 28 08:28:40 MacBook kernel: Bluetooth: BNEP (Ethernet Emulation) ver 1.3
Dec 28 08:28:40 MacBook kernel: Bluetooth: BNEP filters: protocol multicast
Dec 28 08:28:40 MacBook kernel: Bluetooth: BNEP socket layer initialized
Dec 28 08:35:02 MacBook kernel: Bluetooth: RFCOMM TTY layer initialized
Dec 28 08:35:02 MacBook kernel: Bluetooth: RFCOMM socket layer initialized
Dec 28 08:35:02 MacBook kernel: Bluetooth: RFCOMM ver 1.11


2021-12-28 05:54:10

by Orlando Chamberlain

[permalink] [raw]
Subject: Re: [BUG] Slow bluetooth speed on Apple MacBook Pro 16,1

On Tue, 28 Dec 2021 14:24:09 +1100
"Aditya Garg" <[email protected]> wrote:

> The file transfer speed on MacBook Pro 16,1 from an Android device to
> Mac is too slow even if I transfer a file of a few Kbs. In case of a
> transfer from Mac to my Android device, it simply fails.
>
> Some logs that might be helpful :-
>
> -- Logs begin at Fri 2021-11-26 21:34:04 IST, end at Tue 2021-12-28 08:38:16 IST. --
> Dec 28 08:28:29 MacBook kernel: Bluetooth: Core ver 2.22
> Dec 28 08:28:29 MacBook kernel: NET: Registered PF_BLUETOOTH protocol family
> Dec 28 08:28:29 MacBook kernel: Bluetooth: HCI device and connection manager initialized
> Dec 28 08:28:29 MacBook kernel: Bluetooth: HCI socket layer initialized
> Dec 28 08:28:29 MacBook kernel: Bluetooth: L2CAP socket layer initialized
> Dec 28 08:28:29 MacBook kernel: Bluetooth: SCO socket layer initialized
> Dec 28 08:28:29 MacBook kernel: Bluetooth: HCI UART driver ver 2.3
> Dec 28 08:28:29 MacBook kernel: Bluetooth: HCI UART protocol H4 registered
> Dec 28 08:28:29 MacBook kernel: Bluetooth: HCI UART protocol BCSP registered
> Dec 28 08:28:29 MacBook kernel: Bluetooth: HCI UART protocol LL registered
> Dec 28 08:28:29 MacBook kernel: Bluetooth: HCI UART protocol ATH3K registered
> Dec 28 08:28:29 MacBook kernel: Bluetooth: HCI UART protocol Three-wire (H5) registered
> Dec 28 08:28:29 MacBook kernel: Bluetooth: HCI UART protocol Intel registered
> Dec 28 08:28:29 MacBook kernel: Bluetooth: HCI UART protocol Broadcom registered
> Dec 28 08:28:29 MacBook kernel: Bluetooth: HCI UART protocol QCA registered
> Dec 28 08:28:29 MacBook kernel: Bluetooth: HCI UART protocol AG6XX registered
> Dec 28 08:28:29 MacBook kernel: Bluetooth: HCI UART protocol Marvell registered
> Dec 28 08:28:29 MacBook kernel: Bluetooth: hci0: BCM: failed to write update baudrate (-16)
> Dec 28 08:28:29 MacBook kernel: Bluetooth: hci0: Failed to set baudrate

When it fails to set baud rate, btmon has the following:

< HCI Command: Broadcom Update UART Baud Rate (0x3f|0x0018) plen 6
Encoded baud rate: Not used (0x0000)
Explicit baud rate: 3000000 Mbps
> HCI Event: Command Complete (0x0e) plen 4
Broadcom Update UART Baud Rate (0x3f|0x0018) ncmd 1
Status: Command Disallowed (0x0c)

Not sure if this means the command is unsupported by this chip, or if an "Encoded
baud rate" needs to be specified.

> Dec 28 08:28:29 MacBook kernel: Bluetooth: hci0: BCM: chip id 150
> Dec 28 08:28:29 MacBook kernel: Bluetooth: hci0: BCM: features 0x07
> Dec 28 08:28:29 MacBook kernel: Bluetooth: hci0: BCM4364B3 Trinidad Olympic GEN (MFG)
> Dec 28 08:28:29 MacBook kernel: Bluetooth: hci0: BCM (001.016.075) build 0099
> Dec 28 08:28:29 MacBook kernel: Bluetooth: hci0: BCM: firmware Patch file not found, tried:
> Dec 28 08:28:29 MacBook kernel: Bluetooth: hci0: BCM: 'brcm/BCM.hcd'
> Dec 28 08:28:40 MacBook kernel: Bluetooth: BNEP (Ethernet Emulation) ver 1.3
> Dec 28 08:28:40 MacBook kernel: Bluetooth: BNEP filters: protocol multicast
> Dec 28 08:28:40 MacBook kernel: Bluetooth: BNEP socket layer initialized
> Dec 28 08:35:02 MacBook kernel: Bluetooth: RFCOMM TTY layer initialized
> Dec 28 08:35:02 MacBook kernel: Bluetooth: RFCOMM socket layer initialized
> Dec 28 08:35:02 MacBook kernel: Bluetooth: RFCOMM ver 1.11


2022-01-11 12:18:44

by Aditya Garg

[permalink] [raw]
Subject: Re: [BUG] Slow bluetooth speed on Apple MacBook Pro 16,1

Some additional errors are being seen in 5.16

-- Logs begin at Fri 2021-11-26 21:34:04 IST, end at Tue 2022-01-11 17:44:40 IST. --
Jan 11 17:42:26 MacBook kernel: Bluetooth: Core ver 2.22
Jan 11 17:42:26 MacBook kernel: NET: Registered PF_BLUETOOTH protocol family
Jan 11 17:42:26 MacBook kernel: Bluetooth: HCI device and connection manager initialized
Jan 11 17:42:26 MacBook kernel: Bluetooth: HCI socket layer initialized
Jan 11 17:42:26 MacBook kernel: Bluetooth: L2CAP socket layer initialized
Jan 11 17:42:26 MacBook kernel: Bluetooth: SCO socket layer initialized
Jan 11 17:42:26 MacBook kernel: Bluetooth: HCI UART driver ver 2.3
Jan 11 17:42:26 MacBook kernel: Bluetooth: HCI UART protocol H4 registered
Jan 11 17:42:26 MacBook kernel: Bluetooth: HCI UART protocol BCSP registered
Jan 11 17:42:26 MacBook kernel: Bluetooth: HCI UART protocol LL registered
Jan 11 17:42:26 MacBook kernel: Bluetooth: HCI UART protocol ATH3K registered
Jan 11 17:42:26 MacBook kernel: Bluetooth: HCI UART protocol Three-wire (H5) registered
Jan 11 17:42:26 MacBook kernel: Bluetooth: HCI UART protocol Intel registered
Jan 11 17:42:26 MacBook kernel: Bluetooth: HCI UART protocol Broadcom registered
Jan 11 17:42:26 MacBook kernel: Bluetooth: HCI UART protocol QCA registered
Jan 11 17:42:26 MacBook kernel: Bluetooth: HCI UART protocol AG6XX registered
Jan 11 17:42:26 MacBook kernel: Bluetooth: HCI UART protocol Marvell registered
Jan 11 17:42:26 MacBook kernel: Bluetooth: hci0: BCM: failed to write update baudrate (-16)
Jan 11 17:42:26 MacBook kernel: Bluetooth: hci0: Failed to set baudrate
Jan 11 17:42:26 MacBook kernel: Bluetooth: hci0: BCM: chip id 150
Jan 11 17:42:26 MacBook kernel: Bluetooth: hci0: BCM: features 0x07
Jan 11 17:42:26 MacBook kernel: Bluetooth: hci0: BCM4364B3 Trinidad Olympic GEN (MFG)
Jan 11 17:42:26 MacBook kernel: Bluetooth: hci0: BCM (001.016.075) build 0099
Jan 11 17:42:26 MacBook kernel: Bluetooth: hci0: BCM: firmware Patch file not found, tried:
Jan 11 17:42:26 MacBook kernel: Bluetooth: hci0: BCM: 'brcm/BCM.hcd'
Jan 11 17:42:26 MacBook kernel: Bluetooth: hci0: Failed to read codec capabilities (-56)
Jan 11 17:42:26 MacBook kernel: Bluetooth: hci0: Failed to read codec capabilities (-56)
Jan 11 17:42:26 MacBook kernel: Bluetooth: hci0: Failed to read codec capabilities (-56)
Jan 11 17:42:26 MacBook kernel: Bluetooth: hci0: Failed to read codec capabilities (-56)
Jan 11 17:42:26 MacBook kernel: Bluetooth: hci0: Failed to read codec capabilities (-56)
Jan 11 17:42:26 MacBook kernel: Bluetooth: hci0: Failed to read codec capabilities (-56)
Jan 11 17:42:36 MacBook kernel: Bluetooth: BNEP (Ethernet Emulation) ver 1.3
Jan 11 17:42:36 MacBook kernel: Bluetooth: BNEP filters: protocol multicast
Jan 11 17:42:36 MacBook kernel: Bluetooth: BNEP socket layer initialized
Jan 11 17:43:20 MacBook kernel: Bluetooth: RFCOMM TTY layer initialized
Jan 11 17:43:20 MacBook kernel: Bluetooth: RFCOMM socket layer initialized
Jan 11 17:43:20 MacBook kernel: Bluetooth: RFCOMM ver 1.11
Jan 11 17:43:45 MacBook kernel: Bluetooth: hci0: Failed to read codec capabilities (-56)
Jan 11 17:43:45 MacBook kernel: Bluetooth: hci0: Failed to read codec capabilities (-56)
Jan 11 17:43:45 MacBook kernel: Bluetooth: hci0: Failed to read codec capabilities (-56)
Jan 11 17:43:45 MacBook kernel: Bluetooth: hci0: Failed to read codec capabilities (-56)
Jan 11 17:43:45 MacBook kernel: Bluetooth: hci0: Failed to read codec capabilities (-56)
Jan 11 17:43:45 MacBook kernel: Bluetooth: hci0: Failed to read codec capabilities (-56)

Also, we haven't got any reply from the maintainers yet. I hope that I shall get a reply this time

Regards
Aditya

2022-01-11 22:04:29

by Marcel Holtmann

[permalink] [raw]
Subject: Re: [BUG] Slow bluetooth speed on Apple MacBook Pro 16,1

Hi Orlando,

>> The file transfer speed on MacBook Pro 16,1 from an Android device to
>> Mac is too slow even if I transfer a file of a few Kbs. In case of a
>> transfer from Mac to my Android device, it simply fails.
>>
>> Some logs that might be helpful :-
>>
>> -- Logs begin at Fri 2021-11-26 21:34:04 IST, end at Tue 2021-12-28 08:38:16 IST. --
>> Dec 28 08:28:29 MacBook kernel: Bluetooth: Core ver 2.22
>> Dec 28 08:28:29 MacBook kernel: NET: Registered PF_BLUETOOTH protocol family
>> Dec 28 08:28:29 MacBook kernel: Bluetooth: HCI device and connection manager initialized
>> Dec 28 08:28:29 MacBook kernel: Bluetooth: HCI socket layer initialized
>> Dec 28 08:28:29 MacBook kernel: Bluetooth: L2CAP socket layer initialized
>> Dec 28 08:28:29 MacBook kernel: Bluetooth: SCO socket layer initialized
>> Dec 28 08:28:29 MacBook kernel: Bluetooth: HCI UART driver ver 2.3
>> Dec 28 08:28:29 MacBook kernel: Bluetooth: HCI UART protocol H4 registered
>> Dec 28 08:28:29 MacBook kernel: Bluetooth: HCI UART protocol BCSP registered
>> Dec 28 08:28:29 MacBook kernel: Bluetooth: HCI UART protocol LL registered
>> Dec 28 08:28:29 MacBook kernel: Bluetooth: HCI UART protocol ATH3K registered
>> Dec 28 08:28:29 MacBook kernel: Bluetooth: HCI UART protocol Three-wire (H5) registered
>> Dec 28 08:28:29 MacBook kernel: Bluetooth: HCI UART protocol Intel registered
>> Dec 28 08:28:29 MacBook kernel: Bluetooth: HCI UART protocol Broadcom registered
>> Dec 28 08:28:29 MacBook kernel: Bluetooth: HCI UART protocol QCA registered
>> Dec 28 08:28:29 MacBook kernel: Bluetooth: HCI UART protocol AG6XX registered
>> Dec 28 08:28:29 MacBook kernel: Bluetooth: HCI UART protocol Marvell registered
>> Dec 28 08:28:29 MacBook kernel: Bluetooth: hci0: BCM: failed to write update baudrate (-16)
>> Dec 28 08:28:29 MacBook kernel: Bluetooth: hci0: Failed to set baudrate
>
> When it fails to set baud rate, btmon has the following:
>
> < HCI Command: Broadcom Update UART Baud Rate (0x3f|0x0018) plen 6
> Encoded baud rate: Not used (0x0000)
> Explicit baud rate: 3000000 Mbps
>> HCI Event: Command Complete (0x0e) plen 4
> Broadcom Update UART Baud Rate (0x3f|0x0018) ncmd 1
> Status: Command Disallowed (0x0c)
>
> Not sure if this means the command is unsupported by this chip, or if an "Encoded
> baud rate" needs to be specified.

I think that I remember that the to be used baud rate is inside ACPI and that the Broadcom chip inside the MacBooks don’t support baud rate change and just start out at the appropriate rate in the first place. Then again, I don’t have a MacBook running Linux and thus can verify this.

Actually I would start by dumping the ACPI tables and see if the resources for the UART are listed correctly.

Regards

Marcel