CD/DVD-ROM Linux File-CD Gadget USB Device driver download and product parameters information

CD/DVD-ROM Linux File-CD Gadget USB Device driver download and product parameters information Гаджет

Beaglebone black — usb device gadget — ethernet, serial, mass storage

Как вы уже заметили из заголовка сегодня мы будем использовать USB Device свойства МП AM3359. Вообще на самом деле оба порта USB могут работать в режиме OTG, но для упрощения схемотехники один из них сделан так чтобы работать в режиме Device, а второй в режиме Host. Если с режимом Host в ОС Linux всё более или менее понятно, то с режимом Device есть некоторые особенности.

Введение
Как уже я рассказывал в статье про загрузку МП AM3359, при подключении USB кабеля устройство эмулирует сетевую карту. Так вот существует возможность подобной эмуляции и для ОС Linux. Как отмечалось выше USB может работать в двух режимах:
в режиме Host драйвер USB ожидает подключения, и в соответствии с идентификатором подключённого устройства выбирает драйвер;
в режиме Device в зависимости от выбранного драйвера, USB блок определяется под соответствующим идентификатором и работает в определённом режиме приёма-передачи. Я не буду вдаваться глубоко в теорию, об этом вам расскажет оригинальный мануал на МП, а также вводная информация о протоколе, откуда вы можете подчерпнуть полезны ссылок на документацию. Вместо этого я лишь коротко опишу основные положения касательно практической части применения USB Device для платы BeagleBone Black.

Настройка ядра
Для того чтобы воспользоватся подобным функционалом его необходимо включить в ядре Linux. Поэтому перейдём к настройкам ядра:

# cd kernel/kernel; make -j9 ARCH=arm CROSS_COMPILE=armv7a-hardfloat-linux-gnueabi- menuconfig

После в появившемся меню необходимо активировать следующие пункты:

Symbol: USB_GADGET [=y]
Prompt: USB Gadget Support
Defined at drivers/usb/gadget/Kconfig:16
Depends on: USB_SUPPORT
Location:
-> Kernel configuration
-> Device Drivers
-> USB support (USB_SUPPORT [=y])

Для поддержки USB Gadget, без которого собственно у нас ничего не заработает.
Prompt: Driver Mode
Defined at drivers/usb/musb/Kconfig:68
Depends on: USB_SUPPORT && USB_MUSB_HDRC
Location:
-> Kernel configuration
-> Device Drivers
-> USB support (USB_SUPPORT [=y])
-> Inventra Highspeed Dual Role Controller (TI, ADI, …) 

Для поддержки 2 режимного контроллера в ядре Linux.
Symbol: USB_G_MASS_STORAGE_CDC [=m]
Prompt: CDC ACM Mass Storage configuration
Defined at drivers/usb/gadget/Kconfig:814
Depends on: <choice> && BLOCK
Location:
-> Kernel configuration
-> Device Drivers
-> USB support (USB_SUPPORT [=y])
-> USB Gadget Support (USB_GADGET [=y])
-> USB Gadget Drivers (<choice> [=m])
-> USB Gadget Drivers (<choice> [=m])

Выбрать для поддержки CDC и Mass Storage профиля.
Symbol: USB_ETH [=m]
Prompt: Ethernet Gadget (with CDC Ethernet support)
Defined at drivers/usb/gadget/Kconfig:628
Depends on: <choice> && NET
Location:
-> Kernel configuration
-> Device Drivers
-> USB support (USB_SUPPORT [=y])
-> USB Gadget Support (USB_GADGET [=y])
-> USB Gadget Drivers (<choice> [=m])

А это для поддержки Ethernet соединения
Symbol: USB_G_SERIAL [=m]
Type  : tristate
Prompt: Serial Gadget (with CDC ACM and CDC OBEX support)
Defined at drivers/usb/gadget/Kconfig:751
Depends on: <choice>
Location:
-> Device Drivers
-> USB support (USB_SUPPORT [=y])
-> USB Gadget Support (USB_GADGET [=y])
-> USB Gadget Drivers (<choice> [=m])
Selects: USB_LIBCOMPOSITE [=m]

Для поддержки последовательного порта

Также можно добавить и другие профили которые находятся в том же меню конфигурации.

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

Модуль g_serial.ko
Модуль отвечающий за последовательный порт. Информация о модуле:

# modinfo g_serial
filename:       /lib/modules/3.8.13-00715-g836d639/kernel/drivers/usb/gadget/g_serial.ko
license:        GPL
author:         David Brownell
author:         Al Borchers
description:    Gadget Serial v2.4
license:        GPL
author:         Felipe Balbi
srcversion:     A7058FBDCF3A5E10C147597
depends:        libcomposite
intree:         Y
vermagic:       3.8.13-00715-g836d639 SMP mod_unload modversions ARMv7 thumb2 p2v8 
parm:           idVendor:USB Vendor ID (ushort)
parm:           idProduct:USB Product ID (ushort)
parm:           bcdDevice:USB Device version (BCD) (ushort)
parm:           iSerialNumber:SerialNumber string (charp)
parm:           iManufacturer:USB Manufacturer string (charp)
parm:           iProduct:USB Product string (charp)
parm:           use_acm:Use CDC ACM, default=yes (bool)
parm:           use_obex:Use CDC OBEX, default=no (bool)
parm:           n_ports:number of ports to create, default=1 (uint)

Гаджет:  Купите гаджет пиццы онлайн, гаджет пиццы со скидкой на АлиЭкспресс

Модуль прост в использовании:

# modprobe g_serial

После подключения модуля в списке USB устройств ПК появится последовательный порт:

$ lsusb

Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 002 Device 011: ID 0525:a4a7 Netchip Technology, Inc. Linux-USB Serial Gadget (CDC ACM mode)
Bus 002 Device 005: ID 0403:6010 Future Technology Devices International, Ltd FT2232C Dual USB-UART/FIFO IC

Также появится сообщение о его подключении в dmesg:

