You are not logged in.

#1 2023-01-26 23:30:50

Techo
Member
Registered: 2023-01-26
Posts: 2

Lenovo Yoga Tablet 2 1051F - Multi-faceted Bluetooth Issues

This is a device I've been messing around with off and on over the years, and for a while from 2019-2021 I ran Arch Linux; from 2021 to a month ago I had it as a living room clock running Debian stable, but I got a new clock, so I decided to use it again for my main purpose of using mobile devices nowadays: a dumb terminal for my main computer.

I set that backstory because Bluetooth used to work on it when I was using it with Arch before. The specific controller it uses is the Broadcom BCM4324B3 (which apparently is a WiFi controller as well, but WiFi has no issues). Without the firmware patch it sorta works, but it has a really obnoxious issue where the MAC address on the controller side changes after a reboot after something is paired. After a while of testing I looked in /var/lib/bluetooth (which I knew to do so after installing Tiny Core) and it was just flooded with directories. Downloading the BCM4324B3 patch from the same source I downloaded it before and placing it in /usr/lib/firmware/brcm/BCM4324B3.hcd where it needs to go, the Bluetooth controller just doesn't work at all. A dmesg dump is as follows:
sudo dmesg | grep Bluetooth

[    6.330879] Bluetooth: Core ver 2.22
[    6.330994] Bluetooth: HCI device and connection manager initialized
[    6.331006] Bluetooth: HCI socket layer initialized
[    6.331398] Bluetooth: L2CAP socket layer initialized
[    6.331429] Bluetooth: SCO socket layer initialized
[    6.965932] Bluetooth: HCI UART driver ver 2.3
[    6.965947] Bluetooth: HCI UART protocol H4 registered
[    6.965951] Bluetooth: HCI UART protocol BCSP registered
[    6.975630] Bluetooth: HCI UART protocol LL registered
[    6.975644] Bluetooth: HCI UART protocol ATH3K registered
[    6.975696] Bluetooth: HCI UART protocol Three-wire (H5) registered
[    6.975836] Bluetooth: HCI UART protocol Intel registered
[    6.976008] Bluetooth: HCI UART protocol Broadcom registered
[    6.976050] Bluetooth: HCI UART protocol QCA registered
[    6.976055] Bluetooth: HCI UART protocol AG6XX registered
[    6.976080] Bluetooth: HCI UART protocol Marvell registered
[    7.389900] Bluetooth: hci0: BCM: chip id 84
[    7.390426] Bluetooth: hci0: BCM: features 0x0f
[    7.391557] Bluetooth: hci0: BCM4324B3
[    7.391565] Bluetooth: hci0: BCM4324B3 (002.004.006) build 0000
[    7.392223] Bluetooth: hci0: BCM4324B3 'brcm/BCM4324B3.hcd' Patch
[    7.450128] Bluetooth: hci0: Frame reassembly failed (-84)
[    7.849555] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[    7.849567] Bluetooth: BNEP filters: protocol multicast
[    7.849579] Bluetooth: BNEP socket layer initialized
[    9.539382] Bluetooth: hci0: command 0xfc4c tx timeout
[   17.646365] Bluetooth: hci0: BCM: Patch command fc4c failed (-110)
[   17.646409] Bluetooth: hci0: BCM: Patch failed (-110)
[   19.779422] Bluetooth: hci0: command 0xfc45 tx timeout
[   27.672646] Bluetooth: hci0: BCM: failed to write clock (-110)
[   29.806303] Bluetooth: hci0: command 0x0c03 tx timeout
[   37.699302] Bluetooth: hci0: BCM: Reset failed (-110)

In bluetoothctl it says that it cannot find the controller. As for the dmesg dump without the patch applied, here it is:
sudo dmesg | grep Bluetooth

[    7.083173] Bluetooth: Core ver 2.22
[    7.083272] Bluetooth: HCI device and connection manager initialized
[    7.083282] Bluetooth: HCI socket layer initialized
[    7.083296] Bluetooth: L2CAP socket layer initialized
[    7.083310] Bluetooth: SCO socket layer initialized
[    7.519323] Bluetooth: HCI UART driver ver 2.3
[    7.519338] Bluetooth: HCI UART protocol H4 registered
[    7.519342] Bluetooth: HCI UART protocol BCSP registered
[    7.519413] Bluetooth: HCI UART protocol LL registered
[    7.519417] Bluetooth: HCI UART protocol ATH3K registered
[    7.519445] Bluetooth: HCI UART protocol Three-wire (H5) registered
[    7.519588] Bluetooth: HCI UART protocol Intel registered
[    7.519771] Bluetooth: HCI UART protocol Broadcom registered
[    7.519797] Bluetooth: HCI UART protocol QCA registered
[    7.519802] Bluetooth: HCI UART protocol AG6XX registered
[    7.519837] Bluetooth: HCI UART protocol Marvell registered
[    7.915153] Bluetooth: hci0: BCM: chip id 84
[    7.915762] Bluetooth: hci0: BCM: features 0x0f
[    7.917239] Bluetooth: hci0: BCM4324B3
[    7.917254] Bluetooth: hci0: BCM4324B3 (002.004.006) build 0000
[    7.917522] Bluetooth: hci0: BCM: firmware Patch file not found, tried:
[    7.919293] Bluetooth: hci0: BCM: 'brcm/BCM4324B3.hcd'
[    7.921043] Bluetooth: hci0: BCM: 'brcm/BCM.hcd'
[    8.131719] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[    8.131731] Bluetooth: BNEP filters: protocol multicast
[    8.131741] Bluetooth: BNEP socket layer initialized
[    8.141964] Bluetooth: MGMT ver 1.22
[   19.016765] Bluetooth: RFCOMM TTY layer initialized
[   19.016785] Bluetooth: RFCOMM socket layer initialized
[   19.016812] Bluetooth: RFCOMM ver 1.11

