不器用に接続すると、Windowsに「このデバイスはより高速に実行できます」という通知が表示されるのはなぜですか?


74

Windows XPと7(およびそれぞれ2つの異なるコンピューター)の両方で、ケーブルを接続するとポップアップする「このデバイスは高速USB 2.0ポートに接続すると高速に実行できる」という通知を受け取ることができました。非常にゆっくり(または片手だけで少し苦労します)。十分な速さで、または通常どおり、両手で接続した場合、通知はありません。いずれの場合も、そのようなデバイスはすべて正常に機能しているように見えます。

起こると思うことは、USBコントローラが2.0ではなく遅いと考えるほど、遅い/不器用な接続中にワイヤ間の接触が十分な時間中断されることです。しかし、なぜそう思うのですか?または、なぜ「ケーブルの接続に苦労しています。プラグを抜いてもう一度やり直してください」と表示されないのはなぜですか?


デバイスは、ボックスに直接ではなく、USBドングルに接続されていますか?その場合、いわばサードパーティではなくデバイスを直接接続してみてください。

デスクトップタワーの背面ケーブルポートに接続されているため、マザーボードと反対側のデバイスの間に何も置かないでください。
user1306322

5
一体誰が両手を使ってUSBデバイスを接続しますか?
PNDA

3
@ Cunningham'sLawyer:片手シナリオ:USBプラグ(またはキー)、最終的にそれを差し込むために周りに回し、もう一度試みて、それを周りに回し、片側をしようとしたときに、すべてのテーブルの周りにラップトップをプッシュします。両手のシナリオ:同じ量ひっくり返しますが、秒針はまだラップトップを保持しています。
WoJ

ちょっと待って、それらのラップトップにUSB 1ポートがありますか?0_0
rahuldottech

回答:


76

メッセージは、480 Mbit / sの高速(HS)データレートではなく、12 Mbit / sの古いフルスピード(FS)データレートをネゴシエートすることを指します。USB2ポートからこの効果を得るのは本当に難しいはずです。USB2.0 HSプロトコルは、最初はすべてのHSデバイスがFSデバイスとして機能するため、デバイスとホスト間のかなり複雑なネゴシエーションの後に確立されます。

通常のプロセスは次のとおりです。

  1. HS対応デバイスは、1-1.5k getsの抵抗でVBUS信号を3.3Vにした後、D +ラインをプルアップします。FSデバイスが行うように。

  2. ホストポートはD + = highを検出し、最低100msのデバウンス遅延の後、ホストはバス上でUSB_RESET状態をアサートし、10msまたは50msの45°ドライバーでD +およびD-ラインの両方をグランドに駆動します。

  3. デバイスがFSの場合、何もせず、USB_RESETが終了するまで待機します。

  4. デバイスがHSの場合、HSドライバー(18mAソース)を使用して約1ミリ秒間D-を駆動します。これにより、「Chirp-K」と呼ばれる振幅約800mV(45mA負荷で18ma)のパルスが作成されます。

  5. Chirp-KのENDを検出すると、ホストがHSモードに対応している場合、ホストはこの信号を(約18µmAで45µの負荷に)戻します。FSホストの場合、Chirp-Kを無視し、FSとして続行します。

  6. 次に、ホストがHSモードに対応している場合、そのドライブをD +ワイヤに切り替えて、「Chirp-J」を再び50µsの間形成します。

  7. ホストは、USB_RESET状態の全期間(ハブポートで10ミリ秒、ルートハブポートで50ミリ秒)、この交互の50µsパターンを繰り返します。

  8. 3回交互にチャープK / Jを実行すると、デバイスはホストがHSであることを認識し、HSモード自体に切り替わります。これは、デバイス側でHS終端をオンにすることを意味します。これにより、総ワイヤ抵抗が22Ωになり、チャープ信号の振幅が標準のHS信号レベルまで400mVに低下します。

  9. ホストは、HSフレーム開始(SOF)パケットを続行し、HSモードで列挙プロセスを開始します。

今では、ウィグリングのどの部分がこのプロトコルを破り、ホストがポートをFSとしてマークするようにしたのかは誰でも推測できます。


10
頭字語:FS「フルスピード」(USB 1.0、12 Mbit / s)、HS「ハイスピード」(USB 2.0、480 Mbit / s)、SS「SuperSpeed」(USB 3.0、5 Gbit / s)です。
-isanae

