問題タブ [libusb-1.0]

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 投票する
1 に答える
7904 参照

linux - Linux (libusb-1.0) で USB デバイスにアクセスできますか?

Linux で libusb-1.0 を使用して、特定の USB HID 製品 (ベンダーと製品 ID で識別) と通信するための小さなプログラムを作成しています。「libusbにはUSBデバイスノードへの書き込みアクセスが必要です」ため、現在、プログラムをルートとして実行する必要があります。プログラムをルートとして実行する必要がないように、必要なデバイスのアクセス許可を変更する方法はありますか?

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

c - libusb-1.0を使用してHIDレポートを受信するにはどうすればよいですか?

計量レポートを取得するために必要なUSBHIDスケールがあります。Linuxでは、から一度に7バイトを読み取ることでこれを行うことができますが、/dev/hidraw#libusb-1.0を使用して同じ情報を取得したいと思います。

null以外のバイトを取得した場合でも、エラー-9が発生します。LIBUSB_ERROR_PIPE

私は次のような制御転送を使用しようとしています:

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

python - Windows 7 の Pyusb でデバイスが見つからない

そこで、Pyusb 1.0.0-alpha-1 をインストールしまし
た。 Windows では、USB デバイスへのハンドルを取得できません。

USB デバイスが 1 つ (idVendor=0x04d8、idProduct=0x0042) 接続されていて、試してみusb.core.find(idVendor=0x04d8, idProduct=0x0042)ましたが、これも失敗しました。

Ubuntu では、同じバージョンの pyusb と python (2.6) を使用して、そのコードを使用してデバイスを正常に見つけ、それと通信できます。

Windows 7でpyusbにUSBデバイスを見つけるにはどうすればよいですか?

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

c++ - libevent で libusb を使用するには?

libevent を使用してイベント駆動型アプリケーションを作成しています。libusb-1.0 を使用して USB 転送を行う必要があります。

libusb_get_pollfdsを使用してファイル記述子のリストを取得し ( でfds)、次のように libevent に追加したいと考えました。

また、libusb_set_pollfd_notifiers を使用してfdsを追加/削除しlibusb_fds_eventsます。

問題は、libusb によって返されたリストに多くの奇妙な fds が表示されることです (たとえば、stdinイベントが 0 の場合に (!) を何度も取得します)。

私はそれを正しい方法で使用していますか?

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

python - PyUSB usb.util.get_string() を使用して文字列記述子を取得します

USB デバイスの文字列記述子を取得できません。私が探しているのは、人に優しいメーカー名と製品名です。libusb-1.0 をバックエンドとして使用しており、提供された libusb テスト プログラムを使用してメーカー名を取得できるため、それが存在することがわかります。

usb_get_string_simplePyUSB ヘルプ ファイルには、次を使用して (libusb バックエンドから)アクセスできると書かれています。

get_string(dev, length, index, langid=None)

どんな助けでも大歓迎です。

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

xcode - 動的ライブラリ リンクの問題

COCOA アプリケーションで動的ライブラリをリンクしようとしていますが、次の奇妙なエラーが発生します。

dyld: ライブラリがロードされていません: /opt/local/lib/libusb-0.1.4.dylib

ユーザーに何もインストールしてほしくないので、アプリケーション (Mac OS) ディレクトリからこのライブラリをリンクしたいと思います。フレームワークでライブラリを適切にリンクし、それをターゲット コピー ビルド フェーズに追加しましたが、ライブラリが見つからないという不満がまだあります。リンクした他の 2 つのライブラリは正常に動作していますが、libusb-0.1.4.dylib が問題を引き起こしています。誰でもこの問題を解決する方法を教えてください。

よろしくお願いします。

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

android-ndk - Android アプリケーションで libusb を使用する: アプリケーションが USB にアクセスできるようにする方法

Android アプリ (Java GUI + ネイティブ (C++) コア) で libusb を使用したいと思います。すでに libusb をコンパイルしてその関数を呼び出してみましたが、libusb_open は LIBUSB_ERROR_ACCESS を返します。USBのアクセス許可に問題があるのではと思いますが、解決方法がわかりません。ここで 2 つの質問があります: 1) ルート化された Android 3.1 デバイスで libusb を実行するにはどうすればよいですか? 2) ルート化されていない工場出荷時のデフォルト デバイスで libusb を使用することは可能ですか?

前もって感謝します。

PS質問1については、/ dev/bus/usbに対してchmod 666を試しましたが、「許可が拒否されました」と表示されます(デバイスがルート化されていることに注意してください)。