I'm sorta at my wit's end on this one, literally all I need for this setup is for Bluetooth to work. Audio is a headache I gave up long ago on this one; supposedly all I had to do was install sof-firmware, but that didn't do any good, and all that was happening was the arizona-spi module was flooding dmesg with errors, spiking CPU usage through systemd-udevd. Audio never really worked anyways, but with Bluetooth headphones it worked just fine... past tense. No other device has been as perpetual a headache to set up as this one! Anyways, I yield on solving this issue on my own; it seems like it's lower level than bluetoothctl or Blueman, hence why I'm posting it here.

Offline

#2 2023-01-27 03:07:06

Techo
Member
Registered: 2023-01-26
Posts: 2

Re: Lenovo Yoga Tablet 2 1051F - Multi-faceted Bluetooth Issues

On an absolute frustration whim I tried installing Debian again, just to confirm that it was as little to do with my Arch setup as possible, and it was. The current version of Debian Stable (Kernel 5.10.something) worked perfectly with Bluetooth after I installed the BCM4324B3.hcd file, but when I changed it to Debian Unstable (6.1.0), it's acting just like Arch did. This really is striking me as a kernel issue. Only question now is where do I begin to look to try and figure it out?

Offline

#3 2023-02-26 18:30:12

filin
Member
Registered: 2023-02-26
Posts: 1

Re: Lenovo Yoga Tablet 2 1051F - Multi-faceted Bluetooth Issues

Techo wrote:

On an absolute frustration whim I tried installing Debian again, just to confirm that it was as little to do with my Arch setup as possible, and it was. The current version of Debian Stable (Kernel 5.10.something) worked perfectly with Bluetooth after I installed the BCM4324B3.hcd file, but when I changed it to Debian Unstable (6.1.0), it's acting just like Arch did. This really is striking me as a kernel issue. Only question now is where do I begin to look to try and figure it out?

Lenovo Yoga tablet 2 60073 1051L
I build linux-zen-515lts from the config of the fedora 37 kernel, unlike kernel 6.xx.xx, the blue tooth works stably and the sound without flooding in the logs

┌─(filin@yoga)──(~)
└─$ uname -a
Linux yoga 5.15.74-zen1-1-zen-yoga-tablet2+ #1 ZEN SMP Sun, 26 Feb 2023 16:13:31 +0000 x86_64 GNU/Linux
┌─(filin@yoga)──(~)
└─$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: Audio [Intel HDMI/DP LPE Audio], device 0: HdmiLpeAudio [Intel HDMI/DP LPE Audi]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: Audio [Intel HDMI/DP LPE Audio], device 1: HdmiLpeAudio [Intel HDMI/DP LPE Audi]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: bytcrwm5102 [bytcr-wm5102], device 0: 1 []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: bytcrwm5102 [bytcr-wm5102], device 1: Deep-Buffer Audio (*) []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
┌─(filin@yoga)──(~)
└─$ dmesg |grep -E 'hci0|5102'
[    7.671603] arizona spi-WM510204:00: Failed to get mclk1: -2
[    7.671616] arizona spi-WM510204:00: Failed to get mclk2: -2
[    7.672528] arizona spi-WM510204:00: supply AVDD not found, using dummy regulator
[    7.672604] arizona spi-WM510204:00: supply DBVDD1 not found, using dummy regulator
[    7.733180] arizona spi-WM510204:00: WM5102 revision C
[    7.738842] Adding alias for supply MICVDD,(null) -> MICVDD,spi-WM510204:00
[    7.738856] Adding alias for supply DBVDD2,(null) -> DBVDD2,spi-WM510204:00
[    7.738862] Adding alias for supply DBVDD3,(null) -> DBVDD3,spi-WM510204:00
[    7.738867] Adding alias for supply CPVDD,(null) -> CPVDD,spi-WM510204:00
[    7.738871] Adding alias for supply SPKVDDL,(null) -> SPKVDDL,spi-WM510204:00
[    7.738876] Adding alias for supply SPKVDDR,(null) -> SPKVDDR,spi-WM510204:00
[    8.200036] Bluetooth: hci0: BCM: chip id 84
[    8.200578] Bluetooth: hci0: BCM: features 0x0f
[    8.202555] Bluetooth: hci0: BCM4324B3
[    8.202569] Bluetooth: hci0: BCM4324B3 (002.004.006) build 0000
[    8.236334] Bluetooth: hci0: BCM4324B3 'brcm/BCM4324B3.hcd' Patch
[    8.763251] Bluetooth: hci0: BCM43241B4 Class1 IPAAGB
[    8.763267] Bluetooth: hci0: BCM4324B3 (002.004.006) build 0161
[    9.669935] wm5102-codec wm5102-codec: supply DBVDD2 not found, using dummy regulator
[    9.688047] wm5102-codec wm5102-codec: supply DBVDD3 not found, using dummy regulator
[    9.688121] wm5102-codec wm5102-codec: supply CPVDD not found, using dummy regulator
[    9.688164] wm5102-codec wm5102-codec: supply SPKVDDL not found, using dummy regulator
[    9.688211] wm5102-codec wm5102-codec: supply SPKVDDR not found, using dummy regulator
[    9.739915] arizona spi-WM510204:00: Spurious HPDET IRQ
[    9.756817] input: bytcr-wm5102 Headset as /devices/platform/80860F28:00/bytcr_wm5102/sound/card1/input11
[  112.747537] arizona spi-WM510204:00: ASRC underclocked

Offline

Board footer

Powered by FluxBB