Mengapa Windows menunjukkan notifikasi "Perangkat ini dapat bekerja lebih cepat" jika saya menghubungkannya dengan kikuk?

74

Saya perhatikan bahwa pada Windows XP dan 7 (dan 2 komputer yang berbeda masing-masing) saya dapat mengatur untuk mendapatkan bahwa "Perangkat ini dapat bekerja lebih cepat jika Anda menghubungkannya ke port USB 2.0 berkecepatan tinggi" notifikasi untuk muncul jika saya menghubungkan kabel sangat lambat (atau berjuang sedikit melakukannya hanya dengan satu tangan). Jika saya menghubungkannya dengan cukup cepat atau normal, dengan kedua tangan, tidak ada pemberitahuan. Dalam kedua kasus tersebut, semua perangkat tersebut tampaknya berfungsi secara normal.

Apa yang saya pikir terjadi adalah bahwa kontak antara kabel akan terputus untuk waktu yang cukup selama koneksi lambat / canggung bahwa pengontrol USB berpikir itu bukan 2.0 tetapi lebih lambat. Tetapi mengapa itu berpikir demikian? Atau mengapa itu tidak hanya mengatakan "Anda buruk dalam menghubungkan kabel, silakan cabut dan coba lagi"?

pengguna1306322
sumber
Apakah perangkat terhubung ke dongle usb daripada langsung ke kotak Anda? Jika demikian, coba sambungkan perangkat langsung dan bukan pihak ketiga yang berbicara.
Ini terhubung ke port kabel bagian belakang menara desktop, jadi seharusnya tidak ada apa pun antara motherboard dan perangkat di ujung lainnya.
user1306322
5
Siapa yang menggunakan kedua tangan untuk mencolokkan perangkat USB?
PNDA
3
@ Cunningham'sLawyer: skenario satu tangan : colokan usb (atau kunci) mendorong laptop di sekeliling meja ketika mencoba satu sisi, memutarnya, mencoba sekali lagi, memutarnya untuk akhirnya menancapkannya. Skenario dua tangan : jumlah yang sama membalik tetapi tangan kedua memegang laptop masih.
WoJ
Tunggu, jadi Anda memiliki port USB 1 pada laptop itu? 0_0
rahuldottech

Jawaban:

76

Pesan mengacu pada negosiasi kecepatan data kecepatan penuh (FS) lama 12 Mbit / s, bukan kecepatan data (HS) kecepatan tinggi yaitu 480 Mbit / s. Pasti sangat sulit untuk mendapatkan efek ini dari port USB2. Protokol USB2.0 HS terbentuk setelah negosiasi yang cukup rumit antara perangkat dan host, karena pada awalnya setiap perangkat HS bertindak sebagai perangkat FS.

Proses normal adalah sebagai berikut:

  1. Perangkat berkemampuan HS menarik garis D + setelah mendapat sinyal VBUS dengan resistor 1-1.5kΩ ke 3.3V. Seperti halnya perangkat FS akan lakukan.

  2. Host port mendeteksi D + = high, dan setelah penundaan minimal 100ms de-bouncing, host menyatakan status USB_RESET di bus, mendorong D + dan D-line ke ground dengan driver 45Ω selama 10 atau 50ms.

  3. Jika perangkatnya FS, ia tidak melakukan apa-apa dan menunggu sampai akhir USB_RESET.

  4. Jika perangkat HS, itu akan mendorong D- tinggi menggunakan driver HS (sumber 18mA) sekitar 1 ms. Ini akan membuat pulsa dengan amplitudo sekitar 800mV (18mA menjadi 45Ω load) yang disebut "Chirp-K";

  5. Setelah mendeteksi AKHIR Kicauan-K, jika tuan rumah mampu mode HS, ia menggerakkan sinyal ini kembali (sama 18mA ke dalam beban 45 own sendiri), sekarang sekitar 50μs. Jika itu adalah host FS, ia mengabaikan Chirp-K, dan melanjutkan sebagai FS.

  6. Kemudian, jika tuan rumah mampu mode HS, ia mengalihkan drive-nya ke kabel D +, membentuk "Chirp-J", lagi untuk 50μs;

  7. Host mengulangi pola 50μs bolak-balik ini untuk seluruh durasi status USB_RESET (10 ms pada port hub, 50 ms pada port hub root);

  8. Setelah tiga chirp-K / J bergantian, perangkat akan mengenali bahwa host adalah HS, dan beralih ke mode HS itu sendiri. Ini berarti menyalakan terminasi HS pada ujung perangkat, yang membuat resistansi kawat total menjadi 22Ω, dan amplitudo sinyal kicauan turun hingga 400mV, ke level pensinyalan HS standar.

  9. Host melanjutkan dengan paket HS bingkai awal (SOF), dan memulai proses enumerasi dalam mode HS.

Sekarang siapa pun dapat menebak bagian mana dari goyangan yang melanggar protokol ini, dan menjadikan host untuk menandai port sebagai FS.

