Linux: add native support for Bluetooth in client

This commit is contained in:
Philippe Teuwen 2020-04-29 01:41:22 +02:00
commit 7ca7677568
8 changed files with 151 additions and 23 deletions

View file

@ -25,9 +25,11 @@ Install the requirements
```sh
sudo apt-get install --no-install-recommends git ca-certificates build-essential pkg-config \
libreadline-dev gcc-arm-none-eabi libnewlib-dev qtbase5-dev
libreadline-dev gcc-arm-none-eabi libnewlib-dev qtbase5-dev libbluetooth-dev
```
If you don't need the native Bluetooth support in the client, you can skip the installation of `libbluetooth-dev`.
If you don't need the graphical components of the Proxmark3 client (such as in `hw tune`), you can skip the installation of `qtbase5-dev`.
If you get some (non blocking) error at runtime such as _Gtk-Message: Failed to load module "canberra-gtk-module"_ you may have to install `libcanberra-gtk-module`.
@ -35,17 +37,21 @@ If you get some (non blocking) error at runtime such as _Gtk-Message: Failed to
## On ArchLinux
```sh
sudo pacman -Sy git base-devel readline arm-none-eabi-gcc arm-none-eabi-newlib qt5-base --needed
sudo pacman -Sy git base-devel readline arm-none-eabi-gcc arm-none-eabi-newlib qt5-base bluez --needed
```
If you don't need the native Bluetooth support in the client, you can skip the installation of `bluez`.
If you don't need the graphical components of the Proxmark3 client (such as in `hw tune`), you can skip the installation of `qt5-base`.
## On Fedora
```sh
sudo dnf install git make gcc gcc-c++ arm-none-eabi-gcc-cs arm-none-eabi-newlib readline-devel qt5-qtbase-devel libatomic
sudo dnf install git make gcc gcc-c++ arm-none-eabi-gcc-cs arm-none-eabi-newlib readline-devel qt5-qtbase-devel bluez-libs-devel libatomic
```
If you don't need the native Bluetooth support in the client, you can skip the installation of `bluez-libs-devel`.
If you don't need the graphical components of the Proxmark3 client (such as in `hw tune`), you can skip the installation of `qt5-qtbase-devel`.
## On openSUSE
@ -56,6 +62,8 @@ sudo zypper install git patterns-devel-base-devel_basis gcc-c++ readline-devel c
If you don't need the graphical components of the Proxmark3 client (such as in `hw tune`), you can skip the installation of `libqt5-qtbase-devel`.
Note that Bluez is not available on openSUSE so the native Bluetooth support won't be available in the client.
# Clone the RRG/Iceman repository
```sh

View file

@ -19,6 +19,14 @@ make clean
make SKIPQT=1
```
On Linux hosts, if the Bluez headers and library are present, the client will be compiled with native Bluetooth support. It's possible to explicitly skip Bluetooth support with:
```
make clean
make SKIPBT=1
```
## Firmware
By default, the firmware is of course tuned for the Proxmark3 Rdv4.0 device, which has built-in support for 256kb onboard flash SPI memory, Sim module (smart card support), FPC connector.