問題タブ [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.

0 投票する
2 に答える
407 参照

c++ - 奇妙なメモリ破損

このエラーは、最適化を実行する「フリー」(リリース) の WinDDK nmake コンパイラでビルドした場合にのみ発生します。「チェック済み」ビルドまたは VS でのコンパイルでは、これを再現できません。

私のコードで何が起こっているかの疑似コードは次のとおりです。

ログに出力:
pre nullValue: 0
inFunc nullValue: 0, 251208
post nullValue: 251208
post2 nullValue: 251208, 251208, 251208
注: 再発生番号 (251208) は、プログラムが実行されるたびに異なる番号です

その1行を変更するだけで修正/原因になります。libusb usb_open呼び出しです 。

  1. 最終的に私の質問は、問題を解決する方法を見つけることです (私はその電話を避けることはできません)
  2. しかし、スタック/メモリ管理レベルでは、ゼロ以外の NULL を持ち、リテラル値 '0' をゼロ以外として出力することはどのように可能でしょうか?

他に役立つ情報を教えてください...

0 投票する
1 に答える
2126 参照

macos - libftdi と libusb の問題

Macbook、OS X 10.6.4 で実行しています。libusb 1.x の最新バージョンと libusb-compat をインストールしました。libusb のサンプル アプリケーションはコンパイルして実行されますが、問題はないので、正しくインストールされていると想定しています。libftdi も正しくインストールされているように見えますが、libusb に問題があるようです。サンプル アプリの 1 つを試したところ、次のエラー メッセージが表示されました。

libusb が原因であるという仮定は、_usb_init が libusb 関数であるためです。同じ行に沿った投稿をここで見つけましたhttp://www.jedi.be/blog/2009/11/11/ruby-usb-libusb/しかし、ルビーのために。

Pylibftdi で物事を進めようとすると、

Pyftdiを使用して何かを実行するには、デフォルトとしてx86_64ではなくi386にlibftdiをインストールする必要があったことに注意してください(マッチョエラーが発生します)-ただし、libftdiを「通常」インストールしても上記のOSErrorsが発生します。どんな提案でも大歓迎です。

0 投票する
3 に答える
16508 参照

linux - libusb インターフェイスはすでに要求されています

libusb を使用して USB デバイス用のデバイス ドライバーを作成しています。デバイスを要求しようとすると、エラー コード LIBUSB_ERROR_BUSY (-6) が表示されます。ドキュメントによると、デバイスが既に要求されていることを意味します (リンク)。

どのドライバー/プログラムがデバイスを要求したかを確認するにはどうすればよいですか? さらに重要なことに、要求されたデバイスを自分で要求するにはどうすればよいですか?

コードスニペット:

出力:

0 投票する
2 に答える
15600 参照

c++ - libusb割り込み転送

カスタムメイドのHID USBデバイス(コントロールパネルのいくつかのボタンとLED)のドライバーをリバースエンジニアリングする必要があります。ドライバーは Windows でのみ利用可能で、*nix の実装が必要です。

デバイスは明らかに HID デバイスですが、特定のクラスではありません。これは、それぞれに 1 つの割り込みエンドポイントを持つ 2 つのインターフェイスを提供します。

私のセットアップには現在、Ubuntu ホストで Windows を実行している VirtualBox が含まれており、Wireshark 経由で USB トラフィックをキャプチャします。プロトコルはかなり単純で、私はすでにかなりよく理解しています。

プロトタイピング用の単純な C++ コンソール プログラムで libusb-1.0 を使用しています。SET_REPORT コントロール転送を発行して LED を切り替えることはできましたが、転送の割り込みを介してボタンの押下を受信するのに苦労しました。

実際、次の呼び出しは永久にブロックされます。

結果の URB を Wireshark で調べると、Windows セッションでキャプチャされたものとまったく同じように見えます。それでも、デバイスから応答がありません。

いくつかの設定がありません。デバイスが適切に開かれており、デバイスが提供する両方のインターフェイスが正常に要求されていることに注意してください。私の Linux アプリケーションでも、制御転送による入力レポートが通過します。

ポインタをありがとう!アルネ

補遺 I: を使用するときに、受け取りたいレポート ID をどのように指定すればよいの libusb_interrupt_transfer()でしょうか?

補遺 II: Windows ドライバーによって行われた要求を、Wireshark の上記のコードによって生成された要求と比較すると、違いは見られません (URB の値は同じです)。ただし、Windows ドライバーによって発行された場合にのみ、割り込み転送が返されます。

Wireshark で Windows ドライバーの通信を調べると、さまざまな .xml 以外の制御転送が見られませんGET_DESCRIPTOR(...)。最も重要: いいえSET_INTERFACEまたはしたがって、問題はライブラリまたはその使用方法に関連しており、デバイスには関連していないSET_CONFIGURATIONと思われます。

0 投票する
2 に答える
15083 参照

android - libusb を使用した USB ホストとして PC を使用する Android ADK、一括転送エラー

実際の「アクセサリ」を必要とせずに API を開発できるようにするために、PC を Android 2.3.4 デバイスの USB ホストにしようとしています。これを行うには、PC を USB ホストおよび「デバイス」として確立する必要があります (私の場合は 2.3.4 を実行している Nexus One)。

PC 側のベースとしてhttp://android.serverbox.ch/のlibusb コードから始め、Android 側の DemoKit コードと Android ドキュメントから始めました。

この 2 つは接続を正常にネゴシエートしているように見え、インターフェイスは「要求」されますが、実際に一括転送しようとすると停止します。OSX ではエラーは -5 (LIBUSB_ERROR_NOT_FOUND) であり、Ubuntu Linux (root として) ではエラーは -1 (LIBUSB_ERROR_IO) です。(最新の libusb 1.0.8 を使用したそれぞれの最新リリース)。

これがコードです。問題に関するその他のコメントは大歓迎ですが、これは主に概念実証であるため、一括転送が機能しない理由を実際に探しています。

Android アプリは次のとおりです。

そしてマニフェスト(ドキュメントによると、デバイスを自動関連付けおよび自動パーマするためのインテントフィルタリングを含む):

0 投票する
1 に答える
510 参照

windows-phone-7 - Windows Phone 7 での USB 経由の PTP

WP7 デバイスに接続したときに USB デバイスと通信できる小さなアプリを作成しようとしています。WP7 デバイスから USB 経由で PTP プロトコルを使用することは可能ですか? PTP over USB 経由で通信できるようにするには、電話機が USB ホスト コントローラをサポートしている必要がありますか?

0 投票する
1 に答える
5646 参照

windows - libusb-win32: ドライバーフィルターの自動インストール

libusb-w32 ベースのプログラムでデバイスを検出する際に問題が発生しました。プログラムはデジタル カメラを検出する必要があり、新しいカメラを手動で検出するためにドライバー フィルターを自動的にインストールする必要があります。私は install-filter i --class={6BDD1FC6-810F-11D0-BEC7-08002BE2092F} を使用しました。つまり、MTP デバイス用のフィルターをインストールしましたが、動作しているように見えました。しかし、今日、クリーンなマシンで試してみたところ、実際にはそのようにしか見えないことがわかりました. さまざまなパラメーターで install-filter を試しましたが、うまくいきませんでした。デバイスを検出できた唯一の方法は、inf-wizard.exe を使用することでした。ドライバーがインストールされ、プログラムがデバイスを検出できるようになりましたが、デジタル カメラの元の Windows 機能も中断されました。次に、libusb ドライバーをアンインストールし、元の Windows ドライバーをインストールし直しました。install-filter i --class={6BDD1FC6-810F-11D0-BEC7-08002BE2092F} を実行しましたが、プログラムは引き続きデバイスを検出できます。問題は、プロセスを自動化して、ユーザーの作業を必要とせずに新しいカメラを検出する方法です。

更新: 質問を短くします。inf-wizard.exe でドライバーをインストールすると、ドライバー自体のインストール以外に何かが行われるようです。私は正確に何を知る必要があります。

前もって感謝します。

0 投票する
4 に答える
34750 参照

c++ - libusb への未定義の参照

OS で libusb API をセットアップしようとしています。libusb.org で libusb api をダウンロードしました。標準のインストール手順に従いました。

次に、Eclipse C/C++ を起動し、インターネットで見つけたチュートリアルからいくつかのコードをコピーしました。しかし、それをビルドしようとすると、次の出力が得られました。

/lib に libusb.so があり、/usr/local/include に usb.h があり、/usr/local/lib に .so と libusb.a のリンクがあります。

コード内の #include も正しいです。

問題がリンカーにあることは知っていますが、私はそれを機能させることができません:)

Fedora 15 オペレーティング システムと gcc 4.6.0 20110603 (Red Hat 4.6.0-10) バージョンのコンパイラを使用しています。

では、これらの未定義の参照を解決するにはどうすればよいでしょうか? 助けてくれてどうもありがとう:)