GithubHelp home page GithubHelp logo

xuyang2 / broadcom-bt-firmware Goto Github PK

View Code? Open in Web Editor NEW

This project forked from winterheart/broadcom-bt-firmware

0.0 1.0 0.0 995 KB

Repository for various Broadcom Bluetooth firmware

License: Other

Shell 4.61% Perl 95.39%

broadcom-bt-firmware's Introduction

Broadcom Bluetooth firmware for Linux kernel

Overview

This package intentended to provide firmware of Broadcom WIDCOMM® Bluetooth devices (including BCM20702, BCM20703, BCM43142 chipsets and other) for Linux kernel. Since February 2017, Broadcom ships their drivers directly to Windows Update service. They can be downloaded here.

Detection and Installation

When you inserting Broadcom Bluetooth device you prefered Linux distribution may not load it properly:

Bluetooth: hci1: BCM: chip id 63
Bluetooth: hci1: BCM20702A
Bluetooth: hci1: BCM20702A1 (001.002.014) build 0000
bluetooth hci1: Direct firmware load for brcm/BCM20702A1-0b05-17cb.hcd failed with error -2
Bluetooth: hci1: BCM: Patch brcm/BCM20702A1-0b05-17cb.hcd not found

As you can see, you need brcm/BCM20702A1-0b05-17cb.hcd firmware.

Place required .hcd file to /lib/firmware/brcm and reboot your computer. After reboot you will see that firmware successfully loaded:

Bluetooth: hci1: BCM: chip id 63
Bluetooth: hci1: BCM20702A
Bluetooth: hci1: BCM20702A1 (001.002.014) build 0000
Bluetooth: hci1: BCM20702A1 (001.002.014) build 1467
Bluetooth: hci1: Broadcom Bluetooth Device

Congratulations, now your bluetooth device successfully loaded. Now go to Bluez for futher configuration.

Incorrect names for devices

There may be incorrect naming between presented firmware name and name requested from Linux kernel. For example, system may request BCM4354A2-13d3-3485.hcd but actually this is BCM4356A2-13d3-3485.hcd. This is happens because incorrect naming in Linux kernel. Just rename file to name that need to kernel. Here quick naming convertion:

Original name Requested by Linux
BCM4356A2 BCM4354A2

Notes about combined WiFi+Bluetooth devices

Some Bluetooth controller (for example, BCM4354 and BCM4356) are integrated to WiFi chipset (this can be BCM43XX 802.11ac Wireless Network Adapter or just simple generic Broadcom PCIE Wireless). These devices requires two kinds of firmware - first for WiFi, and second for Bluetooth. Without WiFi firmware Bluetooth will not initialize and will not work properly. Firmware for WiFi already included to kernel, but you may need to do additional work to place correct NVRAM.

Here example how it can looks (note about brcm/brcmfmac4356-pcie.txt loading - this is your customized NVRAM):

usbcore: registered new interface driver brcmfmac
brcmfmac 0000:02:00.0: firmware: direct-loading firmware brcm/brcmfmac4356-pcie.bin
brcmfmac 0000:02:00.0: firmware: direct-loading firmware brcm/brcmfmac4356-pcie.txt
Bluetooth: hci0: BCM: chip id 101
Bluetooth: hci0: N360-11
Bluetooth: hci0: BCM4354A2 (001.003.015) build 0000
bluetooth hci0: firmware: direct-loading firmware brcm/BCM4354A2-13d3-3485.hcd

License

Firmware files are licensed under Broadcom WIDCOMM Bluetooth Software License Agreement. Other parts of project are licensed under standard MIT license.

Supported devices

See DEVICES file.

broadcom-bt-firmware's People

Contributors

winterheart avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.