web-dev-qa-db-ja.com

Thinkpad X1 Yoga:加速度計Acer BMA150が機能しない

Lenovo Thinkpad X1 Yogaには、Acer BMA150加速度計が付属しています。このデバイスは、カーネル(メインラインカーネル4.6-RC2でUbuntu 16.04を実行)によって認識されます。

root# uname -a
Linux x1 4.6.0-040600rc2-generic #201604031130 SMP Sun Apr 3 15:32:46 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

root# dmesg| grep BMA                      
[    9.611130] input: Acer BMA150 accelerometer as /devices/virtual/input/input15

# udevadm info -q all -n /dev/input/js0
P: /devices/virtual/input/input15/js0
N: input/js0
E: DEVNAME=/dev/input/js0
E: DEVPATH=/devices/virtual/input/input15/js0
E: ID_INPUT=1
E: ID_INPUT_ACCELEROMETER=1
E: MAJOR=13
E: MINOR=0
E: SUBSYSTEM=input
E: USEC_INITIALIZED=9614435

上記から、このデバイスはジョイスティックとして検出され、/dev/input/js0を介して使用できるはずであることを理解しています。ただし、パッケージjstestからjoystickを使用すると、エラーメッセージが表示されます。

root# /usr/bin/jstest /dev/input/js0       
jstest: Operation not permitted

上記のコマンドはrootとして実行されました。ファイルのアクセス許可は適切に見えます:

root# ls -l /dev/input/js0 
crw-rw-r-- 1 root input 13, 0 Apr 12 12:15 /dev/input/js0

dmesgまたは/var/logのファイルにエラーが表示されることはありません。 Wacom Inutos Tabletでjstestを使用すると成功します(ジョイスティックデバイスとしても機能します)。

誰かが加速度計を動作させるのを手伝ってくれますか?

4

このデバイスはハードディスクの衝撃防止に使用され、ジョイスティックとしての検出はエラーです。明らかな理由で、ジョイスティックテスターでの非ジョイスティックのテストが機能しないため、このエラーメッセージが表示されます。

少なくとも他のThinkPadで機能させるには、hdapsdをインストールできます。デーモンとして実行する必要があります-加速度計のデータを読み取り、ラップトップの重要な動きが検出されたときにハードドライブヘッドを待機させます。

新しいデバイス、特にあなたのデバイスでは、hdapsdはハードウェアをサポートしていません。 iio-sensor-proxyをインストールして、ラップトップをテストできます。 Github ページによると、他のYogaラップトップもこのデバイスで動作します。

2
emk2203