[Bluez]1.Download install Bluez on Ubuntu
Download and Install
extracted it and built it:
xz -d bluez-5.64.tar.xz tar -xvf bluez-5.64.tar
cd bluez-5.64
**Read the README! **It lists the dependencies and the configure switches
sudo apt-get build-dep bluez
fix it
sudo cp /etc/apt/sources.list /etc/apt/sources.list~ sudo sed -Ei 's/^# deb-src /deb-src /' /etc/apt/sources.list sudo apt update
To configure run:
./configure --prefix=/usr --mandir=/usr/share/man \ --sysconfdir=/etc --localstatedir=/var
sudo apt install python-docutils
sudo which rst2man
Configure automatically searches for all required components and packages.
To compile and install run:
make && sudo make install
pip3 install docutils
After installing, you should find bluetoothd in /usr/libexec/bluetooth . You should also see bluetoothd in /usr/lib/bluetooth .
Go to each of these directories and type
bluetoothd -v
You'll note that the one in libexec is new and the one in lib is old.
In order to make sure that d-bus is talking to you new BlueZ 5.64 and not your old BlueZ 5.48, you need to tell systemd to use the new bluetooth daemon:
sudo vim /lib/systemd/system/bluetooth.service
Make sure the exec.start
line points to your new daemon in /usr/libexec/bluetooth .
For me, that wasn't enough. No matter what, upon restart I always got bluetoothd 5.48... So I just created a symlink from the old one to the new.
First rename the old file:
sudo mv /usr/lib/bluetooth/bluetoothd /usr/lib/bluetooth/bluetoothd-548.orig
Create the symlink:
sudo ln -s /usr/libexec/bluetooth/bluetoothd /usr/lib/bluetooth/bluetoothd
sudo systemctl daemon-reload