7

Nokia N9 (meego) を仮想 Bluetooth マウス/キーボードとして使用しようとしています。この小さなプログラムを開始点として使用しようとしていますが、問題が発生しています。このプログラムを実行すると、「バインド エラー (PSM 19): 許可が拒否されました」というエラーが表示されます。これは、Bluetooth ソケットが PSM 19 にバインドされている場合です。

プログラムを通常のユーザーとして実行すると、ルートとして実行してもアクセスが拒否されます。

インターネットを検索すると、0x1000 未満の PSM (ポート) が予約されており、他の Bluetooth 実装ではこれらの PSM にバインドできないことが機能 (jsr-82 など) であることがわかりました。

私は0x1000以上のPSMで同じプログラムを試してみましたが、他のデバイスは近くにHIDデバイスがあることを認識できませんでした:(

Bluetooth スタック自体をハッキングせずにこれらの PSM にバインドする方法はありますか?

4

2 に答える 2

2

PSM 17および19は、HIDプロファイルで使用するためのものです。あなたが言及したNokiaN9はHIDプロファイルをサポートしていないため、接続要求が拒否されていることは理にかなっています。Bluetooth認定リストサイトで、Bluetoothデバイスでサポートされている機能/プロファイルを確認できます。この電話の機能は、https://www.bluetooth.org/tpg/QLI_viewQDL.cfm?qid=18246にリストされています。

編集:以下のコメントによると、バインドエラーが発生しているN9でプログラムを実行して、N9をHIDデバイスにしようとしているようです。考えられる理由は次のとおりです。他のサービス/デーモンがすでにこの同じPSMにバインドされているか、スタックが予約済みPSMへの動的バインディングを受け入れないように構成されているため、サポートされていないプロファイルのPSMへのバインドを拒否します。最後の1つは、修飾されたスタックであり、アプリケーションを介したプロファイル拡張を許可したくないため(小さなプログラムがHIDクライアントにしようとしている場合など)、意味があります。

于 2013-02-09T07:18:04.520 に答える
1

プログラムはルートとして実行する必要があります。

于 2013-02-10T14:44:31.443 に答える