ThinkPad E430 蓝牙驱动 BCM43142A0

2023-05-16

最近我意外发现公司的 ThinkPad E430 笔记本竟然是带有蓝牙的 :D

查看蓝牙设备标识 ID

利用 lsusb 命令找到蓝牙模块信息

Bus 001 Device 004: ID 105b:e065 Foxconn International, Inc. BCM43142A0 Bluetooth module

其中 105b:e065 代表的是厂商标识:产品标识 (VendorID:ProductID),后面接着的是厂商描述 Foxconn International, Inc.,再后面代表的是模块名称 BCM43142A0 蓝牙模块。这样我们就得到了所需的最重要的 VID:PID 了,接下来把内核源代码下载下来修改更新即可。

更新内核模块

Ubuntu 14.04 使用的是 3.13 的 linux 内核版本,我们可以使用 apt-get 命令获取 linux 内核源码并编译:

  1. 切换到超级管理员

    sudo su -
    
  2. 创建临时文件夹

    mkdir kernel
    cd kernel
    
  3. 下载 linux 内核源码

    apt-get build-dep linux-image-`uname -r`
    apt-get source linux-image-`uname -r`
    
  4. 修改源码加入 105b:e065

    cd linux-3.13.0/drivers/bluetooth
    vi btusb.c
    

    编辑源代码文件 btusb.c 找到 BCM43142A0 的设备编号代码,结果发现 3.13 的源码中已经存在 105b:e065 的驱动信息了:

    /* Broadcom BCM43142A0 */
    { USB_DEVICE(0x04ca, 0x2007), .driver_info = BTUSB_BCM_PATCHRAM },
    { USB_DEVICE(0x105b, 0xe065), .driver_info = BTUSB_BCM_PATCHRAM },
  5. 好吧,直接编译 btusb 模块:

    make -C /lib/modules/`uname -r`/build M=`pwd` modules
    

    编译完成之后,会生成 btusb.ko 文件。 更新到自己的操作系统内核里去:

    mv /lib/modules/`uname -r`/kernel/drivers/bluetooth/btusb.ko /
    cp btusb.ko /lib/modules/`uname -r`/kernel/drivers/bluetooth/
    depmod
    

更新蓝牙设备的固件

我认为我在更新蓝牙设备驱动这件事上还算是比较幸运的,参考 BCM94352HMB 蓝牙 BCM20702A0 在 Ubuntu 14.04 下的驱动方法 及 askubuntu 网站的 Bluetooth not working on ubuntu 14.04 with dell inspiron 15-3521 这两篇文章的说法,我在 Windows 7 的 C:\Windows\System32\drivers 目录下面(因为我在 ThinkPad E430 上面安装的是双系统)找到了 BCM43142A0_001.001.011.0084.0092.hex 文件,按照步骤:

sudo apt-get install git
git clone git://github.com/jessesung/hex2hcd.git
cd hex2hcd
make
./hex2hcd BCM43142A0_001.001.011.0084.0092.hex fw-105b_e065.hcd
sudo cp fw* /lib/firmware

关于生成的文件名命名规则,必须以 fw-<4位产商编号十六进制>_<4位产品编号十六进制>.hcd 格式,全部小写。

延伸阅读:4.2+ 内核需要命名成 BCM.hcd, 4.8+ 内核需要命名成 BCM-<VID>-<PID>.hcd, 比如 BCM-105b-e065.hcd. 参见 [2]

重新加载内核模块:

sudo modprobe -r btusb
sudo modprobe btusb

这个时候我发现我右上角的那个蓝牙图标终于可以发现蓝牙设备了,Yeah!
这里写图片描述

参考资料

[1] Bluetooth not working on ubuntu 14.04 with dell inspiron 15-3521
[2] Bluetooth Broadcom 43142 isn’t working
[3] BCM94352HMB 蓝牙 BCM20702A0 在 Ubuntu 14.04 下的驱动方法

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ThinkPad E430 蓝牙驱动 BCM43142A0 的相关文章

