Linux file cd gadget usb device

вот такой ПРИБЛИЗИТЕЛЬНО. что за модель загадка для нас самих. китайская под(д)елка, но вполне себе.

При втыкании появляется стандартный "диалог" о том ,что
"ВАМ тут посылка пришла ,
Только я вам её НЕ отдам,
пАтАчуЧтО у вас дОкументов нетУ"

об установке новых ДРАЙВЕРОВ.

1.
и на моё Искреннее удивление предложил поискть здесь :

C:Program FilesCompiled Driver Disk (Android)AndroidSamsung21_Searsburg

,но у меня на компьютере НЕТ такой папки. А она предлагает САМА в ней поискать..
т.е. где-то у неё (у кого у неё?) это(выделенное жирным — сам не знаю что это и откуда) прописано.

2.
В диспетчере Устройств на ЭТОТ МОМЕНТ(пока никаких драйверов предоложено НЕ было)
обнаружилось 4 новых USB устройства :

(скорее всего)Размещение(т.к. только его можно скопировать)
USB-совместимое запоминающее устройство
Драйвер:
C:WINDOWSsystem32driversUSBSTOR.SY (печатал ручками)

4/4 сверху
Размещение:
Linux File-CD Gadget USB Device
код экземпляра устройства:
STORAGEREMOVABLEMEDIA8&2A14CA6A&0&RM

3/4 сверху
Размещение:
Linux File-CD Gadget USB Device
код экземпляра устройства:
STORAGEREMOVABLEMEDIA8&175B19C5&0&RM

2/4 сверху
Размещение:
Размещение 0 (CIF Single Chip )
код экземпляра устройства:
USBVID_093A&PID_24715&BFE1B0B&0&1
Коды (ID) оборудования:
USBVid_093a&PID_2471&Rev_0100
USBVid_093a&PID_2471
1/4 сверху
Размещение:
Размещение 0 (MT65xx Android Phone)
Состояние устройства:
(
Это устройство настроено неправильно. (Код 1)
Нажмите "Переустановить" для переустановки драйверов этого устройства.
)
код экземпляра устройства:
USBVID_0BB4&PID_0C03&MI_016&1E68B3CF&0&0 001
Коды (ID) оборудования:
USBVid_0bb4&Pid_0c03&Rev_0255&MI_01
USBVid_0bb4&Pid_0c03&MI_01
совместимые коды (ID)
USBClass_ff&SubClass_42&Prot_01
USBClass_ff&SubClass_42
USBClass_ff

===
надо сказать, что после отказа предоставить драйвера — ну те что
C:Program FilesCompiled Driver Disk (Android)AndroidSamsung21_Searsburg
система тем не менее смогла распознать и установить устройства 4/4 и 3/4

Linux File-CD Gadget USB Device
USBSTORDISK&VEN_LINUX&PROD_FILE-CD_GADG ET&REV_00007&20AB2C06&0&0123456789ABCDE F&0
USBSTORDISK&VEN_LINUX&PROD_FILE-CD_GADG ET&REV_00007&20AB2C06&0&0123456789ABCDE F&1

Но что это за ДИСКИ такие ? и Как к ним получить доступ — ВОПРОС?
Ни в "Мой Компьютер" Ни где-то ещё НЕ появилось НИЧЕГО, к сожалению.

Так что что бы что-то записать и установить на сей "Samsung"
приходится тупо
вынуть microSDHC
вставить её в компьютер (через кардридер CardReader)
записать на неё вручную всё что необходимо
БЕЗОПАСНО извечь, "ВОИЗБЕЖАНИИ, а то уже был прецедент — сбежал чёрт и украл Луну"(А.иБ.Стругацкие)
вставить назад в телефон.
И вот теперь у нас в телефоне что-то появилось..

Использовать же сей аппарат
просто как USB Storage
не представляется возможным.
И даже в меню никаких подобных настроек найти пока НЕ смог.
ХОТЯ ОНИ И УПОМИНАЮТСЯ!

А теперь вопросы:

Android синхронизирует контакты через интернет с Контакты.Google — это прекрасно.

