Usb device list что это
Android поддерживает различные периферийные USB-устройства и USB-аксессуары Android (оборудование, реализующее протокол аксессуаров Android) в двух режимах: USB-аксессуары и USB-хосты. Для разработки USB требуется Android 3.1 (уровень API 12) или выше. Поскольку в своей работе я использую только режим хоста, в этой статье основное внимание уделяется разработке режима хоста.
отладка
При использовании USB для подключения к устройству для отладки периферийные устройства USB не могут быть подключены к устройству. Вы можете использовать WIFI для подключения и отладки. Есть несколько настроек -> плагин -> плагины WiFi ADB. Просто выберите тот, который вам подходит.
Или . у меня здесь есть одинЭмулятор Android для подключения USB-устройствНравится нравится!
5. Приобретите конкретное устройство.
Во-вторых, подключение и использование USB-устройств.
После настройки в файле манифеста мы напрямую вводим ссылку на код Java
Class | Описание |
---|---|
UsbManager | Получите диспетчер USB для связи с подключенными USB-устройствами. |
UsbDevice | В абстракции USB-устройств каждое UsbDevice представляет собой USB-устройство. |
UsbInterface | Определяет набор функций устройства. UsbDevice может содержать один или несколько UsbInterfaces, и каждый интерфейс является независимым. |
UsbEndpoint | UsbEndpoint - это канал связи интерфейса. |
UsbDeviceConnection | Соединение устанавливается хостом и устройством, и данные передаются в конечную точку. |
UsbRequest | Пакет запроса USB. |
UsbConstants | Определение констант USB |
4. Получите список USB-устройств.
Listing USB devices with usb-devices Command
You can run the following command to list all the connected USB devices of your system:
As you can see in the screenshot below, all the connected USB devices are listed. we can find out pretty much the same information as before with usb-devices command.
USBDeview
USBDeview не требует установки на компьютер — достаточно распаковать архив в удобное расположение и запустить утилиту.
- Сразу после запуска вы увидите список всех обнаруженных в системе USB-устройств (не только подключенных в настоящий момент, но и ранее подключавшихся к компьютеру), при этом активные в настоящий момент будут выделены зелёным цветом.
- По двойному клику на любое из устройств вы можете получить подробную информацию о нём — используемый драйвер, дату первого подключения, путь к экземпляру устройства и другие.
- Открыв контекстное меню устройства, вы можете выполнить дополнительные действия: например, запретить его подключение в дальнейшем, изменить букву диска, если речь идёт о накопителе, открыть раздел реестра, где заданы параметры этого устройства.
Дополнительно в программе поддерживается экспорт списка выбранных устройств, перезапуск USB-концентратора (может быть полезно при решении проблем с подключенным устройством), быстрый переход к окну свойств устройства в диспетчере устройств Windows.
1. Настройки файла AndroidManifest
После настройки файла манифеста, когда пользователи подключаются к устройству, которое соответствует вашему фильтру устройств, система покажет им диалоговое окно с вопросом, хотят ли они запустить ваше приложение. Если пользователь соглашается, приложение будетАвтоматически иметь доступ к устройствуПока устройство не отключено. Если задано значение по умолчанию, действие будет автоматически запущено после подключения USB-устройства.
About the author
Shahriar Shovon
Freelancer & Linux System Administrator. Also loves Web API development with Node.js and JavaScript. I was born in Bangladesh. I am currently studying Electronics and Communication Engineering at Khulna University of Engineering & Technology (KUET), one of the demanding public engineering universities of Bangladesh.
Если вам требуется узнать, какие устройства подключены с использованием USB в Windows 10 или предыдущих версиях системы, диспетчер устройств — не самый удобный инструмент для этого, однако существуют сторонние утилиты, которые позволяют быстро получить список всех таких устройств: как подключенных вами внешних, так и «внутренних», использующих тот же интерфейс (например, тачпад, камера, кард-ридер на ноутбуке).
В этом обзоре о двух простых утилитах для получения списка USB устройств вашего компьютера в Windows 10, 8.1 или Windows 7 — обе программы бесплатные и от одного разработчика. Эти же инструменты могут быть полезны для решения некоторых распространенных проблем, например, чтобы выяснить, что вызывает постоянный звук отключения и подключения устройства.
Listing USB Devices using lsusb Command
The widely used lsusb command can be used to list all the connected USB devices in Linux.
As you can see from the output of the lsusb command in the screenshot below, all the connected USB device is listed. The Bus ID, Device ID, USB ID, and a title is displayed in the output of lsusb command.
As you can see in the marked section of the screenshot below, Realtek Semiconductor Corp. with ID 0bda:57cb, this is my USB Webcam.
You can’t tell that it’s a Webcam by looking at the output of lsusb command, Can you? Nope! So how do I know this? It’s because I checked the output of the lsusb command before and after connecting the USB Webcam and once I compared the outputs, the newly added row is the USB device I connected. Plain! But there are ways to find out what the USB device is.
You can use the dmesg command to find out more information about the connected USB devices. The last connected USB device is the easiest to find with dmesg command. It is more widely used for debugging purpose. You will shortly see why.
You run dmesg command as follows:
As you can see in the yellow marked box in the screenshot below, these are information about the USB device I connected last, which was my USB Webcam. You can see in one of the blue marked box, the USB device I connected is a HD UVC WebCam and its ID is 0bda:57cb.
By now you may have found out that the output of dmesg command is system log messages. Well yes, it is.
You can also search for a specific USB device by its ID in the dmesg system log.
Run the following command to open the output of dmesg command with less text pager:
You should see the following window:
Now to search for a string, press / key on your keyboard. And you should the a / appear on the bottom of terminal window as marked in the screenshot below.
Now type in the USB device ID. For example, earlier when I listed the connected USB devices with lsusb command, one of the USB device had ID 0bda:57cb
Type in the USB Device ID and press . As you can see in the marked section of the screenshot below, the search string is marked white.
You may press and arrow keys to navigate up and down and read through it. You should find a lot of information about that USB device as you can see in the marked section of the screenshot below.
3. Загрузите UsbManager
7. Связь
Связь с USB-устройствами может быть синхронной или асинхронной. В любом случае вы должны создать новый поток для выполнения всех передач данных, чтобы избежать блокировки потока пользовательского интерфейса.
Как я могу получить список всех подключенных USB-устройств на компьютере с Windows?
добавить ссылку на System.Управление для вашего проекта, затем попробуйте что-то вроде этого:
на принято отвечать близко, и может быть исправлено с помощью Nedko комментарий к нему. Более подробное понимание задействованных классов WMI помогает завершить изображение.
Win32_USBHub возвращает только USB узлы. Это кажется очевидным задним числом, но обсуждение выше упускает его. Он не включает в себя все возможные USB-устройства, только те, которые могут (теоретически, по крайней мере) выступать в качестве концентратора для дополнительных устройств. Он пропускает некоторые устройства, которые не являются концентраторами (особенно части составных устройств).
Win32_PnPEntity включает в себя все USB-устройства и сотни других устройств без USB. Рассела Гантмана советы чтобы использовать предложение WHERE search Win32_PnPEntity для DeviceID, начинающегося с " USB%", чтобы отфильтровать список, полезно, но немного неполно; он пропускает устройства bluetooth, некоторые принтеры/серверы печати и HID-совместимые мыши и клавиатуры. Я видел " USB\%", "USBSTOR\%", "USBPRINT\%", "BTH\%", "SWD\%"и" HID\%". Win32_PnPEntity является, однако, хорошей" главной " ссылкой для поиска информации, как только вы владеете PNPDeviceID из других источников.
то, что я нашел, было лучшим способом перечислить USB-устройства для запроса Win32_USBControllerDevice . Хотя он не дает подробной информации для устройств, он полностью перечисляет ваши USB-устройства и дает вам предшествующую/зависимую пару PNPDeviceID s для каждого USB-устройства (включая концентраторы, устройства без концентраторов и HID-совместимые устройства) в вашей системе. Каждый иждивенец, возвращенный из запроса, будет USB-устройством. Предшественником будет контроллер, которому он назначен, один из USB-контроллеров, возвращенных запросом Win32_USBController .
в качестве бонуса, похоже, что под капотом WMI ходит Дерево Устройства в ответ Win32_USBControllerDevice запрос, поэтому порядок, в котором эти результаты могут помочь определить отношения родитель/потомок. (Это не документировано и, таким образом, только догадка; используйте API SetupDi CM_Get_Parent (или ребенок + брат) для окончательных результатов.) В качестве опции API SetupDi, похоже, что для всех устройств перечислены в разделе Win32_USBHub их можно посмотреть в реестре (at HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\ + PNPDeviceID ) и будет иметь параметр ParentIdPrefix который будет префиксом последнего поля в PNPDeviceID его дочерних элементов, поэтому это также может быть использовано в подстановочном матче для фильтрации Win32_PnPEntity запрос.
в моем приложении, я сделал следующее:
- (Опционально) Запрос Win32_PnPEntity и сохранил результаты в карте ключ-значение (с PNPDeviceID в качестве ключа) для последующего извлечения. Это необязательно, если вы хотите сделать отдельные запросы позже.
- запрос Win32_USBControllerDevice для окончательного списка USB-устройств в моей системе (все иждивенцы) и извлекли PNPDeviceIDs из них. Я пошел дальше, основываясь на порядке следования дереву устройств, чтобы назначить устройства корневому концентратору (первое устройство вернулось, а не контроллер) и построил дерево на основе parentIdPrefix. Порядок возврата запроса, который соответствует перечислению дерева устройств через SetupDi, является каждым корневым концентратором (для которого Antecedent идентифицирует контроллер), за которым следует итерация устройств под ним, например, в моей системе:
- корневой концентратор первого контроллера
- корневой концентратор второго контроллера
- первый концентратор под корневым концентратором второго контроллера (имеет parentIdPrefix)
- первое составное устройство под первым концентратором под корневым концентратором второго контроллера (PNPDeviceID соответствует выше ParentIdPrefix концентратора; имеет свой собственный ParentIdPrefix)
- спрятанная часть прибора составного устройства (PNPDeviceID соответствует выше parentidprefix составного устройства)
- спрятанная часть прибора составного прибора
- первое устройство под вторым концентратором под корневым концентратором второго контроллера
- извлекаемые сведения для каждого устройства в моем дереве, ссылаясь на карту, хранящуюся на первом шаге. (При желании можно пропустить первый шаг и запросить Win32_PnPEntity индивидуально используя PNPDeviceId для получения информации на этом шаге; вероятно, компромисс cpu и памяти, определяющий, какой порядок лучше.)
в целом, Win32USBControllerDevice иждивенцы-это полный список USB-устройств в системе (кроме контроллеров сами, которые являются предшественниками в том же запросе), и путем перекрестной ссылки на них PNPDeviceId пары с информацией из реестра и из других упомянутых запросов может быть построена подробная картина.
у меня есть HP Slate 21, который подключен к моей коробке Windows с помощью USB-кабеля. Отладка USB включена на устройстве. После добавление правильного %SingleAdbInterface% и %CompositeAdbInterface% записи android_winusb.inf файл, теперь я вижу "интерфейс Android ADB" в моем Диспетчере устройств. Тем не менее, работает adb devices в командной строке не отображается устройство.
у меня есть еще один HP slate 7, который отлично отображается под adb devices .
единственное отличие, которое я вижу от диспетчера устройств тот, который работает, называется "Android Composite ADB Interface", а другой - " Android ADB Interface."
%CompositeAdbInterface% записи определены, но для Slate 21 существует только один %CompositeAdbInterface% запись определенными.
что может быть не так с моей установки?
убедитесь, что устройство не подключено как медиа-устройство.
У меня была аналогичная проблема и решена следующим образом после подключения устройства через USB:
- включите Параметры разработчика на устройстве android.
- включить флажок для бодрствования.
- включить флажок для отладки USB.
- открыть cmd
- got to platform tools like D:\adt-bundle-windows-x86_64-20140702\adt-bundle-windows-x86_64-20140702\sdk\platform-tools .
- ADB kill-server
- ADB start-server
- устройства adb
теперь мы можем увидеть подключенное устройство.
выглядит установленный драйвер был в плохом состоянии. Вот что я сделал, чтобы заставить его работать:
- Удалить устройство из Диспетчера устройств.
- повторное сканирование аппаратных изменений.
- пункт списка " Slate 21 "появится со статусом" неизвестный драйвер".
- нажмите "Обновить драйвер" и выберите /extras/google/usb_driver
Диспетчер устройств найдет драйвер и предупредит вас об его установке. выбрать да." На этот раз устройство получило установлен правильно.
обратите внимание, что мне не нужно было изменять winusb.inf-файл или обновление любого другого драйвера.
надеюсь, что это помогает.
для меня решением было использовать другой USB-порт на моем ноутбуке
включение привязки фактически позволило мне установить и отладить на устройстве LG, и это был единственный способ его работы
вы когда-нибудь сбрасывали adb после установки нового устройства?
или из командной строки:
- закрыть Eclipse, если работает
- перейдите в каталог Android SDK platform-tools в командной строке (хорошо, вы знали это, я знаю!)
- тип adb kill-server
- введите adb start-server
- читать, если есть какие-то ошибки в противном случае попробуйте adb devices снова
отключить и повторно включить "использовать режим отладки" на вашем телефоне
У меня также была такая же проблема, я попытался использовать все возможные решения, размещенные в этой теме, но я обнаружил, что у меня такая же проблема, как JohnnyFun объяснил, но согласно HenrikB решение я не мог найти какой-либо вариант настроек в моем телефоне Samsung Galaxy S6 ( Android 6.0.1)
настройки - > хранение - > меню - > USB подключение компьютера
Я, наконец, понял - при подключении телефона через зарядное устройство в выпадающем меню я вижу такие параметры, как -
затем нажмите "подключено для зарядки" > > > вы увидите такие параметры, как >>
там вы можете изменить опцию на "передача файлов типа носителя"
хотя многие из этих решений работали для меня в прошлом, все они подвели меня сегодня на Mac с Samsung S7. Попробовав несколько кабелей, кто-то предположил, что для подключения ADB требуется официальный кабель Samsung. Действительно, когда я использовал кабель Samsung, ADB работал просто отлично. Надеюсь, это поможет кому-то еще!
поэтому методы, упомянутые выше, не сработали для меня. То, что работало для меня, было Google Samsung Galaxy Tab USB driver и загрузка и запуск приложения, которое получило мое устройство, когда я сделал ADB устройства. Поскольку я использовал Samsung Galaxy, я использовал эту ссылку для загрузки драйвера usb с официального сайта Samsung. Вы хотите, чтобы google ваш собственный соответствующий Android модель usb водитель!--1-->
после загрузки я запустил приложение для установки драйвера usb, а затем сделал ADB-устройства. Убедитесь, что ваш драйвер Google USB из Android SDK загружен и что ваш sdk также обновлен. Кроме того, убедитесь, что ваш режим отладки USB включен, перейдя в Настройки -> Параметры разработчика -> затем проверка отладки USB. После всего этого ваше устройство в устройстве Рядом с менеджером не должно быть желтого восклицательного знака. При запуске устройств adb ваше устройство должно отображаться. Надеюсь, это поможет людям. Я буквально потратил часы, пытаясь понять это. Надеюсь, мой ответ может спасти вас, ребята, часы, которые я провел в гугле.
In the world of USB computer peripherals, almost everyone uses some sort of USB devices in their computer. These days there are USB webcams, USB hard drives, USB stick also known as PenDrive etc. Almost every device has a USB version of it. So if you’re using Linux, listing what USB device is connected to your system might be necessary at some point.
There are many programs and many ways to list USB devices on Linux.
In this article, I will show you how to list USB devices on Linux. I am using Ubuntu 18.04 Bionic Beaver for the demonstration, but these commands are available on every Linux distribution. So let’s get started.
6. Подайте заявку на разрешение USB-устройства.
Для использования USB-устройств системой Android требуются соответствующие разрешения, которые должны быть предоставлены пользователем вручную или применены к вашему приложению при подключении устройства. Перед использованием USB-устройства мы должны сначала подтвердить, было ли предоставлено разрешение устройству в предыдущем разделе. Если нет, мы должны активно подать заявку на разрешение:
Зарегистрироваться на трансляцию:
USBDriveLog
В отличие от USBDeview в USBDriveLog отображаются только USB-накопители: флешки и внешние жесткие диски или SSD, как подключенные в настоящий момент времени, так и ранее подключавшиеся к этому компьютеру или ноутбуку.
По двойному нажатию по любому накопителю вы можете получить более подробную информацию, например дату и время подключения и отключения.
Утилита проще, чем предыдущая, но тоже может оказаться полезной. К сожалению, удалить ранее подключавшиеся устройства с её помощью не получится, но для этой цели существуют другие инструменты, описывавшиеся в инструкции Что делать, если компьютер не видит флешку.
2. Вставьте USB-устройство.
В системе Android вставка и извлечение USB-устройств отправляются в виде системной трансляции, нам нужно только зарегистрироваться, чтобы слушать эту трансляцию.
Listing Block USB Devices
If you want to list all the USB block storage devices, that is all the USB storage devices, then you can use the lsblk or fdisk command to do so.
Listing USB block storage devices with lsblk:
As you can see in the screenshot below, all the available block storage devices (including the USB block storage devices) are listed.
You can get almost the same information as lsblk command with blkid command. But you have to run it as root as follows:
You can also use fdisk command to list all the USB block storage devices as follows:
As you can see in the screenshot below, the connected block storage devices (including the USB devices) are listed.
That’s how you list all the USB devices on Linux. Thanks for reading this article.
Читайте также:
- первое составное устройство под первым концентратором под корневым концентратором второго контроллера (PNPDeviceID соответствует выше ParentIdPrefix концентратора; имеет свой собственный ParentIdPrefix)
- первый концентратор под корневым концентратором второго контроллера (имеет parentIdPrefix)