xml地图|网站地图|网站标签 [设为首页] [加入收藏]
来自 每日资讯 2019-10-06 10:42 的文章
当前位置: 新濠国际登录平台 > 每日资讯 > 正文

我使用的是台式机+蓝牙控制器,Linux下可通过l

1.安装蓝牙驱动

我使用的是台式机+蓝牙控制器,首先需要安装蓝牙驱动,否则开机会报错(最后一行):

新濠国际登录平台 1

bluetooth hci0: firmware: failed to load brcm/BCM20702A1-0a5c-21ec.hcd (-2)

根据错误信息,上网搜索对应的蓝牙驱动,我在GitHub上找到了这个BCM20702A1-0a5c-21ec.hcd驱动,下载后放到 /lib/firmware/brcm 目录下,重启即可加载。

1.安装蓝牙驱动

我使用的是台式机+蓝牙控制器,首先Kali Linux需要安装蓝牙驱动,否则开机会报错(最后一行):

新濠国际登录平台 2

bluetooth hci0: firmware: failed to load brcm/BCM20702A1-0a5c-21ec.hcd (-2)

根据错误信息,上网搜索对应的蓝牙驱动,我在GitHub上找到了这个BCM20702A1-0a5c-21ec.hcd驱动,下载后放到 /lib/firmware/brcm 目录下,重启即可加载。

BCM94352HMB蓝牙BCM20702A0在Ubuntu 14.04下的驱动方法,bcm20702a0驱动下载

作者:秋忆

出处:

  先确认蓝牙的产商编号(idVendor)和产品编号(idProduct),Linux下可通过lsusb或usb-devices命令查看,Windows下在设备管理里查看,如下图所示。我的蓝牙idVendor为0x13d3,idProduct为0x3404

 新濠国际登录平台 3

 

  Broadcom的大部分蓝牙设备都需要一个产商的固件补丁(RAM patch file),Linux下叫firmware,BCM20702A0也不例外。在电脑提供商提供的Windows驱动安装包里可以找到类似“BCM20702A1_001.002.014.1443.1479.hex”这样的文件,就是固件内存补丁了,里面保存着十六进制的文本,可以打开来看。

 

  怎么找到自己的蓝牙设备的固件内存补丁文件呢?

 

  方法一、在Windows驱动安装包里找到驱动的信息文件(.inf),如我的是“bcbtums-win8x64-brcm.inf”。打开查找“USBVID_13D3&PID_3404”( 产商编号和产品编号按自己的),找到类似如下信息:

  %AzBtModule.DeviceDesc%=RAMUSB3404,         USBVID_13D3&PID_3404

 

  然后再查找“[RAMUSB3404”,会找到类似如下信息:

    [RAMUSB3404.CopyList]

    bcbtums.sys

    btwampfl.sys

    BCM20702A1_001.002.014.1443.1479.hex

 

  看到“.hex”的文件名了吧,就是它了。

 

  方法二、在Windows的设备管理器里查看,如下图所示。

新濠国际登录平台 4 

 

  把“.hex”文件保存起来,等下会用到。现在重启进入Ubuntu 14.04操作系统……

 

  Ubuntu下的操作以命令为主。

  第一步,修改内核,以kernel 3.13为例。

    cd ~

    mkdir kernel

    cd kernel

    apt-get build-dep linux-image-`uname -r`

    apt-get source linux-image-`uname -r`

    cd linux-3.13.0/drivers/bluetooth/

  然后编辑代码文件btusb.c,找到BCM20702A0的设备编号代码,把

    /* Broadcom BCM20702A0 */

    { USB_DEVICE(0x0b05, 0x17b5) },

    { USB_DEVICE(0x0b05, 0x17cb) },

    { USB_DEVICE(0x04ca, 0x2003) },

    { USB_DEVICE(0x0489, 0xe042) },

    { USB_DEVICE(0x13d3, 0x3388), .driver_info = BTUSB_BCM_PATCHRAM },

    { USB_DEVICE(0x13d3, 0x3389), .driver_info = BTUSB_BCM_PATCHRAM },

    { USB_DEVICE(0x413c, 0x8197), .driver_info = BTUSB_BCM_PATCHRAM },

    { USB_DEVICE(0x413c, 0x8143), .driver_info = BTUSB_BCM_PATCHRAM },

  改为

    /* Broadcom BCM20702A0 */

    { USB_DEVICE(0x13d3, 0x3404), .driver_info = BTUSB_BCM_PATCHRAM },

    { USB_DEVICE(0x0b05, 0x17b5) },

    { USB_DEVICE(0x0b05, 0x17cb) },

    { USB_DEVICE(0x04ca, 0x2003) },

    { USB_DEVICE(0x0489, 0xe042) },

    { USB_DEVICE(0x13d3, 0x3388), .driver_info = BTUSB_BCM_PATCHRAM },

    { USB_DEVICE(0x13d3, 0x3389), .driver_info = BTUSB_BCM_PATCHRAM },

    { USB_DEVICE(0x413c, 0x8197), .driver_info = BTUSB_BCM_PATCHRAM },

    { USB_DEVICE(0x413c, 0x8143), .driver_info = BTUSB_BCM_PATCHRAM },

  保存修改,然后编译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

 

  第二步,生成蓝牙设备的固件(firmware)。

新濠国际登录平台,    git clone

    cd hex2hcd

    make

    ./hex2hcd BCM20702A1_001.002.014.1443.1479.hex fw-13d3_3404.hcd

  注意生成的文件名必须以“fw-<4位产商编号十六进制>_<4位产品编号十六进制>.hcd”格式,全部小写。

 

  然后复制固件文件到指定的目录:

    cp fw-13d3_3404.hcd /lib/firmware/

    chown root:root /lib/firmware/fw-13d3_3404.hcd

 

  OK,完成。可以执行“rmmod btusb; modprobe btusb”或重启操作系统看蓝牙正常驱动没有。如果正常,执行命令“rfkill list”可以看到hci0,然后执行“hciconfig hci0 up”可以让蓝牙开启,“hcitool dev”可以看到蓝牙设备,“hcitool scan”可以扫描周围的蓝牙信号。如果不正常,执行dmesg查看日志进行排查。

 

  注意,由于修改了内核模块,如果操作系统升级内核将会令蓝牙驱动失效,需要在新内核下重新编译安装btusb模块。

14.04下的驱动方法,bcm20702a0驱动下载 作者:秋忆 出处: 先确认蓝牙...

2.安装Blueman

启动dbus和蓝牙服务(使用service或/etc/init.d/均可):

service dbus start
/etc/init.d/bluetooth start

Blueman是个非常方便的图形化蓝牙管理软件,使用apt-get可以直接安装它:

apt-get install blueman

完成后左下角会出现蓝牙图标(也可使用blueman-applet手动启动)。

apt-get install pulseaudio pulseaudio-module-bluetooth pavucontrol bluez-firmware

安装音频相关模块,如果缺少这些模块的话,连接耳机将会出现
blueman.bluez.errors.DBusFailedError: Resource temporarily unavailable 的错误信息。

新濠国际登录平台 5

service bluetooth restart
killall pulseaudio

重启完蓝牙服务,这时候就可以与蓝牙耳机配对了,不过音质很差,需要在音频配置里选择高保真回放(A2DP信宿),如果报错的话,则还需要对配置文件进行一些修改。

2.安装Blueman

启动dbus和蓝牙服务(使用service或/etc/init.d/均可):

service dbus start
/etc/init.d/bluetooth start

Blueman是个非常方便的图形化蓝牙管理软件,使用apt-get可以直接安装它:

apt-get install blueman

完成后左下角会出现蓝牙图标(也可使用blueman-applet手动启动)。

apt-get install pulseaudio pulseaudio-module-bluetooth pavucontrol bluez-firmware

安装音频相关模块,如果缺少这些模块的话,连接耳机将会出现
blueman.bluez.errors.DBusFailedError: Resource temporarily unavailable 的错误信息。

新濠国际登录平台 6

service bluetooth restart
killall pulseaudio

重启完蓝牙服务,这时候就可以与蓝牙耳机配对了,不过音质很差,需要在音频配置里选择高保真回放(A2DP信宿),如果报错的话,则还需要对配置文件进行一些修改。

本文由新濠国际登录平台发布于每日资讯,转载请注明出处:我使用的是台式机+蓝牙控制器,Linux下可通过l

关键词: