Usb debug support что это
Как включить режим отладки по USB и зачем это нужно
В системе Android есть столько всего, что иногда даже не можешь найти этому применение. Одной из таких вещей является отладка по USB. Многие думают, что им это не нужно, но при этом, как только узнают, что это такое, начинают активно пользоваться и прибегать к этому на постоянной основе. Хотя, по большей части это нужно разработчикам или тем, кто занимается обслуживанием смартфонов. Тем не менее, есть вещи, которые можно сделать только через этот режим. Если вы не знаете, что это такое и надо ли это вам, я постараюсь рассказать, для чего это может понадобиться. А самое главное, отвечу на популярный вопрос: ”Как включить режим отладки по USB?”
Режим разработчика на Android дает очень много возможностей.
Для чего нужна отладка по USB
Как я уже сказал выше, отладка по USB нужна разработчикам, которые пишут приложения и тестируют их на смартфоне. Так же это может быть полезно для передачи файлов на смартфон или для их скачивания на компьютер.
Иногда режим отладки по USB помогает сделать копию приложений или установить их не из Google Play. А еще только так можно прошить смартфон или восстановить его работоспособность после какого-то сбоя.
Многие вспомнят еще один пункт в этом списке. Режим отладки по USB может очень пригодиться тем, кто планирует выполнять операции с Root-правами.
Рутинг (англ. Rooting) — процесс получения на Android прав суперпользователя. Иногда нужно для выполнения некоторых нестандартных действий.
В любом случае, перед тем, как вы будете пользоваться тем, что я расскажу далее, имейте в виду, что все риски вы несете сами. Если вы не уверены в своих действиях, лучше не надо лезть в это дело. Как говорится, целее будет.
Как включить или отключить режим отладки по USB
Во включении этого режима нет ничего сложного. Достаточно просто перейти в настройки телефона, пролистать до пункта ”Система” и открыть ”Настройки разработчика”. Если вы не знаете, как получить права разработчика, я расскажу об этом чуть ниже.
Если права у вас уже есть, надо просто пролистать до пункта ”Отладка по USB” и передвинуть переключатель в положение ”включено”. Таким же образом вы можете не только включить этот режим, но отключить при необходимости. Например, для большей безопасности или если вам это просто не нужно.
Отмечу, что названия некоторых пунктов меню могут немного отличаться в зависимости от производителя смартфона и того, какая на нем установлена версия операционной системы и оболочки. Несмотря на это, формулировки все равно будут примерно такими же, как я и написал. Думаю, вы без проблем разберетесь.
Если вам это интересно, один из наших авторов не так давно рассказывал, как установить файл APK на Android
Как включить режим разработчика
Для включения режима разработчика на Android достаточно перейти в настройки вашего телефона, найти раздел ”О телефоне”, который обычно расположен в конце, и открыть его. Далее надо будет найти поле ”Номер сборки” и несколько раз подряд коснуться его. 8-10 раз будет достаточно. Главное сделать это без перерывов и до того, как на экране не появится уведомление. Возможно, еще до этого уведомления вас попросят еще раз ввести пароль. Так было не всегда, но сейчас это нужно для безопасности, о которой так много говорят в последнее время.
В нижней части экрана вы увидите одно из двух уведомлений. Или вам откроются права разработчика, или вам скажут, что они у вас уже есть. После этого надо вернуться в настройки и открыть пункт ”Система”. Среди прочего там появится новый раздел. Он так и называется — ”Для разработчиков”. Хотя опять же у некоторых производителей названия могут меняться.
Как выключить режим разработчика
Если вы уже открыли себе права разработчика, но передумали и хотите закрыть их — это тоже возможно. Для этого есть два способа.
Как обычно, первый самый простой и логичный. Вот только работает он не всегда. Суть его заключается в том, чтобы открыть ”Для разработчика” и в верхней части списка функций передвинуть ползунок в положение выключено. Этот пункт называется так же, как и раздел — ”Для разработчика”.
Будьте осторожны с правами разработчика. Это очень мощные инструмент.
После этого возможность зайти в настройки разработчика или пропадет вообще, или строка в разделе ”Система” останется, но она будет неактивна. Если она мозолит вам глаза и ее очень хочется убрать, то это тоже можно сделать.
Для этого из корневого меню настроек перейдите в пункт ”Приложения” и найдите там приложение, которое называется ”Настройки”. Далее перейдите в раздел ”Память” и нажмите ”Сброс”. В этом случает произойдет сброс памяти настроек и вы лишитесь режима разработчика. Если он снова понадобится, выше написано, как его включить. Процедура будет такая же, как в первый раз.
Стоит предупредить о двух вещах. Во-первых, вы можете потерять и другие сохраненные в настройках данные, например, аккаунты. Но ничего критического и безвозвратного произойти не должно. Во-вторых, на некоторых смартфонах, например, на Huawei P40 Pro, даже сброс памяти настроек не дает результата. Надо сначала отключить ”для разработчика” первым способом. Потом уже надо сбрасывать память.
Двери нашего Telegram-чата открыты для всех. Заходите к нам.
Опасно ли включать режим отладки по USB или режим разработчика
В целом, в этом нет ничего опасного, но хочу вас еще раз предупредить, что вы все делаете на свой страх и риск. Одно дело инструкция, а другое — опыт. Вы можете случайно нажать не туда и включить какой-нибудь режим, который просто не сможете отключить, не зная, как это делать.
По большому счету опасность только в этом. Если вы переживаете за то, что отладка по USB будет включена всегда, особо беспокоиться не стоит, но и включать ее без надобности тоже нет смысла. Как говорят в народе: ”Работает? Не трогай”.
Как заряжать гаджеты через USB если компьютер выключен
Содержание
Содержание
Для зарядки мобильных гаджетов посредством USB можно использовать ноутбук или персональный компьютер. Однако не многие пользователи знают, что заряжать устройства можно даже с выключенным ПК, если он все еще подсоединен к розетке. Ведь блок питания имеет дежурную линию +5 вольт, способную питать USB-порты на материнской плате.
Для начала следует убедиться, что подобная функция поддерживается вашей материнской платой. В первую очередь изучите описание на официальном сайте разработчиков.
На материнских платах от Gigabyte стоит искать функцию ON/OFF Charge. В продуктах от MSI эта возможность называется Super Charger или i-Charger. Главное условие — функция должна работать не только в состояниях S3 и S4 (режимы экономии энергии), но и в S5 (выключенный компьютер). обратите внимание, что поддержку зарядки при выключенном компьютере могут иметь только определенные USB порты.
В мануале, который поставляется вместе с материнской платой, нужно поискать строку charge function under S3, S4, S5 mode или аналогичную.
Если никакую информацию не удалось найти, обратитесь к официальным представителям бренда с вопросом относительно возможности зарядки USB устройств при выключенном ПК.
Перемычка на материнской плате
Для активации подачи питания на USB-порты на некоторых моделях плат будет достаточно переместить в другое положение небольшую перемычку. На материнке необходимо найти коннекторы, которые обозначаются как USBPW1-4 или USBPW5-10. По цифрам вы можете понять, за какие конкретно порты USB отвечает данный блок выводов.
С завода перемычка стоит в положении 1–2, что говорит о значении 5V. Вам необходимо переместить ее в положение 2–3, чтобы перевести материнскую плату в режим 5V SB (Stand By). В этом случае будут использоваться дежурные 5 вольт с блока питания.
Функция актуальна для включения питания компьютера с клавиатуры, от модема или по сигналу сетевой карты, а также подает на USB напряжение, даже когда компьютер выключен.
Изменение параметров BIOS
Если перемещение перемычки не дало результата или на вашей материнской плате она отсутствует, то необходимо заглянуть в настройки BIOS.
Зайти в данное системное меню можно при включении компьютера до загрузки самой операционной системы. Для этого следует постоянно нажимать клавишу F2 или Del. Именно они в большинстве компьютеров отвечают за переход в BIOS. В ноутбуках Asus может использоваться кнопка F9, а в продукции от Acer и Lenovo понадобится нажимать F1 или F2 в зависимости от модели.
AMI, AWARD BIOS
В старых компьютерах и ноутбуках стоят именно эти версии системного меню. Большинство пунктов и разделов у AMI и AWARD совпадают, поэтому рассмотрим их в одном блоке. Как только вы зашли в главное меню BIOS, выполните следующие действия:
1. С помощью клавиш на клавиатуре перейдите в раздел Integrated Peripherals.
2. Пункты USB Controller и USB Device Legacy Support должны находиться в состоянии Enabled (Включено).
3. Выйдите в основное меню с помощью клавиши Escape. Зайдите в раздел Power Management Setup.
4. Убедитесь, что пункт ACPI Functions находится в состоянии Enabled. Зайдите в подраздел Wake Up Event.
5. Необходимо включить пункт Resume From S3 by USB Device, установив состояние Enabled.
6. Остается только сохранить изменения по F10 и перезагрузить компьютер.
В зависимости от конкретной версии пункты меню могут отличаться в названии. Если материнская плата поддерживает ErP/EuP, то обязательно отключите этот режим, иначе питание на USB-порты подаваться не будет.
ErP включает повышенную экономию энергии, из-за чего напряжение не подается на USB-порты и большинство других составляющих материнской платы.
При активации ErP компьютер будет потреблять не более 1 Вт
UEFI Bios
Новейшие «материнки» уже имеют продвинутую версию BIOS с массой дополнительных настроек и более интерактивным меню. Чтобы активировать питание на USB-порты при выключенном компьютере, вам необходимо выполнить следующие действия:
1. Рекомендуется включить английский язык в UEFI BIOS, поскольку перевод на русский в некоторых пунктах может быть выполнен некорректно. Для этого перейдите в Advanced Mode (F7) и выберите в меню System Language английский язык.
2. Затем на вкладке Advanced зайдите в блок настроек Onboard Devices Configuration.
3. Найдите среди пунктов строку USB Battery Charging Support или Charging USB Devices in State S5. Необходимо перевести параметр в значение Enable. Конкретно для этой материнской платы зарядка будет доступна только через USB 3.1. Остается только сохранить изменения.
«Важно. Не забудьте выключить функцию ErP Ready. Она находится в разделе APM Configuration».
На материнских платах фирмы MSI следует перейти в раздел Advanced главного меню. Далее выбирается пункт Wake Up Event Setup.
Остается только перевести параметр Resume from S3-S5 by USB Device в состояние Enabled (Включено).
После этих манипуляций в BIOS вы можете попробовать зарядить мобильный телефон или планшет от USB при выключенном ПК. Обратите внимание, что подключать гаджет нужно к портам непосредственно на материнской плате.
Как правильно включить USB порты в БИОСе
Если на вашем ПК не работают порты USB, а настройки Windows и обновление драйверов не помогают, возможно, контроллер был отключен в БИОСе. В этом случае вам потребуется зайти в меню конфигураций и включить все назад.
Существует множество различных версий BIOS со своими интерфейсами и тонкостями работы. Также на вашем компьютере может работать более современный комплекс — UEFI, который поддерживает полноценный графический интерфейс. В данной статье рассмотрены дистрибутивы, которые чаще всего устанавливаются на материнские платы.
Вход в настройки BIOS
Чтобы приступить к изменению конфигурации, нужно попасть в соответствующее меню. Его можно открыть во время включения персонального компьютера — до того, как началась загрузка Windows с жесткого диска.
Включите ПК. В случае, если он уже работает: перезагрузите. Дождитесь звукового сигнала спикера: короткий одиночный гудок свидетельствует о том, что все внутренние компоненты, необходимые для работы компьютера, обнаружены.
Теперь необходимо нажать горячую клавишу для вызова конфигурации. Это нужно сделать до смены экрана. Если вы не успели, и началась загрузка Windows — перезагружайтесь. Клавиши зависят от модели установленной материнской платы и версии прошивки BIOS. Узнать ее можно в руководстве пользователя, которое прилагается к материнке, на официальном сайте производителя или посмотреть на экране вашего ПК при его загрузке:
Необязательно пробовать только 1 вариант за раз. Вы без проблем можете быстро нажать все кнопки из списка. Одна из них подойдет и запустит настройки БИОСа, а остальные будут проигнорированы.
Вход в настройки BIOS / UEFI новейших ПК
Ваш компьютер или ноутбук перезагрузится в режиме настройки. После перезагрузки ПК вы также сможете выбрать вариант запуска с USB-накопителя или DVD-диска.
Навигация в меню
Комплекс микропрограмм UEFI устанавливается на самых дорогих и мощных материнских платах. Он поддерживает большее количество драйверов и умеет работать с мышью. Его интерфейс будет привычен пользователям Windows и других современных операционных систем.
Каждая версия обладает собственным интерфейсом и наборами опций. Даже названия одних и тех же параметров могут различаться. Далее в статье описано несколько популярных релизов БИОС.
AMI BIOS
Очень распространенный вариант, который можно встретить на многих современных компьютерах. Главное меню разделено на 2 части: список категорий и различные действия, вроде выхода или сохранения. Вы будете работать с левой частью.
Здесь нужно включить (Enabled) 4 опции:
В некоторых старых версиях присутствует всего 2 пункта «USB controller» и «Legacy USB storage support».
Phoenix AwardBIOS
Другая популярная версия, которую часто можно встретить на современных ноутбуках. Не имеет главной страницы, как AMI, но снабжен удобными тематическими закладками вверху. Перемещаться между разделами можно с помощью стрелок «влево»-«вправо», а между пунктами — с помощью «вверх» и «вниз».
Перейдите в раздел «Advanced» с помощью стрелки «Вправо». В ней найдите категорию «USB configuration». Все пункты этого раздела необходимо перевести в положение «Enabled». В некоторых версиях категория «USB configuration» может находиться во вкладке «Peripherals» а не в «Advanced».
Для завершения работы в меню нажмите F10 и подтвердите выход.
AMI BIOS for Asus
Вопреки распространенному мнению, UEFI — не часть BIOS. Его скорее можно назвать более продвинутым, но менее популярным конкурентом. Существует большое количество различных версий, каждая со своими интерфейсами. Однако здесь управление похоже на привычную Windows, поэтому вы без труда найдете нужные опции.
Настройки Windows
Если на уровне БИОСа все порты и контроллеры включены, но USB порты все-равно не работают, возможно, проблема в настройках вашей системы Windows.
Во-первых, попробуйте просто отключить и подключить устройство заново. Это вызовет проверку корректности драйверов. Если с ними что-то не так, Windows постарается переустановить их.
Если при переподключении ничего не происходит — попробуйте включить контроллер в реестре Windows. Для этого необходимо сделать следующее:
Видео: как настроить любой BIOS на загрузку с USB флешки
Что такое отладка по USB и как ее включить?
Активировав отладку по USB, вы получите дополнительные возможности доступа к вашему Android-смартфону. Рассказываем, как включить эту функцию и что при этом нужно учитывать.
Что такое отладка по USB?
Отладка (Debugging) — это процесс поиска и устранения ошибок в программном обеспечении (от английского bugs). При активированной отладке по USB ваш смартфон (или планшет) при подключении к ПК с помощью USB-кабеля переходит в специальный режим. В нем вы можете просматривать и даже изменять файлы на смартфоне с компьютера. Если вы хотите получить root-права на своем гаджете, также может потребоваться предварительно активировать отладку по USB.
Но имейте в виду, что функция несет с собой и определенные риски и должна быть активирована только в том случае, если она вам действительно нужна. Кроме того, злоумышленник может таким образом обойти блокировку смартфона и получить доступ к защищенным данным.
Отладка по USB: активируйте раздел «Для разработчиков»
Чтобы получить доступ к отладке по USB, вы должны сначала активировать раздел «Для разработчиков». Это необходимо сделать всего один раз. Однако точные обозначения этого раздела могут немного отличаться в зависимости от версии Android и производителя устройств:
Откройте настройки на вашем смартфоне или планшете.
Как включить отладку по USB на Android?
После разблокировки опций разработчиков вы получите доступ к отладке по USB.
EHCI по-людски на русском языке
Введение
Всех приветствую. Сегодня хочу поделиться опытом и всё-таки по-моему внятно объяснить про такой, на первый взгляд, простой стандарт для USB 2.0 хост-контроллера.
Изначально можно представить себе что USB 2.0 порт — это всего лишь 4 пина, по двум из которых просто передаются данные(Как, к примеру, COM-порт), но самом деле всё не так, и даже совсем наоборот. USB-контроллер в принципе не даёт нам возможности передавать данные как через обычный COM-порт. EHCI — довольно замысловатый стандарт, который позволяет обеспечить надежную и быструю передачу данных от софта до самого девайса, и в обратную сторону.
Возможно, вам пригодиться эта статья, если, к примеру, вы не имеете достаточных навыков написания драйверов и чтение документации к хардвейру. Простой пример: хотите написать свою ОС для мини-ПК, дабы какая-нибудь винда или очередной дистрибутив линукса не загружали железо, и вы использовали всю его мощь исключительно в своих целях.
Что такое EHCI
Что же, давайте начнем. EHCI — Enhanced Host Controller Interface, предназначен для передачи данных и управляющих запросов USB-устройствам, и в другую сторону, а в 99% случаев — является связующим звеном, между каким-либо софтом и физическим устройством. EHCI работает как PCI-устройство, а соответственно использует MMIO(Memory-Mapped-IO) для управления контроллером(да-да, я знаю, что некоторые PCI-девайсы используют порты, но тут я всё обобщил). В документации от Intel описан лишь принцип работы, и никаких намеков на алгоритмы, написанные хотя бы на псевдокоде, нет вовсе. EHCI имеет 2 типа MMIO-регистров: Capability и Operational. Первые служат для получения характеристик контроллера, вторые же — для его управления. Собственно, прикреплю саму суть связи софта и EHCI контроллера:
Каждый EHCI контроллер имеет несколько портов, каждому из которых могут быть подключены какие-либо USB-устройства. Так же, прошу заметить, что EHCI является улучшенной версией UHCI, который так же был разработан Intel на несколько годов раньше. Для обратной совместимости любой UHCI/OHCI контроллер, который имеет версию ниже, чем EHCI, будет компаньоном к EHCI. К примеру, у вас есть USB-клавиатура(А большинство клавиатур года так до сих пор были именно такими), которая работает на USB 1.1(заметим, что максимальная скорость работы USB 1.1 — 12 мегабит в секунду, а FullSpeed USB 2.0 имеет пропускную способность аж в 480 мбит/сек), а у Вас имеется компьютер с USB 2.0 портом, при подключении клавиатуры к компьютеру хост-контроллер EHCI как ни как будет работать с USB 1.1. Данная модель показана на следующей схеме:
Так же на будущее хочу сразу предупредить, что Ваш драйвер может работать не правильно из-за такой вот нелепой ситуации: вы инициализировали UHCI, а после чего EHCI, при этом добавили два одинаковых устройства, поставили в регистр порта бит Port Owner Control, после чего UHCI перестал работать, из-за того, что EHCI автоматически перетягивает порт на себя, а порт на UHCI перестаёт откликаться, эту ситуацию надо отслеживать.
Так же, давайте рассмотрим схему, показывающую саму архитектуру EHCI:
Справа написано про очереди — о них чуть позже.
Регистры EHCI контроллера
Для начала хочется еще раз уточнить, что через данные регистры вы будете управлять вашим устройством, поэтому они очень важны — да и без них программирование EHCI невозможно.
Для начала вам надо получить адрес MMIO, который выдан данному контроллеру, по смещению +0x10 будет лежать адрес наших долгожданных регистров. Есть одно но: сначала идут Capability регистры, а только после них — Operational, поэтому по смещению 0(от предыдущего адреса, который мы получили по смещению 0x10 относительно начала MMIO нашего EHCI) лежит один байт — длина Capability-регистров.
Capability регистры
По смещению 2 лежит регистр HCIVERSION — номер ревизии данного HC, который занимает 2 байта и содержит BCD версию ревизии (что такое BCD можно узнать из википедии).
По смещению +4 лежит регистр HCSPARAMS, его размер — 2 слова, он содержит структурные параметры устройства и его биты показывают следующее:
Operation регистры
По смещению 0 лежит регистр USBCMD — командный регистр контроллера, его биты означают следующее:
По смещению +8 лежит регистр USBINTR — регистр включения прерываний
Чтобы долго не писать, и тем более, Вам долго не читать, значения битов данного регистра можно посмотреть в спецификации, ссылка на неё будет оставлена внизу. Сюда я просто записываю 0, т.к. абсолютно не имею желания писать обработчики, мапить прерывания и т.п., так что это я считаю почти что абсолютно бессмысленным.
По смещению +12(0x0C) лежит регистр FRINDEX, в котором просто лежит текущий номер фрейма, при чем, хочу заметить, что последние 4 бита показывают номер микро-фрейма, в старшие 28 — номер фрейма (так же значение не обязательно меньше размера frameList’а, если вам нужен индекс — лучше брать его с маской 0x3FF(или же 0x1FF, и т.п.).
Регистр CTRLDSSEGMENT лежит по смещению +0x10, он показывает хост-контроллеру старшие 32 бита адреса листа фреймов.
Регистр PERIODICLISTBASE имеет смещение +0x14, в него вы можете положить младшие 32 бита листа фреймов, заметим, что адрес должен быть выравнен по размеру страницы памяти (4096).
Регистр ASYNCLISTADDR имеет смещение +0x18, в него вы можете положить адрес асинхронной очереди, заметим, что он должен быть выравнен по границе 32 байта, при этом должен находиться в первых четырех гигабайтах физической памяти.
Регистр CONFIGFLAG показывает, настроено ли устройство. Вы должны выставить бит 0 после завершения настройки устройства, он имеет смещение +0x40.
Перейдем к регистрам портов. Каждый порт имеет свой командно-статусный регистр, каждый регистр порта располагается со смещением +0x44 + (PortNumber — 1)*4, его биты значат следующее:
Структуры передачи данных и запросов
Организация структуры для обработки запросов включает в себя очередь и трансфер дескрипторы(TDs).
На данный момент мы рассмотрим только 3 структуры.
Последовательный список
Последовательный(Периодичный, Pereodic) список устроен следующим образом:
Как видно на схеме, обработка начинается с получения нужного фрейма из фрейм листа, каждый его элемент занимает 4 байта и имеет следующую структуру:
Как видно на картинке, адрес очереди/трансфер дескриптора выровнен по границе 32 байта, бит 0 означает то, что хост-контроллер не будет обрабатывать данный элемент, биты 3:1 показывают тип того, что будет обрабатывать хост-контроллер: 0 — изосинхронный TD(iTD), 1 — очередь, 2 и 3 в данной статье я рассматривать не буду.
Асинхронная очередь
Хост контроллер обрабатывает данную очередь только тогда, когда фрейм последовательный пустой, либо хост-контроллер обработал весь последовательный список.
Асинхронная очередь представляет собой указатель на очередь, где содержатся другие очереди, которые нуждаются в обработке. Схема:
qTD(Queue Element Transfer Descriptor)
Данный TD имеет следующую структуру:
Next qTD Pointer — указатель на продолжение очереди для обработки(для Horizontal Execution), бит 0 Next qTD Pointer’а показывает, то, что дальше нет еще одной очереди.
qTD Token — токен TD, показывает параметры передачи данных:
Голова очереди
Голова очереди(Queue Head) имеет следующую структуру:
Queue Head Horizontal Link Pointer — указатель на следующую очередь, биты 2:1 имеют следующие значения в зависимости от типа очереди:
Endpoint Capabilities/Characteristics — характеристики очереди:
Переходим к самому интересному.
Драйвер EHCI
Начнем с того, какие запросы может выполнять EHCI. Есть 2 типа запросов: Control — а-ля команд, и Bulk — к конечным точкам, для обмена данными, к примеру, абсолютное большинство флешек(USB MassStorage) использует тип передачи данных Bulk/Bulk/Bulk. Мышь и клавиатура для передачи данных тоже используют Bulk — запросы.
Инициализируем EHCI и настраиваем асинхронную и последовательные очереди:
Собственно, код для сброса порта в изначальное состояние:
Control-запрос к устройству:
Код обработки очереди:
И теперь запрос к конечной точке(Bulk-запрос)
Думаю, что тема достаточно интересная, в интернете на русском документаций, описаний и статей на эту тему почти нет, а если есть — очень размыто. Если интересна тема работы с железом и разработки ОС, то есть много чего рассказать.