問題タブ [winusb]
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.
javascript - スマートカード リーダーと ChromeApp
USB スマートカード リーダー (HID Global OmniKey 3121) にアクセスできる Chrome アプリを作成したいと考えています。
誰かがそれをすることに成功したことがありますか?
残念ながら、私はそれを使用して見ることができませんusb.getDevices
。
script.js (それ自体がbackground.jsによって呼び出されるindex.htmlによって呼び出されます): onLaunched
デバイスはマニフェストで宣言され、拡張機能ページで Chrome によって認識されます。
よろしくお願いいたします。
編集
これが私のmanifest.jsonです:
許可されている 3 つのデバイスは次のとおりです。
- ノキア Lumia 920
- デル オプティカル マウス
- OmniKey スマートカード リーダー 3121
usb.getDevices
またはで認識されるのはマウスだけusb.findDevices
です。マウスのみが記載されていusb.getUserSelectedDevices
ます。
raspberry-pi2 - Windows 10 IoT の WinUSB ドライバー
Windows(Raspberry Pi 2 の Windows 10 IoT を含む)に付属の WinUsb.sys ドライバーを使用しようとしています。devcon.exe を使用すると、使用しようとしている USB が接続されていることがわかります (名前はUSB\VID_1234&PID_ABCD\5&3753427A&0&4
) が、強制的に WinUsb.sys ドライバーを使用する方法がわかりません。
microsoft.com でいくつかの手順を見つけましたが、デバイス マネージャーが利用可能な標準の Windows インストール用のようです (IoT にはありません)。このページの INF ファイルの例も CAT ファイルを参照していますが、これはある種のドライバー シグネチャであると想定していますが、これを生成する方法がわかりません (または生成する必要があるかどうかもわかりません)。Windows NT ( Signature = "$Windows NT$"
) への参照もありますが、それを IoT 用に変更する必要があるかどうか (または、IoT 用に変更する必要があるかどうかはわかりません)。
では、devcon.exe とある種の INF ファイルを使用して、接続している USB デバイスのドライバーとして Windows IoT に WinUsb.sys を使用させるにはどうすればよいでしょうか?
c# - Console.writeline() は winUSB でオブジェクトをインスタンス化しますか?
一括転送を使用して PIC4550 と通信するために C# で WinUSB を使用していますが、奇妙な問題が発生しています。
現在のコードは正しく動作しますが、コードが乱雑になっているため、削除したいデバッグ Console.Write() 行がまだいくつか含まれています。それらを削除し、デバッガーでコードをステップ実行することも正しく機能します。
残念ながら、デバッグ行を削除すると、コードが機能しなくなります。「結果」バイト配列は null として返され、null 参照例外がスローされます。
何が起きてる?
c++ - MSDN Microsoft の WinUSB チュートリアル
Microsoft の MSDN のWinUSB テンプレートに基づいて Windows デスクトップ アプリを作成するというこのチュートリアルに従うのに問題が発生しました。指示に従って、WinUSB アプリケーションを作成する必要があるステップで、Web サイトには2 つのプロジェクトが作成されると表示されますが、私のアプリケーションでは1 つのプロジェクトしか作成されません。
私はMicrosoft Visual Studio Community 2015を使用しており、 WDKをインストールしました。注: Windows 10 64 ビットを使用しています。
以下は、 2 つのプロジェクトが作成されたことを示すチュートリアルの一部です。
以下は、私のソリューション エクスプローラーのスクリーンショットです。
何が起こったのかを理解し、これを解決するのを手伝ってくれませんか?
windows - 共同インストーラーなしで WinUSB をインストールする
WinUSB ドライバーを使用してデバイスと通信するアプリケーションがあります。アプリケーション インストーラーはデバイス ドライバーをプレインストールします。これには、Windows XP 用の WinUSB 共同インストーラー (WinUSB には付属していません) を含む標準の WinUSB inf ファイルがあります。
ユーザーがアプリケーションを実行する前にデバイスを接続した場合、すべて問題ありません。ドライバーがインストールされ、共同インストーラーが WinUSB をインストールし、アプリケーションが実行されます。
ユーザーがデバイスを接続する前にアプリケーションを実行しようとすると、WinUSB はまだインストールされておらず、アプリケーションは実行を拒否します (winusb.dll にリンクされているため)。
共同インストーラーを必要とせずにアプリケーション インストーラーから実行できる WinUSB のインストーラーについて何かを見たことがあると思いますが、今は見つかりません。
そのようなインストーラーは利用できますか? または、共同インストーラーをアプリケーション インストーラーから強制的に実行する方法はありますか?
c# - C# で FindAllAsync が空の USB デバイスを返す
USB 経由で ESP 301 モーター コントローラーと通信しています (または通信しようとしています)。資料が必要な方はこちら(PDF)
これを行うために、私はC#で作業しており、次の機能を持っています:
ただし、DeviceInformation.FindAllAsync(aqs)
呼び出しは空のコンテナーを返します。
以下を含むようにアプリ マニフェストを変更しました。
これは私が最も不確かな点であり、これに関する多くの情報を見つけるのに苦労しています.
別の定数クラスでは、次のように定義しています。
これはすべて正しいようです。Microsoft が配布する USB View アプリケーションを使用して、ベンダーと製品 ID を確認しました。
UsbDevice.GetDeviceSelector
次のように、定数ファイルで定義された GUID を使用するように呼び出しを調整します。
も何も変わらないようです。
コンソールに出力しているカウントが 0 であるため、コンテナが空であることがわかり、範囲外の例外も発生します。
私が印刷している aqs 文字列は次のようになります。
System.Devices.InterfaceClassGuid:="{DEE824EF-729B-4A0E-9C14-B7117D33A817}" AND System.Devices.InterfaceEnabled:=System.StructuredQueryType.Boolean#True AND System.DeviceInterface.WinUsb.DeviceInterfaceClasses:~="{4D36E978- E325-11CE-BFC1-08002BE10318}"
できるだけ多くの情報を提供するように努めました。ありがとうございました。
windows-10-mobile - Windows Phone 10 に WinUSB .INF ファイルをインストールする方法
私の Windows Phone 10 モバイル デバイスは、OTG モードで USB を操作でき、たとえば、USB フラッシュ メモリを接続できます。カスタム デバイスを Windows Phone に接続し、電話の Windows ストア アプリから使用したいと考えています。理論的には、デバイスの WinUSB インターフェイスを定義する .INF ファイルをインストールできます。
デバイスへの WinUSB アクセスを可能にする .INF ファイルを Win 10 電話にインストールする方法を教えてください。
windows-10-iot-core - ラズベリー Pi の WinUSB アプリケーション (win10 IoT)
Windows iot を搭載したラズベリー pi に自分の USB デバイスをインストールして議論したいと考えています。そのために、Windows 10 IoT の WinUSB ドライバーのような arm 用の inf ファイルを作成するだけです。デバイスはラズベリーによって認識されます (接続されたデバイスのスタートアップ リストに表示されます)。次に、デバイスと話し合いたいと思います。
まず、「winusb.dll」を試してみましたが、ARM 用にコンパイルされないライブラリ「SetupApi」を使用する必要があります。(私はこのソリューションを Windows PC で使用し、デバイスと正しく通信しました)。
Windows IoT で winusb デバイスと正しく通信する方法についてのアイデアはありますか? ご回答ありがとうございます。
そのため、Windows.device.usb に移行しようとしましたが、デバイスへの接続に成功しません。FromIdAsync() 関数を呼び出すと、例外が発生します。とまったく同じ問題です: Universal App で USB デバイスにアクセスできません
usb - WinUSB を使用するには?
これは、以前の質問「USB 周辺機器用のドライバーを作成する必要がありますか?」の続きです。
バックグラウンド
STM32 マイクロコントローラー (ベアメタル / OS なし) を使用して USB 周辺機器の設計に取り組んでいます。デバイスは Windows PC に接続されることがあり、各方向に数 KB のデータを転送します。独自のプロトコル (つまり、USB ペイロード用) を使用して、データ転送を制御するカスタム PC アプリケーションがあります。
PC は常にマスター (イニシエーター) になります。コマンドを送信し、デバイスが応答を発行します。1 つのコマンドまたは応答で最大数百バイトのデータが双方向に送信されます。USB Bulk Transfer モードを使用したいと思います。
オプション 1 - USB CDC
私が理解していることから、1 つのオプションは、USB 通信デバイス クラス (CDC) を使用することです。デバイス側では、 STM32Cubeなどの USB CDC に ST のサンプル コードを使用できます。PC 側では、デバイスは仮想 COM ポート (VCP) として表示されます。次に、ソフトウェアでは、基本的に生の双方向ストリームを用意し、その上でメッセージ形式やコマンドなどを定義する必要があります.
- 私はこれを正しく説明しましたか?
オプション 2 - WinUSB
これが何であるか、そしてそれをどのように扱うかを正確に理解するのに苦労しています。
WinUSB と USB デバイス クラスの関係はどのようなものですか? 「一般的な」USB クラスとして機能しているようですが、そのように説明しているドキュメントは見つかりません。
WinUSB には組み込みのメッセージ区切り文字がありますか? たとえば、 WinUsb_WritePipeはバッファの内容をアトミック ユニットとしてデバイスに送信しますか? それとも、VCP/UART のような raw ストリームを取得するだけですか?
デバイスに WinUSB を実装するにはどうすればよいですか? サンプルコードはありますか? (できれば STM32 用です。)
選ぶ
- アプリケーションのオプション 1 と 2 を選択する際に考慮すべき事項は何ですか?