[ 8056.520011] usb 2-1.1: New USB device found, idVendor=0525, idProduct=a4a7
[ 8056.520014] usb 2-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 8056.520017] usb 2-1.1: Product: Gadget Serial v2.4
[ 8056.520020] usb 2-1.1: Manufacturer: Linux 3.8.13-00715-g836d639 with musb-hdrc
[ 8056.520211] usb 2-1.1: usb_probe_device
[ 8056.520215] usb 2-1.1: configuration #2 chosen from 1 choice
[ 8056.520539] usb 2-1.1: adding 2-1.1:2.0 (config #2, interface 0)
[ 8056.520703] cdc_acm 2-1.1:2.0: usb_probe_interface
[ 8056.520709] cdc_acm 2-1.1:2.0: usb_probe_interface — got id
[ 8056.520713] cdc_acm 2-1.1:2.0: This device cannot do calls on its own. It is not a modem.
[ 8056.520761] cdc_acm 2-1.1:2.0: ttyACM0: USB ACM device
[ 8056.521129] usb 2-1.1: adding 2-1.1:2.1 (config #2, interface 1)

К порту можно подключится. Также будет сообщение и от ядра Linux в BeagleBone Black:

[ 1391.712610]  gadget: high-speed config #2: CDC ACM config
[ 1391.712634]  gadget: activate acm ttyGS0

Видео примера работы этого гаджета:

Модуль g_mass_storage.ko

Модуль отвечающий за Mass Storage, или по русски за класс USB — накопитель.

Вот информация о модуле:

Модуль чуть сложнее в использовании (для примера возьмём первый раздел нашей карты памяти, где находится U-Boot и MLO):

# modprobe g_mass_storage file=/dev/mmcblk0p1

Аргумент file служит для указания файла, устройства. При подключении в списках устройств появится носитель:

А также будет сообщение в dmesg:

Устройство будет доступно как обыкновенный диск, также будет сообщение в BeagleBone Black:

Видео:

Модуль g_ether.ko

Этот модуль отвечает за эмуляцию RNDIS/Ethernet устройств. Вот информация по этому модулю:

Использование аналогично g_serial:

# modprobe g_ether

При подключении будет отображён тип и класс устройства:

В dmesg, будет же сообщение о новом сетевом интерфейсе, который можно использовать:

В утилите ifconfig ПК можно будет обнаружить новое сетевое устройство (на логе оно уже настроено):

Это также относится и к BeagleBone Black в dmesg который будет отображено сообщение о сетевом устройстве:

ifconfig также показывает новое сетевое соединение (на логе оно ещё не настроено):

Активируем соединение:

# ifconfig usb0 192.168.7.2 up

После чего можно проверить с ПК как плата отвечает на запросы (ping):

Так и в обратном направлении с платы на ПК:

Cd/dvd-rom linux file-cd gadget usb device driver download and product parameters information

Linux File-CD Gadget USB Device driver installation information

The following is driver installation information, which is very useful to help you find or install drivers for Linux File-CD Gadget USB Device.For example: Hardware ID information item, which contains the hardware manufacturer ID and hardware ID. These two ID values are unique and will not be duplicated with other hardware. According to these two ID values, the matching driver information can be accurately found. This method is more effective than any others, and 100% correct.There are many other information items that you can use to find the driver version information and the required driver files.

Гаджет:  Гаджеты Погоды для Windows 7 скачать бесплатно » Страница 3

The name of the driver type in the system is: CDROM, and the drive type GUID is: {4d36e965-e325-11ce-bfc1-08002be10318}.

For Windows OS:

Windows 10 Professional

Hardware ID:
USBSTOR:

USBSTORCdRomLinux___File-CD_Gadget__0409
USBSTORCdRomLinux___File-CD_Gadget__
USBSTORCdRomLinux___
USBSTORLinux___File-CD_Gadget__0
Linux___File-CD_Gadget__0
USBSTORGenCdRom
GenCdRom

USBSTOR:

USBSTORDiskLinux___File-CD_Gadget__0000
USBSTORDiskLinux___File-CD_Gadget__
USBSTORDiskLinux___
USBSTORLinux___File-CD_Gadget__0
Linux___File-CD_Gadget__0
USBSTORGenDisk
GenDisk

USBSTOR:

USBSTORCdRomLinux___File-CD_Gadget__0404
USBSTORCdRomLinux___File-CD_Gadget__
USBSTORCdRomLinux___
USBSTORLinux___File-CD_Gadget__0
Linux___File-CD_Gadget__0
USBSTORGenCdRom
GenCdRom

USBSTOR:

USBSTORCdRomLinux___File-CD_Gadget__0318
USBSTORCdRomLinux___File-CD_Gadget__
USBSTORCdRomLinux___
USBSTORLinux___File-CD_Gadget__0
Linux___File-CD_Gadget__0
USBSTORGenCdRom
GenCdRom

USBSTOR:

USBSTORCdRomLinux___File-CD_Gadget__0401
USBSTORCdRomLinux___File-CD_Gadget__
USBSTORCdRomLinux___
USBSTORLinux___File-CD_Gadget__0
Linux___File-CD_Gadget__0
USBSTORGenCdRom
GenCdRom

USBSTOR:

USBSTORCdRomLinux___File-CD_Gadget__0310
USBSTORCdRomLinux___File-CD_Gadget__
USBSTORCdRomLinux___
USBSTORLinux___File-CD_Gadget__0
Linux___File-CD_Gadget__0
USBSTORGenCdRom
GenCdRom

USBSTOR:

USBSTORDiskLinux___File-CD_Gadget__0355
USBSTORDiskLinux___File-CD_Gadget__
USBSTORDiskLinux___
USBSTORLinux___File-CD_Gadget__0
Linux___File-CD_Gadget__0
USBSTORGenDisk
GenDisk

USBSTOR:

USBSTORDiskLinux___File-CD_Gadget__0310
USBSTORDiskLinux___File-CD_Gadget__
USBSTORDiskLinux___
USBSTORLinux___File-CD_Gadget__0
Linux___File-CD_Gadget__0
USBSTORGenDisk
GenDisk

USBSTOR:

USBSTORCdRomLinux___File-CD_Gadget__0414
USBSTORCdRomLinux___File-CD_Gadget__
USBSTORCdRomLinux___
USBSTORLinux___File-CD_Gadget__0
Linux___File-CD_Gadget__0
USBSTORGenCdRom
GenCdRom

USBSTOR:

USBSTORDiskLinux___File-CD_Gadget__0318
USBSTORDiskLinux___File-CD_Gadget__
USBSTORDiskLinux___
USBSTORLinux___File-CD_Gadget__0
Linux___File-CD_Gadget__0
USBSTORGenDisk
GenDisk

USBSTOR:

USBSTORCdRomLinux___File-CD_Gadget__0000
USBSTORCdRomLinux___File-CD_Gadget__
USBSTORCdRomLinux___
USBSTORLinux___File-CD_Gadget__0
Linux___File-CD_Gadget__0
USBSTORGenCdRom
GenCdRom

CLASS
CDROM

SERVICE
disk

SERVICE
cdrom

CLASS
DiskDrive

ENUMERATOR_NAME
USBSTOR

MFG
(Standard CD-ROM drives)

MFG
(Lecteurs de disque standard)

PHYSICAL_DEVICE_OBJECT_NAME
Device00000e3

PHYSICAL_DEVICE_OBJECT_NAME
Device00000cd

FRIENDLYNAME
Linux File-CD Gadget USB Device

CLASSGUID
{4D36E965-E325-11CE-BFC1-08002BE10318}

CLASSGUID
{4D36E967-E325-11CE-BFC1-08002BE10318}

COMPATIBLEIDS
USBSTORDisk, USBSTORRAW, GenDisk

DRIVER
{4D36E965-E325-11CE-BFC1-08002BE10318}000

DRIVER
{4d36e965-e325-11ce-bfc1-08002be10318}001

COMPATIBLEIDS
USBSTORCdRom, USBSTORRAW, GenCdRom

DRIVER
{4d36e967-e325-11ce-bfc1-08002be10318}027

HARDWAREID
USBSTORDiskLinux___File-CD_Gadget__0000, USBSTORDiskLinux___File-CD_Gadget__, USBSTORDiskLinux___, USBSTORLinux___File-CD_Gadget__0, Linux___File-CD_Gadget__0, USBSTORGenDisk, GenDisk

HARDWAREID
USBSTORCdRomLinux___File-CD_Gadget__0409, USBSTORCdRomLinux___File-CD_Gadget__, USBSTORCdRomLinux___, USBSTORLinux___File-CD_Gadget__0, Linux___File-CD_Gadget__0, USBSTORGenCdRom, GenCdRom

HARDWAREID
USBSTORCdRomLinux___File-CD_Gadget__0404, USBSTORCdRomLinux___File-CD_Gadget__, USBSTORCdRomLinux___, USBSTORLinux___File-CD_Gadget__0, Linux___File-CD_Gadget__0, USBSTORGenCdRom, GenCdRom

Installation Parameter

[Version]

[SourceDisksNames]

[SourceDisksFiles]

[DestinationDirs]

[cdrom_copyfiles]

[ControlFlags]

[Manufacturer]

[mitsumi_cdrom.NTamd64]

[cdrom_device.NTamd64]

[mitsumi_addreg]

[ISO_addreg]

[autorun_addreg]

[nosync_addreg]

[mitsumi_install]

[mitsumi_install.HW]

[mitsumi_install.Services]

[cdrom_install]

[cdrom_install.HW]

[cdrom_install.Services]

[cdrom_install_ISO_drive]

[cdrom_install_ISO_drive.HW]

[cdrom_install_ISO_drive.Services]

[cdrom_ServiceInstallSection]

[cdrom_EventLog_InstallSection]

[cdrom_EventLog_AddReg]

[Strings]

Use the search function to find the driver you need

Many hardware names are usually named after the chip model, and each chip model has its own dedicated driver, so as long as you know the chip model used by the hardware, you can find the right driver. For example, if your graphics card is named: «AMD Radeon RX 580», while actually the core chip model used is: «Radeon RX 580», then enter «Radeon RX 580» or «RX 580» to find the driver.

If you have a laptop or an all-in-one PC, you can also use the product name to search, and then go to the download page which has all the drivers for this machine (including: graphics card, network card, sound card, etc.). For example, if your laptop product name is: «Dell A6-9220e Inspiron Flagship», then type «Dell A6-9220e» to find all the drivers for this laptop.

Search steps:

1. Enter a keyword in the input box and click the «Search» button

2. In the query results, find the driver file you need, and click the download button

Rmb бит и usb носители

ОС семейства Windows распознают USB флешки как съемные/извлекаемые (removable) устройства из-за наличия на каждом устройстве специального битового дескриптора RMB (removable media bit).

Если при опросе подключенного устройства через функцию StorageDeviceProperty, система определяет, что RMB=1, она делает вывод, что подключенное устройство является сменным накопителем. Таким образом, чтобы с точки зрения системы преобразовать USB-флеку в жесткий диск, достаточно модифицировать этот дескриптор.

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

Совет. Некоторые производители выпускают специальные утилиты для перепрошивки контроллера своих флешек. В первую очередь попытайтесь на сайте производителя найти такую утилиту и /или прошивку. Это самый правильный путь. Если таковой утилиты не найдется, следуйте рекомендациями из этой статьи.

Гаджет:  Аксессуары для Хендай Солярис 1 2014-2017 - купить по лучшей цене на

Подключим в любой свободный порт компьютера USB флешку, затем откроем диспетчер управления дисков (diskmgmt.msc) и удостоверимся, что ее тип определяется в системе как Removable (Съемное устройство).Сменный (removable) диск в диспетчере дисковТакже тип устройства можно посмотреть на вкладке Volumes в свойствах диска (как мы видим  и тут Type: Removable). Removable Volume - USB diskТакже тип устройства можно посмотреть на вкладке Volumes в свойствах диска (как мы видим  и тут Type: Removable). CD/DVD-ROM Linux File-CD Gadget USB Device driver download and product parameters information

Или с помощью команды diskpart:

list volume

В этой статье мы рассмотрим два способа смены RMB бита на USB флешке – с помощью использования фильтр-драйвера Hitachi (изменения вносятся только на уровне драйверв конкретного компьютера) и смена бита в прошивке контроллера с помощью утилиты BootIt от Lexar (более универсальный способ, но есть ряд ограничений и применим не ко всем моделям флешек и SD карт).

Как удалить драйвер hitachi microdrive

Чтобы удалить драйвер Hitachi Microdrive, откройте свойства диска и на вкладке драйвер нажмите кнопку Update Driver – система сама установит родной драйвер.

Нужно понимать, что это решение будет работать только на той системе, на которой установлен соответствующий драйвер.

Очистка сервера от старых профилей пользователей с помощью powershell

Вместо использования рассмотренной выше политики автоматической очистки профилей, вы можете использовать простой PowerShell скрипт для поиска и удаления профилей неактивных или заблокированных пользователей.

Установка драйвера hitachi microdrive вместо родного драйвера usb накопителя

Осталось заменить драйвер, используемый USB флеш накопителем.

Откроем вкладку Drivers и нажмем кнопку Update Drivers. Обновить драйвер usb накопителяУкажем папку к каталогу, в который распакован скачанный архив с драйвером Hitachi: Укажем путь к каталогу с драйверомУкажем папку к каталогу, в который распакован скачанный архив с драйвером Hitachi: CD/DVD-ROM Linux File-CD Gadget USB Device driver download and product parameters informationВыберем новый драйвер. Выберем драйвер флешкиИгнорируем предупреждение об отсутствующей цифровой подписи драйвера. Игнорируем предупреждение об отсуствующей цифровой подписи драйвераИгнорируем предупреждение об отсутствующей цифровой подписи драйвера. CD/DVD-ROM Linux File-CD Gadget USB Device driver download and product parameters information

Осталось перезагрузить компьютер и, открыв диспетчер дисков, удостоверится, что ваша флешка стала определяться как обычный жесткий диск (Type: Basic), а в качестве драйвера используется драйвер Hitachi.

Открыв проводник, можно также убедиться, что иконка флешки поменялась она стала отображаться как жесткий диск обычный диск. Как сделать, чтобы usb флешка определялась в системе как жесткий диск

Теперь с этой флешкой можно работать как с обычным HDD: создавать разделы, указывать активный раздел, создавать динамические диски, устанавливать ПО, которое не работает с флешек и т.д.

Важно. На других компьютерах Windows без этого драйвера второй раздел устройства доступен не будет.

Утилита lexar bootit

Недавно мне на глаза попалась довольно интересная утилита – Lexar BootIt. Это бесплатная портабельная программа, которая может сменить RMB съемного накопителя, сделав съемное USB-устройство фиксированным (или наоборот). Несмотря на то, что утилита Lexar BootIt разработана для устройств Lexar (Micron, Crucial), она может работать и с флешками других производителей. Утилита BootIt поддерживает все версии Windows, начиная с Windows XP и заканчивая Windows 10.

Важно. Утилита гарантированно работает для накопителей Lexar. Судя по отзывам, функция «Flip removable bit» не работает на быстрых USB 3.0 флэшках. Кроме того, при перепрошивке контроллера вы лишаетесь гарантии на флешку и можете сделать ее неработоспособной.

Фильтр-драйвер для флешек hitachi microdrive

Чтобы USB флэш накопитель или SD карта распознавался в системе как жесткий диск, нам понадобится специальный фильтр-драйвер, позволяющий модифицировать данные передаваемые через системный стек действующего драйвера устройства. Мы воспользуемся фильтр-драйвером для USB флешек от Hitachi (драйвер Hitachi Microdrive), который на уровне драйвера ОС позволяет изменить тип устройства флэшки со съемного на фиксированный (USB-ZIP -> USB-HDD).

Благодаря использованию данного драйвера, можно скрыть от системы, что подключенное устройство явятся съемным. В результате чего, система будет считать, что она работает с обычным жестким диском, который можно разбить на разделы, которые одновременно будут доступны в системе.

Архивы с драйвером Hitachi Microdrive:

Оцените статью
GadgetManiac
Добавить комментарий