Bluetooth HIDを含むデバイスを作成しようとしています(具体的にはWiiリモコン。
hid-wiimote
カーネルモジュールをロードした後、次のものを使用できます。ヒダフィバックエンドを持つライブラリはlinux-static-hidraw
デバイスと直接通信しますが、カーネルドライバは定期的にポーリングし、動作モードを頻繁に変更します。コントローラのモジュールをブラックリストに登録すると、/etc/modprobe.d
コントローラのLEDが点滅し続け、ライブラリから次のエラーが返されます。
要求されたVID / PIDを持つHIDデバイスがシステムに見つかりません。
権限が正しく設定されていることを確認してくださいudev
。以下はカスタムルールファイルです。
KERNEL=="hidraw*", KERNELS=="0005:057E:*.*", MODE="0666"
参考までに、以下は最小限のRust例です。
/**
* [dependencies]
* hidapi = { version = "2.4.0", default-features = false, features = ["linux-static-hidraw"] }
*/
use hidapi::HidApi;
fn main() {
let hid = HidApi::new().unwrap();
let wiimote = hid.open(0x057e, 0x0306).unwrap(); // error if `hid-wiimote` isn't loaded
}
答え1
わかりましたが、間違ったAPIを使用しようとしました。hid_wiimote
カーネルモジュールをロードした後、Hidrawを介してWii Remoteと通信できますが、基本的な通信方法は次のとおりです。Bluetooth L2CAP、ようにWiiBrewページ説明する。