USB UASP против BOT: исправление циклов сброса mass storage, тайм-аутов и медленных передач
Исправление сбоев USB UASP и отката на BOT. Диагностика циклов сброса mass storage, тайм-аутов SCSI-команд, медленных внешних дисков, багов прошивки моста и отличий скорости UASP vs BOT.
Проблемы USB-накопителей часто списывают на диск, но сбой может быть в USB-транспорте, чипе моста, прошивке корпуса, кабеле, концентраторе, питании, поддержке UASP, откате на BOT или обработке SCSI-команд. Пользователи ищут «USB UASP timeout», «USB mass storage reset loop», «external drive disconnects under load», «USB BOT CBW CSW error», «UASP vs BOT troubleshooting», «SCSI command failed USB», когда диск монтируется, а затем стопорится, исчезает или становится очень медленным.
Bus Scope полезен, потому что USB-накопитель — это не просто файловый I/O. Под диалогом копирования хост шлёт SCSI-команды через USB-транспорты.
BOT и UASP
USB Mass Storage Bulk-Only Transport (BOT) — старый и широко поддерживаемый. Он использует command block wrappers, data-передачи и command status wrappers.
UASP, USB Attached SCSI Protocol — более новый и поддерживает более эффективную очередь команд через USB. Он может улучшить производительность, но зависит от прошивки моста, поведения хост-контроллера, поддержки драйверов и качества кабеля.
Симптомы могут отличаться:
- BOT работает, но медленно.
- UASP быстр, пока не сбросится.
- UASP падает на одной машине, но BOT работает на другой.
- Внешний корпус сбрасывается под тяжёлыми записями.
- Диск исчезает во время больших передач.
Циклы сброса под нагрузкой
Если диск перечисляется и монтируется, но сбрасывается во время записи, смотрите вокруг первой сбойной нагрузки:
- Большая последовательная запись.
- Всплеск случайного I/O.
- SMART-запрос.
- Cache flush.
- SCSI reset.
- USB bulk-тайм-аут.
- Отключение устройства.
Видимая ошибка ОС может быть «I/O error», «device not ready», «disk removed». Трасса шины может показать, перестал ли отвечать USB-мост или хост его сбросил.
Доказательства BOT
Для BOT изучите:
- Command Block Wrapper
- Data-фаза
- Command Status Wrapper
- Код операции SCSI-команды
- Residue передачи
- Восстановление после STALL
- Bulk-only mass storage reset
Если CSW отсутствует или невалиден, хост может сбросить устройство.
Доказательства UASP
UASP использует streams и SCSI task management. Сбои могут выглядеть как тайм-ауты команд, aborted tasks или reset. UASP-трассы сложнее BOT, но основной вопрос тот же: какая команда была в полёте, когда устройство перестало отвечать?
Баги прошивки моста часты в специализированных корпусах. Тестирование того же диска в другом корпусе отделяет здоровье диска от поведения USB-моста.
Питание и кабель
Накопители тянут реальное питание, особенно HDD и мощные SSD. Плохой кабель или bus-powered-концентратор могут вызывать сбросы только под нагрузкой записи.
Если сбросы коррелируют с тяжёлым I/O, проверьте:
- Короткий кабель.
- Прямой порт.
- Концентратор с питанием.
- Другой корпус.
- Другой хост-контроллер.
Сохраните захват; тесты топологии сильнее в паре с пакетными данными.
Чек-лист отладки
Используйте такой воркфлоу:
- Захватите перечисление и определите BOT или UASP.
- Захватите монтирование и первый тяжёлый I/O.
- Определите последнюю успешную SCSI-команду.
- Ищите bulk-тайм-аут, STALL, reset или отключение.
- Для BOT изучите CBW и CSW.
- Для UASP изучите поведение команд/тасков.
- Сравните прямой порт и концентратор.
- Сравните UASP и откат на BOT, если возможно.
- Проверьте другой корпус с тем же диском.
- Сохраните тайминг вокруг первого reset.
Итоговый диагноз
Сбои USB mass storage часто идут от транспорта и моста, а не только от диска. UASP, BOT, SCSI-команды, прошивка моста, питание, кабель и поведение хост-контроллера — всё имеет значение.
Bus Scope помогает показать USB-storage-диалог, чтобы циклы сброса и симптомы медленного диска можно было отследить до реальных доказательств на уровне шины.