PPS mount usbfs none /proc/bus/usb -o devmode=0666 は、スペルを間違えたかのように実行さえしません(しかし、私はしませんでした)。


USBホストを備えたルート化されたAndroidデバイスでlibusbを動作させることができることは確かですが、管理したことがないため、アプリをAndroid 3.1+に制限し、USB APIを使用する必要がありました.

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

c - libusb-1.0汎用USBデバイスの書き込み権限

私は、libusbライブラリを備えた小さなアプリケーションであるAnjutaを使用してCでプログラミングしています。

libusbには、何らかの目的で書き込み権限が必要です。この議論は、このトピックですでに扱われています:「Linux(libusb-1.0)でUSBデバイスにアクセスできますか?」
トピックソリューションは正常に機能するかもしれませんが(まだ試していません)、アプリケーションが特定のデバイスではなく、すべてのUSBデバイスにアクセスできるようにしたいと思います。
ルート所有者はあるがlibusbopen関数を持つlibusb-1.0.soファイルにsuidビットを設定しようとしました。たとえば、「libusbにはUSBデバイスノードへの書き込みアクセスが必要です」ともう一度答えます。私はrootユーザーとしてanjutaプロジェクト全体を構築するつもりはありませんが、これまでのところ、これがこのlibusb-1.0の問題に対する唯一の解決策です。

udevの動作を変更せずに、一般的なUSBデバイス(ホットプラグペンドライブなど)のiノードへの書き込みアクセスを取得するためのソリューションはありますか?

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

c - libusb-1.0 デバッグ情報

libusb_set_debug() が機能するかどうか疑問に思っています。私はそれから出力を得ることができません。--enable-debug-log を使用して構成およびビルドすると、デバッグ ログをオンにできます。libusb_set_debug() を 3 に設定した場合、enable-debug-log とほぼ同じ出力が得られるはずですか? LIBUSB_DEBUG 環境変数が設定されていません。私は単純なものが欠けていると思います。ありがとう、

0 投票する
0 に答える
1266 参照

usb - USB経由でパワーメータから値を読み取る

過去 2 日間、デバイス ドライバーがインストールされていない外部デバイスから USB 経由でデータを取得する方法についていくつか読んでいます。USB経由でWT500横河パワーメーターからデータを読み取る必要があります(基本的に、メーターが示すパラメーターの1つだけ、パワー値のみを読み取りたい)。WT500 用のデバイス ドライバーが利用可能であることは認識していますが、いくつかの依存関係があり、ソフトウェアをインストールしたり、それに対応するためにノードに大きな変更を加えたりしたくありません。私が望むことを実行するために使用できることがわかりましlibusbた.USBデバイスをスニッフィングしていくつかの情報を返すCプログラムがあります。libusbも使用するusb-robotも調べました。私が調査しているサーバー ノードには、OpenSUSE Linux カーネル 2.6.30 が搭載されています。usbfsをマウントしました。

質問:

  1. libusb を使用すると、要求したときにいつでも USB デバイス経由でパワー メーターからデータ ダンプを取得できると期待しています。メーターに次のように要求できますか? 25k のデータを送信し、それを解析すると、探しているパラメーター値を取得できますか? デバイスに関する知識がまったくないことを考えると、デバイスから意味のある値を得ることができますか? サンプルコードが役立ちます。

-- USBTMC デバイスを照会できる ?IDN のような標準メッセージがいくつかあります。ただし、画面に表示されているものを取得する必要がある場合は、特定のクエリをメーターに送信する必要があります (構文はテクニカル ドキュメント/マニュアル/通信インターフェイスにある必要があります)。

  1. fread のようなものを使用してファイルを読み取るだけのように、私がやりたいことを行う簡単な方法はないと思います??

――ほぼそうですね。USBTMC モジュールがインストールされている場合 (カーネルのデフォルトのモジュールは機能しませんでした。デバイスのインストールとクエリの詳細な説明はこちらです - http://code.google.com/p/scte/wiki/USBTMC )。いくつかのクエリを送信し、catまたは の下の特定のファイルから何かを介して応答を読み取ります/dev

メーターの技術文書によると、記載されているドライバー通信インターフェイスは Windows 固有のものであることがわかります。そのため、リバース エンジニアリングを行う必要があるかもしれません。

-- はい。ただし、ごくわずかであるか、まったくない可能性があります。

ありがとうございました。

編集:少しグーグルした後、答えがあると思います。質問の横にそれらを追加しました。