- USB gadget
- Содержание
- Теория
- Конфигурация подсистемы USB gadget
- Описание модулей
- Ethernet Gadget (with CDC Ethernet support)
- Загрузка модулей
- Установка драйвера
- Установка драйвера — второй способ (родные дрова Windows)
- Настройка подключения на Виртурилке
- Gadget Serial
- Загрузка модуля
- Установка драйвера Windows
- Настройка подключения на Виртурилке
- Возможное применение
- Mass Storage Gadget
- Хитрости
- Как узнать в каком режиме USB
- Gadget serial driver windows 10 что это
- Gadget serial driver windows 10 что это
USB gadget
Содержание
Теория
USB Gadget — одна из фич порта USB OTG. Общий смысл в том что микроконтроллер (Виртурилку, в нашем случае) можно подключить к обычному компьютеру по USB как флешку, например. Только вот микроконтроллер может определяться на компьютере различными девайсами, в зависимости от загруженного драйвера.
Например, если запустить на Виртурилке модуль g_ether — Виртурилка будет выступать в роли USB сетевой карты. Если запустить модуль g_mass_storage — Виртурилка будет обычной флешкой, и т.д.
Для включения системы USB Gadget надо включить параметр
Если установить USB_GADGET =m — подсистема USB Gadget будет динамическая — для функционирования потребуется загружать соответствующие модули ядра. Если установить USB_GADGET =y — подсистема будет фиксированная, т.е. будет только один конкретный функционал, зато не потребуется загружать модули. Как именно данную подсистему использовать — решать пользователю.
Доступные модули для USB Gadget:
У каждого модуля своя специфика работы. Но, в общем случае, для активации модуля требуется выполнить следующие команды для активации подсистемы USB Gadget:
Затем надо загрузить конкретный модуль. Например, для Ethernet Gadget надо загрузить модуль g_ether.ko
Конфигурация подсистемы USB gadget
Описание модулей
Ethernet Gadget (with CDC Ethernet support)
Загрузка модулей
Для загрузки модуля надо выполнить команду
Теперь загружаем модуль Ethernet Gadget
Возможна загрузка с параметрами
Примерно такой вывод появится в консоли после загрузки модуля, если Виртурилка подключена по USB к компьютеру. Строчка «gadget: high-speed config #2: RNDIS» появится только если на компьютере были установлены драйвера RNDIS/Ethernet Gadget.
Установка драйвера
Рецепт юзера Tikki.
После загрузки на Виртурилке модуля Ethernet gadget и подключения Виртурилки USB кабелем к компьютеру должно появиться оповещение о найденном устройстве (в случае ОС Windows). Для этого устройства надо установить драйвер. Делается это через стандартную виндовую панель управления. Надо выбрать определившееся устройство (оно должно быть с иконкой знака вопроса), кликнуть правой кнопкой мыши, выбрать «Обновить драйвер». После чего указать каталог с распакованными из архива файлами.
После установки драйвера в списке сетевых подключений Windows должно появиться новое. Надо задать этому подключению какой-нибудь IP адрес, допустим, 192.168.3.1
Установка драйвера — второй способ (родные дрова Windows)
Не работает с Windows 10! Для 10-ки см. предыдущий рецепт.
Рецепт юзера shebeko.
«Кстати, необязательно качать и ставить .cab
Все уже есть в винде.
Настройка подключения на Виртурилке
Теперь необходимо настроить интерфейс на Виртурилке. Делается это обычным образом
Теперь можно попробовать пинг до компьютера, к которому по USB подключена Виртурилка
Всё, соединение установлено и настроено.
Gadget Serial
Загрузка модуля
Для модуля доступен параметр, при котором получается что-то специфическое. Как перевести пока не понял 🙂 «To load it as a vendor specific bulk in/out device, do this: modprobe g_serial use_acm=0»
При подключении Виртурилки USB кабелем к компьютеру с Windowd должно появиться новое устройство «Gadget Serial».
Установка драйвера Windows
Ссылка на файлы драйвера (под разные версии Windows)
Настройка подключения на Виртурилке
Должно появиться устройство /dev/ttyGS0
По-умолчанию параметры этого COM-порта стандартные — 115200n8
Теперь, если на компьютере с Windows (к которому подключена Виртурилка) запустить терминал на порту, которым выступает установленное устройство Gadget Serial (в моём случае это COM30), а на Виртурилке выполнить запись в устройство /dev/ttyGS0, увидим посланный текст
На Виртурилке выполняем
В терминале Windows видим
Возможное применение
С помощью модуля Gadget Serial появляется возможность подключения к консоли Виртурилки не через USB-TTL переходник, а сразу по USB кабелю. Для этого необходимо поместить инициализацию модуля g_serial.ko в автозагрузку, а также указать порт /dev/ttyGS0 как консольный. Это можно сделать в файле /etc/inittab. Надо исправить строчку, начинающуюся с ttyS0 на следующую:
Полноценную аппаратную консоль, куда выводятся все сообщения ядра, это не заменит, но вот для подключения к Виртурилке по USB консоли подходит отлично. Подключение будет возможно с момента загрузки модуля g_serial.ko, а текст стандартного приглашения Linux появится в конце автозагрузки.
Mass Storage Gadget
Хитрости
Как узнать в каком режиме USB
Файл /sys/devices/platform/musb-davinci/musb-hdrc.0.auto/driver/musb-hdrc.0.auto/mode содержит значения, уникальные для каждого режима (хост или клиент).
В режиме хоста этот файл будет содержать строчку
Gadget serial driver windows 10 что это
Драйвера устройств обычно скрываются в менеджере устройств как только устройство отключится или подаст команду на скрытие (несмотря на то, что они по прежнему установлены в системе). Очень часто «одноименные» драйвера конфликтуют из-за несоответствия версий и пр.
Методика очистки списка не используемых устройств: (Уже многими опробовано и даёт хорошие результаты когда ничего уже не помогает «увидеть» работоспособное «устройство».
0. Отключите от компьютера все внешние USB-устройства.
1. Создайте переменную окружения с именем DEVMGR_SHOW_NONPRESENT_DEVICES со значением равным 1.
Для этого: 1.1. Щелкните правой кнопкой на значке «Мой компьютер» (My Computer) и выберите пункт «Свойства» (Properties).
1.2. В открывшемся диалоговом окне перейдите к вкладке «Дополнительно» (Advanced) и нажмите на кнопку «Переменные среды» (Environment Variables).
1.3. На расположенной в верхней части диалогового окна панели «Переменные среды» нажмите на кнопку «Создать» (New).
1.4. В поле «Имя переменной» наберите (лучше скопируйте отсюда) DEVMGR_SHOW_NONPRESENT_DEVICES, а в поле «Значение переменной» введите 1.
1.5. Два раза подряд нажмите на кнопку «OK».)
Созданная переменная окружения разрешит менеджеру устройств показывать все установленные в системе драйвера устройств (как скрытых, так и всех, когда-либо подключавшихся к компьютеру).
2. Вызовите менеджер/диспетчер устройств:
3. Щелкните правой кнопкой на значке «Мой компьютер» (My Computer), выберите пункт «Свойства» (Properties) и перейдите к вкладке «Оборудование» (Manage).
4. Нажмите на кнопку «Диспетчер устройств» (Device Manager), раскройте меню «Вид» (View) и выберите команду «Показать скрытые устройства» (Show Hidden Devices).
5. Начинайте «зачистку» системы от «хлама»:
5.1 Раздел «Дисковые устройства» Каждый раз, когда вы подключаете новую флешку, ставится новый драйвер. Каждый раз, когда вы подключаете ту же флешку, но к другому порту USB, ставится новый драйвер. Драйвера всех в настоящее время отключенных сменных носителей в этом разделе можно смело удалить — они сами поставятся заново при подключении флешек и прочих USB-носителей. Среди этих скрытых и неиспользуемых драйверов будет и драйвер «Вашего устройства» (возможно «неудачный» и не один). Он должен называться «Ваше устройство» USB Device, но он не всегда определяется правильно и поэтому имя может быть другое. Смело удаляйте всё, что относится к «Вашему устройству» в этом разделе. При первом же подключении «Вашего устройства» новый драйвер от текущего установится сам или попросит Вас его установить.
5.2 Раздел «Другие устройства» Здесь можно удалить все СКРЫТЫЕ (серенькие) устройства — это все ваши неудачные попытки поставить «что-то». Они вам точно не нужны.
5.3 Раздел «Тома запоминающих устройств» Здесь можно удалить СКРЫТЫЕ (серенькие) «тома запоминающих устройств» -это «буквы» ваших флешек -они вам не нужны, т.к. присвоятся заново при подключении флешки..
5.4 Раздел «Контроллеры универсальной последовательной шины USB»: Здесь можно удалить все СКРЫТЫЕ (серенькие) устройства: «Ваше устройство» Device USB Driver, Запоминающее устройство для USB, Неизвестное устройство и другие.
5.5 Перезагрузите компьютер.
6. После всех этих удалений попробуйте заново подключить «ваше устройство». Он должен обнаружиться как новое устройство и Windows установит к нему драйвера или вы их установите сами ( на некоторых устройствах нужно устанавливать драйвера без подключения по USB, т.е. подключать после установки драйвера).
6.1 Перезагрузите компьютер.
Обычно такая процедура устраняет все проблемы в конфликтных драйверах «вашего устройства».
7. спасибо за предоставленную информацию Alex_1959, :yes2:
Обычно решение проблемы, прямо или косвенно, отражено в шапке.
Gadget serial driver windows 10 что это
SMLogix 3.26.447
При подключению SMH2Gi вылезает окно что найдено устройство «(Gadget Serial v2.4» — это что? Драйвера на это устройство не находятся.
При переводе в режим программирования SMH2Gi появляется в libusb-win32 devices SMH2Gi. Драйвера устанавливал и с файлообменника, и из папки SMLogix.
Причем если контроллер находится в режиме программирования, и устанавливать windriver (запускать wd_install_4NT.bat), то в списке устройств появляется USB\VID_0425&PID_21FF\MX27_SN:0000
USB\Vid_0425&Pid_21ff&Rev_0100
USB\Vid_0425&Pid_21ff
соответственно SMLogix 3.26.447 контроллер не видит, прошивка kernel и root невозможна.
При удалении из списка устройств Jungo MX27&31, и поиска новых, появляется libusb-win32 devices SMH2Gi. Прошивка становится возможной.
По завершении прошивки контроллер перезапускается, и в системе опять появляется устройство Gadget Serial v2.4
При установке SMLogix 3.27.011, установке драйвера wd_install_4NT.bat, переводе контроллера в режим программирования — в системе появляется libusb-win32 devices SMH2Gi. При попытке залить C:\Program Files\SMLogix\2Gi_Kernel\firmware.frw — проверка контроллера -> ошибка !
Логи —
11:25:19.098 — Запуск архиватора. INFINITE
11:25:22.286 — процесс архиватора завершился.
11:25:22.301 — Поток обновления ядра.
11:25:22.317 — Старт потока обновления ядра.
11:25:22.333 — Определен SMH 2Gi.
11:25:26.395 —
SshConnect->Connect.
ChilkatLog:
Connect:
DllDate: Mar 22 2009
UnlockPrefix: SSH!TEAM!BEAN
Username: brylev
Component: Visual C++ 7.0
socket is not ready for writing
Connect function failed.
SocketError: WSAEWOULDBLOCK The socket would block.
For more information see http://www.chilkatsoft.com/p/p_172.asp
Failed to establish initial TCP/IP connection
Failed.
Итого: обновление kernel и root через SMLogix 3.27.011 не работает. При обновлении через SMLogix 3.26.447 смотреть как определяется контроллер в системе.
Вопрос к техподдержке — что за устройство Gadget Serial v2.4, и почему по разному (криво) встают драйвера на SMH 2Gi?
__________________
Всё, что нельзя выразить в цифрах — это не наука, это — мнение.