Как определить тип подключенного USB-устройства

Обновлено: 21.11.2024

Мне интересно, что к одному и тому же USB-порту можно подключить много устройств, например клавиатуру, мышь, запоминающее устройство и т. д. Итак, как компьютер узнает, какое устройство подключено к USB-порту, например, когда мы подключаем клавиатуру, как адаптер клавиатуры на материнской плате знает, что это клавиатура, которая подключена, и начинает с ней общаться?
Отправляет ли каждое USB-устройство уникальную информацию о себе на компьютер для распознавания компьютером?

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

Чтобы получить очень хорошее объяснение всего, что связано с USB, прочтите это. Да, это долго, USB сложный. Чтобы идентифицировать устройство, просмотрите дескрипторы устройства.

5 ответов 5

Да. USB, он же Universal Serial Bus — это соединение 4-х портов. VCC, Data+, Data- и Ground, где более новые спецификации будут иметь большую пропускную способность и мощность передачи.

Когда вы подключаете USB-устройство к компьютеру, компьютер сначала подает 5 В через порт и данные для запроса инициализации. На другом конце USB-кабеля, устройстве, будет микросхема контроллера, которая управляет связью порта. Он отправит ответ с идентификационным кодом.

Существует огромный список общих идентификаторов, которые он может использовать, или он может указать другие и передать дополнительный код. В случае компьютера, если это произойдет, он проверит, установлены или доступны ли драйверы, соответствующие этому уникальному идентификатору. Если нет, он ответит: «Устройство не было распознано». и вы можете заставить его работать, только установив правильный драйвер, который добавит поддержку этого уникального идентификационного кода.

После завершения начального этапа устройство переходит в рабочий режим, а драйвер продолжает обмениваться данными с USB-устройством.

Небольшое примечание: если вы попытаетесь просто подключить провода, скажем, к USB-разъему. питания + и заземления, вы обнаружите, что он не работает надежно, потому что нет стадии инициализации. Он будет включаться, а затем выключаться.

Пожалуйста, порекомендуйте мне какую-нибудь книгу на эту тему.

Извините, но запрос рекомендаций по обучению считается не по теме. Это слишком широко и может устареть. Дополнительные сведения см. в Справочном центре.

Отправляет ли каждое USB-устройство некоторую уникальную информацию о себе на компьютер для распознавания компьютером?

В основном USB-устройства имеют номер класса (который не уникален для разных устройств, но определяет «тип» устройства), а также идентификатор поставщика (VID) и идентификатор продукта (PID), которые они сообщают хосту при подключении. соединять. В Windows в диспетчере устройств вы можете увидеть номер класса USB здесь в разделе «Совместимые идентификаторы».

<р>. и вы можете увидеть VID и PID в разделе "Идентификаторы оборудования".

Производители устройств получают новые VID USB на форуме разработчиков USB, а USB-IF также поддерживает список кодов классов.

Приведенный выше пример, если вы посмотрите на него, вы увидите, что класс 0x03 — это «устройство с интерфейсом пользователя». Операционная система или другая может поддерживать вещи на основе класса или комбинации класса + PID/VID.

Идентификаторы поставщиков USB (VID) и идентификаторы продуктов (PID) — это 16-битные числа, используемые для идентификации USB-устройств на компьютере или другом хосте. Каждый идентификатор поставщика назначается Форумом разработчиков USB конкретной компании, которая, в свою очередь, присваивает PID отдельным продуктам. Ссылка

PCI/PCIe (и ISA в начале 90-х с ISAPNP) имели этот механизм до USB, и это то, что сделало PCI/PCIe «подключи и работай», когда операционная система могла автоматически обнаруживать устройство и загружать драйвер. Механизм для PCI/PCIe более сложен, так как операционная система может назначать ресурсы устройству в дополнение к простому получению VID/PID.

Мой компьютер автоматически распознает мою клавиатуру во время загрузки без использования какой-либо операционной системы, поэтому поставщик и идентификатор продукта почти всей клавиатуры хранятся в моем BIOS?

usb использует так называемое "hid" -> "устройство с интерфейсом пользователя", чтобы сообщить любому устройству, что это клавиатура, т.е. это не имеет ничего общего с биосом, даже плейстейшн может распознать клавиатуру

