Tag: blueman

Internet via Bluetooth in Linux: how to set up and why the speed is slow

In this tutorial, you will learn how to set up an Internet connection via Bluetooth in Linux, as well as why the Internet speed via Bluetooth is slow.

How to connect my computer to the Internet through my phone via Bluetooth

Internet via Bluetooth is one of the options for using a mobile phone to access the Internet from a computer. Looking ahead, we note that this is not the best option because:

1) the connection speed will be quite slow,

2) the setup, although generally simple, is slightly more complicated than other connection options

As alternative methods for accessing the Internet from a computer via a mobile phone, the following are recommended:

If your computer does not have Wi-Fi and you do not have a USB data cable for connecting your phone by wire, then the method described in this article is suitable for you – accessing the Internet via the mobile phone's Bluetooth tethering.

The connection algorithm is as follows:

  1. Pairing your phone and computer via Bluetooth
  2. Turning on the Bluetooth tethering on the phone
  3. Setting up a computer, which consists in connecting to the phone's Bluetooth tethering (selecting Bluetooth as the Access point)

So, let's look at how to connect a computer to the Internet through Bluetooth and your mobile phone in Linux.

Checking and starting the Bluetooth service

Connecting a mobile phone to a computer via Bluetooth is called pairing.

Check if the Bluetooth service is running on your computer – to do this, connect your Bluetooth device (if it is disconnected) and look for the Bluetooth icon next to the clock:

The Bluetooth service status can be checked on the command line:

systemctl status bluetooth

If the status of the service is other than “active (running)” and you do not see the Bluetooth tray icon, then you need to execute the following commands from this section. If the service is running, skip the following commands and skip directly to the next section to pair your phone with your computer.

Install required packages in Debian, Linux Mint, Ubuntu, Kali Linux and their derivatives:

sudo apt install bluez blueman

Install required packages in Arch Linux, Manjaro, BlackArch and their derivatives:

sudo pacman -S bluez bluez-utils pulseaudio-bluetooth blueman

The following commands are the same for all distributions.

Start bluetooth service:

sudo systemctl start bluetooth

Adding it to startup:

sudo systemctl enable bluetooth

Connecting a mobile phone to a computer via Bluetooth (phone pairing)

Turn on Bluetooth on your mobile phone.

Both a mobile phone and a computer can initiate pairing.

On your mobile phone or computer, search for Bluetooth devices.

If the devices do not see each other, then start searching for devices at the same time on the computer and mobile phone.

When the desired device is found, click on it to start pairing.

A prompt will appear on your mobile phone to establish pairing – agree to this proposal.


After that, on the computer it will be proposed to pair with the phone – agree (“Confirm”). If you are prompted to connect by someone else's device, then reject the request (“Deny”).

Immediately after pairing, or at the next connection, an authentication request will be made – the options are “Always accept” and “Accept”. The “Deny” button means rejecting the request.

After pairing, and also if you have selected the “Always accept authentication” option, the devices will connect to each other automatically as soon as Bluetooth is enabled on them.

Turning on the Bluetooth tethering

Go to the settings of your phone, this can be done by unrolling the curtain from top to bottom and clicking the gear icon.

Further, the name of the settings items may differ on different phone models, but the essence will be the same everywhere.

Go to the “Connections” section.

Find the item “Mobile Hotspot and Tethering” there.

Turn on “Bluetooth tethering”.


Connect to a Bluetooth tethering on a computer

Your computer's network settings should now show an option for Bluetooth, Mobile broadband, or similar.

Activate this connection so that the computer starts using the Internet via Bluetooth.

You can turn on the Bluetooth connection directly on the computer, bypassing the steps to turn on the Bluetooth tethering on the phone as shown above – in this case, the phone will prompt you to Allow Bluetooth tethering.

Why is the Internet speed slow over Bluetooth

When successfully connecting to the Internet via Bluetooth, the first thing you may notice is the speed of the connection. On the most modern Bluetooth 5.* protocols, it is up to 1.4 megabits per second (2 megabits per second at the moment). As you can see from the screenshot, the speedtest.net Internet connection speed test showed a speed of 1.66 megabits per second.

This is 210-220 kilobytes per second, if these units are more familiar to you. This is very slow, and on Bluetooth versions 4.* the speed is only 800 kilobits per second, that is, 2 times slower.

See also: How to find out the Bluetooth version for the adapter and peripherals in Linux

Thus, if the speed of the Internet via Bluetooth is too slow for you, all you can do to increase the speed of the Internet via Bluetooth is to switch to the Bluetooth 5.* protocol (both devices – the phone and the computer – must support this protocol). If this speed is not enough for you, then use Wi-Fi or data transfer via USB:

How to remove Mobile broadband and Bluetooth connection in NetworkManager

NetworkManager is a universal application for managing all kinds of network connections:

  • wired connections
  • wireless connections
  • USB modem
  • Bluetooth modem

Wired and wireless connections can be deleted in the Network Settings and Network Connections interfaces.

With Mobile broadband connections (using a mobile phone as a USB modem) and Bluetooth connections, the situation is somewhat different.

In Network Settings, when you select a Bluetooth connection, the button (minus sign, “-”) to delete this connection is inactive.

In Network Connections, it seems like you can delete Bluetooth connections – the delete button is active, but actually they are not deleted.

You can look for these connections in the /etc/NetworkManager/conf.d and /usr/lib/NetworkManager/conf.d direcotories – they are actually present in them, you can even delete the files of these connections. But this does not solve the problem – these files reappear.

See Also: Where NetworkManager stores settings

The crux of the problem is that Bluetooth connections are controlled by another service, and NetworkManager only receives information from it about available connections, so you need to delete Bluetooth connections using utilities responsible for Bluetooth.

In the command line, an unnecessary connection can be removed using the following algorithm.

1. The following command displays a list of available Bluetooth connections:

bluetoothctl devices

2. To remove an unnecessary connection, enter a command of the form:

bluetoothctl remove MAC_ADDRESS

For instance:

bluetoothctl remove C8:38:70:AD:BB:47

As you can see, the specified Bluetooth connection has disappeared from the list of network connections in NetworkManager.

You can also see the MAC_ADDRESS in Network Settings by going to the Bluetooth tab.

To copy the MAC_ADDRESS, click the gear icon.

The MAC_ADDRESS value can also be viewed in the Blueman applet.