2009-02-26 14 views
0

私は開発者ではありませんが、私の質問は十分に興味深いと思います。(そして私は十分に欲しいと思います)ここに投稿するstackoverflow私のソフトウェアが別のマザーボード上のハードウェアを初期化できないのはなぜですか?

私の会社は、C#で書かれたプログラムを使用して、 2.0 SP1とUSB署名パッドを備えています。署名パッドは、一般的なMicrosoft HIDドライバを使用するHIDです。

私たちは以前使用していたものとは異なるブランドのマザーボードを使用するキオスクPCにソフトウェアをインストールしようとしました。 GigabyteボードからASUSボードに移行しました。ブランド以外のスペックは同一、同じノースブリッジ、同じサウスブリッジ、同じCPU、同じホストコントローラなどです。また、インストール手順は文書化されており、数ヶ月で変更されていません。

新しいマザーボードでは、シグネチャパッドはHIDとして認識され、問題なくインストールされ、メーカーソフトウェアでデバイスを実行できますが、ソフトウェアでもデバイスが接続されていると認識されません。変更された唯一のものは、マザーボードのブランドです。デバイスを初期化できる製造ソフトウェアは、C#で書かれていません。

ご意見、ご提案、または解決方法をお待ちしております。

答えて

0

何らかのデバッガを実行したり、両方のボードにログを記録して、デバイスが復帰していることなどのステータスを確認できますか?

+0

しかし、彼は開発者ではありません...ロギングは問題ないかもしれません。 –

2

これはプログラミングに関連する可能性がありますが、私はそのハードウェア/ドライバの問題を考えています。

すべてのドライバを削除し、新しいドライバをコンピュータ管理下に再インストールしてみることができます。

異なるモデル/ブランドのほとんどの新しいマザーボードでは、ウィンドウを再インストールする必要があります。

1

ハードウェア/ドライバの問題ではない場合は、他のいくつかのことが起こっている可能性があります。

暗所でスタブのビット(ロット)が、キオスクソフトウェアがハードコーディングされた文字列または特定の構成では、特定のデバイスを識別するために設計されたそれの内側に埋め込まれた「マジック番号」を持っているかもしれないかもしれません特に、ソフトウェアメーカーが1つの特定のボードと構成で動作するように設計している場合は特にそうです。

これは起こるべきではありませんが、ここでは地球上で、時には(あまりにもしばしば)します。私は長いこと前にPOSソフトウェアを手がけてきました。ハードウェア供給のためにベンダーのロックを強制するために、このようなことをしました。

私は、HIDのハードウェアIDが両方のボードにあるかどうかを調べ、それらが異なるかどうかを調べます。

おそらく最も良い方法はソフトウェアプロバイダに問い合わせることですが、それがオプションではない場合は、プログラムの内部と、リフレクタを使用するハードコードされたデバイス識別子についてのいくつかの洞察を得ることができます:http://www.red-gate.com/products/reflector/

あなたは開発者ではないので、これはギリシャ語のように見えるかもしれないことに注意してください(あなたがギリシャ語に堪能であれば理解できない言語を挿入してください)。この答え。しかし、探すべきことは、最初のボードからのHIDのハードウェアID、またはUSBコントローラへのチェーン上の何か他のものでしょう。

+0

マザーボードを交換しただけで、署名パッドを交換していない –

+0

マザーボードを交換すると、デバイスの列挙順序を変更できます。ソフトウェアが割り当てられた列挙番号に依存するようにハードコードされていた場合、パッドは変更されるまで機能しません。 –

関連する問題