winterheart / broadcom-bt-firmware

Repository for various Broadcom Bluetooth firmware
Other
997 stars 142 forks source link

BCM43241 File #6

Open pfaehlfd opened 6 years ago

pfaehlfd commented 6 years ago

Hi, which file to use for the BCM43241 chip? It is not listed in your devices file. I need it for my Sony SVD1321c5e

winterheart commented 6 years ago

Hello. This is different kind of Broadcom devices, previous generation of their BT stack, based on UART architecture (not USB). So, there another kind of drivers. Luckily Broadcom shipped *.hcd as is in package, and you don't even need to convert them.

Here your driver package (well, one of them) - http://www.catalog.update.microsoft.com/Search.aspx?q=Broadcom%20-%20Bluetooth%20Controller%20Non%20USB%20-%20Broadcom%20Serial%20Bus%20Driver%20over%20UART%20Bus%20Enumerator

So you need correct hdc. For that I need some info from your system. Please, post outputs from these commands:

dmesg | grep -i Bluetooth
lspci -nnv
pfaehlfd commented 6 years ago

your link does not work for me.

dmesg | grep -i Bluetooth

[ 8420.573378] Bluetooth: Core ver 2.22
[ 8420.573394] Bluetooth: HCI device and connection manager initialized
[ 8420.573396] Bluetooth: HCI socket layer initialized
[ 8420.573398] Bluetooth: L2CAP socket layer initialized
[ 8420.573402] Bluetooth: SCO socket layer initialized
[ 8432.468141] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[ 8432.468143] Bluetooth: BNEP filters: protocol multicast
[ 8432.468146] Bluetooth: BNEP socket layer initialized

lspci -nnv


00:00.0 Host bridge [0600]: Intel Corporation Haswell-ULT DRAM Controller [8086:0a04] (rev 09)
Subsystem: Sony Corporation Haswell-ULT DRAM Controller [104d:90b1]
Flags: bus master, fast devsel, latency 0
Capabilities: <access denied>
Kernel driver in use: hsw_uncore

00:02.0 VGA compatible controller [0300]: Intel Corporation Haswell-ULT Integrated Graphics Controller [8086:0a16] (rev 09) (prog-if 00 [VGA controller]) Subsystem: Sony Corporation Haswell-ULT Integrated Graphics Controller [104d:90b1] Flags: bus master, fast devsel, latency 0, IRQ 42 Memory at b0000000 (64-bit, non-prefetchable) [size=4M] Memory at a0000000 (64-bit, prefetchable) [size=256M] I/O ports at 3000 [size=64] [virtual] Expansion ROM at 000c0000 [disabled] [size=128K] Capabilities: Kernel driver in use: i915 Kernel modules: i915

00:03.0 Audio device [0403]: Intel Corporation Haswell-ULT HD Audio Controller [8086:0a0c] (rev 09) Subsystem: Sony Corporation Haswell-ULT HD Audio Controller [104d:90b1] Flags: bus master, fast devsel, latency 0, IRQ 57 Memory at b0410000 (64-bit, non-prefetchable) [size=16K] Capabilities: Kernel driver in use: snd_hda_intel Kernel modules: snd_hda_intel

00:14.0 USB controller [0c03]: Intel Corporation 8 Series USB xHCI HC [8086:9c31] (rev 04) (prog-if 30 [XHCI]) Subsystem: Sony Corporation 8 Series USB xHCI HC [104d:90b1] Flags: bus master, medium devsel, latency 0, IRQ 40 Memory at b0400000 (64-bit, non-prefetchable) [size=64K] Capabilities: Kernel driver in use: xhci_hcd

00:16.0 Communication controller [0780]: Intel Corporation 8 Series HECI #0 [8086:9c3a] (rev 04) Subsystem: Sony Corporation 8 Series HECI [104d:90b1] Flags: bus master, fast devsel, latency 0, IRQ 43 Memory at b041a000 (64-bit, non-prefetchable) [size=32] Capabilities: Kernel driver in use: mei_me Kernel modules: mei_me

00:1b.0 Audio device [0403]: Intel Corporation 8 Series HD Audio Controller [8086:9c20] (rev 04) Subsystem: Sony Corporation 8 Series HD Audio Controller [104d:90b1] Flags: bus master, fast devsel, latency 0, IRQ 44 Memory at b0414000 (64-bit, non-prefetchable) [size=16K] Capabilities: Kernel driver in use: snd_hda_intel Kernel modules: snd_hda_intel

00:1f.0 ISA bridge [0601]: Intel Corporation 8 Series LPC Controller [8086:9c43] (rev 04) Subsystem: Sony Corporation 8 Series LPC Controller [104d:90b1] Flags: bus master, medium devsel, latency 0 Capabilities: Kernel driver in use: lpc_ich Kernel modules: lpc_ich

