web-dev-qa-db-ja.com

マイクロコントローラーデバイスがCitrixXenDesktopインスタンスに接続できるようにする

私たちが達成しようとしていること

マイクロコントローラー Adafruit Circuit Playground Express (CPX)をシンクライアントのUSBポートに接続し、仮想マシン環境にデータをストリーミングして、アプリケーションで読み取り、サーバーに送信します。データ収集。これは、オフィス内のすべてのコンピューターで実行されます。

環境

System Architectural Diagram

現在の環境:

  • ThinOSを実行しているDellWyse5060シリーズ

  • Citrix XenDesktop:Windows 7

将来の環境:

  • ThinOSを実行しているDellWyse5060シリーズ

  • Citrix XenDesktop:Windows 10

現在の環境での解決策が望ましいですが、それが不可能であり、Windows 10の解決策が可能である場合は、ぜひお聞かせください。

Adafruit CPXはCircuitPythonを実行しており、接続するアプリはElectronを使用して構築されています。

送信したい情報の種類は、CPXによって取得されたセンサー情報の(疑似)ライブストリームと、ElectronアプリからCPXへの不定期の指示メッセージです。

問題

CPXをシンクライアントに接続すると、Windows7はCPXを接続済みとして登録しません。ただし、実際のThinOSにログインすると、デバイスは接続済みとして登録され(VID/PIDと名前)、接続がXenDesktopインスタンスに渡されていないと思われます。また、通常のストレージUSBは正常に接続されるため、デバイス固有のようです。

私たちがすでに試したこと

インフラストラクチャが異なる他のマイクロコントローラデバイスを接続して、接続できるかどうかを確認しました。接続したので、インフラストラクチャ固有のようです。私たちが試したデバイスは以下のとおりです。

成功した​​Win7 COMポート接続

Win7接続なし、ThinOS成功:

32ビットのAdafruitマイクロコントローラー以外のすべてのデバイスは10ビットでした。

Citrix側のデバイスにUSBデバイスリダイレクトポリシーを追加しましたが、何も変更されていないようです。

ThinOSは、接続するすべてのデバイスのVendorID(VID)とProductID(PID)を確認でき、それらを通過しているように見えます。ポリシーを有効にすると、すべてのデバイスが接続されますが、Windows 7(Citrix)にドライバーがインストールされている必要があります。非adafruitデバイスは、COMポートに接続されているものとしてデバイスマネージャーに表示されます。 10ビットデバイスの場合、標準ドライバーがインストールされ、COMポートとarduinoIDEに表示されます。

32ビットデバイス(CPXおよびフェザー)の場合、製造元のドライバーがインストールされます(---(Windows 7でのみ必要 )が、デバイスは表示されません。次に、これらのデバイスを別のエンドポイント(Windows 10ラップトップ)に接続しようとしましたが、いずれも正常に接続できませんでした。

ドライバーの問題のようですが、正しいドライバーをインストールし、USBデバイスのリダイレクトポリシーを含めました。

どんな提案でも本当にありがたいです!

4
Baptiste Higgs

正しいドライバーを試したが、シンクライアント以外のCitrix環境にも表示されないことを考えると、ポリシーの問題のようです。
使用しようとしている デバイス を検索すると、ディスクドライブとして表示され、他のマイクロコントローラーと同じようにデバイスを使用していると仮定すると、おそらくシリアルポート(COM Windowsのポート)。

Citrixにはデバイスリダイレクトに関する多くのポリシーがありますが、試してみるべきものは COMポートリダイレクト であり、USBデバイスリダイレクトポリシーを維持します。

@harrymcがコメントで指摘したように、 更新されたドライバー を試すこともできます。

2
AidenRay