1.
Теперь моделируем ситуацию. Мы потеряли телефон.
Кто-то нашёл наш телефон. И ему НЕ нужны наши контакты. Он выделяет их ВСЕ и удаляет.
ВОПРОС:
Как в этом случаем послупит Синхронизация ? — по логике он должна удалить ВСЕ наши контакты на сервере Google. Но это же катастрофа! — как уберечь_ся от такой ВОЗМОЖНОЙ ситуации.

И/или
Синхронизация Телефона с Контакты.Google лишь редактирует и Добавляет контакты С ТЕЛЕФОНА.
А вот УДАЛЯТЬ позволяет только С СЕРВЕРА.
Таким образом мы получили бы определённую ЗАЩИТУ наших контактов от полного удаления.

Читайте также:  Как в ворде изменить размер абзаца

Иначе получается какой-то Абсорд Абсурдов. Мы потеряли телефон. Но УРА — у нас сохранились все Контакты.на сервере.Google. О Нет где же они?! — их НЕТ. Их тоже нет! 🙁
Представили?!
я не знаю Закрыли ли разработчики эту дыру или нет. — Как известно часто бывает, что нет..

2.
Есть ли какая-то ИДЕАЛЬНАЯ система хранения и синхронизации КОнтактов. Такая,
что бы ДАЖЕ Я
НЕ смог бы найти и заподозрить в ней
НИ ЕДИНОЙ претензии ?
Вот было бы интересно взглянуть.

3.
Ура Заработало!

ищем
[ по Коду указанному выше ] по Коду указанному выше —
MT65xx Android Phone
код экземпляра устройства: USBVID_0BB4&PID_0C03&MI_016&1E68B3CF&0&0001

нужный Драйвер
Поисковик выдаёт, что это :
usb_driver_MT65xx_Android_ZTE_v821.rar

при втыкании телефона — появляется диалог "Найдено новое устройство" — необходимо установить Драйвера —
И соответсвующий диалог, когда система пытается эти самые драйвера найти.
Подставляем ей Путь куда скачали+Сохранили usb_driver_MT65xx_Android_ZTE_v821.rar
И получаем следующие результаты.

4.
Теперь осталось разобраться что такое есть ПО СУТИ
передача Интернета на Android устройство через USB
есть несколько статей на эту тему :
Видео-урок на 14 минут
про который я написал целую статью.

но я пока е разобрался в теме ПО СУТИ — какие кнопки нажимать меня интересует в последнюю очередь. Мне бы хотелось СУТЬ понять. Что за протоколы/интерфейсы.
(
я использую ActiveSync в связке с Windows Mobile (WM) — и там Интернет через USB передаётся
(как-то сам собой — по умолчанию — и/или если галочка стоит)
)
В сравнении всё всегда становится понятнее.

В этой статье мы покажем, как сделать так, чтобы USB флешка или SD карта определялась в системе Windows как обычный локальный жесткий диск. Вы, наверное, спросите, а зачем это нужно? Дело в том, что Windows по умолчанию определяет USB флешки и карты памяти как сменные накопители, которые стандартами средствами Windows нельзя разбить на несколько разделов. И даже если разбить флешку на два и более раздела с помощью сторонних утилит (в той же Linux), то в ОС семейства Windows будет доступен только первый из них (кстати говоря, в Windows 10 1703 появилась встроенная возможность разбить USB накопитель на нескольких разделов) . Т.е. Windows поддерживает нормальную работы с мультиразделами только для HDD дисков, которые в системе определяются как локальные (т.е. несъемные).

RMB бит и USB носители

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

Читайте также:  Что будет если не есть весь день

Подключим в любой свободный порт компьютера USB флешку, затем откроем диспетчер управления дисков (diskmgmt.msc) и удостоверимся, что ее тип определяется в системе как Removable (Съемное устройство).

Также тип устройства можно посмотреть на вкладке Volumes в свойствах диска (как мы видим и тут Type: Removable).

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

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

Утилита Lexar BootIt

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

