Xboxコントローラをラズパイ4にワイヤレス接続したときの苦労話
ネットで検索してみると、同じ悩みで困っている人たちを見かけ、対策方法も出回っているのになぜか同じ方法で解決しなかったので、自分のやった対策手順をメモ書きしておく
実行環境
-
- カーネル:5.10.17-v7l+
- BlueZ: 5.50
現象
現象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アクセサリを起動して、アップデートが必要ならアップデートする。