コンピューターを別のポートに接続するたびにコンピューターが「新しいUSBデバイス」になるのはなぜですか?


47

私はマウスを持っているとしましょう。このマウスをコンピューターの4つのスロットのうち1つに差し込みます。検出された新しいデバイスとそのすべてを通過しますが、これは問題ありません。しかし、後で同じマウスを使って戻って、スロット3に差し込むと、検出が繰り返し行われます。どうしてこれなの?


3
そして、私たちはそれを修正するために何ができますか?
パニック大佐

回答:


61

レイモンド・チェンによると:

別のポートに接続した場合、WindowsがUSBデバイスを同じデバイスとして認識しないのはなぜですか?

USBデバイスを取り出してコンピューターに接続すると、Windowsがそれを認識して構成することに気づいたかもしれません。その後、プラグを抜いて別のUSBポートに再接続すると、Windowsは記憶喪失を経験し、前回接続したときに適用された設定を使用するのではなく、まったく別のデバイスであると見なします。何故ですか?

USBデバイスの人々は、デバイスにUSBシリアル番号がない場合にこれが起こると説明しました。

USBデバイスでは、シリアル番号はオプションです。デバイスにデバイスがある場合、どのUSBポートに接続しても、Windowsはデバイスを認識します。ただし、シリアル番号がない場合、Windowsは異なるUSBポート上の各外観を、あたかも新しいデバイスであるかのように扱います。

(USBデバイスの大手メーカーは、シリアル番号の仕組みをよく理解していなかったことを覚えています。彼らはすべてのデバイスにシリアル番号を付けましたが、それは素晴らしいことですが、すべて同じシリアル番号を取得しました。デバイスを同時にコンピューターに接続します。)

しかし、シリアル番号がなく、別のポートに表示される場合、Windowsはなぜそれを別のデバイスとして扱うのですか?「ああ、あそこにいるよ、あそこの別の港に」と言えないのはなぜですか。

そのようなデバイスを2つ接続すると、ランダムな動作が発生するためです。デバイスがプラグアンドプレイによって列挙される順序に応じて、2つの設定のセットがブートごとにランダムに割り当てられます。今日、設定は一方向に一致しますが、明日、デバイスが他の順序で列挙されると、設定が交換されます。(デバイスを異なる順序で接続すると、同様の不可解な動作が発生します。)

言い換えると、(1)物事はすでに悪い形になっているためです-デバイスに適切なシリアル番号があれば問題ありませんでした-(2)この悪い状態になったら、代替物はもっと悪い。USBスタックは、悪化することなく、悪い状況を最大限に活用しようとしています。


17
私が理解できないことの1つは、デバイスドライバーをもう一度再インストールする必要がある理由です。現在、各ポートで同じデバイスのドライバーの個別のコピーを保持する予定ですか?
アグネルクリアン

1
既存のドライバーを新しいポート指定に関連付けているだけだと思います。
ブライアンホワイト14年

1
@BrianWhiteは、ダウンロードおよび構成プロセス全体を実行します。あなたは、タスクバーの通知をクリックして、それを見ることができます
ブルークール

1
ああ、私は何度も見ました。ただし、実際にインターネットから新しいデータを取得するのか、それともローカルファイル(ただし、共通のダイアログテキスト)を使用するのか、またはその間にあるものなのか、そのダイアログから判断するのは困難です。
ブライアンホワイト

とにかく自分でUSBデバイスにシリアル番号を付ける方法はありますか?それとも、製造レベルでしかできないことですか?
TMH

2

Windows(OSとは言いませんが、これは使用していると仮定します)は、デバイスを接続先のポートに関連付けます。そのため、「ポートXのUSBディスクA」は、「USBディスクAポートY」を選択すると、ドライバーとレジストリエントリがリンクされます。

デバイスマネージャーを表示するときに「未接続のデバイスを表示」オプションを使用すると、デバイスが接続されているすべてのポートに接続されているが、現在デバイスにないためグレー表示されます。デバイスをこれらのポートの1つに接続すると、Windowsはそのドライバーインスタンスをアクティブにします。別のポートに接続すると、アクティブにする前にそのポートの新しいドライバーインスタンスを定義する必要があります(ユーザーとして表示されるプロセスです) 「新しいデバイスを追加しています」と表示されます。

これにより、同時に動作する異なるポートに同じデバイスを接続する必要があります。これを達成する他の方法があり、OSが使用する技術をエンドユーザーにほとんどまたはまったく実際的な違いはありませんが、それはWindowsがそれを配置する方法です。


4
近いが、完全ではない。Windowsは、正確なデバイスを追跡できる限り、異なるポートで同じデバイスを認識します。そのためには、デバイスがシリアル番号を提供する必要があります。
ジェイソン2009

4
ディスクには実際にシリアル番号があり、メディア自体にあり、フォーマットによってそこに置かれます。このため、本当に安いキーフォブドライブも、すべてのUSBデバイスの中で最高の動作をします。マウス、キーボード、ジョイスティック、およびその他の安価なデバイスは、最悪の犯罪者になる傾向があります。本当に厄介なのは、シリアル番号のないUSBからRS-232へのシリアルアダプターです。誤って新しいポートに移動されるたびに、新しいCOMポート名に割り当てられます。楽しくない。
RBerteig 09
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.