問題タブ [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.
c++ - C ++で実行可能ファイルが配置されているドライブに関する情報を取得する方法
私のアプリは、必要なベンダー ID、デバイス ID などの特定の情報を持つ USB キーから実行されます。
libusb を使用してみましたが、まだ適切に動作させることはできませんが、情報を取得する適切な USB ドライブを見つけるにはどうすればよいでしょうか?
コードをクロスプラットフォームにしたいことに注意してください。そのため、最初に libusb を選択します。
編集 :
ドライブが接続されているときに、すべての USB ポートとドライブに関する特定の情報を列挙するプログラム (usbviewer) を見つけました。
Linux のソースを読んだことがあります。情報は /proc/bus/usb/devices から直接抽出されます。非常に簡単です。
しかし、Windows では、USB ノード接続情報を取得するには、データ構造 (ハブ コントローラー、ルート ハブ、ポートの列挙など) で実際の情報を取得する前に約 1000 行かかります。
反対側のlibusbは、情報に到達する前に、INFファイルを生成し、各デバイスのinf-wizard.exeを介してドライバーをインストールするように強制します(ただし、Linuxでは試しませんでした)。
編集2:
Windows、Linux、および Mac OS X でデバイスのシリアル番号を取得する方法を見つけました (MAC OS X は試していませんが、Linux と同じように動作するはずです)。Windows では関数を使用し、GetVolumeInformation()
Linux では FAT ファイル システムのドライブのシリアル番号を読み取ります。FAT のバージョンに応じて、対応する /dev/* ファイルの 0x27 または 0x43 から始まる 4 バイトを読み取ります。
しかし、この読み取りには、プログラムにはないルートアクセスが必要であり、少し信頼性がないように思えます。
何か案は ?
python - pyUSBがデバイスを検出しない
そのため、OS X Lion(10.7.3)マシンにlibusbとpyUSBをインストールし、次のスクリプトを実行しています。
1つのUSBデバイスを接続しています:SanDisk cruzer micro、4GB。このフラッシュドライブをFinderとディスクユーティリティで問題なく開くことができます。ただし、上記のスクリプトの出力は次のとおりです。
少なくとも、pyUSBの最初で唯一のバスは、現在接続されているデバイスがあるとは考えていないことを示しています。私が見逃したある種の基本的なセットアップはありますか?pyUSBがデバイスを見つけられないのはなぜですか?
私は始めるためにこのStackOverflowの質問を参照してきました:usbデバイスの識別
linux - 自動化のためのUSBデバイスのシミュレーション
自動化とテストの目的でUSBデバイスをシミュレートする必要があります(Linuxの場合)。このデバイスの元のドライバー/アプリケーションは、「libusb」を使用して通信します。
Linuxとシミュレーションの経験はあまりありません。検索した結果、そのデバイスをシミュレートするには、カーネルレベルのドライバーとアプリケーションをユーザースペースに作成する必要があることがわかりました。これは正しいですか?はいの場合、これはどのように行うことができますか?
前もって感謝します。
usb - ハードウェアを取り外して再接続しない限り、UBS入力の処理は一度しか機能しません。
以下のコードは、マウスなどの USB デバイスから 4 ビットのデータを取得します。コードを実行すると、コードが終了するとマウスが機能しなくなることを除いて、すべて正常に動作します。コードを再度実行すると、エラー、望ましくない、または予期しない結果が発生します。デバイスのプラグを抜いて、コードを再度実行する必要があります。そうして初めて、予想される ans が得られます。
何が原因で、どうすれば解決できますか?
android - JNI が移植された libusb-compat は、アプリケーション内でデバイスを見つけることができず、アプリケーション外でデバイスを見つけることができます
USBホストサポートが組み込まれたSamsung Galaxy SIIと、USBホストが「ハッキング」されたMotorola Droid(オリジナル)があります。SGSIIはAndroid 3.xを実行し、Droidは2.xを実行します。
libusb-compat を Android に移植し (主にクロスコンパイルしただけです)、外部デバイスを接続して使用できるようにしました。ドライバーは Android にも移植されており、私の libusb-compat へのリンクも含まれています。これらすべてに加えて、ドライバーと libusb-compat を使用するための JNI インターフェースを持つアプリケーションがあります。
Android 2.x を実行している Droid では、これらすべてが完全に機能します。移植したドライバーでデバイスを初期化でき、libusb-compat を使用して処理を実行できます。
ただし、3.x を実行している SGSII では、libusb-compat を呼び出して USB デバイスを一覧表示したり、クエリを実行したりすると、すべて失敗します。私のアプリケーション内から実行されている libusb-compat はルート USB バスを見つけることができますが、USB デバイスのリストは常に空になり、それらへのクエリは失敗します。
ここで、libusb-compat にリンクする単純なスタンドアロン実行可能ファイルをコンパイルし、単に USB デバイスを一覧表示してアプリケーションの外部(たとえば、adb シェル) で実行しようとすると、ルート バスとすべてのSGSII 上の USB デバイス。これにより、Android 3.x でアプリケーションが実行されているサンドボックスが、libusb-compat による USB デバイスへのアクセスをブロックしていると思われます。USB ホストをサポートするデバイスで許可の問題が発生する可能性があります。
これをマニフェストに追加しようとしましたが、役に立ちませんでした:
私のアプリケーション内で libusb-compat が機能するために、私が間違っている点や追加する必要がある点はありますか? 繰り返しますが、libusb-compat ドライバーを使用する ndk でスタンドアロン アプリケーションをビルドすると機能します。
usb - libusbからのエラーメッセージ「インターフェイスが要求されていません」
libusbを使用しようとしていますが、次のエラーメッセージが表示されます。
usbfs:プロセス24665(myprogram)が使用前にインターフェース0を要求しませんでした
理由はよくわかりません。私が知る限り、図書館にある説明に従ってやっているからです。これが私のコードです:
ご覧のとおり、転送前にインターフェースを要求します。(私は他のUSBデバイスでも同じコードを試しましたが、それが何か関係がある場合に備えてです。)
私はlibusb-1.0.9を使用しています。これは私が見つけた最新のリリースです。私はUbuntu12.04_64(Precise Pangolin)でこれを実行してい ます。
python - libusbがインストールされていますが、pyUSBバックエンドが見つかりません
USBデバイス用にwxGladeを使用してGUIを設計しようとしています。コードのpyUSB部分が、Gladeによって生成されたPythonコードに追加されました。
ただし、エラーがあります。「利用可能なバックエンドはありません」
これは、関数usbDev = usb.core.find(idVendor = 0xfffe、idProduct = 0x0001)を使用した場合の応答です。
すでにlibusb-win32をインストールしましたが、それでも機能しません。PCを一度再起動しましたが、役に立ちませんでした。親切に助けてください。
android - System.load()関数を使用してライブラリをロードするにはどうすればよいですか?
ld-uClibc-0.9.30.1.so
AndroidEclipseプロジェクトのライブラリをロードする必要があります。Sytem.load("/root/workspace/libs/ld-uClibc-0.9.30.1.so")
ホストコンピュータからロードしようとしましたが、エラーが発生します:
何か問題でもありますか?System.loadで動作しないのはなぜですか?
android - Android に libusb 0.1.12 パーミッションを与える方法は?
Android プロジェクトで libusb を使用する必要があります。これまでのところ、Androidでlibusbを使用するのはそれほど簡単ではないことをインターネットでたくさん読んできました。init.rc と ueventd.rc について読んだことがありますが、usb にいくつかのアクセス許可を与える必要があります。しかし、私は Android の初心者なので、Android で libusb を動作させる方法について詳しく教えていただけないでしょうか。実行する必要がある手順は何ですか? 前もって感謝します。
c - LinuxでUSBのurb情報を取得する方法
USBスティックのurb情報を取得しようとしています。そして次のように書いています。
コンパイルできます。しかし、実行すると、無効な引数と表示されました。それで、私の何が問題なのですか?