Как диагностировать отвалы USB и падение скорости чтения
Карта работает и перестаёт, отваливается в случайные моменты или теряет скорость чтения. Как отличить suspend, общий контроллер, плохой кабель и нагрев и что прислать поставщику.
Коротко
Плавающие сбои DMA почти всегда связаны с USB-трактом, а не с картой, и у них четыре причины: выборочная приостановка USB (selective suspend), общие контроллеры, ненадёжные кабели и нагрев. Меняйте по одной переменной за раз и записывайте, когда происходит каждый отвал: причины различаются именно по времени.
На странице11
- Плавающие отвалы правда случайны?
- Какая причина подходит к вашему симптому?
- Что такое выборочная приостановка USB?
- Делят ли другие USB-устройства контроллер с картой?
- Может ли проблема быть в USB-кабеле?
- Может ли карта отваливаться из-за нагрева?
- Как собрать доказательства отвала
- Как вести журнал отвалов, который пригодится поставщику
- Что исключить, по порядку
- Частые вопросы об отвалах USB
- Источники
Плавающие отвалы правда случайны?
Неисправность, которая то появляется, то пропадает, кажется случайной, но обычно это не так. Почти все такие сбои объясняются четырьмя причинами, и у каждой свой временной почерк. Прежде чем что-то менять, проведите одну сессию, просто наблюдая. Записывайте время каждого отвала по часам, что вы в этот момент делали и сколько машина уже проработала. Одна такая заметка сэкономит вам три вечера перестановки железа.
Какая причина подходит к вашему симптому?
Сопоставляйте характер сбоя, а не формулировку ошибки, а затем смотрите правую колонку: там самая дешёвая проверка, которая отделяет эту причину от остальных.
| Характер сбоя | Вероятная причина | Проверка |
|---|---|---|
| Работает, потом отваливается после нескольких минут простоя, возвращается после переподключения | Выборочная приостановка USB (selective suspend) или управление питанием канала (Link Power Management), которые усыпляют мост | Снимите галочку энергосбережения для этого устройства и отключите параметр USB selective suspend в активной схеме питания, затем повторите простой |
| Отваливается, когда на машине нагружается что-то ещё — веб-камера, карта захвата, внешний диск | Общий USB-контроллер: конкуренция за полосу пропускания или прерывания | Переключите карту в порт на другом контроллере или отключите другое устройство и повторите |
| Отваливается случайно, не зависит от нагрузки или простоя, хуже, если пошевелить кабель | Кабель или разъём: только для зарядки, тонкий, слишком длинный или разболтанное гнездо | Поставьте короткий заведомо исправный кабель с передачей данных и не трогайте его всю сессию |
| Сбоит после одного и того же времени прогрева, каждую сессию, примерно через одинаковое число минут | Нагрев: карта или чип моста в корпусе без обдува | Запустите со снятой боковой крышкой и вентилятором, дующим на плату. Если время до сбоя изменилось, дело в нагреве |
| Скорость чтения низкая с первой секунды и так и не восстанавливается | Подключение согласовалось на скорости USB 2, или в цепочке стоит хаб либо разъём передней панели | Проверьте согласованную скорость и подключитесь напрямую к заднему порту USB 3 |
| Всё отваливается в тот момент, когда игра меняет сцену или грузится | Чтение неразмеченных диапазонов физической памяти убивает тракт, а USB тут вообще ни при чём | Используйте карту памяти и проверьте снова. Этот случай постоянно ошибочно списывают на кабель |
Причины могут накладываться друг на друга: нестабильный кабель на общем контроллере сбоит так, что это не похоже ни на одну из причин по отдельности.
Что такое выборочная приостановка USB?
Windows может отключать питание USB-устройства, которое выглядит простаивающим, а у линий USB 3 поверх этого есть собственные режимы пониженного энергопотребления. Для мыши это незаметно, но мост, от которого вот-вот потребуют непрерывный поток данных, просыпается медленно. Настолько медленно, что программа видит неудавшуюся передачу и сдаётся. Отключить нужно два переключателя: галочку на вкладке «Управление электропитанием» (Power Management) в свойствах устройства в Диспетчере устройств и «Параметр временного отключения USB-порта» (USB selective suspend) в активной схеме питания. Отключите оба на втором ПК и проверьте снова, прежде чем подозревать что-то физическое.
Может ли проблема быть в USB-кабеле?
USB-C кабели не взаимозаменяемы: многие распаяны только для зарядки и вообще не имеют пар SuperSpeed. Многие дешёвые кабели с передачей данных к тому же не держат линию USB 3 на большой длине. Разъём, который полгода дёргали вбок, будет отваливаться от вибрации. Держите один короткий кабель, в исправности которого вы уверены, как эталон, и проверяйте с ним каждый раз, когда появляется сбой. Если с ним поведение меняется, прекращайте искать причину во всём остальном.
Может ли карта отваливаться из-за нагрева?
И FPGA, и мост USB 3 рассеивают вполне ощутимую мощность. Низкопрофильной плате, прижатой к горячей видеокарте в корпусе без бокового забора воздуха, некуда девать это тепло. Признак — время: сбой наступает примерно через один и тот же интервал каждую сессию и проходит, когда машина какое-то время побудет выключенной. Мы не называем конкретную температуру: она зависит от платы, и ни одна из цифр, которые публикуют люди, не была измерена на вашей. Вместо этого проверьте гипотезу: откройте корпус, направьте на плату вентилятор и посмотрите, изменится ли интервал.
Как собрать доказательства отвала
Эти команды только читают данные и запускаются на ВТОРОМ ПК. Выполните их перед сессией и ещё раз сразу после отвала и сохраните оба вывода: доказательство — это разница между ними.
REM Which USB controllers exist, so you can see what shares what
powershell -c "Get-CimInstance Win32_USBController | Select-Object Name, DeviceID"
REM Every USB device and its current status. Look for Error or Unknown
powershell -c "Get-PnpDevice -Class USB | Select-Object Status, Class, FriendlyName, InstanceId"
REM Is the FTDI bridge still present right now?
powershell -c "Get-PnpDevice | Where-Object FriendlyName -like '*FT601*' | Format-List"
REM Recent device-installation and PnP configuration events
powershell -c "Get-WinEvent -LogName Microsoft-Windows-Kernel-PnP/Configuration -MaxEvents 40 | Format-Table TimeCreated, Id, Message -Auto"
REM Surprise-removal and driver-load failures in the System log
powershell -c "Get-WinEvent -FilterHashtable @{LogName='System'; StartTime=(Get-Date).AddHours(-6)} -MaxEvents 60 | Where-Object ProviderName -match 'USB|PnP|Disk' | Format-Table TimeCreated, Id, ProviderName"
REM Which sleep states this machine supports, which tells you whether suspend can be in play
powercfg /aКак вести журнал отвалов, который пригодится поставщику
Три сессии такого журнала стоят больше трёх страниц описания: журнал превращает тикет из переписки в решение.
- Запишите время начала сессии и аптайм машины
- Отметьте скорость чтения в начале сессии
- Когда случится отвал, запишите время по часам и что происходило: простой, загрузка, смена сцены или работа другого устройства
- Скопируйте текстом точную строку ошибки, которую вывела программа
- Выполните команды проверки статуса и журнала событий и сохраните их вывод рядом с временной меткой
- Измените ровно одну переменную — кабель, порт, настройку питания или обдув — и повторите сессию
- Отправьте журнал, указав это единственное изменение, чтобы тот, кто его читает, видел причину и следствие, а не список всего вашего железа
Что исключить, по порядку
Список начинается с самых дешёвых и частых причин, и большинство тикетов про отвалы заканчиваются на третьем пункте.
- Выборочная приостановка USB отключена — и галочкой в свойствах устройства, и в настройках схемы питания
- Карта подключена напрямую к заднему порту USB 3, все хабы, доки и удлинители убраны
- Один короткий заведомо исправный кабель с передачей данных служит эталоном для всех дальнейших проверок
- Карта одна на своём USB-контроллере, нагруженные устройства перенесены на другие
- Используется карта памяти, так что тракт чтения никогда не заходит в неразмеченные диапазоны
- Над картой есть поток воздуха — проверено со снятой боковой крышкой, прежде чем что-либо покупать
- Между проверками обе машины проходят нормальный холодный старт, а не перезагрузку
Частые вопросы об отвалах USB
Может ли отвал означать, что меня обнаружили?
Нет. Пропадание USB-устройства на втором ПК — локальное событие аппаратного тракта, того же рода, что и отвалившийся внешний диск. Оно случается и на машинах, где игра вообще не установлена.
Поможет ли хаб с внешним питанием, если не хватает портов?
Хаб — всё равно лишнее звено в цепочке, и убрать его вас попросят в первую очередь. Отдайте карте задние порты, а всё остальное повесьте на хаб, а не наоборот.
На таких скоростях длина кабеля правда имеет значение?
Да. У сигналов USB 3 скромный запас по длине, и дешёвые кабели съедают большую его часть ещё до того, как вы добавите метр. Держите кабель карты коротким и считайте длину переменной, которую стоит проверить.
Скорость чтения посреди сессии падает вдвое, но ничего не отключается. Это та же проблема?
Из того же семейства: падение без отключения обычно означает борьбу за ресурсы контроллера или тепловой троттлинг где-то на пути. Различить их поможет журнал с временем отвалов.
Стоит ли обновить драйвер FTDI до последней версии?
Используйте версию, которая шла с вашим заказом. Более новый драйвер со старой сборкой софта — известный источник странных плавающих сбоев, а именно их вы и пытаетесь устранить.
Источники
Четыре причины и их временные закономерности — результат работы на стенде: команда сопоставляла реальные отвалы с suspend, общим контроллером, кабелями и нагревом.
- 01Windows debugging tools (Microsoft)
откуда берётся бесплатная утилита для просмотра дерева USB, упомянутая на странице
learn.microsoft.com
Читать дальше
Не получилось? Откройте тикет в Discord
Все гайды