Почему Windows показывает уведомление «Это устройство может работать быстрее», если я подключаю его неуклюже?

74

Я заметил, что как на Windows XP, так и на 7 (и на 2 разных компьютерах соответственно) мне удалось получить уведомление «Это устройство может работать быстрее, если вы подключите его к высокоскоростному порту USB 2.0», которое выскочит, если я подключу кабель очень медленно (или немного изо всех сил, делая это одной рукой). Если я подключаю его достаточно быстро или нормально обеими руками, уведомления нет. В любом случае все такие устройства работают нормально.

Я думаю, что случается так, что контакт между проводами прерывается на достаточное время при медленном / неуклюжем соединении, что контроллер USB считает, что это не 2.0, а медленнее. Но почему это так? Или почему он просто не говорит: «Вы плохо подключили кабели, пожалуйста, отключите и попробуйте снова»?

user1306322
источник
Устройство подключено к USB-ключу, а не напрямую к вашей коробке? Если это так, попробуйте подключить устройство напрямую, а не третьим лицам, так сказать.
Он подключен к кабельному порту на задней панели настольного компьютера, поэтому между материнской платой и устройством на другом конце не должно быть ничего.
user1306322
5
Кто на земле использует обе руки, чтобы подключить USB-устройство?
PNDA
3
@ Cunningham'sLawyer: сценарий одной рукой : USB-штекер (или ключ) толкает ноутбук по всему столу при попытке одной стороны, переворачивая, пытаясь еще раз, переворачивая, чтобы наконец подключить его. Сценарий двумя руками : одинаковое количество листать, но секундная стрелка держит ноутбук все еще.
WoJ
Подождите, так у вас есть порты USB 1 на этих ноутбуках? 0_0
rahuldottech

Ответы:

76

Сообщение относится к согласованию старой скорости передачи данных полной скорости (FS) 12 Мбит / с вместо скорости передачи данных высокой скорости (HS), которая составляет 480 Мбит / с. Должно быть действительно трудно получить этот эффект от порта USB2. Протокол USB 2.0 USB HS устанавливается после довольно сложного согласования между устройством и хостом, поскольку изначально каждое устройство HS действует как устройство FS.

Обычный процесс выглядит следующим образом:

  1. Устройство с поддержкой HS поднимает линию D + после получения сигнала VBUS с резистором 1-1,5 кОм до 3,3 В. Так же, как устройство ФС будет делать.

  2. Порт хоста обнаруживает D + = высокий уровень, и после минимальной задержки отсоединения 100 мс, хост устанавливает состояние USB_RESET на шине, выводя линии D + и D- на землю с драйверами 45 Ом в течение 10 или 50 мс.

  3. Если устройство FS, оно ничего не делает и ждет до конца USB_RESET.

  4. Если устройство HS, оно будет управлять D-high с помощью драйвера HS (источник 18 мА) в течение примерно 1 мс. Это создаст импульс с амплитудой около 800 мВ (от 18 мА до 45 Ом), называемый «Chirp-K»;

  5. После обнаружения КОНЦА Chirp-K, если хост способен работать в режиме HS, он подает этот сигнал обратно (те же 18 мА при собственной нагрузке 45 Ом), теперь в течение примерно 50 мкс. Если это хост FS, он игнорирует Chirp-K и действует как FS.

  6. Затем, если хост способен работать в режиме HS, он переключает свой привод в провод D +, образуя «Chirp-J», снова на 50 мкс;

  7. Хост повторяет этот чередующийся шаблон 50 мкс в течение всей продолжительности состояния USB_RESET (10 мс на портах концентратора, 50 мс на портах корневого концентратора);

  8. После трех чередующихся chirp-K / J устройство распознает, что хост является HS, и переключается в сам режим HS. Это подразумевает включение окончания HS на конце устройства, что приводит к тому, что полное сопротивление провода становится равным 22 Ом, а амплитуда сигнала ЛЧМ падает до 400 мВ до стандартного уровня сигнализации HS.

  9. Хост продолжает работу с пакетами начала кадра HS (SOF) и запускает процесс перечисления в режиме HS.

Теперь никто не догадывается, какая часть виглинга нарушила этот протокол и заставила хост пометить порт как FS.

