Xboxコントローラをラズパイ4にワイヤレス接続したときの苦労話


Xboxコントローラをラズパイ4にワイヤレス接続したときの苦労話

ネットで検索してみると、同じ悩みで困っている人たちを見かけ、対策方法も出回っているのになぜか同じ方法で解決しなかったので、自分のやった対策手順をメモ書きしておく

実行環境

現象

現象1: BluetoothからXbox Controllerが見えない

Xboxコントローラをペアリングモードにしてもラズパイ上から確認できない。
※以下の状態

対策1: xpadneoをインストールする

xpadneoをインストールする

$ sudo apt-get install dkms raspberrypi-kernel-headers
$ git clone https://github.com/atar-axis/xpadneo
$ cd xpadneo
$ sudo ./install.sh
$ sudo modprob hid-xpadneo
$ sudo reboot

その後、再起動すると表示されるようになる

現象2: ペアリングしてみたらBluezが停止する

ペアリングを行った後、Xboxコントローラを接続しようとBluetoothアイコンをクリックしても何も反応しなくなる

対策2: Bluezをアップデートする

www.bluez.orgから最新のリリースを確認してインストールする
※今回は5.58を使用する

$ wget http://www.kernel.org/pub/linux/bluetooth/bluez-5.58.tar.xz
$ tar xvf bluez-5.58.tar.xz
$ cd bluez-5.58
# 必要パッケージをインストールする
$ sudo apt install libglib2.0-dev libdbus-1-dev libical-dev libudev-dev libreadline-dev
$ ./configure --prefix=/usr --mandir=/usr/share/man --sysconfdir=/etc --localstatedir=/var --enable-experimental
$ make -j4
$ sudo make install
$ sudo reboot

対策2を実行後、対策1をもう一度実行する。

現象3: 接続できない、接続・切断を繰り返す

ペアリング後、コントローラと接続できない。

対策3-1: bluetoothの設定を変更する

Bluetoothのプライバシー設定をDeviceに変更する

$ sudo gedit /etc/bluetooth/main.conf
###############################
[General]
#Privacy = off
 ↓
Privacy = device
###############################

対策3-2: Xboxコントローラのファームウェアをアップデートする

XboxコントローラをUSBで手近なWindows 10 PCに接続する。

Xboxアクセサリを起動して、アップデートが必要ならアップデートする。

参考リンク