Ale..chenski
sumber
10
Akronim: FSadalah "kecepatan penuh" (USB 1.0, 12 Mbit / s), HSadalah "kecepatan tinggi" (USB 2.0, 480 Mbit / s) dan SSakan menjadi "Kecepatan Super" (USB 3.0, 5 Gbit / s).
isanae
4
Berurusan dengan perangkat USB selama 16 tahun terakhir, saya harus mengakui bahwa saya melihat penurunan dari HS ke FS pertama kali. Protokol tingkat driver normal menggunakan setidaknya dua upaya lagi untuk menegaskan USB_RESET dalam proses enumerasi. Ini adalah kasus terburuk dari goyangan pada penyisipan pertama, akan ada satu atau dua USB_RESET tambahan mengikuti protokol yang dijelaskan, sehingga jatuh kembali tidak pernah terjadi di tingkat pengguna. Namun, beberapa penghuni modern menggunakan pensinyalan "digerakkan-tegangan" alih-alih digerakkan oleh arus klasik, sehingga semua kombinasi klasik dari berbagai tingkat deteksi ambang batas dikacaukan dan hal-hal dapat terjadi.
Ale..chenski
21
@ isanae Saya bertanya-tanya kapan pencipta spesifikasi perangkat akan memiliki pandangan ke depan untuk memanggil sesuatu "kecepatan lambat".
wizzwizz4
7
@ wizzwizz4 ketika mereka dengan sengaja dan sengaja ingin produk mereka gagal karena penerimaan konsumen yang buruk.
Dan Neely
10
@ isanae - USB 1.0 juga mendukung "kecepatan rendah" sebagai 1,5 Mbits / s.
Michael Karas
32

Saat Anda mencolokkan perangkat di port USB2, komputer pertama-tama mencoba untuk menegosiasikan koneksi menggunakan protokol data USB2.
Ketika itu gagal, ia mencoba lagi menggunakan protokol data USB1.

Dugaan terbaik saya adalah bahwa koneksi fisik (karena menggoyangkan kontak) belum stabil selama negosiasi USB2. Jadi jatuh kembali ke USB1, meskipun perangkatnya adalah perangkat USB2.

Cukup lucu Windows menyadari bahwa perangkat harus mampu kecepatan USB2 (informasi yang didapat dari driver) dan Windows menyimpulkan bahwa port USB yang Anda gunakan adalah port USB1 yang lambat. Windows sepertinya tidak memeriksa apakah port itu sendiri berkemampuan USB2.
Dan itulah mengapa Anda mendapatkan pesan kesalahan yang agak menyesatkan.

PS Baru saja mencobanya sendiri dengan mesin Windows 10: Efek yang sama di sana.

Tonny
sumber
Hal yang sama kadang-kadang terjadi dengan perangkat USB3 di port USB3 ...
davidbak
1
Tidak. Kecepatan port USB ditentukan oleh perangkat keras SEBELUM terlibat dalam protokol data apa pun.
Ale..chenski
3
@AliChen Bagaimana cara menentukannya?
gronostaj
Lihat jawaban lengkap saya. Perangkat lunak hanya menginisiasi perintah reset port setelah melihat bit "port connect" (interupsi darinya); sisanya dilakukan di perangkat keras.
Ale..chenski
Dari Wikipedia: "Perangkat USB 2.0 menggunakan protokol khusus selama reset, yang disebut kicau, untuk menegosiasikan mode bandwidth tinggi dengan host / hub. Perangkat yang mampu HS [USB 2.0] pertama kali terhubung sebagai perangkat FS [USB 1.0] ( D + menarik tinggi), tetapi setelah menerima RESET USB (baik D + dan D− digerakkan RENDAH oleh tuan rumah selama 10 hingga 20 ms) itu menarik garis D− tinggi, yang dikenal sebagai Kicauan K. "
Nathan Osman
0

Bisa jadi Anda memasukkannya cukup lambat sehingga Windows telah menyelesaikan proses berjabat tangan dengan pengontrol dan bahwa pada saat itu kontak yang diperlukan untuk komunikasi USB 2.0 tidak menyentuh. Itu mungkin dapat menyebabkan Windows salah mengartikan perangkat USB 2.0 sebagai 1.1. perangkat karena tidak akan ada respons pada rel yang ditandai hanya ada pada USB 2.0 ke atas.

Stefan
sumber
Apakah ini situasi umum untuk perangkat usb versi <2.0 yang masih mengenali koneksi dan tidak memilih untuk gagal?
user1306322
8
Itu bisa terjadi dengan perangkat USB3 di port USB3 di mana pin USB1 / 2 terhubung terlebih dahulu. Tapi saya tidak melihat bagaimana itu bisa terjadi dengan USB1 / USB2. Keduanya hanya menggunakan 4 pin, satu pasang untuk daya, satu pasang untuk data.
Hennes
@ketika saya setuju. Tidak ada perbedaan fisik antara USB 1 dan 2.
Tonny
1
@Tonny Saya cukup yakin saya melihat beberapa perbedaan pada beberapa perangkat USB 1.1 dan 2.0 bermerek yang tidak jelas. Tapi saya akui, saya mungkin salah.
Stefan
1
@Stefan Pada hari-hari awal USB ada banyak konektor knock-off murah di sekitar yang memiliki dimensi buruk untuk kontak. Saya telah melihat beberapa di mana masing-masing 4 pin di colokan memiliki panjang dan ketebalan yang berbeda. Saya masih menyimpan pasangan di kantor untuk menunjukkan kepada orang-orang ketika kami berdiskusi tentang pro dan kontra tentang pemesanan kabel murah.
Tonny