4
過去16年間USBデバイスを扱ってきましたが、HSからFSへの最初の低下を認めなければなりません。通常のドライバーレベルのプロトコルは、列挙のプロセスでUSB_RESETをアサートするために少なくとも2回以上の試行を使用します。最初の挿入でウィグリングの最悪の場合、説明されたプロトコルに従って1つまたは2つのUSB_RESETが追加されるため、フォールバックはユーザーレベルで発生しません。ただし、一部の最新のホストでは、従来の電流駆動ではなく「電圧駆動」信号を使用しているため、さまざまなしきい値検出レベルの従来の組み合わせがすべて台無しになり、事態が発生する可能性があります。
Ale..chenski

21
@isanaeデバイス仕様の作成者は、「低速」と呼ぶ先見性をいつ得るのだろうか。
wizzwizz4

7
@ wizzwizz4は、消費者の受容が不十分であるために製品を意図的かつ故意に失敗させたい場合。
ダン・ニーリー

10
@isanae-USB 1.0は、1.5 Mbpsの「低速」もサポートしていました。
マイケルカラス

32

デバイスをUSB2ポートに接続すると、コンピューターは最初にUSB2データプロトコルを使用して接続のネゴシエーションを試みます。
それが失敗すると、USB1データプロトコルを使用して再試行します。

私の最良の推測は、USB2ネゴシエーション中に物理的な接続(連絡先のウィグリングによる)がまだ安定していないことです。そのため、デバイスがUSB2デバイスであっても、USB1にフォールバックします。

面白いことに、WindowsはデバイスがUSB2速度(ドライバーから取得する情報)に対応している必要があることを認識しているため、Windowsは、接続先のUSBポートが低速のUSB1ポートであると結論付けます。Windowsは、ポート自体がUSB2対応かどうかをチェックしないようです。
そして、それがやや誤解を招くエラーメッセージを受け取る理由です。

PS Windows 10マシンで自分で試したところ、同じ効果がありました。


USB3

1
いいえ。USBポートの速度は、データプロトコルを使用する前にハードウェアによって決定されます。
Ale..chenski

3
@AliChenどのように決定されますか?
グロノスタジ

私の完全な答えをご覧ください。ソフトウェアは、「ポート接続」ビット(割り込み)を検出したときにのみポートリセットコマンドを開始します。残りはハードウェアで行われます。
Ale..chenski

ウィキペディアから:「USB 2.0デバイスは、リセット時にチャーピングと呼ばれる特別なプロトコルを使用して、ホスト/ハブと高帯域幅モードをネゴシエートします。HS[USB 2.0]対応のデバイスは、FS [USB 1.0]デバイスとして最初に接続します( D +はHighにプルされます)が、USB RESETを受信すると(D +とD-の両方がホストによって10から20ミリ秒間Lowに駆動されます)、チャープKとして知られるD-ラインをHighにプルします。
ネイサンオスマン

0

Windowsがコントローラーとのハンドシェイクプロセスを既に完了し、その時点でUSB 2.0通信に必要な連絡先が触れていないほど十分にゆっくり挿入したため、WindowsがUSB 2.0デバイスを1.1と誤解する可能性がありますUSB 2.0以上でのみ存在するものとしてマークされたレールに応答がないため、デバイス。


これは、接続をまだ認識し、失敗することを選択していない<2.0バージョンのUSBデバイスの一般的な状況ですか?
user1306322

8
これは、USB1 / 2ピンが最初に接続されるUSB3ポートのUSB3デバイスで発生する可能性があります。しかし、私はそれがUSB1 / USB2でどのように起こるかを見ていない。どちらも4つのピンのみを使用し、1つのペアは電源用、1つのペアはデータ用です。
ヘネス

@hennes同意します。USB 1と2の間には物理的な区別はありません
。-トニー

1
@TonnyいくつかのあいまいなブランドのUSB 1.1および2.0デバイスでいくつかの違いを見たとは確信していますが、私はおそらく間違っています。
ステファン

1
@Stefan USBの初期には、コンタクトの寸法が悪い安価なノックオフコネクタがたくさんありました。プラグの4つのピンのそれぞれが異なる長さと厚さを持っているところを見てきました。安いノックオフケーブルを注文することの長所と短所について話し合うとき、私はまだ人々にオフィスを探してもらいます。
トニー
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.