{"id":13584750,"url":"https://github.com/winterheart/broadcom-bt-firmware","last_synced_at":"2025-05-16T13:02:47.731Z","repository":{"id":45764683,"uuid":"64419651","full_name":"winterheart/broadcom-bt-firmware","owner":"winterheart","description":"Repository for various Broadcom Bluetooth firmware","archived":false,"fork":false,"pushed_at":"2024-02-15T13:34:42.000Z","size":1030,"stargazers_count":1024,"open_issues_count":15,"forks_count":143,"subscribers_count":37,"default_branch":"master","last_synced_at":"2025-04-12T08:38:33.247Z","etag":null,"topics":["bluetooth","firmware","linux-kernel"],"latest_commit_sha":null,"homepage":null,"language":"Perl","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/winterheart.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.MIT.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-07-28T18:41:29.000Z","updated_at":"2025-04-03T01:08:50.000Z","dependencies_parsed_at":"2024-09-28T15:01:00.749Z","dependency_job_id":"6895b1b7-df30-4fd6-a95e-43cad653f96b","html_url":"https://github.com/winterheart/broadcom-bt-firmware","commit_stats":null,"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/winterheart%2Fbroadcom-bt-firmware","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/winterheart%2Fbroadcom-bt-firmware/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/winterheart%2Fbroadcom-bt-firmware/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/winterheart%2Fbroadcom-bt-firmware/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/winterheart","download_url":"https://codeload.github.com/winterheart/broadcom-bt-firmware/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254535792,"owners_count":22087397,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bluetooth","firmware","linux-kernel"],"created_at":"2024-08-01T15:04:29.892Z","updated_at":"2025-05-16T13:02:47.710Z","avatar_url":"https://github.com/winterheart.png","language":"Perl","funding_links":[],"categories":["Perl"],"sub_categories":[],"readme":"# Broadcom Bluetooth firmware for Linux kernel\n\n[![Packaging status](https://repology.org/badge/tiny-repos/broadcom-bt-firmware.svg)](https://repology.org/project/broadcom-bt-firmware/versions)\n\n## Overview\nThis package intentended to provide firmware of Broadcom WIDCOMM® Bluetooth\ndevices (including BCM20702, BCM20703, BCM43142 chipsets and other) for Linux\nkernel. Since February 2017, Broadcom ships their drivers directly to Windows\nUpdate service. They can be [downloaded here](http://www.catalog.update.microsoft.com/Search.aspx?q=Broadcom+bluetooth).\n\n## Security considerations\n\nRecently several vulnerabilities have been discovered in the Bluetooth stack such as [CVE-2018-5383](https://www.kb.cert.org/vuls/id/304725/), [CVE-2019-9506](https://www.kb.cert.org/vuls/id/918987/) (KNOB), [CVE-2020-10135](https://www.kb.cert.org/vuls/id/647177/) (BIAS) and more. Since Broadcom has stopped active support for its consumer devices, your system may be subject to security risks. You will have to use these devices **at your own risk**. As a repository maintainer, I cannot provide security fixes.\n\n## Installation\n\nCheck your Linux distribution [repositories](https://repology.org/project/broadcom-bt-firmware/versions).\n\nThere are [autogenerated DEB and RPM packages](https://github.com/winterheart/broadcom-bt-firmware/releases) for RedHat and Debian based distributions.\n\n## Detection and manual installation\n\nWhen you inserting Broadcom Bluetooth device you prefered Linux distribution\nmay not load it properly. \n\nYou may list all Bluetooth devices like this:\n\n```\ndmesg | grep -i bluetooth # Shows all Bluetooth driver info\ndmesg | grep -i bluetooth | grep -i firmware # Shows Bluetooth firmware issues\n```\n\nThe output may look like this:\n\n```\nBluetooth: hci1: BCM: chip id 63\nBluetooth: hci1: BCM20702A\nBluetooth: hci1: BCM20702A1 (001.002.014) build 0000\nbluetooth hci1: Direct firmware load for brcm/BCM20702A1-0b05-17cb.hcd failed with error -2\nBluetooth: hci1: BCM: Patch brcm/BCM20702A1-0b05-17cb.hcd not found\n```\n\nAs you can see, you need `brcm/BCM20702A1-0b05-17cb.hcd` firmware.\n\nPlace required `.hcd` file to `/lib/firmware/brcm` and reboot your computer. After reboot\nyou will see that firmware successfully loaded:\n\n```\nBluetooth: hci1: BCM: chip id 63\nBluetooth: hci1: BCM20702A\nBluetooth: hci1: BCM20702A1 (001.002.014) build 0000\nBluetooth: hci1: BCM20702A1 (001.002.014) build 1467\nBluetooth: hci1: Broadcom Bluetooth Device\n```\n\nCongratulations, now your bluetooth device successfully loaded. Now go to Bluez\nfor futher configuration.\n\n## Incorrect names for devices\n\nThere may be incorrect naming between presented firmware name and name\nrequested from Linux kernel. For example, system may request `BCM4354A2-13d3-3485.hcd`\nbut actually this is `BCM4356A2-13d3-3485.hcd`. This is happens because\nincorrect naming in Linux kernel. Just rename file to name that need to\nkernel. Here quick naming convertion:\n\n| Original name | Requested by Linux | Notes                     |\n|---------------|--------------------|---------------------------|\n| BCM4356A2     | BCM4354A2          | Fixed in Linux kernel 5.8 |\n\n## Notes about combined WiFi+Bluetooth devices\n\nSome Bluetooth controller (for example, BCM4354 and BCM4356) are integrated to\nWiFi chipset (this can be BCM43XX 802.11ac Wireless Network Adapter or just\nsimple generic Broadcom PCIE Wireless). These devices requires two kinds of\nfirmware - first for WiFi, and second for Bluetooth. Without WiFi firmware\nBluetooth will not initialize and [will not work properly](https://github.com/winterheart/broadcom-bt-firmware/issues/3#issuecomment-318512097).\nFirmware for WiFi already included to kernel, but you may need to do additional\nwork to [place correct NVRAM](https://wireless.wiki.kernel.org/en/users/drivers/brcm80211#broadcom_brcmfmac_driver).\n\nHere example how it can looks (note about `brcm/brcmfmac4356-pcie.txt` \nloading - this is your customized NVRAM):\n\n```\nusbcore: registered new interface driver brcmfmac\nbrcmfmac 0000:02:00.0: firmware: direct-loading firmware brcm/brcmfmac4356-pcie.bin\nbrcmfmac 0000:02:00.0: firmware: direct-loading firmware brcm/brcmfmac4356-pcie.txt\nBluetooth: hci0: BCM: chip id 101\nBluetooth: hci0: N360-11\nBluetooth: hci0: BCM4354A2 (001.003.015) build 0000\nbluetooth hci0: firmware: direct-loading firmware brcm/BCM4354A2-13d3-3485.hcd\n```\n\n## License\n\nFirmware files are licensed under [Broadcom WIDCOMM Bluetooth Software License Agreement](LICENSE.broadcom_bcm20702).\nOther parts of project are licensed under standard [MIT license](LICENSE.MIT.txt).\n\n## Supported devices\n\nSee [DEVICES file](DEVICES.md).\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwinterheart%2Fbroadcom-bt-firmware","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwinterheart%2Fbroadcom-bt-firmware","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwinterheart%2Fbroadcom-bt-firmware/lists"}