Скачать BootIt можно на сайте Lexar (lexar_usb_tool) или с нашего сайта (BootIt_usb_rmb.zip).

  • Запустите BootIt.exe с правами администратора
  • В списке устройств выберите свою флешку
  • Нажмите на кнопку Flip Removable Bit
  • Сохраните изменения, нажав ОК.

Переподключите устройство и с помощью диспетчера устройств убедитесь, что его тип сменился с Removable на Basic.

В том случае, если утилита BootIt не помогла сменить RMB бит на съемном накопителе, попробуйте воспользоваться следующим способом, основанном на фильтр драйвере Hitachi Microdrive

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

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

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

  • версия Hitachi Microdrive для 32 битных систем — Hitachi Microdrive (3,0 Кб)
  • версия Hitachi Microdrive для 64 битных систем — Hitachi Microdrive x64 (3,8 Кб)

Необходимо скачать версию драйвера для вашей системы в соответствии с ее разрядностью. Оба архива имеют одинаковую структуру и состоят из двух файлов:

  • cfadisk.inf – установочный файл, с настройками драйвера
  • cfadisk.sys — файл драйвера Hitachi

Следующий этап – идентификация кода устройства нашей флешки. Для этого в свойствах диска на вкладке Details в параметре Device Instance Path выберите и скопируйте (Ctrl+C) код экземпляра устройства.

Читайте также:  Как приготовить кофе в электрической кофеварке

В нашем примере это будет:

Предположим, мы планируем установить драйвер на 64 битной системе. С помощью любого тестового редактора открываем на редактирование файл cfadisk.inf. Нас интересуют разделы cfadisk_device и cfadisk_device.NTamd64.

Меняем значение DiskTS64GCF400______________________________20101008 на код нашего устройства.

Если драйвер устанавливается на 32 битной системе, нужно скачать советующий архив, распаковать его и открыть на редактирование файл cfadisk.inf. Найдем раздел [cfadisk_device]:

Затем изменим данные в последней строке, указав код экземпляра нашей флешки, т.е. в нашем примере получим:

Установка драйвера Hitachi Microdrive вместо родного драйвера USB накопителя

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

Откроем вкладку Drivers и нажмем кнопку Update Drivers.

Укажем папку к каталогу, в который распакован скачанный архив с драйвером Hitachi:

Выберем новый драйвер.

Игнорируем предупреждение об отсутствующей цифровой подписи драйвера.

Для отключения проверки цифровой подписи драйвера, выполните команды:

bcdedit.exe /set nointegritychecks ON
bcdedit.exe /set TESTSIGNING ON

Перезагрузите компьютер и попытайтесь опять установить драйвер.

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

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

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

Как удалить драйвер Hitachi Microdrive

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

  • cfadisk.sys в каталоге %windir%System32drivers
  • Каталог «cfadisk.inf_amd64_…» из %windir%System32DriverStoreFileRepositoty

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

В большинстве случаев платки с USB используются как usb-host. Как правило, настройка usb-host сводится лишь к выставлению тех или иных галочек в make menuconfig.

Как настроить контроллер USB для работы в режиме USB-device (gadget).

Пример для микроконтроллера marvell 88F6282 (88F6283) семейства kirkwood.

В файл arch/arm/mach-kirkwood/common.c вносим следующие изменения:

В файл arch/arm/mach-kirkwood/db88f6281-bp-setup.c

В файл drivers/usb/gadget/Kconfig

Выставить в ядре:

CONFIG_USB_MASS_STORAGE для того, чтобы usb-device был как внешний накопитель.

После запуска ядра нужно воткнуть модуль, передав при этом ему в качестве параметра файловую систему, которая будет являться внешним накопителем. В моём случае файловая система представлена Ram-диском, поэтому операция загрузки модуля выглядит так:

На компе при этом мы в dmesg можем увидеть вот такой лог:

Если автомонтирование включено, то откроется стандартное окошко наутилуса в юбунте, в котором будет доступна вся файловая система процессора 88F6282

Ошибка, в причине которой не разбирался. При первом запуске была вот такая проблема:

решилось простым аппаратным переподключением usb.