Еще один почти неправильный ответ. Наиболее важной информацией, которую предоставляет устройство, является его КЛАСС. Класс определяет, какой универсальный драйвер загрузить. VID и PID используются только в том случае, если устройство имеет какие-либо индивидуальные проприетарные функции, тогда их необходимо включить с помощью драйвера для конкретного устройства. HID — это один из универсальных классов USB.

Я добавил информацию о классах. VID и PID полезны, если вы пытаетесь найти драйвер для какого-то странного USB-устройства.

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

После того как микрокомпьютер в устройстве получит питание, он попытается установить связь с компьютером. Компьютер и устройство начинают с того, что можно назвать «переговорами», когда они соглашаются по ряду вопросов. Во-первых, это используемая скорость: от 1,5 МБит в секунду и выше до 10 Гбит/с. Поскольку каждое USB-устройство имеет собственное подключение к компьютеру через концентратор, каждое из них может иметь разную скорость. Устройство также согласовывает питание, так как оно может потреблять только 100 мА с самого начала.

У USB-устройства будет одна или несколько конечных точек. Это можно использовать в качестве примера для устройства, имеющего как аудиоинтерфейс, так и миди-клавиатуру.

Устройство USB будет представлено в протоколе с идентификатором поставщика, то есть уникальным номером, присвоенным поставщику, а также дополнительной информацией об устройстве. Эта информация позволяет драйверу устройства определенного поставщика на компьютере взаимодействовать с устройством.

Кажется, вы забыли об идентификаторе продукта — не менее важном идентификаторе в дополнение к идентификатору поставщика.

@Руслан На самом деле нет. «Также дополнительная информация об устройстве» предназначалась для этого. Идентификатор поставщика берется из глобального списка, идентификатор продукта отличается для каждого поставщика. Многие комбинации идентификатора поставщика/идентификатора продукта могут быть загружены, но далеко не все.

Ваш раздел о "переговорах" "крайне неточен". Скорость устройства не согласовывается, она определяется USB-контроллером для каждого порта, и все это основано на простой аппаратной сигнатуре, все на аппаратном уровне. Количество «конечных точек» также не имеет значения для исходного вопроса. Однако ваша информация о классах устройств заслуживает похвалы. Вы должны переписать свой ответ в обратном порядке, начиная с идеи «совместимости классов» и списка классов, поскольку проприетарные интерфейсы, зависящие от поставщика, очень редки.

Отправляет ли каждое USB-устройство некоторую уникальную информацию о себе на компьютер для распознавания компьютером?

Да, это называется "дескриптор(ы) устройства".

В структуре USB есть процесс, который называется "перечисление". Когда устройство подключается к одному из USB-портов ПК, хост инициализирует порт, назначает ему новый уникальный USB-адрес и запрашивает у устройства набор «дескрипторов». Дескрипторы, как следует из названия, описывают устройство. Помимо идентификаторов производителя и продукта, устройство предоставляет информацию о том, к какому классу USB-устройств оно принадлежит. И многое другое, о требованиях к питанию, тонкой детализации интерфейсов, параметрах управления питанием и т. д. Класс — это самая важная информация, которую предоставляют устройства.

Классы определены для удобства операционной системы, они имеют общий способ использования элементов управления устройством. Обычные клавиатуры и мыши принадлежат (разработаны) к классу HID (класс устройств с интерфейсом человека). Другими типичными классами являются устройства COM, класс видео с веб-камеры, класс запоминающих устройств. Классы USB-устройств определяют основные функции и общий способ управления данными. Так система загружает общий драйвер для данного класса устройств, и устройства просто работают. Более сложные устройства могут определять проприетарные интерфейсы, и тогда вам потребуется загрузить и установить проприетарные драйверы, чтобы получить расширенные функциональные возможности устройства. Но для удобства пользователя все USB-устройства обычно реализуют некоторые базовые функции класса, поэтому пользователь может начать их использовать.

Клавиатуры предназначены для устройств класса HID, поэтому в BIOS реализован только один драйвер, HID. Таким образом, вне зависимости от Vendor ID или Product ID, один драйвер работает для всех клавиатур (если они правильно спроектированы), для сотен их. Однако не все (специальные) клавиши могут работать, если вы не загрузите правильный драйвер, который может быть только в ОС.

Если вам интересно, вы можете использовать утилиту под названием «USBTreeView». Вы будете удивлены, сколько информации USB-устройство передает на USB-хост.