00:1f.2 SATA controller [0106]: Intel Corporation 8 Series SATA Controller 1 [AHCI mode] [8086:9c03] (rev 04) (prog-if 01 [AHCI 1.0]) Subsystem: Sony Corporation 8 Series SATA Controller 1 [AHCI mode] [104d:90b1] Flags: bus master, 66MHz, medium devsel, latency 0, IRQ 41 I/O ports at 3088 [size=8] I/O ports at 3094 [size=4] I/O ports at 3080 [size=8] I/O ports at 3090 [size=4] I/O ports at 3060 [size=32] Memory at b041d000 (32-bit, non-prefetchable) [size=2K] Capabilities: Kernel driver in use: ahci Kernel modules: ahci

00:1f.3 SMBus [0c05]: Intel Corporation 8 Series SMBus Controller [8086:9c22] (rev 04) Subsystem: Sony Corporation 8 Series SMBus Controller [104d:90b1] Flags: medium devsel Memory at b041b000 (64-bit, non-prefetchable) [size=256] I/O ports at 3040 [size=32] Kernel modules: i2c_i801

winterheart commented 6 years ago

Ah, this is UART device, they not showing in lspci. Please post udevadm info -e output.

And since this is Broadcom combined device, you may also need to initialize WiFi subsystem first as described in [1][2]. Make sure that you have at least Linux kernel 3.13 and latest linux-firmware package installed.

[1] https://github.com/winterheart/broadcom-bt-firmware#notes-about-combined-wifibluetooth-devices [2] https://wireless.wiki.kernel.org/en/users/Drivers/brcm80211#firmware_installation1

pfaehlfd commented 6 years ago

I already added the brcmfmac43241b4-sdio.txt as described in 1 and 2. The kernel is 4.1.

The udevadm info -e output is in the attached file udevadm.txt

winterheart commented 6 years ago

OK, your device is BCM2E47 and you need BCM4324B3_002.004.006.0130.0132.hcd file from Broadcom UART driver pack (here is latest from Windows Update - http://download.windowsupdate.com/d/msdownload/update/driver/drvs/2017/10/x86_d7769b81511890a89db78a0384c288222871164c.cab). Still, I don't know how to enable bluetooth stack on UART since I don't have one. Can you try this guide https://wiki.debian.org/InstallingDebianOn/Thinkpad/Tablet8#Bluetooth ? After all operations please post dmesg whole output.

pfaehlfd commented 6 years ago

After following the instructions the bluetooth chip is recognised, but its connections are really unstable. Though it is not possible to use it for my mouse, it does not connect, or for BT speakers, which are lagging. To connect BT i have to run btattach --bredr /dev/ttyS4 -P bcm & after every startup.

The output of dmesg is in the attatched file. dmesg.txt

winterheart commented 6 years ago

Yes, I see initialization. Now your system asks firmware "brcm/BCM4324B3.hcd". Copy BCM4324B3_002.004.006.0130.0132.hcd from CAB-file to /lib/firmware/brcm/BCM4324B3.hcd and reboot (or even turn off/turn on). After that run btattach and bluetooth should run correctly.

pfaehlfd commented 6 years ago

Now after btattach --bredr /dev/ttyS4 -P bcm & it stucks while scanning for devices, making it impossible to connect.

The output of new dmesg is attached again. dmesg.txt

winterheart commented 6 years ago

Well, here my knowledge ends. I see that firmware was successfully loaded (BCM (002.004.006) build 0132), but after that it hangs. I suspect that kernel not fully supports this device. Try to ask on Bluetooth-next mail list (linux-bluetooth@vger.kernel.org), maybe people there can help.

Thorbijoern commented 2 years ago

Hi, this issue is some years old, but i just got a Lenovo Yoga Tablet 2-1051F which uses the same wifi+bluetooth chip. I installed Fedora and pretty much everything worked except the bluetooth keyboard. I searched around some and found this issue here as well as this blog post: https://daduke.org/linux/yoga.html I tried installing this package from rpmfusion first, but i didn't check the supported devices list, and to no surprise it didn't work. So i unistalled broadcom-bt-firmware again and did it the manual way:

The BCM4324B3_002.004.006.0130.0161.hcd downloadable from the blog and the one in the Cab-archive from microsoft seem to be the same. Also i guess the last digits of the filename is some version number, so the 0161 is the latest i could find. I only had to copy the file to /lib/firmware/brcm/BCM4324B3.hcd, made a restart and it worked fine. i didn't use btattach or anything else.

I don't have much experience with Linux driver stuff, i just wanted to share my experience and what worked for me. I hope this help someone with some old device.

winterheart commented 2 years ago

@Thorbijoern please open new issue with info needed to investigate your case.

Thorbijoern commented 2 years ago

@winterheart there is no further issue and nothing to investigate here i think, i just wanted to share my findings... i had the same problem with the same chip, thats all