我怎样才能知道我的笔记本电脑是否具备蓝牙功能?

如何判断我的笔记本电脑是否有蓝牙适配器?

2它是否具备硬件,或者您需要在Ubuntu上进行启用? - Mitch
10个回答

你的内核在启动Ubuntu时会检测到它并加载相应的模块。 从命令行的gnome-terminal中输入以下命令:
dmesg | grep -i blue

如果您的电脑显示类似下面的输出,那么它具备蓝牙功能。
[    2.933062] usb 1-1.4: Product: Broadcom Bluetooth Device

1这个解决方案在我的情况下没有产生正确的结果。请参考我的答案 - landroni
1如果你的笔记本电脑已经很久没有启动了,那么这个方法可能行不通。内核环形缓冲区的大小是有限的,并且只保留最新的消息。或者你可以尝试使用 journalctl -b 命令。 - x-yuri


5你真的需要 sudo 吗?这里可以不用... - landroni
10请注意,如果您的蓝牙设备使用UART而不是USB(如果它是SOC的一部分),则此方法将无法使用。在这种情况下只能使用“dmesg”。 - RhodanV5500
我的没有显示出来,但它是正常工作的。可能与PCIe有关吗?它是一款高通Atheros QCA9377。 - David Jonsson

在我的Asus笔记本电脑上,右上角有一个蓝牙图标。
dmesg | grep Blue

得到:

[    3.757769] Bluetooth: Core ver 2.16
[    3.757798] Bluetooth: HCI device and connection manager initialized
[    3.757802] Bluetooth: HCI socket layer initialized
[    3.757805] Bluetooth: L2CAP socket layer initialized
[    3.757814] Bluetooth: SCO socket layer initialized
[    3.767297] Bluetooth: Generic Bluetooth USB driver ver 0.6
[    4.332846] Bluetooth: RFCOMM TTY layer initialized
[    4.332853] Bluetooth: RFCOMM socket layer initialized
[    4.332856] Bluetooth: RFCOMM ver 1.11
[    4.340772] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[    4.340776] Bluetooth: BNEP filters: protocol multicast

但是:sudo lsusb |grep Bluetooth没有返回任何内容。
还要检查一下是否有硬件网络(飞行模式)开关。这可能会禁用蓝牙并使其在Ubuntu中不可见。

5上面的"dmesg"输出并不表示蓝牙设备。即使在我没有蓝牙功能的台式机上也会显示出来。因此,上述输出在这种特定情况下没有用处。但如果它在顶部给出了像"@kingmilo"指出的[ 2.933062] usb 1-1.4: Product: Broadcom Bluetooth Device这样的内容,则表示你有该设备。 - saji89
但是我对你系统的输出感到困惑。当你执行 dmesg | grep Bluesudo lsusb |grep Bluetooth 时,你的蓝牙设备是否被禁用(通过硬件开关)? - saji89
当上述输出出现时,BT已被启用并正常工作。我的笔记本电脑(华硕G73)没有硬件开关。 - TiloBunt
1我的笔记本电脑没有蓝牙功能,但是当我运行dmesg | grep -i bluetooth命令时,仍然会显示蓝牙相关的信息。我认为这更与/etc/init/bluetooth.conf文件有关,而不是实际的硬件问题。 - Sergiy Kolodyazhnyy

所有提出的答案在我的情况下都没有产生正确的结果。为了检测我的笔记本电脑是否确实有蓝牙适配器,我不得不按照这些指示进行操作:这些说明
sudo apt-get install bluez-utils

然后:
sudo /etc/init.d/bluetooth restart

请确保您已安装了所需的所有内容,并且一切都已正确初始化。现在:
geek@liv-inspiron:~$ hcitool dev
Devices:
    hci0    00:11:95:00:1A:CF

请注意,您的蓝牙设备将具有不同的ID。我还必须确保在Blueman中蓝牙处于“打开”状态。
在执行lsusb |grep -i bluetoothdmesg | grep -i blue之前或之后,都没有输出任何相关信息(即为空)。然而,蓝牙适配器实际上是存在的,我可以向其他设备发送文件...

6在16.04版本中,安装蓝牙工具的包是sudo apt-get install bluez-tools - pd12
6BlueZ 5.44起,hcitool已被弃用。你可以使用bt-adapter -lbluetoothctl devices - mirh
sudo /etc/init.d/bluetooth restart 帮助我激活了蓝牙并找到了鼠标。 - undefined

你的笔记本电脑可能在电池下面的贴纸上印有蓝牙 MAC 地址。

没有确切的方法找到它。一些蓝牙模块不受 Linux 内核支持,可能无法被检测到。

通常情况下,你可以在 lsusblspci 输出中查找蓝牙模块。但即使一个模块受支持,也可能存在不包含 "bluetooth" 的输出。

例如,我有一个正常工作的 Atheros AR3012 蓝牙模块。

lsusb 显示为 13d3:3408 IMC Networks

起初它不受支持,我对内核进行了补丁以使其工作。现在这个补丁已应用于所有 Ubuntu 支持的内核。

如果你确定你拥有蓝牙,并且它在 Ubuntu 上不工作,请在终端中运行该命令将其报告给 launchpad。

ubuntu-bug linux

此外,除了由apport收集的信息外,还请加入sudo cat /sys/kernel/debug/usb/devices终端命令的输出。

为什么不使用 lshw(列出硬件)并以不区分大小写的方式捕获单词 blue,使用参数 -i
sudo lshw | grep -i blue

除了发布的命令之外,每个命令有时可能无法报告蓝牙适配器,你可以尝试以下操作。
$ hciconfig -a

有一个更简单的解决方案。
1. 按下Super(Windows)键。 2. 搜索“蓝牙”。 3. 这应该告诉你是否有蓝牙适配器。我的没有,所以显示为“未找到蓝牙适配器”。如果你有一个,它应该很明显。

看到我的屏幕右上角显示了一个蓝牙图标,而且当我搜索时它也会弹出来,但是我似乎无法将其连接到任何设备。 - Azarius Jenkins
当你将蓝牙可见性设置为“开启”并输入hcitool dev时,蓝牙设备会显示出来。 - user496637
你使用什么进行搜索,也就是说,你的超级键映射到了什么?在18.04(Gnome shell)中,我可以看到所有窗口的视图,我认为这是默认设置。 - nealmcb

如果您在dmesg等地方没有看到输出,可能需要安装内核模块。
modprobe btusb
然后您可以检查dmesg等。
[Thu Jul 14 21:56:21 2022] Bluetooth: Core ver 2.22
[Thu Jul 14 21:56:21 2022] Bluetooth: HCI device and connection manager initialized
[Thu Jul 14 21:56:21 2022] Bluetooth: HCI socket layer initialized
[Thu Jul 14 21:56:21 2022] Bluetooth: L2CAP socket layer initialized
[Thu Jul 14 21:56:21 2022] Bluetooth: SCO socket layer initialized
[Thu Jul 14 21:57:27 2022] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[Thu Jul 14 21:57:27 2022] Bluetooth: BNEP filters: protocol multicast
[Thu Jul 14 21:57:27 2022] Bluetooth: BNEP socket layer initialized

如果您希望确保内核模块在启动时加载,请将其添加到/etc/modules中。
echo "btusb" >> /etc/modules

  • 相关问题