Многие компьютерные устройства и гаджеты используют USB-подключение для подключения к компьютеру, потому что это обеспечивает удобство немедленной инициализации устройства, в отличие от использования клавиатуры PS2, когда ее необходимо подключить до запуска Windows для работы. Кроме этого, большую часть времени USB-устройство будет работать даже без установки драйвера. Несмотря на удобство, USB также представляет угрозу безопасности, поскольку кто-то может легко украсть огромное количество данных с компьютера, просто подключив действительно быстрый USB-накопитель емкостью 128 ГБ. Блокировка компьютера, когда вы находитесь вдали от компьютера, должна предотвратить это, но вы можете никогда не понять, что бывают случаи, когда вы неосторожны и забыли заблокировать его.

К счастью, Windows хранит историю всех подключенных USB-устройств не для анализа, а для повышения производительности. Вот два бесплатных инструмента, которые показывают все USB-устройства, подключенные к вашему компьютеру.

<р>1. USBDeview

USBDeview – это простой и портативный инструмент, который предлагает массу информации о USB-устройствах, которые в настоящее время и ранее были подключены к компьютеру. Если вы хотите найти подключенные USB-накопители или внешние жесткие диски, отсортируйте Тип устройства, щелкнув столбец, и найдите «Запоминающее устройство». Вы можете дважды щелкнуть устройство, чтобы увидеть точную дату и время, когда оно было впервые подключено и когда оно в последний раз подключалось к компьютеру.

Помимо использования USBDeview для проверки всех подключенных USB-устройств, его также можно использовать для устранения проблем с USB-подключением. Просто щелкните правой кнопкой мыши проблемное USB-устройство и выберите «Удалить выбранные устройства». Удаление устройства очистит следы, чтобы USB-устройство можно было автоматически переустановить с правильными и обновленными настройками. Также можно заблокировать работу USB-устройства в будущем, отключив его в программе.

<р>2. Средство просмотра истории USB

Просмотр истории USB – еще один бесплатный инструмент, предназначенный только для отображения истории подключенных запоминающих устройств USB, таких как флэш-накопитель или внешний жесткий диск. Преимущество USB History Viewer заключается в том, что он также поддерживает другие компьютеры в локальной сети, если предоставлена ​​действительная аутентификация.

При запуске этого инструмента по умолчанию вместо имени компьютера будет отображаться LOCALHOST, и это не сработает. Вам нужно будет либо указать имя вашего компьютера, внутренний IP-адрес, либо нажать кнопку обзора, чтобы выбрать свой компьютер из списка. Указав имя компьютера, нажмите кнопку «Пуск», и через несколько секунд отобразится история.

Чтобы загрузить этот инструмент, вам необходимо указать действующий адрес электронной почты, и на него будет отправлена ​​ссылка для скачивания.

Примечание редактора. Оба этих инструмента для выявления истории USB бесплатны и работают в Windows от XP до 7, как в 32-, так и в 64-разрядной версии. Опытные пользователи предпочтут использовать USBDeview, потому что он имеет множество параметров, которые обычный пользователь не использовал бы, например, поддержку командной строки, выполнение пользовательских команд при подключении или отключении USB-устройства и даже возможность отключения питания USB-устройства. когда он безопасно удален, что включено в XP по умолчанию, но не в Vista и 7. Что касается USB History Viewer, функциональность ограничена, кроме удаленной функции. Это не является надежной защитой, потому что историю USB, которую можно получить с помощью любого из упомянутых инструментов, также можно стереть.

Universal Serial Bus Viewer (USBView) или USBView.exe — это приложение Windows с графическим интерфейсом, которое можно использовать для просмотра всех USB-контроллеров и подключенных USB-устройств на вашем компьютере. USBView работает во всех версиях Windows.

Где взять USBView

Чтобы загрузить и использовать USBView, выполните следующие действия:

Во время установки выберите только поле Средства отладки для Windows и снимите все остальные поля.

По умолчанию на ПК с архитектурой x64 SDK устанавливает USBView в следующий каталог.

C:\Program Files (x86)\Windows Kits\10\Debuggers\x64

Откройте каталог отладчика комплектов для используемого типа процессора, а затем выберите USBView.exe, чтобы запустить утилиту.

Исходный код USBView

