Какие драйверы USB нужны для отладки Android в Windows? — Xamarin
- Чтение занимает 2 мин
Оцените свои впечатления
Да Нет
Хотите оставить дополнительный отзыв?
Отзывы будут отправляться в корпорацию Майкрософт. Нажав кнопку «Отправить», вы разрешаете использовать свой отзыв для улучшения продуктов и служб Майкрософт. Политика конфиденциальности.
Отправить
В этой статье
Как найти USB-драйверы
Для отладки на устройстве Android при разработке в Windows необходимо установить совместимый драйвер USB. Диспетчер SDK Android по умолчанию включает USB-драйвер Google, который обеспечивает дополнительную поддержку для устройств Nexus, как описано здесь: https://developer.android.com/sdk/win-usb.html.
Для других устройств требуются драйверы USB, специально опубликованные производителем устройства. В этом руководстве содержатся некоторые ссылки на наиболее распространенных производителей: https://developer.android.com/tools/extras/oem-usb.html.
Альтернативные варианты
Иногда может быть трудно найти необходимый драйвер USB. Это зависит от производителя. Есть несколько альтернатив для тестирования приложений Android, разработанных в Windows, включая использование эмулятора Android или внешних служб тестирования. Некоторые из них указаны ниже:
Полезная информация
Полезная информация Главная | Вход для партнеров | Регистрация МЕЖДУНАРОДНЫЙ САЙТ- О Kramer
- Наши вакансии
- Философия
- История
- Решения
- Продукция
- Каталог
- Новинки
- Снятые с производства
- Новости
- Новости
- Новости продукции
- Видеообзор
- Проекты
- Публикации
- События
- Семинары и вебинары
- Kramer Online Academy
- Курс Kramer Control
- Запись вебинаров Kramer
- Глоссарий
- Поддержка
- Гарантия
- Часто задаваемые вопросы
- Инструкции по эксплуатации
- Программное обеспечение
- Литература Kramer
- Справочная информация
- Контакты
X
Логин:
Пароль:
Забыли пароль? Контакты | ISO | Гарантия | Обработка персональных данных Copyright © Kramer Electronics LTD. 1981—2021.Bluetooth для андроида. Портируем с Linux на Android драйвер USB-адаптера — «Хакер»
Не все USB-устройства начинают работать на Android сразу после подключения. В этой статье я покажу, как решить проблему, на примере широко распространенного Bluetooth-адаптера CSR 4.0. Нам понадобится собрать из исходников ядро Linux и покопаться в интерфейсной библиотеке Android.Современное железо редко предполагает что‑то доделывать руками или допиливать в прошивках. Однако есть целый класс устройств «ноунейм», которые просто‑таки взывают к умелым рукам и пытливым умам. Немного смекалки, и можно заставить их работать не хуже именитых аналогов.
Вот, например, ничем не примечательная ТВ‑приставка в виде черной квадратной пластиковой коробки с надписью «MXQ Pro 4K» на крышке и бюджетной начинкой: SOC RK3229, 1 Гбайт RAM и 8 Гбайт NAND. У меня она уже около года почти бесперебойно транслировала на телевизор YouTube и каналы интернет‑телевидения, музицировала и сообщала свежие новости.
В самом начале ее мультимедийной жизни характер у приставки был строптивый, и при каждом удобном случае она норовила зависнуть или перезагрузиться. Эту проблему удалось решить, установив сглаживающий фильтр в цепи питания и заменив комплектный блок питания более качественным.
В какой‑то момент я подумал, не использовать ли мне эту приставку еще и для игр. Беспроводной контроллер подошел бы для этого как нельзя лучше.
В целом контроллеры можно разделить на две категории: RF (Radio Frequency, радиочастотные) и BT (Bluetooth), оба в итоге работают по радиоканалу. Вариант с RF требует использовать проприетарный донгл (и занимать им порт USB), а Bluetooth должен поддерживаться на стороне приставки.
Зато Bluetooth универсален и, помимо подключения устройств ввода, может быть использован для вывода звука на беспроводные колонки, файлового обмена со смартфоном и так далее. Мой выбор был предопределен тем, что в ближайшем магазине нашелся лишь BT-контроллер VR-PARK. Не образец изящного дизайна, но не любоваться же на него!
К сожалению, на плате ТВ‑приставки отсутствует аппаратный BT-модуль, однако в настройках ее операционной системы Android 7.1.2 я видел пункт включения Bluetooth, что вроде бы позволяло надеяться на поддержку стека протоколов. Возможно, после подключения модуля Bluetooth в USB сработает магия и сразу представится возможность насладиться игрой?
С этими мыслями я прикупил USB-адаптер Bluetooth с лаконичной надписью «CSR 4.0» на корпусе. Вернувшись домой, я вставил его в порт приставки, и тот весело замигал светодиодом. А после включения Bluetooth в настройках… ничего не произошло. То есть почти ничего, если не считать возникновения задачи, решению которой посвящена эта статья: настроить ТВ‑приставку на использование адаптера USB Bluetooth.
Когда возникает проблема, исследователь первым делом идет в интернет, чтобы собрать сведения о ней. На удивление, материалов оказалось немного. То ли никто не подключал USB-адаптер к приставке, то ли у всех он работал из коробки, но последние содержательные обсуждения датировались 2013 годом и относились к автомобильной системе мультимедиа.
Результат бессистемных попыток отыскать работающие настройки не порадовал: я только потерял несколько часов и осознал, что придется искать собственный путь. А для этого необходимо понимать, как подсистема Bluetooth встроена в Android.
Архитектура подсистемы Bluetooth в Android
С точки зрения программиста, центральный компонент подсистемы Bluetooth в Android — системная служба Bluetooth (представляющая собой приложение для Android), которая через Binder IPC дает приложениям доступ к услугам Bluetooth-профилей, а сама использует при этом JNI-интерфейсы, реализованные на уровне HAL и ведущие к компонентам стека Bluetooth и расширениям поставщика (в двоичных библиотеках).
Архитектура подсистемы Bluetooth в Android 7Эту схему можно продолжить вниз по системной иерархии, и тогда станет видно, что библиотеки HAL используют интерфейс hci0
для доступа к HCI-сокетам ядра операционной системы, которые через драйвер позволяют взаимодействовать с аппаратным Bluetooth-модулем, подключенным к системной плате шиной SDIO, UART или USB.
Осталось выяснить, на каком именно уровне у нас проблема, которая мешает адаптеру взять и заработать.
Операционная система Android — это ядро Linux, поверх которого работает гипервизор виртуальных машин Dalvik. Начинать анализ разумно с нижнего уровня, последовательно убеждаясь в том, что есть физическое подключение, операционная система и драйвер видят адаптер, он доступен на уровне HAL и так далее — до момента, когда он должен работать.
Чтобы исследовать ОС и вносить в нее изменения, нужен доступ к командной оболочке с правами суперпользователя. Об основах использования консоли Android можно прочитать в статье «Консольный Android».
warning
Вмешательство в операционную систему с правами суперпользователя может нарушить работоспособность устройства и вывести его из строя. Принимая решение выполнить описанные в статье рекомендации, исследователь берет на себя полную ответственность за возможные негативные последствия своих действий.
Рекогносцировка
В системных сообщениях dmesg
упоминания о Bluetooth встречаются в следующих контекстах:
[
[
[
[
[
[
. . .[
[
[
[
[
[
[
. . .[
[
[
[
[
[
[
[
. . .[
[
[
Строка 1 говорит о том, что ядро Linux собрано с поддержкой стека Bluetooth, строка 2 сообщает о регистрации в ядре семейства протоколов Bluetooth. Сразу после этого инициализируются слои сокетов HCI, L2CAP и SCO (3–6).
Затем активируются драйверы, предназначенные для взаимодействия с адаптерами Bluetooth, подключаемыми по шинам UART и USB (7–13). К сожалению, последний «понимает» только контроллеры Realtek, а наш адаптер CSR этим драйвером не поддерживается.
Последний блок сообщений (14–21) информирует об инициализации высокоуровневых протоколов RFCOMM, BNEP и HIDP стека Bluetooth. Строки 23–25 соответствуют реакции операционной системы на подключение USB-адаптера и говорят о том, что на физическом уровне он опознается шиной USB.
Интересно, где же находится драйвер адаптера? Команда lsmod
выдала список из двух модулей, среди которых rtk_btusb
не оказалось. Значит, он интегрирован в ядро Linux. Но список непустой, а значит, ядро собрано с поддержкой модулей. Запомним это на будущее.
Я изучил файловую систему ТВ‑приставки и нашел следующие компоненты, имеющие отношение к подсистеме Bluetooth:
/app/Bluetooth/Bluetooth.apk
/system/lib/libbluetooth_jni.so
/system/lib/hw/audio.a2dp.default.so
/system/lib/hw/bluetooth.default.so
/system/lib/hw/bluetooth_rtk.default.so
/system/lib/libbt-vendor_uart.so
/system/lib/libbt-vendor_usb.so
/system/lib/rtkbt/...
/system/vendor/libbt-vendor.so
/system/etc/bluetooth/bt_did.conf
/system/etc/bluetooth/bt_stack.conf
/system/etc/bluetooth/bt_vendor.conf
/system/etc/bluetooth/rtkbt.conf
/system/etc/bluetooth/rtkbt_plugins.conf
Следующие команды, последовательно примененные к файлам библиотек, помогут нам понять их зависимость друг от друга:
$ strings /system/lib/hw/название-библиотеки.so | grep '.so'
$ strings /system/lib/hw/название-библиотеки.so | grep '.conf'
Добавив эти компоненты на схему, я получил следующую картину.
Взаимосвязь компонентов подсистемы Bluetooth в операционной системе исследуемой ТВ‑приставкиСобранной информации достаточно, чтобы предположить, что драйверы на ТВ‑приставке не поддерживают Bluetooth-адаптеры на контроллерах CSR. Поскольку ядро имеет поддержку модулей, можно попытаться исправить дело, собрав соответствующий модуль с необходимым драйвером.
Модуль ядра с драйвером USB-адаптера
В качестве платформы для сборки я использовал 64-битную ОС Bodhi Linux 6.0.0 (основанную на Ubuntu 20.04 LTS). У нее есть минималистичный установочный образ, в который входят инструменты метапакета build essential. Для наших работ достаточно виртуальной машины с оперативной памятью 1 Гбайт и накопителем 20 Гбайт. После установки системы и синхронизации с репозиторием надо установить дополнительные пакеты unzip
, python2
и libncurses5
и создать символическую ссылку на интерпретатор:
$ sudo ln -s /usr/bin/python2.7 /usr/bin/python
Создадим каталог для работы:
$ mkdir $HOME/tvbox && cd $HOME/tvbox
Чтобы собрать модуль драйвера, нужны исходники ядра Linux той версии, которая используется в операционной системе ТВ‑приставки, в данном случае 3.10.104. К счастью, на GitHub быстро нашелся репозиторий с ядрами Linux, адаптированными для устройств на платформе Rockchip. Забираем исходники из него:
$ wget -C kernel-release-3.10.zip https://github.com/rockchip-linux/kernel/archive/refs/heads/release-3.10.zip
Теперь надо распаковать полученный архив в рабочий каталог и проверить, соответствует ли версия ядра ожиданиям:
$
$
VERSION = 3
PATCHLEVEL = 10
SUBLEVEL = 104
Чтобы посмотреть, какие конфигурации доступны для платформы Rockchip, выполним команду
$
rockchip_chromium_defconfig — Build for rockchip_chromium
rockchip_defconfig — Build for rockchip
Вариант для операционной системы Chromium OS отбрасываем, остается rockchip_defconfig
. Ищем нужный конфиг:
$
./arch/arm64/configs/rockchip_defconfig
./arch/arm/configs/rockchip_defconfig
В нашей приставке стоит чип RK3229. Он 32-разрядный, поэтому нам актуален второй вариант. Для конфигурирования ядра, как написано в kernel-release-3.
и kernel-release-3.
, надо выполнить команды
$ ARCH=arm scripts/kconfig/merge_config.sh \
arch/arm/configs/rockchip_defconfig \
android/configs/android-base.cfg \
android/configs/android-recommended.cfg
Далее в только что созданный файл .config надо добавить строку CONFIG_MODULES=y
(после строки CONFIG_MODULES
), чтобы включить поддержку модулей ядром, а также строку CONFIG_BT_HCIBTUSB=m
(после строки CONFIG_BT_HCIBTUSB
) — для сборки драйвера USB-адаптеров Bluetooth как модуля ядра. После этого выполним команду
$ ARCH=arm make olddefconfig
Исходные тексты ядра сконфигурированы и готовы к сборке модуля. Собирать будем с помощью инструментов Linaro. Их нужно извлечь из архива gcc-linaro-4.9.4-2017.01-x86_64_arm-eabi.tar.xz в каталог tvbox
, после чего из подкаталога kernel-release-3.
выполняем команду
$ PATH=$HOME/tvbox/gcc-linaro-4.9.4-2017.01-x86_64_arm-eabi/bin:$PATH \
ARCH=arm CROSS_COMPILE=arm-eabi- make modules
Через непродолжительное время модуль ядра будет сформирован в файле kernel-release-3.
. Этот файл надо записать на ТВ‑приставку в каталог /
и попробовать запустить:
#
insmod: failed to load btusb.ko: Exec format error
Неудача: нам сообщили, что файл имеет неправильный формат. Детальное описание проблемы можно найти в сообщениях ядра:
#
btusb: version magic ‘3.10.104 SMP preempt ARMv7 p2v8 ‘ should be ‘3.10.104 SMP preempt mod_unload ARMv7 p2v8 ‘
Оказывается, собранная версия не имеет атрибута mod_unload
. Придется вернуться к исходным текстам и в файл .config после строки #
добавить параметр CONFIG_MODULE_UNLOAD=y
, а затем повторить сборку:
$ make clean
$ make olddefconfig
$ make modules
Записываем новый модуль на ТВ‑приставку и запускаем:
# insmod /system/lib/modules/btusb.ko
Проверяем результат:
#
usbcore: registered new interface driver btusb
#
Module Size Used by
btusb 14685 0 [permanent]
Неужели получилось? Пока что все говорит о том, что модуль заработал. Для проверки воспользуемся командой rfkill
(она становится доступной после установки BusyBox). Сначала надо выполнить команду rfkill
без подключенного модуля и запомнить ее вывод (если он не пустой). Затем подключить модуль и повторить выполнение команды:
#
0: hci0: bluetooth
Soft blocked: no
Hard blocked: no
В выводе должны появиться строки, соответствующие подключенному адаптеру. Потом адаптер надо отключить и снова выполнить rfkill
. Теперь строки, соответствующие адаптеру, должны исчезнуть из вывода. Только такое динамичное поведение говорит о работоспособности драйвера.
Альтернативный способ проверки — наблюдение за содержимым каталога /
. При подключении адаптера Bluetooth в нем должен создаваться подкаталог rfkillN
(где N
— номер устройства), а при отключении — исчезать.
Из файла /
, который содержит команды, выполняемые при загрузке системы для инициализации коммуникационных устройств, можно узнать, что файлам /
надо назначить владельца bluetooth:
, а файлу state
— еще и права доступа 0664
. Сделаем это и попытаемся активировать Bluetooth в настройках Android. Увы, но бегунок элемента управления снова возвращается в положение «Выкл.».
На этом этапе возникает соблазн раздобыть утилиты hciconfig и hcitool, чтобы продолжить настраивать подсистему Bluetooth над ядром Linux, но это тупиковый путь. Наша задача — заставить работать Bluetooth в Android. А для этого надо принять, что задача обеспечить работу драйвера на уровне ядра выполнена, и обратиться к нашей схеме за следующей целью. Ей оказалась «библиотека производителя» libbt-vendor.
— именно она должна обеспечить интерфейс между драйвером ядра и подсистемой Bluetooth в Android.
www
Для автоматизации описанной выше работы — получения исходных текстов ядра, его настройки и сборки модуля — можешь воспользоваться моими сценариями на bash.
Библиотека взаимодействия с драйвером
С библиотекой libbt-vendor.
дело оказалось несколько сложнее, чем с драйвером. На сайте с исходниками Android обнаружились только материалы по библиотекам для адаптеров на чипах Realtek и Broadcom. Единственный вселяющий надежду репозиторий на GitHub с описанием «A libbt-vendor.so for usb bluetooth on Android» датирован сентябрем 2014 года и содержит единственный коммит — форк какого‑то давно исчезнувшего источника.
ESMART PKI Client — Руководство администратора Руководство администратора для ESMART PKI Client, который предназначен для работы со смарт-картами или USB- ключами ESMART Token и ESMART Token ГОСТ. Программа позволяет выполнить все необходимые операции со смарт-картами или USB-ключами в удобном графическом интерфейсе | 28.фев.2017 | 1.28 МБ |
ESMART Token — Описание Общее описание продукта ESMART Token. ESMART Token позволяет производить двухфакторную авторизацию с использованием смарт-карт или USB-ключей. | 28.фев.2017 | 862.41 КБ |
ESMART — Авторизация в Citrix XenDesktop В руководстве кратко описана настройка Citrix XenDesktop для двухфакторной аутентификации при помощи смарт-карт и USB-ключей ESMART Token и ESMART Token ГОСТ. Процедура аналогична для всех поддерживаемых гипервизоров: VMWare ESX, Hyper-V, XenServer. | 06.июн.2016 | 1.65 МБ |
ESMART Token — CSP (minidriver) Описание ESMART Token CSP (minidriver) для встраивания в криптографическую подсистему MS Windows. | 24.фев.2016 | 440.66 КБ |
ESMART Token ГОСТ — Описание Общее описание продукта ESMART Token ГОСТ. ESMART Token ГОСТ позволяет производить двух и трех-факторную авторизацию с использованием смарт-карт или USB-ключей. Изготовлен в России на базе отечественной микросхемы MIK51SC72D с аппаратной поддержкой российских криптографических алгоритмов и сертифицирован в ФСБ как СКЗИ. | 17.июл.2015 | 1.07 МБ |
ESMART PKI Client — Биометрическая аутентификация Биометрическая аутентификация в ESMART PKI Client по технологии Match-on-Card (англ. «сопоставление на карте») которая подразумевает, что эталонный шаблон отпечатка пальца хранится на специальной смарт-карте/токене и процесс сопоставления шаблонов также выполняется на карте/токене. | 30.мар.2015 | 930.13 КБ |
ESMART — КриптоПро Примеры использования ESMART Token совместно с КриптоПро версии 3.6 и выше в различных операционных системах для поддержки отечественных крипто алгоритмов. | 30.мар.2015 | 1.07 МБ |
ESMART — Настройка OpenVPN Настройка OpenVPN сервера и клиента для строгой двухфакторной авторизации с использованием технологий ESMART Token. | 24.мар.2015 | 1.25 МБ |
ESMART — Авторизация в домене Windows Настройка строгой двухфакторной авторизация в домене Windows с использованием технологий ESMART Token. | 23.мар.2015 | 406.24 КБ |
ESMART — Настройка пользовательских приложений Настройка пользовательских приложений для работы с ESMART Token, на примере программ: MS Office, Adobe Acrobat, MS Outlook, Mozilla Firefox, Mozilla Thunderbird | 23.мар.2015 | 1.12 МБ |
Авторизация по сертификату на веб-сайте — Настройка сервера Настройка различных WEB-серверов для строгой двухфакторной авторизации на WEB сайтах с использованием технологий ESMART Token. На примере таких серверов как: Microsoft IIS, Apache, nGinx | 23.мар.2015 | 1.35 МБ |
Руководство по развертыванию центра сертификации Windows Server 2003 В руководстве описана настройка службы сертификатов Active Directory на базе Windows Server 2003. | 23.мар.2015 | 1.18 МБ |
Руководство по развертыванию центра сертификации Windows Server 2008 В руководстве описана настройка службы сертификатов Active Directory на базе Windows Server 2008 | 23.мар.2015 | 2.5 МБ |
ESMART — EFS-шифрование Настройка EFS-шифрование в Windows с использованием технологий ESMART Token. | 19.сен.2013 | 729 КБ |
ESMART — PKI Общее описание архитектуры PKI и использования технологий ESMART Token в PKI инфраструктуре и таких системах как, авторизация в домене, электронная подпись документов/почты, шифрование файлов/почты, VPN. | 16.сен.2013 | 853.71 КБ |
ESMART — VPN-соединение по сертификату X.509 Настройка Windows VPN-сервера для строгой двухфакторной авторизации с использованием технологий ESMART Token. | 16.сен.2013 | 642.32 КБ |
UPVEL: Установка драйвера RockChip USB
UPVEL: Установка драйвера RockChip USBУстановка драйвера RockChip USB
Данный драйвер понадобится вам для перепрошивки ANDROID TV BOX при помощи утилиты RockChip BatchTool. В этой статье описана процедура установки данного драйвера на компьютер с операционной системой Windows.
- Скачайте и распакуйте один из архивов с драйверами — для 32-разрядной (скачать) или 64-разрядной (скачать) операционной системы (если вы не знаете, какова разрядность вашей операционной системы, перейдите по этой ссылке).
-
Перейдите в Диспетчер Устройств. Для этого щёлкните правой кнопкой мыши на ярлыке «Мой компьютер» (или просто «Компьютер», в зависимости от вашей версии Windows) и выберите пункт «Свойства».
Затем выберите пункт «Диспетчер Устройств».
-
Удерживая кнопку Reсovery, подключите кабель к разъему microUSB вашего ANDROID TV BOX.
Кнопка Recovery, в зависимости от модели, может либо находиться на корпусе, либо быть скрытой (в таком случае используйте тонкий длинный предмет, например, зубочистку или канцелярскую скрепку). В модели UM-501TV вам понадобится аккуратно разобрать корпус и нажать кнопку на боковой стороне системной платы.
Некоторые модели ANDROID TV BOX имеют два порта microUSB. При такой конфигурации один порт используется исключительно для питания устройства (и имеет пометку «DC»). Подключайте устройство через второй порт.
Если вы всё сделали правильно, через несколько секунд после подключения в диспетчере устройств появится новое устройство.
-
Откройте раздел с появившемся устройством, щёлкните на нём правой кнопкой мыши и выберите пункт «Обновить драйверы» (см. изображение ниже).
-
Нажмите кнопку «Выполнить поиск драйверов на этом компьютере». Выберите папку, в которую вы распаковали драйверы в пункте 1, и установите их оттуда.
-
Дождитесь сообщения об успешном завершении инсталляции и закройте окно.
Процедура завершена. Вы можете закрыть диспетчер устройств и перейти к перепрошивке ANDROID TV BOX.
Пишем USB-драйверы для заброшенных устройств / Хабр
Недавно на eBay мне попалась партия интересных USB-девайсов (Epiphan VGA2USB LR), которые принимают на вход VGA и отдают видео на USB как веб-камера. Меня настолько обрадовала идея, что больше никогда не придётся возиться с VGA-мониторами, и учитывая заявленную поддержку Linux, я рискнул и купил всю партию примерно за 20 фунтов (25 долларов США).
Получив посылку, я подключил устройство, но оно даже не подумало появиться в системе как UVC. Что не так?
Я изучил сайт производителя и обнаружил, что для работы требуется специальный драйвер. Для меня это была новая концепция, ведь в ядре моего дистрибутива Linux обычно есть драйверы для всех устройств.
К сожалению, поддержка драйверов именно для этих устройств закончилась в Linux 4.9. Таким образом, его не увидит ни одна из моих систем (Debian 10 на Linux 4.19 или последняя версия LTS Ubuntu на Linux 5.0).
Но ведь это можно исправить, верно? Конечно, файлы ведь идут в пакете DKMS, который по требованию собирает драйвер из исходного кода, как и многие обычные драйверы…
Печально. Но здесь не так.
Внутри пакета оказался только предварительно скомпилированный бинарник vga2usb.o
. Я начал его изучать, прикидывая сложность реверс-инжиниринга, и нашёл несколько интересных строк:
$ strings vga2usb.ko | grep 'v2uco' | sort | uniq
v2ucom_autofirmware
v2ucom_autofirmware_ezusb
v2ucom_autofirmware_fpga
Так это на самом деле
FPGA-on-a-stick? Как же заставить работать нечто подобное?
Ещё одной забавной и слегка тревожной находкой стали строки с параметрами закрытого ключа DSA. Это заставило меня задуматься: что же он может защищать внутри драйвера?
$ strings vga2usb.ko | grep 'epiphan' | sort | uniq
epiphan_dsa_G
epiphan_dsa_P
epiphan_dsa_Q
Чтобы изучить драйвер в его нормальной среде, я поднял виртуальную машину с Debian 9 (последний поддерживаемый релиз) и сделал
KVM USB Passthrough, чтобы дать прямой доступ к устройству. Затем установил драйвер и убедился, что он работает.
После этого мне захотелось посмотреть, как выглядит протокол связи. Я надеялся, что устройство отправляет необработанные или почти необработанные фреймы, поскольку это облегчило бы написание драйвера для пользовательского пространства.
Для этого я загрузил на хост виртуальной машины модуль usbmon
и запустил Wireshark для захвата USB-трафика на устройство и с него во время запуска и захвата видео.
Я обнаружил, что при запуске на устройство передаётся большое количество мелких пакетов, прежде чем оно начинает захватывать картинку. Вероятно, оно действительно основано на платформе FPGA без хранилища данных. Каждый раз после подключения драйвер передавал на устройство прошивку в виде битстрима FPGA.
Я убедился в этом, открыв одну из коробок:
Поскольку для «загрузки» устройства нужно отправить ему битстрим/прошивку, придётся поискать его в предварительно скомпилированных бинарниках. Я запустил
binwalk -x
и начал искать какие-нибудь сжатые объекты (zlib). Для этого я написал скрипт поиска hex-последовательностей — и указал три байта из перехваченного пакета.
$ bash scan.sh "03 3f 55"
trying 0.elf
trying 30020
trying 30020.zlib
trying 30020.zlib.decompressed
...
trying 84BB0
trying 84BB0.zlib
trying 84BB0.zlib.decompressed
trying AA240
trying AA240.zlib
trying AA240.zlib.decompressed
000288d0 07 2f 03 3f 55 50 7d 7c 00 00 00 00 00 00 00 00 |./.?UP}|........|
trying C6860
trying C6860.zlib
После распаковки файла AA240.zlib оказалось, что там недостаточно данных для полного битстрима. Поэтому я решил захватить прошивку из пакетов USB.
Считывать USB-пакеты из файлов pcap может и tshark, и tcpdump, но обе сохраняют их лишь частично. Поскольку у каждой утилиты были разные части головоломки, я написал небольшую программу, которая объединяет выходные данные обеих программ в структуры go, чтобы воспроизвести пакеты обратно на устройство.
В этот момент я заметил, что загрузка происходит в два этапа: сначала USB-контроллер, а затем FPGA.
Я застрял на несколько дней: казалось, весь битстрим загружается, но устройство не запускалось, хотя пакеты от реального драйвера и моей симуляции выглядят вроде идентично.
В итоге я решил проблему, тщательно изучив pcap с учётом времени ответа на каждый пакет — и заметил большую разницу во времени одного конкретного пакета:
Оказалось, что из-за небольшой опечатки запись происходила в неправильную область устройства. Будет мне уроком, как вводить значения вручную…
Тем не менее, на устройстве наконец-то замигал светодиод! Огромное достижение!
Your browser does not support HTML5 video.
Было относительно просто реплицировать те же пакеты, которые запускали передачу данных, так что я смог написать конечную точку USB Bulk и мгновенно сбросить данные на диск!
Вот тут и начались настоящие сложности. Потому что после анализа оказалось, что данные не были явно закодированы каким-либо образом.
Для начала я запустил perf для общего представления о трассировке стека драйверов во время работы:
Хотя я мог выловить функции с данными фреймов, но понять кодировку самих данных никак не удавалось.
Чтобы лучше понять, что происходит внутри настоящего драйвера, я даже попробовал инструмент Ghidra от АНБ:
Хотя Ghidra невероятна (когда я впервые использовал её вместо IDA Pro), но всё ещё недостаточно хороша, чтобы помочь мне понять драйвер. Для реверс-инжиниринга требовался другой путь.
Я решил поднять виртуальную машину Windows 7 и взглянуть на драйвер Windows, вдруг он подбросит идеи. И тогда заметил, что для устройств имеется SDK. Один из инструментов оказался особенно интересным:
PS> ls
Directory: epiphan_sdk-3.30.3.0007\epiphan\bin
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a--- 10/26/2019 10:57 AM 528384 frmgrab.dll
-a--- 10/27/2019 5:41 PM 1449548 out.aw
-a--- 10/26/2019 10:57 AM 245760 v2u.exe
-a--- 10/26/2019 10:57 AM 94208 v2u_avi.exe
-a--- 10/26/2019 10:57 AM 102400 v2u_dec.exe
-a--- 10/26/2019 10:57 AM 106496 v2u_dshow.exe
-a--- 10/26/2019 10:57 AM 176128 v2u_ds_decoder.ax
-a--- 10/26/2019 10:57 AM 90112 v2u_edid.exe
-a--- 10/26/2019 10:57 AM 73728 v2u_kvm.exe
-a--- 10/26/2019 10:57 AM 77824 v2u_libdec.dll
PS> .\v2u_dec.exe
Usage:
v2u_dec <number of frames> [format] [compression level] <filename>
- sets compression level [1..5],
- captures and saves compressed frames to a file
v2u_dec x [format] <filename>
- decompresses frames from the file to separate BMP files
Этот инструмент позволяет «выхватывать» единичные фреймы, причём изначально они не сжимаются, чтобы была возможность обработать фреймы позже на более быстрой машине. Это практически идеально, и я реплицировал последовательность пакетов USB, чтобы получить эти несжатые блобы. Количество байтов соответствовало примерно трём (RGB) на пиксель!
Первоначальная обработка этих изображений (просто принимая вывод и записывая его как пиксели RGB) дала нечто отдалённо напоминающее реальную картинку, которое устройство получало через VGA:
После некоторой отладки в hex-редакторе выяснилось, что каждые 1028 байт повторяется какой-то маркер. Немного стыдно, как много времени я потратил на написание фильтра. С другой стороны, в процессе можно было насладиться некоторыми образцами современного искусства.
Затем я понял, что наклон и искажение изображения вызваны пропуском и переносом пикселя на каждой строке (x=799 не равно x=800). И тогда, наконец, у меня получилось почти правильное изображение, если не считать цвета:
Сначала я думал, что проблема с калибровкой из-за выборки данных, когда вход VGA застрял на сплошном цвете. Для исправления я сделал новое тестовое изображение, чтобы выявить такие проблемы. Задним числом понимаю, что надо было использовать что-то вроде тестовой карты Philips PM5544.
Я загрузил изображение на ноутбук, и тот выдал такую картинку VGA:
Тут мне пришло воспоминание о какой-то давней работе по 3D-рендерингу/шейдеру. Это было очень похоже на цветовую схему YUV.
В итоге я погрузился в чтение литературы по YUV и вспомнил, что во время реверс-инжиниринга официального драйвера ядра, если я ставил точку останова на функции под названием v2ucom_convertI420toBGR24
, то система зависала без возможности возобновления. Так что, может, на входе была кодировка I420 (от -pix_fmt yuv420p
), а выход RGB?
После применения встроенной в Go функции YCbCrToRGB изображение внезапно стало намного ближе к оригиналу.
Мы сделали это! Даже сырой драйвер выдавал 7 кадров в секунду. Честно говоря, мне этого достаточно, так как я использую VGA только в случае аварии как резервный дисплей.
Итак, теперь мы знаем это устройство достаточно хорошо, чтобы объяснить алгоритм его запуска с самого начала:
- Нужно инициализировать USB-контроллер. Судя по объёму информации, на самом деле драйвер передаёт на него код для загрузки.
- Когда вы закончите загрузку USB, устройство отключится от шины USB и через мгновение вернётся с одной конечной точкой USB.
- Теперь можно отправлять битстрим FPGA, по одному 64-байтовому пакету USB за каждую контрольную передачу.
- По окончании передачи индикатор на устройстве начнёт мигать зелёным цветом. На этом этапе можно отправить то, что кажется последовательностью параметров (overscan и другие свойства).
- Затем запускаем контрольный пакет для получения фрейма, в пакете указано разрешение. Если отправить запрос фрейма 4:3 на широкоэкранный вход, то это обычно приведёт к повреждению фрейма.
Для максимальной простоты использования я внедрил в драйвер небольшой веб-сервер. Через браузерные
MediaRecorder APIон легко записывает поток с экрана в видеофайл.
Предупреждая неизбежные претензии к качеству экспериментального кода, скажу сразу: я им не горжусь. Наверное, он в таком состоянии, какого мне достаточно для приемлемого использования.
Код и готовые сборки для Linux и OSX лежат на GitHub.
Даже если программу никто никогда не запустит, для меня это было чертовски увлекательное путешествие в дебрях протокола USB, отладки ядра, реверс-инжиниринга модуля и формата декодирования видео! Если вам нравятся такие вещи, можете посмотреть другие статьи в блоге.
Назначение В этом разделе описывается поддержка универсальной последовательной шины (USB) в операционной системе Windows, чтобы вы могли разрабатывать драйверы USB-устройств, совместимые с Windows. Где применимо УстройстваUSB — это периферийные устройства, например мыши и клавиатуры, которые подключаются к компьютеру через один порт.Драйвер USB-клиента — это программное обеспечение, установленное на компьютере, которое взаимодействует с оборудованием, чтобы обеспечить работу устройства. Если устройство принадлежит к классу устройств, поддерживаемому Microsoft, Windows загружает для него один из драйверов USB, предоставленных Microsoft (встроенные драйверы класса). В противном случае производитель оборудования или сторонний поставщик должен предоставить специальный клиентский драйвер. Пользователь устанавливает клиентский драйвер для устройства, когда устройство впервые обнаруживается Windows. После успешной установки Windows загружает драйвер клиента каждый раз при подключении устройства и выгружает драйвер, когда устройство отсоединяется от главного компьютера. Вы можете разработать собственный клиентский драйвер для USB-устройства, используя Windows Driver Frameworks (WDF) или Windows Driver Model (WDM). Вместо того, чтобы напрямую связываться с оборудованием, большинство клиентских драйверов отправляют свои запросы в предоставленный Microsoft стек драйверов USB, который выполняет вызовы функций уровня абстракции оборудования (HAL) для отправки запроса клиентского драйвера на оборудование. В темах этого раздела описываются типичные запросы, которые драйвер клиента может отправлять, и интерфейсы драйверов устройств (DDI), которые драйвер клиента должен вызывать для создания этих запросов. Аудитория разработчиков Клиентский драйвер для устройства USB — это драйвер WDF или WDM, который взаимодействует с устройством через DDI, предоставляемые стеком драйверов USB. Этот раздел предназначен для программистов на C / C ++, знакомых с WDM. Прежде чем использовать этот раздел, вы должны понять основы разработки драйверов. Дополнительные сведения см. В разделе «Начало работы с драйверами Windows». Для драйверов WDF клиентский драйвер может использовать интерфейсы Kernel-Mode Driver Framework (KMDF) или User-Mode Driver Framework (UMDF), специально разработанные для работы с целевыми устройствами USB.Дополнительные сведения об интерфейсах, относящихся к USB, см. В разделах Справочник по USB WDF и Целевые интерфейсы ввода-вывода USB UMDF. Инструменты разработки Набор драйверов Windows (WDK) содержит ресурсы, необходимые для разработки драйверов, такие как заголовки, библиотеки, инструменты и образцы. Скачать комплекты и инструменты для Windows Код программирования USB Предоставляет спецификации для запросов ввода-вывода, процедур поддержки, структур и интерфейсов, используемых драйверами USB-клиентов.Эти процедуры и связанные структуры данных определены в заголовках WDK. Справочник по программированию универсальной последовательной шины (USB). Примеры драйверов USB Используйте эти образцы, чтобы начать программирование клиентского драйвера USB. Соответствующие стандарты и спецификации Официальные спецификации USB можно загрузить с веб-сайта Universal Serial Bus Documents. Этот веб-сайт содержит ссылки на версию 3 универсальной последовательной шины.0 и спецификацию версии 2.0 универсальной последовательной шины. | Разделы документации Начало работы с разработкой драйвера USB-клиента Знакомит вас с разработкой драйверов USB. Предоставляет информацию о выборе наиболее подходящей модели для предоставления USB-драйвера для вашего устройства. Напишите, соберите и установите свой первый скелет драйверов USB для пользовательского режима и режима ядра, используя шаблоны USB, включенные в Microsoft Visual Studio.Драйверы на стороне хоста USB в Windows Предоставляет обзор архитектуры стека драйверов USB.О запросах блоков USB (URB) Узнайте, как драйвер клиента создает структуру данных переменной длины, называемую блоком запросов USB (URB), для отправки запросов в стек драйвера USB.Дескрипторы USB Узнайте, как драйвер клиента создает структуру данных переменной длины, называемую блоком запросов USB (URB), для отправки запросов в стек драйвера USB.Выбор конфигурации USB в драйверах USB Конфигурация устройства относится к задачам, которые клиентский драйвер выполняет для выбора конфигурации USB и альтернативного интерфейса для каждого интерфейса.В разделе показаны вызовы методов, необходимые для выбора конфигурации USB.Отправка передачи данных USB в драйверах клиента USB Описывает каналы USB, URB для запросов ввода-вывода и то, как драйвер клиента может использовать интерфейсы драйвера устройства (DDI) для передачи данных на устройство USB и с него.Внедрение управления питанием в клиентских драйверах USB Используйте возможности управления питанием USB-устройств, которые соответствуют спецификации универсальной последовательной шины (USB), имеют богатый и сложный набор функций управления питанием. |
Prolific USB для последовательного драйвера
Существует ряд драйверов Prolific Serial, которые перечислены ниже. Здесь также есть объяснение (драйвер USB для RS232), которое также использует драйвер Prolific USB. Если приведенные ниже драйверы Prolific USB-to-Serial не работают, обратитесь к драйверу USB-RS232 для получения дополнительной информации, поскольку он использует более одного варианта.
Существует также схема установки (драйвер FT232R USB UART), которая показывает, как устанавливать и удалять драйверы USB на вашем компьютере.Обратите внимание, что мы обновили драйвер Prolific для драйвера Prolific USB для последовательного порта, который вы теперь загружаете ниже для Windows XP / 7/8/10, перечисленных ниже.
Установите драйвер Prolific USB to Serial в Windows- Дважды щелкните программу установки драйверов Windows PL-2303;
- Драйвер Prolific попросит вас установить драйвер PL-2303 USB-to-Serial, который будет установлен на вашем компьютере;
- Программа установки драйверов PL-2303 теперь установит драйверы Prolific;
- Теперь закройте программу установки, когда она будет установлена.
Проверьте проверку драйвера для устройства «Prolific USB-to-Serial Comm Port» в диспетчере устройств;
Проверьте версию драйвера «Prolific USB-to-Serial Comm Port», щелкнув правой кнопкой мыши на Prolific Port, а затем щелкнув «драйвер» вверху, чтобы проверить версию драйвера, установленную на вашем компьютере. Дата Prolific USB to Serial Driver будет показана ниже, как показано на рисунке ниже.
Ошибка 10 в драйвере Prolific USB to SerialЕсли вы получаете сообщение об ошибке, что адаптер Prolific USB to Serial не работает, вам необходимо удалить драйвер на вашем компьютере и удалить адаптер Prolific USB to Serial с вашего компьютера. Сообщите и снова подключите адаптер Prolific, а затем подождите, пока он не найдет драйвер Prolific USB to Serial. Направьте программное обеспечение туда, куда вы извлекли драйвер, и установите оттуда драйвер Prolific.
Расширенные настройки драйвера Prolific USB to SerialВы можете изменить настройки порта в настройках Prolific USB to Serial Adapter, как показано ниже. Вам нужно будет щелкнуть параметры порта в верхней части меню, а затем щелкнуть расширенные параметры, которые содержат расширенные параметры порта на адаптере Prolific, как показано ниже.
Обратите внимание на то, что делает каждая из этих расширенных настроек порта, как показано ниже:
- USB Таймер селективного отключения в режиме ожидания
Это таймер простоя для микросхемы PL2303 для перехода в режим ожидания, значение по умолчанию — 10 секунд.Вы можете изменить это на адаптере Prolific USB to serial. Проверьте свой чип, так как этот не работает с на микросхеме PL2303SA. Также обратите внимание, что для PL2303HXD / EA / RA вам необходимо сначала записать в OTPROM.
- Отключить сигнал DTR / RTS INIT
По умолчанию это включено. Это отключит сигнал инициализации контакта DTR / RTS во время загрузки драйвера, чтобы отключить последовательную мышь или модем от обнаружения. Установите этот флажок, если драйвер Prolific USB не определяет ваш последовательный модем или последовательную мышь.В адаптере Prolific USB to Serial это обычно включено, как указывалось ранее, однако для устранения неполадок всегда лучше проверять расширенные настройки.
- Изменить DTR / RTS INIT Level Shift
Сигнал должен быть включен, так как по умолчанию для этой настройки TTL = HIGH, а также RS232 = LOW.
- Отключить серийный номер USB устройства в реестре Windows
Это очень важно, если у вас много устройств. По умолчанию для этих настроек включено.Если вы установите этот флажок, он проигнорирует серийные номера устройства PL2303. Если вы отключили это, то каждое устройство PL2303, даже с разными серийными номерами USB, будет рассматриваться как одно и то же устройство. Это больше для устранения неполадок в ваших последовательных устройствах.
Устанавливает размер буфера последовательного устройства. По умолчанию это 4096.
Драйвер Prolific USB to SerialВерсия установщика и дата сборки: 1.20.0 (2018-7-30)
Входящие поисковые запросы:
FT232R Драйвер USB UART | USB-драйвер
USB-драйвер FT232R — немного сложная установка.Скриншоты ниже дадут вам направление относительно правильной установки драйвера. Это означает, что вам сначала нужно удалить драйвер, отключиться от Интернета, а затем снова установить драйвер. Приведенные ниже USB-драйверы FT232R необходимо извлечь в удобное для вас место на вашем компьютере.
FT232R Драйвер USB UARTШаг 1:
Загрузите файл драйвера и извлеките его на жесткий диск, где он будет находиться.
FT232R Загрузка драйвера USB UARTШаг 2:
Сначала необходимо удалить неверные драйверы на вашем компьютере.В Windows перейдите в панель управления , затем в диспетчер устройств
Теперь нажмите кнопку удаления на вашем компьютере, и он запросит подтверждение.
Сверните меню «Порты» и щелкните контроллер USB в нижней части списка.
Теперь вам нужно удалить существующий последовательный USB-преобразователь.
Отсоедините USB-кабель от ПК от KMX1 или KMX2
повторно подключите кабель USB от вашего ПК к KMX1 или KMX2
Появится новый элемент с желтым флажком FT232R USB UART
Щелкните правой кнопкой мыши на FT232R USB UART
Select Обновить программное обеспечение драйвера
Теперь вам нужно найти, где вы извлекли драйверы из файла, который вы загрузили выше, и указать программное обеспечение в каталог.
Установлен драйвер для USB Serial Converter
Последовательный USB-преобразователь установлен. Далее вам нужно установить порт. Если вы достаточно взрослые, чтобы помнить программные модемы, то вы вспомните, что это делалось таким же образом.
Элемент, отмеченный желтым флажком, будет изменен на имя Последовательный порт USB
Щелкните правой кнопкой мыши последовательный порт USB
Выберите Обновите программное обеспечение драйвера
Программный драйвер для порта находится в том же каталоге, где у вас были другие драйверы, которые вы только что установили.
Последовательный порт будет установлен, и это будет последняя установка. Желтых флажков больше быть не должно.
Готово!
См. Обновленную версию и драйвер UART
здесь.Что такое драйвер UART?
UART — это универсальный асинхронный приемопередатчик и компьютерное оборудование, используемое в асинхронной последовательной связи, где можно настроить формат данных и скорость передачи.Передача сигналов в UART осуществляется с использованием уровней и методов, обрабатываемых схемой драйвера за пределами UART.
Что такое драйвер ft232r USB UART?
USB-устройство UART ft232r используется во многих устройствах, использующих асинхронную последовательную связь. Вы можете загрузить драйвер ft232r USB UART, щелкнув драйвер выше. Убедитесь, что у вас есть устройство ft232r для распознавания драйвера UART. См. Устранение неполадок ft232r на этом веб-сайте.
В чем разница между RS232 и UART?
Разница между RS232 и UART заключается в том, что RS232 является асинхронным протоколом последовательной связи, используемым устройством UART.Думайте о UART как о компьютере, а rs232 — как о программном обеспечении на компьютере. Протокол RS232 работает на оборудовании UART.
RS232 цифровой или аналоговый?
RS232 аналоговый. RS232 использует для связи напряжение.
Почему RS232 все еще используется?
USB сегодня является стандартом, однако так было не всегда. RS232 использовался на старых принтерах и используется до сих пор. Большинство устройств RS232 сегодня используются в научном оборудовании и в основном в промышленных датчиках и дистанционном оборудовании.RS232 намного проще использовать в системах низкого напряжения.
В чем разница между rs232 и rs232c?
Разница между двумя стандартами в том, что версия rs232c намного новее. RS232c использует напряжение +/- 5 по сравнению со старым RS232, которое использует +/- 25 напряжения. Это основное различие между двумя стандартами
.Входящие поисковые запросы:
Драйвер USBдля Windows
USB BitScopes требует установки драйвера при первом использовании с Windows.
Обычно это происходит автоматически , когда вы впервые подключаете BitScope .
Однако может потребоваться установить драйвер вручную , если:
- Ваш компьютер не подключен к Интернету,
- Вы используете Windows XP или Vista ( не рекомендуется! ),
- Вы используете Windows 7 Starter или Home Edition,
- Автоматический установщик Windows не работает по другой причине.
Вам может затем нужно настроить программное обеспечение для использования правильного COM-порта.
Чтобы оптимизировать производительность в Windows, мы рекомендуем уменьшить задержку драйвера .
Подробнее обо всем этом читайте ниже или пройдите по этим ссылкам :
Конечно, , напишите нам в любое время на [email protected], если вам понадобится помощь!
В большинстве случаев делать нечего, просто подключите BitScope.
Следующее всплывающее окно должно появиться в правом нижнем углу рабочего стола.
Его внешний вид может немного отличаться в зависимости от выпуска и версии Windows 7 или 8, которую вы используете (в оставшейся части этого руководства используется Windows 7). Чтобы наблюдать за прогрессом, щелкните всплывающее диалоговое окно, чтобы отобразить:
По завершении установки вы увидите:
Обратите внимание на идентификатор COM-порта ( COM3 в этом примере), так как он может вам понадобиться позже.
Если автоматический установщик завершился неудачно, вы можете увидеть следующее:
В этом случае вам необходимо ОТКЛЮЧИТЬ СВОЙ BITSCOPE и загрузить драйвер:
и по завершении запустите его:
Вам будет предложено извлечь его:
, а затем установите:
, что может занять некоторое время:
По завершении установки вы можете увидеть это диалоговое окно:
Обратите внимание на идентификатор COM-порта ( COM3 в этом примере), так как он может вам понадобиться позже.
Иногда необходимо узнать свойства устройства для USB BitScope.
Наиболее частая причина — увидеть номер COM-порта, присвоенный Windows при установке драйвера (если вы забыли принять его к сведению в то время).
Выберите устройств и принтеров :
Найдите BitScope (он должен быть в списке) и выберите свойства:
, а затем выберите Вкладка оборудования :
Здесь вы можете увидеть номер COM-порта (в данном примере — COM3).
Если подключен только один USB BitScope выбор COM-порта не требуется
Все приложения BitScope автоматически подключаются к этому BitScope .
Однако, , если подключено более одного BitScope или есть других устройств с COM-портом FTDI, подключенных к вашему ПК (например, последовательная мышь), вам может потребоваться настроить программное обеспечение для использования правильного COM-порта.
Это можно сделать с помощью большинства приложений BitScope.С помощью DSO нажмите НАСТРОЙКА :
и выберите правильный COM-порт (COM3 в этом примере) и нажмите OK :
Выполнение этого с помощью одного приложения BitScope устанавливает порт, используемый для всех приложений, поэтому вам не придется делать это снова.
В случае DSO нажмите POWER, чтобы запустить приложение:
Обратите внимание, что COM3 отображается в нижней части приложения. Если выбранный COM-порт не отображается здесь, вы не подключены к BitScope (устранение неполадок).
Windows может вызвать препятствие при попытке просмотреть COM-порт или настроить свойства устройства при доступе более прямым способом.
В этом случае вам может потребоваться использовать Диспетчер устройств для доступа к свойствам устройства.
Сначала выберите Свойства компьютера :
, а затем выберите Диспетчер устройств :
В диспетчере устройств найдите последовательный порт USB :
(в данном примере это COM3) и щелкните правой кнопкой мыши, чтобы открыть свойства устройства:
BitScope предпочитает минимальную задержку USB для достижения максимальной производительности .
К сожалению, Windows 7 и 8 по умолчанию устанавливают драйвер с большой задержкой.
Уменьшите значение задержки, чтобы значительно повысить производительность при разговоре с USB BitScope с Windows 7 или 8.
После установки драйвера USB выберите свойства устройства, а затем выберите свойства для COM-порта, назначенного вашему BitScope (COM3 в этом примере):
Выберите вкладку Port Settings и нажмите Advanced :
Здесь вам могут сказать:
Если да, то вам нужно будет перейти на вкладку «Параметры порта» через диспетчер устройств (это связано с ошибкой во многих выпусках Windows 7 и 8).
Независимо от того, использовали ли вы диспетчер устройств или этот маршрут, вы должны увидеть:
Измените задержку по умолчанию ( 16 мс ) на 1 мс :
Щелкните OK, чтобы принять новое значение.
Затем вам может потребоваться перезапустить Windows, чтобы новое значение вступило в силу.
Если вы успешно установили драйвер, но по-прежнему не можете подключиться:
- Обязательно загрузите и используйте последние версии программного обеспечения BitScope.
- Временно отключите все остальные последовательные USB-устройства от вашего ПК.
- Проверьте, какой COM-порт назначила Windows при установке драйвера.
- Обязательно выберите тот же COM-порт в диалоговом окне настройки BitScope Software .
- Убедитесь, что ваш BitScope подключен к (красный светодиод на задней панели должен гореть).
- Убедитесь, что ваш блок питания исправен. (для моделей BitScope с внешним питанием).
- Попробуйте подключить напрямую к USB-порту вашего ПК , если вы используете USB-концентратор .
- Подключитесь через другой USB-порт , возможно, используя другой USB-кабель .
- Попробуйте другой ПК, и / или другое программное обеспечение, чтобы исключить проблемы, связанные с ПК.
Если вы можете подключиться, но проблемы все еще есть:
Если у вас все еще есть проблемы , особенно , если вы обновляетесь с более старых версий программного обеспечения , файлы конфигурации, используемые прикладным программным обеспечением, могли быть повреждены.
Файл, который, скорее всего, вызовет проблемы (если он поврежден), — это файл зонда .
Файл локального зонда (подробности)
В Windows 7 и 8 локальный файл зонда находится по адресу:
C: \ Users \ <пользователь> \ AppData \ Local \ BitScope \ BitScope.prb
или в более старых версиях Windows:
C: \ Documents and Settings \ <пользователь> \ Local Settings \ Application Data \ BitScope \ BitScope.prb
, где
Удалите этот файл с по заставьте программу воссоздать его с правильной информацией.
The Global Probe File (подробности)
Есть еще один глобально настраиваемый файл зонда. Маловероятно, что это будет повреждено, но если вы подозреваете, что это так, и у вас есть права администратора на вашем ПК для его изменения, вы можете удалить (или закомментировать) его содержимое (не удаляйте сам файл). Маловероятно, что вам понадобится это сделать, но мы упоминаем об этом в крайнем случае.
У вас ничего из этого не работает? Напишите нам по адресу [email protected] для получения помощи!
Обновления и загружаемые материалы для драйвера USB-устройства Yamaha Steinberg
18 ноября 2021 г. MacmacOS 11.x · macOS 12.x — микросхема Intel / Apple (с Rosetta 2) | |
Драйвер Yamaha Steinberg USB 3.1.1 · 4.0 MB Информация о версии (PDF) Важная информация по установке
| |
Поддерживаемое оборудование CI1 / UR12 / UR22 / UR22mkII / UR22C / UR44C / UR816C / UR24C / AXR4U (поддержка дополнительного оборудования в стадии подготовки) |
Драйвер Yamaha Steinberg USB 3.0.5 · 3,7 МБ Примечания к выпуску (PDF) Важная информация по установке
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Поддерживаемое оборудование CI1 / CI2 / CI2 + / UR12 / UR22 / UR22mkII / UR28M / UR242 / UR44 / UR824 / UR-RT2 / UR-RT4 C / UR22C / UR1644C / UR22C / UR1244C / UR8 Если вы используете версию Windows или Mac OS X, которая не поддерживается текущей версией драйвера, пожалуйста, найдите предыдущую (ые) версию (ы) ниже. Пожалуйста, прочтите «Руководство по установке» в загруженном ZIP-архиве перед началом установки. Пожалуйста, прочтите «Руководство по установке» в загруженном ZIP-архиве перед началом установки. Установка драйвера USB стала прощеПростая установка драйвера USB Zadig — это приложение для Windows, которое устанавливает общие драйверы USB, такие как WinUSB, libusb-win32 / libusb0.sys или libusbK, чтобы помочь вам получить доступ к USB-устройствам. Это может быть особенно полезно в случаях, когда:
Примечание: «на основе libusb» выше означает приложение, которое использует libusb, libusb-win32 или libusbK. СкачатьОбновлено 2021 г.11.01: Системные требования:Windows 7 или новее.Windows XP и Windows Vista — БОЛЬШЕ НЕ ПОДДЕРЖИВАЕТСЯ. Использование Загрузите исполняемый файл и запустите его — установка не требуется. Руководство по использованию Zadig доступно ЗДЕСЬ. Исполняемый файл имеет цифровую подпись, и в подписи должно быть указано: «Akeo Consulting» Часто задаваемые вопросы (FAQ)FAQ по Zadig доступен ЗДЕСЬ . Чтобы оставить отзыв, сообщить об ошибке или запросить улучшение, используйте трекер проблем github. Или вы можете отправить электронное письмо. Лицензия Стандартная общественная лицензия GNU (GPL) версии 3 или более поздней. Zadig основан на libwdi, который использует лицензию LGPL версии 3 или более поздней. Исполняемый файл создается на 100% прозрачным образом из общедоступного источника с использованием среды Visual Studio. История изменений
Исходный кодЕсли вы разработчик, вам настоятельно рекомендуется поработать с Zadig / libwdi и отправить исправления.USB-драйвер YKMUSB | ИокогаваОписание Драйвер USB необходим для связи через интерфейс USB. Системные требования OS Для Windows Vista во время установки иногда появляется предупреждение о цифровой подписи, однако проблем с работой нет. Применимые продукты
ВНИМАНИЕ для клиентов, использующих модель DL6000 / DLM6000 / DL9000 / SB5000 серии Этот драйвер USB совместим со следующим прикладным программным обеспечением / программой.
ВНИМАНИЕ для клиентов, использующих модель XL120 серии Этот драйвер USB совместим со следующим программным обеспечением.
История изменений
Предыдущая версия
СкачатьПеред загрузкой внимательно прочтите Соглашение о программном обеспечении.
* Соглашение о программном обеспечении
|