問題タブ [libusb]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - pyusb: 構成を設定できません
マウスのライトをオンまたはオフにできるスクリプトを (Linux で) 作成しようとしています。
これは私がこれまでに持っているコードです:
これは正常に動作しますが、次のことを試みた場合: dev.set_configuration()
claim_interface(dev, interface)の後
スクリプトは次のエラーを返します: usb.core.USBError: Resource busy
カーネル ドライバーをデタッチした後もまだビジー状態になるのはなぜですか?
windows - libusb-win32-キーボードから読み取ることができません
Windows 7で、キーボード用のカスタム「ドライバー」(重要な場合はHID)を作成しようとしています。最終的な目標は、2つのキーボードをコンピューターに接続することですが、そのうちの1つのキーをすべて特別なものにマッピングします。 (カスタム)関数。
私の考えは、libusb-win32を2番目のキーボードのドライバーとして使用し、キーボードからデータを読み取ってそれに基づいて動作する小さなプログラムを作成することです。ドライバを正常にインストールし、デバイスはプログラムから認識されますが、キーを押しているにもかかわらず、すべての転送がタイムアウトします。
これが私のコードです:
そしてそれは戻ります:
(私はそれらの5秒間にたくさんのキーを押しています)
バス、デバイス、構成、インターフェース、エンドポイントは1つだけです。エンドポイントにはbmAttributes = 3
、割り込み転送を使用する必要があることを意味します(右?)
では、なぜ私は何も得られないのですか?私はlibusbを誤用していますか?libusbなしでこれを行う方法を知っていますか?
java - java: エンドポイントが見つかりませんが、python は動作します
http://libusbjava.sourceforge.netから Java libusb を試してみたいのですが、デバイスに接続することさえできません...
私は以前にこのpythonコードを持っていました:
これは本当にうまくいきました。今、私はJavaで同じものを作りたかったので、これを作りました:
しかし、私が今得るのは
からの値を再確認し、構成 1 とインターフェイス 0 を持っているため、それは真実ではlsusb
ありません...デバイスに接続するのが非常に難しいのは何ですか? 理解できません...
java - デバイスがクラッシュした後、デバイスに再接続します
libusb-javaといくつかの自作デバイスで次の問題が発生します。そのようなデバイスは、大量の電力を消費するためにUSBポートから切断される可能性があります(例:私は500mA以上を必要とするUSB-LEDライトを持っています)。この場合、USBコントローラーはデバイスをリセットし、デバイスは正常に再起動します。
今では、すべての例外でデバイスを再起動しようとすることを除いて、このような問題を実際に検出することはできません。しかし、それは機能していません...
すべての例外で、initメソッドを再度呼び出します。これは次のようになります。
それに関する問題は、これは問題なく実行されますが、新しいデータを送信したいときにこのエラーメッセージが表示されます:
デバイスを再起動するにはどうすればよいですか?バスなどをリセットする必要がありますか?
c# - ControlTransfer 命令が LibUsbDotNet のセットアップ パケッターから値パラメーターを送信しない
.net アプリケーションから通信できるようにする必要がある USB デバイスがあります。デバイスは標準の HID デバイスではなく、初期化するために、別のタイプのマシンで初期化するときに使用されるパケットについて、USB プロトコル アナライザー/スニファーからパケットのトレースを取得しました。デバイスを初期化するには、.net アプリケーションからこのパケット シーケンスを複製する必要があります。
特定の制御転送パケット/クラス タイプの要求に到達するまで、すべてが正常に機能しています。
与えられたトレースには、発行する必要があると記載されています。
これは私がこれを行うために使用しているコードです:
これは、このデバイスの USB データ トラフィックをスニッフィングしている BusHound から受信したトレースです。
ご覧のとおり、セットアップ パケットの 0x0040 値パラメータは、設定しているにも関わらずうまくいきません。私は USB と .net / LibUsbDotNet に比較的慣れていないので、何が間違っているのかよくわかりません。誰かが私に何か提案できるのだろうか?
注、私は Visual Studio 2008 を使用して Windows 7 64 ビット マシンで開発しています。
ありがとう、リッチ
c++ - USB からの RFID タグの読み取り
USB ポートからの RFID タグからデータを取得したいと考えています。私の質問は次のとおりです。
- USBポートからこのデータを盗聴できるソフトウェアの提案はありますか?
- このデータを受け取り、C/C++ プログラムにフィードするにはどうすればよいですか?
- また、RFID に接続されている 8051 でプログラムを書き込むつもりなので、8051 用に C でコーディングする方法に関する提案/リンク/書籍はありますか?
android - Windows 上のソフトウェア ベースの Android アクセサリ
アプリケーションを使用して、コンピュータを Android アクセサリに変えたいと考えています。したがって、専用のハードウェアの代わりに、電話をアクセサリ モードに切り替える単なる PC になり、ホスト ハードウェアに関連付けられた電話で Java アプリを起動し、通信チャネルを作成します。
Linuxでlibusbを使用してこれを行うためのサンプルコード(およびいくつかのJava Androidアプリ)を見つけました。標準の VID と PID を使用して電話機を「開く」ことで機能します。次に、モデル、バージョンなどのメタデータとともに、アクセサリ モードをオンにするコマンドを送信します。
電話がアクセサリ モードをサポートしている場合、電話は切断され、別の PID で再列挙されます。サンプル コードは、それがあったかどうかを確認し、新しいデバイスを開きます。
ただし、これをWindowsで実行しようとしています。LibUsbDotNetのようないくつかの USB ライブラリを見つけましたが、それらはすべて WinUSB/libusb ドライバーを使用するデバイスを必要とするようです。LibUsbDotNet のツールを使用して携帯電話用の libusb ドライバーを生成し、古い汎用リムーバブル ドライブにインストールしました。しかし、これは、必要なときに電話をリムーバブル ドライブとしてアクセスできないことを意味するため、これは解決策ではありません。
VID と PID に基づいて接続された USB デバイスを開き、それにいくつかの raw コマンドを送信できる方法 (できればライブラリ) はありますか?
その後、デバイスは別の PID で再列挙されます。これを使用して、独自の WinUSB ドライバーを作成できるため、問題はありません。アクセサリ モードをオンにするには、デフォルト ドライバを介して、またはその周りにいくつかのコマンドを挿入する必要があります。
(私は .NET ソリューションを好みますが、Windows であれば何でも問題なく、独自の相互運用ラッパーを作成できます)
libusb - Ubuntu の libusb
libusb を使用して、ubuntu 11:04 で USB デバイスからデータを読み取るプログラムを作成します。USB からデータを読み取るプログラムが複数ある場合、新しいプログラムの起動のみが実行され、残りのプログラムは実行されません。
c++ - libnfc: Windows 7 で SCL3711 "NFC デバイスが見つかりません"
libnfc を使用して、Windows 7 で NFC 操作を許可しようとしています。SCL3711 を使用しています。testlibusb を実行するとデバイスが表示されるので、LibUSB が正しく機能しているように見えます。ただし、libnfc テスト アプリケーション nfc-list を実行すると、「NFC デバイスが見つかりません」というメッセージが表示されます。この問題を解決する方法についての提案は大歓迎です。
c++ - USBデバイスへのデータの書き込み
USBポートに接続されたデバイス(キャッシュドロワー)にコマンドを送信してドロワーを開く必要があります。デバイスはさまざまなベンダーやメーカーのものである可能性があるため、シリアルポートに書き込むのと同じように、デバイスに書き込むための共通のメカニズムが必要です。LibUsb win32を使用してそれを実現できますか?その場合、フィルタードライバーとデバイスドライバーの2つを使用する必要がありますか?