Ale..chenski
источник
10
Сокращения: FS«полный» (USB 1.0, 12 Мбит / с), HS«высокоскоростной» (USB 2.0, 480 Мбит / с) и SSбудет «SuperSpeed» (USB 3.0, 5 Гбит / с).
Исана
4
Работая с USB-устройствами в течение последних 16 лет, я должен признать, что впервые вижу снижение от HS до FS. Обычный протокол уровня драйвера использует как минимум еще две попытки утвердить USB_RESET в процессе перечисления. В худшем случае шатание при первой вставке, будет один или два дополнительных USB_RESET, следуя описанному протоколу, поэтому откат никогда не произойдет на уровне пользователя. Тем не менее, некоторые современные хосты используют сигнализацию «управляемого напряжением» вместо классической управляемой током, поэтому вся классическая комбинация различных пороговых уровней обнаружения облажается, и что-то может случиться.
Ale..chenski
21
@isanae Интересно, когда создатели спецификаций устройств будут предвидеть, чтобы называть что-то «медленной скоростью».
wizzwizz4
7
@ wizzwizz4, когда они намеренно и намеренно хотят, чтобы их продукт вышел из строя из-за плохого восприятия потребителем.
Дэн Нили,
10
@isanae - USB 1.0 также поддерживает «низкоскоростной» уровень 1,5 Мбит / с.
Майкл Карас
32

Когда вы подключаете устройство к порту USB2, компьютер сначала пытается установить соединение, используя протокол данных USB2.
Когда это не удается, он пытается снова, используя протокол данных USB1.

Я думаю, что физическое соединение (из-за покачивания контактов) еще не стабильно во время согласования USB2. Таким образом, он возвращается к USB1, даже если устройство является устройством USB2.

Довольно забавно, что Windows понимает, что устройство должно поддерживать скорость USB2 (информацию, которую он получает от драйвера), и поэтому Windows приходит к выводу, что порт USB, к которому вы его подключили, был медленным портом USB1. Похоже, Windows не проверяет, поддерживает ли сам порт USB2.
И именно поэтому вы получаете несколько вводящее в заблуждение сообщение об ошибке.

PS Только что попробовал сам с машиной Windows 10: тот же эффект там.

Tonny
источник
То же самое иногда случается с устройством USB3 в порту USB3 ...
davidbak
1
Нет. Скорость USB-порта определяется аппаратным обеспечением ДО включения любого протокола данных.
Ale..chenski
3
@AliChen Как это определяется?
Гроностай
Смотрите мой полный ответ. Программное обеспечение инициирует команду сброса порта только после просмотра бита «подключение к порту» (прерывание от него); остальное делается аппаратно.
Ale..chenski
Из Википедии: «Устройства USB 2.0 во время сброса используют специальный протокол, называемый чирингом, для согласования режима высокой пропускной способности с хостом / концентратором. Устройство, поддерживающее HS [USB 2.0], сначала подключается как устройство FS [USB 1.0] ( D + поднялся до высокого уровня), но после получения СБРОСА USB (и D +, и D- приводятся в действие LOW хостом в течение 10–20 мс) он поднимает линию D– до высокого уровня, известного как «чириканье К.»
Натан Осман
0

Возможно, вы вставили его достаточно медленно, чтобы Windows уже завершила процесс рукопожатия с контроллером, и в то время контакты, необходимые для связи через USB 2.0, не соприкасались. Это могло привести к тому, что Windows приняла устройство USB 2.0 за 1.1. устройство, поскольку не будет ответа на рельсы, помеченные как присутствующие только на USB 2.0 и выше.

Стефан
источник
Является ли это распространенной ситуацией для USB-устройств версии <2.0, когда она все еще распознает соединение и не выбирает сбой?
user1306322
8
Это может произойти с устройствами USB3 через порт USB3, к которому сначала подключаются контакты USB1 / 2. Но я не вижу, как это может случиться с USB1 / USB2. Оба используют только 4 контакта, одну пару для питания, одну пару для данных.
Хенн
@hennes Я согласен. У них нет физического различия между USB 1 и 2.
Тонни
1
@ Тонни Я почти уверен, что видел некоторые отличия на некоторых непонятных фирменных устройствах USB 1.1 и 2.0. Но, признаюсь, я, вероятно, ошибаюсь.
Стефан
1
@ Stefan В первые годы существования USB было много дешевых разъемов, которые имели плохие размеры для контактов. Я видел кое-где, где каждый из 4 штырьков в штекере имел разную длину и толщину. Я до сих пор держу парочку в офисе, чтобы показать людям, когда у нас идет дискуссия о плюсах и минусах заказа дешевых подкидных кабелей.
Тонни