USBView также доступен в репозитории примеров драйверов Windows на GitHub.

Использовать USBView

USBView может перечислять хост-контроллеры USB, концентраторы USB и подключенные устройства USB. Он также может запрашивать информацию об устройствах из реестра и через USB-запросы к устройствам.

Главное окно USBView состоит из двух панелей. На левой панели отображается дерево, ориентированное на подключение, которое можно использовать для выбора любого USB-устройства.

На правой панели отображаются структуры данных USB, относящиеся к выбранному USB-устройству. Эти структуры включают дескрипторы устройства, конфигурации, интерфейса и конечной точки, а также текущую конфигурацию устройства.

Используйте диспетчер устройств для отображения информации о USB

Чтобы использовать Диспетчер устройств для отображения информации о USB:

Нажмите клавишу с логотипом Windows+R, введите devmgmt.msc во всплывающем окне и нажмите Enter.

В диспетчере устройств выберите свой компьютер, чтобы он был выделен.

Выберите «Действие», а затем выберите «Сканировать на наличие изменений в оборудовании».

Выберите «Просмотр», а затем выберите «Скрытые устройства», чтобы отобразить дополнительные устройства (например, неактивные в данный момент).

Разверните узел Контроллеры универсальной последовательной шины в диспетчере устройств и выберите нужное устройство.

Выберите и удерживайте (или щелкните правой кнопкой мыши), чтобы выбрать "Свойства" и просмотреть сводную информацию о состоянии устройства.

Выберите вкладку "Подробности", чтобы просмотреть дополнительную информацию.

Выберите "Свойство", чтобы просмотреть такие сведения, как статус или код проблемы.

Инструмент устранения неполадок USB в Windows

Если вы пытаетесь диагностировать USB-устройство, которое не извлекается, с помощью диалогового окна "Безопасное извлечение устройства", попробуйте использовать средство устранения неполадок Windows USB.

Универсальная последовательная шина (USB) может быть наиболее распространенным интерфейсом plug-and-play, используемым в современных компьютерах, но не все знакомы с тем, как выглядит каждый порт. Вот как определить порты USB на вашем компьютере.

Ваше руководство по определению USB-портов на вашем компьютере

Шаг 1. Узнайте, как выглядит USB-порт

Сегодня в компьютерах есть два типа USB-портов.

  • USB-A. Первый и наиболее распространенный тип — это стандартный порт прямоугольной формы (известный как USB-A). Они обычно используются в настольных компьютерах и ноутбуках большего размера.
  • USB Type-C. Другой тип — это порт Type-C овальной формы. Из-за меньшего размера они обычно входят в состав более тонких ноутбуков, таких как новейшие модели MacBook и серии Dell XPS.

В отличие от портов USB-A, порты Type-C симметричны. Это просто означает, что вы сможете подключить USB-кабель Type-C или устройство, не беспокоясь о его направлении.

Существуют и другие широко используемые стандарты USB (например, MicroUSB), но они чаще встречаются в мобильных устройствах, таких как смартфоны и планшеты, а не в компьютерах.

Шаг 2. Ознакомьтесь с типами USB-портов

С момента создания USB в 1995 году было несколько итераций. Основные различия между различными версиями USB заключаются в скорости передачи данных и мощности, которую они могут обеспечить.

Определение скорости передачи. Скорость передачи — это максимальная скорость, с которой USB-устройство может передавать данные с одного конца на другой.

Вот текущие типы USB-портов, которые используются в настоящее время, и их скорость передачи:

  • 1.0 (1995 г.): 1,5 Мбит/с.
  • 1.1 (1995 г.): 12 Мбит/с.
  • 2.0 (2000 г.): 480 Мбит/с.
  • 3.0 (2008 г.): 4,8 Гбит/с.
  • 3.1 (2013 г.): 10 Гбит/с.

Порты USB 2.0 являются однонаправленными, что означает, что они могут только отправлять или получать данные, но не то и другое одновременно. USB 3.0 обновляет этот стандарт и позволяет одновременно отправлять и получать данные.

Еще одно различие между различными версиями заключается в мощности, которую они могут обеспечить. USB 2.0 обеспечивает ток до 500 мА, а 3.0 — до 900 мА.