随机推荐

  • pip使用国内源安装软件包

    pip 使用国内源安装软件包 国内常用pip源如下 xff1a 阿里云 http mirrors aliyun com pypi simple 豆瓣 http pypi douban com simple 清华大学 https pypi t
  • 嵌入式Linux移植WIFI调试工具wpa_supplicant ,wpa_cli,wpa_passphrase解决方法 NUC972 ARM9

    前言 xff1a 作者在调试ARM9板上WIFI驱动时 xff0c 发现提供的wireless tools工具下的iwconfig xff0c iwlist等等无法胜任 xff0c 无法连接到WPA WPA2等加密网络 xff0c 这怎么办
  • 单模和多模光纤的区别是什么?

    光纤是一种由挤压的玻璃或塑料制成的柔韧的透明纤维 xff0c 略粗于人的头发 光纤是两端传输光最常用的一种手段 xff0c 并广泛地应用于光纤通信中 光纤有着比有线电缆更长的传输距离和更高的带宽 光纤通常由低折射率的透明纤芯和透明包层材料组
  • 微信扫码登录、支付项目总结

    一 前期准备 项目代码https gitee com lcaicai xdvideo git 微信网站应用扫码登录官方文档 xff1a https open weixin qq com cgi bin showdocument action
  • 编译boost开源库

    编译boost库 1 打开boost库官网 xff08 https www boost org xff09 点击下图中的Download按钮 xff0c 在弹出的页面选择Windows栏中其中一个版本 xff0c 然后指定本地PC保存位置
  • Linux - 阿里云:记录一次低配 ecs 服务器在 cpu、内存打满情况下无法远程连接的解决过程...

    背景 自我学习ing 然后在 1c2g 的云服务器上起了 5 个 mysql 集群节点 xff0c 然后输入命令就开始卡了 xff0c 开始怀疑是不是系统资源爆掉了 来到阿里云后台 因为服务器已经连不上了 xff0c 没办法通过 top 等
  • AirSim无人机仿真(Ubuntu18.04)

    安装过程 xff1a xff11 xff0e 先要安装Unreal Engine 需要在官网 xff08 https www unrealengine com xff09 注册账号 xff0c 并用github拉取代码 xff0c 最后在终
  • 简化代码和Kotlin的特性-Kotlin在Android中的使用(二)

    文章目录 一 使用Kotlin来简化findViewById代码二 Kotlin特性1 不需要 xff1b 结尾2 xff1a 的使用3 没有 new 关键字4 变量 xff0c 常量定义 xff0c 类型推断5 空指针安全6 函数定义7
  • Thunderbird 里面 QQ 企业邮箱 POP3/SMTP 设置

    端口自动检测 接收邮件服务器 xff1a pop exmail qq com 发送邮件服务器 xff1a smtp exmail qq com
  • 图像细节增强(直方图均衡化,对数变换,Gamma变换(校正))

    图像细节增强 xff08 直方图均衡化 xff0c 对数变换 xff0c Gamma变换 xff08 校正 xff09 xff09 文章目录 一 直方图均衡化1 定义2 原理3 方法步骤 二 对数变换1 原理 三 Gamma校正1 原理 前
  • ubuntu20.04搭建arm交叉编译环境

    1 下载arm交叉编译程序 源码下载地址 xff1a Downloads GNU A Downloads Arm Developer 要根据目标系统选择编译器版本 xff0c 我的主板 xff1a aarch64bit体系结构 xff08
  • 【python】《多媒体技术与应用》实验报告「数字视频处理」

    多媒体技术与应用 实验报告 实验名称 数字视频处理 实验时间 2022 4 25 姓名 班级 计非201 学号 成绩 实验目的1 理解并掌握数字视频的相关概念 xff1b 2 掌握并利用 Python 读取和观察视频数据 xff1b 3 掌
  • Python GUI开发之Tkinter:详解安装和使用方法

    Python GUI开发之Tkinter 详解安装和使用方法 Tkinter是Python中最常用的GUI图形库之一 它是Python自带的标准库 所以不需要额外安装 在Python的标准库中 Tkinter模块被用来创建桌面GUI应用程序
  • windows下ssh免密登录ubuntu

    一 先查看要登录的服务器是否安装ssh server服务 dpkg l grep ssh 若没有则需要安装 apt span class token operator span get install openssh span class
  • CentOS 7下安装MPICH3.2过程详解

    最近由于专业需要 xff0c 需要在CentOS 7平台下安装并行计算包MPICH 由于我才接触Linux xff0c 鸟哥的基础入门书也才看了四分之一不到 xff0c 所以安装也一步一步按照官方给的文档安装 官方安装方法 首先附上官网给出
  • 洛谷 P3366 【模板】最小生成树

    洛谷 P3366 模板 最小生成树 题目 给出一个无向图 xff0c 求出最小生成树 xff0c 如果该图不连通 xff0c 则输出orz 题目链接 模板 最小生成树 洛谷 输入 第一行包含两个整数N M xff0c 表示该图共有N个结点和
  • 2019 计蒜之道 复赛 D “星云系统”

    2019 计蒜之道 复赛 D 星云系统 题目 现在给定你一个字符串s以及一个整数k xff0c 请求出s的字典序最小的长度为k的子序列 题目链接https nanti jisuanke com t 39614 输入格式 第一行一个由小写英文
  • Linux mysql 配置

    一 数据库处室化密码 刚刚装好的数据库需要重置密码 alter user user identified by 39 12345678 39 如果是测试环境 或者自己玩的环境 设置密码过于简单 可以通过一下命令修改关于密码的校验 set g
  • 二进制安装Kubernetes(k8s) v1.26.0 IPv4/IPv6双栈

    二进制安装Kubernetes xff08 k8s xff09 v1 26 0 IPv4 IPv6双栈 https github com cby chen Kubernetes 开源不易 xff0c 帮忙点个star xff0c 谢谢了 介
  • ThinkPad E430 蓝牙驱动 BCM43142A0

    最近我意外发现公司的 ThinkPad E430 笔记本竟然是带有蓝牙的 D 查看蓝牙设备标识 ID 利用 lsusb 命令找到蓝牙模块信息 Bus 001 Device 004 ID 105b e065 Foxconn Internati