How can I tell if my laptop has a Bluetooth adapter?
Your kernel would have picked it up and loaded a module for it when you started Ubuntu. From the command line, gnome-terminal type this command:
dmesg | grep -i blue
If you get output simliar to the below then your laptop has bluetooth capability.
[ 2.933062] usb 1-1.4: Product: Broadcom Bluetooth Device
sudo lsusb |grep Bluetooth
Should give an output similar to:
Device 005: ID 0a12:0001 Cambridge Silicon Radio, Ltd Bluetooth Dongle (HCI mode)
If there is no bluetooth device, you'll get no output for this command.
on my Asus laptop i have a Bluetooth icon on the top right and
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
Doesn't return anything.
also check if you have a Hardware network (airplane mode) switch. This can disable bluetooth and make it not visible to Ubuntu
All of the proposed answers failed to produce a correct result in my case. To detect whether my laptop indeed has a Bluetooth adapter I had to follow these instructions:
sudo apt-get install bluez-utils
sudo /etc/init.d/bluetooth restart
The above to make sure that you have installed all that is needed, and that all was properly initialized. Now:
geek@liv-inspiron:~$ hcitool dev Devices: hci0 00:11:95:00:1A:CF
Note that your Bluetooth device will have a different ID. I also had to make sure that in Blueman Bluetooth was
Before or after both
lsusb |grep -i bluetooth and
dmesg | grep -i blue do NOT output anything of interest (i.e. empty). Yet, the Bluetooth adapter is physically present and I can send files to another device...
There is no way to find it out precisely. Some bluetooth modules are not supported by linux kernel and may not be detected.
Generally, you would look for bluetooth modules in
lspci outputs. But even if a module is supported, there may be output, which does not contain "bluetooth".
For instance, I have a working Atheros AR3012 bluetooth module.
lsusb shows it as
13d3:3408 IMC Networks.
It was not supported initially, I made a kernel patch to get it work. Now this patch is applied to all Ubuntu supported kernels.
If you are sure that you have bluetooth, and it does not work in Ubuntu, report this to launchpad by running in terminal
And in addition to information collected by apport add output of
sudo cat /sys/kernel/debug/usb/devices terminal command.
If you are not seeing output in dmesg, etc. You may need to install the kernel module
Then you can check dmesg, etc.
[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
(if you wish to ensure that kernel module loads at boot time, add it to /etc/modules.
echo "btusb" >> /etc/modules