Это означает, что чем новее порт, тем больше энергии он может передать подключенному устройству. Устройством, для которого это важно, является внешний жесткий диск, так как для порта 3.0 больше не требуется, чтобы жесткий диск имел собственный источник питания.

Разъем USB Type-C, также основанный на стандарте 3.1, поддерживает мощность до 100 Вт. Это позволяет кабелям Type-C заряжать аккумуляторы ноутбуков, а не только телефонов и планшетов.

Устройства Type-C также поддерживают ввод и вывод видео. С портами Type-C нет необходимости в выделенных портах для видеодисплеев, таких как HDMI и DisplayPort.

Шаг 3. Проверьте этикетки на вашем устройстве

Производители иногда маркируют порты типом USB-порта. Проверьте наличие ярлыков на ваших портах, помеченных как 1.0, 1.1, 2.0, 3.0 или 3.1.

Номер версии указывает, насколько быстро USB-устройства могут передавать файлы. USB-порт, помеченный только символом USB, обычно является портом USB 2.0.

Если на этикетке порта USB указано «SS» (или «SuperSpeed»), это порт USB 3.0. Если это «SS 10», это порт USB 3.1.

Порты USB со значком молнии на этикетке указывают на то, что порт всегда включен. Это означает, что вы можете подключать устройства для зарядки вашего устройства, даже если основное устройство выключено (при условии, что оно подключено к более низкому источнику).

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

Шаг 4. Найдите порты USB на своем ноутбуке или технические характеристики материнской платы

Если на USB-портах не указано, к какому типу они относятся, все же можно определить, к какой версии относятся USB-порты, взглянув на характеристики ноутбука или материнской платы.

Окна

Для устройств Windows: нажмите клавишу Windows + «R», чтобы открыть диалоговое окно «Выполнить команду», и введите «msinfo32». В случае успеха появится диалоговое окно со списком системной информации.

Затем найдите значение в разделе «Модель системы» и с помощью поисковой системы найдите список спецификаций ноутбука или материнской платы. Для получения наиболее надежных результатов проверьте результаты на веб-сайте производителя.

Некоторые слова, на которые следует обращать внимание, включают: USB (включая номер версии), USB Type-C и другие подобные термины.

MacOS

Пользователи MacOS могут определить модель своего Mac, щелкнув логотип Apple > «Об этом Mac». Здесь отображается обзор устройства, включая версию ОС, название модели и серийный номер.

Как только вы узнаете, какая модель вашего Mac, перейдите на веб-сайт поддержки Apple для ноутбуков и настольных компьютеров, чтобы проверить технические характеристики.

Шаг 5. Определите USB-порты в диспетчере устройств

Если у вас есть компьютер с Windows, а характеристики USB отсутствуют в руководствах, пора покопаться в «Диспетчере устройств».

Чтобы проверить USB-порты с помощью диспетчера устройств:

  1. Нажмите «Windows Key + R», чтобы открыть команду запуска.
  2. Введите ключ «devmgmt.msc» и нажмите «ОК».
  3. В «Диспетчере устройств» нажмите маленькую стрелку рядом с пунктом «Контроллеры универсальной последовательной шины».
  4. Ищите слово «Enhanced» в описании USB-порта. Если вы видите это слово, порт USB 2.0; в противном случае используется версия 1.0 или 1.1.
  5. Затем найдите слова «xHCI» или «Расширяемый интерфейс хост-контроллера». В данном случае используется USB-порт версии 3.0.

В других случаях порт может быть сразу помечен как «USB 3.0» или «USB 3.1». Это упрощает определение типа USB-порта.

Шаг 6. Посмотрите, какого цвета USB-порт

Хотя это уже не так надежно, как раньше, особенно в новых устройствах, для разных версий USB-портов существует соглашение по цвету.

  • Белые USB-порты — это USB 1.0 или USB 1.1.
  • Черные USB-порты — это USB 2.0.
  • Синие USB-порты — это USB 3.0.
  • Красные порты USB обычно относятся к USB 3.1.
  • Желтые USB-порты указывают на то, что порт всегда включен.

Мы надеемся, что это руководство поможет вам идентифицировать USB-порты на вашем компьютере. Хотя на первый взгляд они выглядят одинаково, как вы только что прочитали в этом руководстве, не все порты USB одинаковы.

Как еще вы определяете USB-порты на вашем компьютере? Дайте нам знать в комментариях ниже.

Читайте также: