V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
zeroday
V2EX  ›  问与答

请问有没有可以在 CentOS 下使用的 USB 蓝牙适配器?

  •  
  •   zeroday · 2015-12-27 16:32:10 +08:00 · 5027 次点击
    这是一个创建于 3255 天前的主题,其中的信息可能已经有所发展或是发生改变。
    笔记本没有蓝牙,系统是 CentOS7, 打算买一个蓝牙适配器接入电脑使用蓝牙键盘,有没有推荐呢?谢谢。
    11 条回复    2015-12-29 10:25:16 +08:00
    redsonic
        1
    redsonic  
       2015-12-27 17:49:47 +08:00
    选 broadcom 支持 4.0 的。 如果需要蓝牙键盘鼠标能在 bios 或 uefi 里操作的好像也只有 broadcom 了。搜某宝应该都有的。
    zeroday
        2
    zeroday  
    OP
       2015-12-27 22:41:16 +08:00
    @redsonic 暂时还不需要在 bios 下可以使用的蓝牙适配器,谢谢推荐了。如果只是在 CentOS 下可以使用的蓝牙适配器有什么推荐吗?
    redsonic
        3
    redsonic  
       2015-12-27 23:02:51 +08:00   ❤️ 1
    没有特殊要求 CSR 和 broadcom 都可以,内核都支持,后者多在无线网卡上集成,前者比较少见,主打蓝牙耳机之类的,但寨的比较多。我用的是比较老的 BCM2046 ,当时主要考虑要在 linux 下用 apple 的触摸板,他也是 broadcom 的,担心设备兼容性问题(和 wifi 的情况差不多)。
    你是笔记本不支持蓝牙(主板上 mini-pcie 没有引出引脚、 bios 不支持)还是没有无线网卡?如果是后者,买块带蓝牙的无线网卡不更好,价格也不贵, 20-30 元就够了,单独一个 usb 蓝牙适配器也这个价钱。
    zeroday
        4
    zeroday  
    OP
       2015-12-28 00:53:07 +08:00
    @redsonic 谢谢推荐。看了你的描述,我觉得奇怪,查了一下笔记本配置

    笔记本是 Dell Latitude E6440 系列
    http://china.dell.com/cn/business/p/latitude-e6440-laptop/pd.aspx?c=cn&cs=cnbsd1&l=zh&s=bsd&~ck=mn

    看官网的介绍应该是有蓝牙的,但是在 CentOS 下的在设置中无法打开蓝牙,就像这样
    redsonic
        5
    redsonic  
       2015-12-28 01:56:13 +08:00   ❤️ 1
    首先检查有没有物理的 wifi 开关。 wifi 开关关了,蓝牙也肯定关了,它俩一般共用一个物理开关。如果没有,或者有但打开还是找不到适配器。用这个命令试试 rfkill list ,我这里的输出是这样的:
    1: phy1: Wireless LAN
    Soft blocked: yes
    Hard blocked: no
    9: hci0: Bluetooth
    Soft blocked: no
    Hard blocked: no
    10: phy5: Wireless LAN
    Soft blocked: yes
    Hard blocked: no
    你应该懂了。可以用 rfkill unblock all 打开。没有 rfkill 命令的话你还要先去装,包名好像就叫 rfkill 。
    还不行就要看看是否真的有这个设备。用 lspci 看看是否有 Network controller ,这个一般是无线网卡。用 lsusb 看看是不是有 broadcom 的设备,如果有,几乎肯定是蓝牙。这样的话最终很可能缺少一个固件。我帮你 google 下,看到这个 http://www.dell.com/support/home/us/en/19/Drivers/DriversDetails?driverId=Y24FF , 下载解包里面都是驱动:

    debs/
    debs/fglrx_12.100-0ubuntu1_amd64.deb
    debs/main/
    debs/main/pulseaudio-patch-salado_1.0_all.deb
    debs/main/oem-audio-hda-daily-lts-quantal-dkms_0.201305151525~precise1_all.deb
    debs/main/oem-power-sata-alpm_1.0simerville1_all.deb
    debs/main/intel-i915-backport-3.8-dkms_3.8.6.0_all.deb
    debs/oem-bt-dw1601-dkms_0.2_all.deb
    debs/fglrx-amdcccle_12.100-0ubuntu1_amd64.deb
    debs/glidepoint_3.6-13_amd64.deb
    debs/fglrx-dev_12.100-0ubuntu1_amd64.deb
    debs/oem-sdcard-o2micro-dkms_1.0_all.deb
    debs/ethernet-suspend-modules-e1000e_0.2_all.deb
    debs/oem-wireless-bluetooth-intel-7260-dkms_3.10.20130828_amd64.deb
    debs/bcmwl-kernel-source_6.30.223.30+bdcom-0ubuntu1~ppa1_amd64.deb
    factory/
    prepackage.dell
    preseed/
    preseed/dell-recovery.seed
    scripts/
    scripts/chroot-scripts/
    scripts/chroot-scripts/fish/
    scripts/chroot-scripts/fish/05-gfx-fglrx.sh
    scripts/chroot-scripts/fish/95-pcie_aspm
    scripts/chroot-scripts/fish/12-glidepoint_3.6-13_amd64.sh
    scripts/chroot-scripts/fish/90-add-bluetooth-restart-workaround
    scripts/chroot-scripts/os-post/
    scripts/chroot-scripts/os-post/05-gfx-fglrx.sh

    和无线 /蓝牙有关的是这几个
    bcmwl-kernel-source_6.30.223.30+bdcom-0ubuntu1~ppa1_amd64.deb
    oem-wireless-bluetooth-intel-7260-dkms_3.10.20130828_amd64.deb
    oem-bt-dw1601-dkms_0.2_all.deb

    如果你的本子是 broadcom 的卡,应该用 bcmwl 或 dw1601 但这些在 centos7 里面肯定都有了,会自动加载,所以到这里,很可能是 intel 的 7260 ,这个卡如果没有 firmware 是起不来的,可以到这里下载: http://linuxwireless.org/en/users/Drivers/iwlwifi/#Firmware ,解压放 /lib/firmware ,重启。应该可以看到 wifi 和蓝牙了吧,还看不到就 rfkill list 再看看...
    zeroday
        6
    zeroday  
    OP
       2015-12-28 11:29:00 +08:00
    @redsonic 非常感谢。

    我试着这样操作
    ➜ ~ rfkill list
    0: phy0: Wireless LAN
    Soft blocked: no
    Hard blocked: no

    ➜ ~ lspci | grep "Network"
    03:00.0 Network controller: Qualcomm Atheros AR9485 Wireless Network Adapter (rev 01)

    ➜ ~ lsusb
    Bus 003 Device 002: ID 8087:8008 Intel Corp.
    Bus 004 Device 002: ID 8087:8000 Intel Corp.
    Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
    Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    Bus 004 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    Bus 003 Device 003: ID 0c45:64d0 Microdia

    firmware 也是有的。
    ➜ firmware ls iwlwifi-7260*
    iwlwifi-7260-10.ucode iwlwifi-7260-7.ucode iwlwifi-7260-9.ucode
    iwlwifi-7260-12.ucode iwlwifi-7260-7.ucode.bak
    iwlwifi-7260-13.ucode iwlwifi-7260-8.ucode

    ➜ firmware ls iwlwifi-7260*
    iwlwifi-7260-10.ucode iwlwifi-7260-7.ucode iwlwifi-7260-9.ucode
    iwlwifi-7260-12.ucode iwlwifi-7260-7.ucode.bak
    iwlwifi-7260-13.ucode iwlwifi-7260-8.ucode

    CentOS 内核版本是
    ➜ firmware uname -r
    3.10.0-327.3.1.el7.x86_64

    现在就是不确定是不是驱动的问题, CentOS 下的驱动还没有 Google 到
    redsonic
        7
    redsonic  
       2015-12-28 12:05:40 +08:00   ❤️ 1
    你的 wifi 是 Atheros AR9485
    https://wireless.wiki.kernel.org/en/users/drivers/ath9k/btcoex
    WB225 ( AR9485 + AR3012 )
    蓝牙芯片是 AR3012
    你可以按上面说的先 rmmod ath9k 把相关驱动卸载,再载入带参数的试试
    modprobe ath9k btcoex_enable=1
    redsonic
        8
    redsonic  
       2015-12-28 12:20:35 +08:00   ❤️ 1
    虽然我也觉得这个卡应该是带蓝牙的,但 lsusb 看不到,说明 linux 认为压根就不存在蓝牙适配器这个物理设备。是不是 bios 里面可能把它禁了?
    zeroday
        9
    zeroday  
    OP
       2015-12-28 18:12:07 +08:00
    @redsonic 看了一下 bios ,启用了 bluetooth. 下午试着用 Ubuntu live cd 打开,装了官网 ubuntu deb 的驱动也没识别出来。
    redsonic
        10
    redsonic  
       2015-12-28 19:12:22 +08:00
    live cd 应该驱动更不全。 你 bios 启用了蓝牙 lsusb 有看到新增设备吗?如果再没有, 90%可以判断就是没有蓝牙了,再或者是 OEM 定制的奇葩卡,只能装 dell windows 的驱动,在 windows 下用。
    zeroday
        11
    zeroday  
    OP
       2015-12-29 10:25:16 +08:00
    @redsonic 刚刚 broadcom 芯片的蓝牙适配器到了,插入电脑直接可用。

    bios 启用蓝牙后,输入 lsusb 显示的设备还是没有变。非常感谢你的帮助。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2858 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 12:33 · PVG 20:33 · LAX 04:33 · JFK 07:33
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.