Cid sd карты считать android

Проект Артемия Ленькова

Понемногу обо всём

Клонирование карт памяти автомобильной навигации

Хотелось бы сразу отметить, что данная статья носит исключительно информативно-ознакомительный характер и не подразумевает получения какой-либо выгоды. Написанная здесь информация собрана из различных источников и предназначена помочь автолюбителям продублировать имеющуюся у них карту памяти. Автомобильная навигационная программа вещь достаточно дорогостоящая и необходимо заранее побеспокоиться о сохранности ваших файлов. Поэтому, чтобы не кусать локти в случае выхода из строя флешки, стоит уже сейчас сделать резервную копию карт навигации.

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

  • наличие подходящей карты памяти;
  • наличие компьютера или ноутбука со встроенным кард-ридером;
  • прямые руки и вера в себя.

Данный способ является универсальным и подходит для большинства навигационных программ, используемых автопроизводителями, поскольку привязка навигации осуществляется к CID номеру карты памяти. Таким образом, простой перенос файлов с карты на карту не даст желаемого результата, необходимо дополнительно скопировать идентификационный номер донора. О том как это сделать и пойдет речь в данной статье.

Поиск подходящей карты памяти

В первую очередь необходимо найти подходящую карту памяти, а это, пожалуй, самое сложное в данном вопросе. Для клонирования нужна флешка, у которой имеется возможность менять CID номер. Такому требованию отвечают карты памяти со встроенным чипсетом производства компании Samsung, выпущенные в Корее по апрель 2016 года. На всех новых картах эту лазейку прикрыли и изменить CID уже не получится.

Идентификационный CID номер можно поменять в следующих картах памяти:

  • Samsung EVO моделей MB-MP;
  • Samsung EVO PLUS моделей MB-MC;
  • Samsung PRO моделей MB-MG;
  • Samsung PRO PLUS моделей MB-MD;
  • прочие карты.

Под категорию прочие карты попадают любые карты от сторонних производителей. Это может быть Transcend, Mirex и прочие noname флешки, у которых установлен процессор Samsung с параметром Bus Location равным mmc*:0001. Для проверки пригодности карты можно использовать приложение под ОС Android SD Insight.

Устанавливаем приложение на смартфон и запускаем его. В программе выбираем интересующую нас карту памяти и нажимаем на пиктограмму с глазом, расположенную в правом верхнем углу. Среди представленных параметров нас интересует производитель и Bus Location. Правильная карта должна выглядеть следующим образом.

» data-image-caption=»» data-medium-file=»https://aslenkov.ru/wp-content/uploads/2017/05/Navi-07-300×142.jpg» data-large-file=»https://aslenkov.ru/wp-content/uploads/2017/05/Navi-07.jpg» loading=»lazy» src=»https://aslenkov.ru/wp-content/uploads/2017/05/Navi-07.jpg» alt=»Navi — 07″ width=»480″ height=»227″ srcset=»https://aslenkov.ru/wp-content/uploads/2017/05/Navi-07.jpg 480w, https://aslenkov.ru/wp-content/uploads/2017/05/Navi-07-300×142.jpg 300w» sizes=»(max-width: 480px) 100vw, 480px»/>

Также проверить карту можно и в ОС Linux. Для этого в терминале нужно ввести команду:

» data-image-caption=»» data-medium-file=»https://aslenkov.ru/wp-content/uploads/2017/05/Navi-01-300×22.jpg» data-large-file=»https://aslenkov.ru/wp-content/uploads/2017/05/Navi-01.jpg» loading=»lazy» src=»https://aslenkov.ru/wp-content/uploads/2017/05/Navi-01.jpg» alt=»Navi — 01″ width=»640″ height=»47″ srcset=»https://aslenkov.ru/wp-content/uploads/2017/05/Navi-01.jpg 640w, https://aslenkov.ru/wp-content/uploads/2017/05/Navi-01-300×22.jpg 300w» sizes=»(max-width: 640px) 100vw, 640px»/>

Если вы не нашли нужную карту у себя, то её еще можно купить. До недавнего времени карта была в наличии в Эльдорадо, фирменном интернет-магазине Samsung, а также встречалась в других крупных и мелких торговых точкам. Как я уже отметил ранее правильная карта должна быть выпущена в Корее вплоть до апреля 2016 года. Также карту можно поискать на Aliexpress, только нужно предварительно уточнить у продавца дату и место производства.

Читайте также:  Формат прошивок для android

Однако, хочу вас немного огорчить. Наличие искомой комбинации mmc*:0001 не даёт 100% гарантии, что ваша карта подойдёт​ для перезаписи CID номера. Встречаются случаи, когда идентификатор карты поменять нельзя, но об этом не узнаете пока не попробуете. Двигаемся дальше.

Изменение CID номера

Для изменения CID номера карты памяти необходим компьютер с предустановленной операционной системой Ubuntu. Если такого нет, то можно создать загрузочный LiveUSB-диск при помощи приложения UNetbootin. В этом нет ничего сложного, так что расписывать данный процесс нет смысла.

Кроме того, ПК должен иметь встроенный кард-ридер, подключенный к шине PCI. Чтобы это проверить, вставляем карту памяти в лоток и вводим в Терминале следующие команды:

  • получение прав администратора (суперпользователя):
  • проверка кард-ридера на пригодность:

» data-image-caption=»» data-medium-file=»https://aslenkov.ru/wp-content/uploads/2017/05/Navi-02-300×125.jpg» data-large-file=»https://aslenkov.ru/wp-content/uploads/2017/05/Navi-02.jpg» loading=»lazy» src=»https://aslenkov.ru/wp-content/uploads/2017/05/Navi-02.jpg» alt=»Navi — 02″ width=»640″ height=»267″ srcset=»https://aslenkov.ru/wp-content/uploads/2017/05/Navi-02.jpg 640w, https://aslenkov.ru/wp-content/uploads/2017/05/Navi-02-300×125.jpg 300w» sizes=»(max-width: 640px) 100vw, 640px»/>

Если карта-памяти расположена в разделе памяти mmcblk, то ваш компьютер пригоден к использованию, если нет, то ищем древний ноутбук со встроенным кард-ридером у знакомых.

Чтобы еще раз убедиться, что карта памяти соответствует необходимому требованию, вводим следующую команду:

Если в строке присутствует mmc*:0001, то карта памяти правильная и есть большая вероятность, что CID номер удастся поменять.

» data-image-caption=»» data-medium-file=»https://aslenkov.ru/wp-content/uploads/2017/05/Navi-03-300×22.jpg» data-large-file=»https://aslenkov.ru/wp-content/uploads/2017/05/Navi-03.jpg» loading=»lazy» src=»https://aslenkov.ru/wp-content/uploads/2017/05/Navi-03.jpg» alt=»Navi — 03″ width=»640″ height=»47″ srcset=»https://aslenkov.ru/wp-content/uploads/2017/05/Navi-03.jpg 640w, https://aslenkov.ru/wp-content/uploads/2017/05/Navi-03-300×22.jpg 300w» sizes=»(max-width: 640px) 100vw, 640px»/>

Для установки приложения для изменения CID номера и всех необходимых компонентов последовательно вводим в Терминале следующие команды:

  • устанавливаем Git:
  • меняем папку:
  • и скачиваем саму программу:
  • переключаемся на папку с программой:
  • после чего компилируем программу:

Программа установлена и скомпилирована. Теперь нужно считать CID номер оригинальной карты, вставляем её в кард-ридер и вводим команду:

  • копируем ВАШУ строку /sys/devices/pci0000:00/0000:00:1e.0/0000:06:04.4/mmc_host/mmc0/mmc0:0001/cid и вставляем её после команды more:

На экране отобразится текущий CID номер карточки. Внимательно переписываем его на листок бумаги, чтобы потом использовать при создании клона.

» data-image-caption=»» data-medium-file=»https://aslenkov.ru/wp-content/uploads/2017/05/Navi-04-300×21.jpg» data-large-file=»https://aslenkov.ru/wp-content/uploads/2017/05/Navi-04.jpg» loading=»lazy» src=»https://aslenkov.ru/wp-content/uploads/2017/05/Navi-04.jpg» alt=»Navi — 04″ width=»640″ height=»44″ srcset=»https://aslenkov.ru/wp-content/uploads/2017/05/Navi-04.jpg 640w, https://aslenkov.ru/wp-content/uploads/2017/05/Navi-04-300×21.jpg 300w» sizes=»(max-width: 640px) 100vw, 640px»/>

Убираем оригинальную карту памяти и вставляем в кард-ридер дубликат. Переходим к замене CID номера.

  • Переключаемся на папку с программой:
  • монтируем разделы:
  • нужный нам раздел должен начинаться с /dev/mmcblk0p1.

» data-image-caption=»» data-medium-file=»https://aslenkov.ru/wp-content/uploads/2017/05/Navi-05-300×23.jpg» data-large-file=»https://aslenkov.ru/wp-content/uploads/2017/05/Navi-05.jpg» loading=»lazy» src=»https://aslenkov.ru/wp-content/uploads/2017/05/Navi-05.jpg» alt=»Navi — 05″ width=»640″ height=»49″ srcset=»https://aslenkov.ru/wp-content/uploads/2017/05/Navi-05.jpg 640w, https://aslenkov.ru/wp-content/uploads/2017/05/Navi-05-300×23.jpg 300w» sizes=»(max-width: 640px) 100vw, 640px»/>

  • вставляем нужный нам раздел /dev/mmcblk1 (без p1) и записываем на карту новый CID номер:

где 5d53424c32424d310100cceddb00eb00 — это CID номер оригинальной карты.

В случае успешной записи CID номера на экране появится Поздравление и просьба изъять и заново вставить карту памяти, чтобы проверить изменение идентификатора карты.

» data-image-caption=»» data-medium-file=»https://aslenkov.ru/wp-content/uploads/2017/05/Navi-06-300×28.jpg» data-large-file=»https://aslenkov.ru/wp-content/uploads/2017/05/Navi-06.jpg» loading=»lazy» src=»https://aslenkov.ru/wp-content/uploads/2017/05/Navi-06.jpg» alt=»Navi — 06″ width=»640″ height=»60″ srcset=»https://aslenkov.ru/wp-content/uploads/2017/05/Navi-06.jpg 640w, https://aslenkov.ru/wp-content/uploads/2017/05/Navi-06-300×28.jpg 300w» sizes=»(max-width: 640px) 100vw, 640px»/>

Вытаскиваем карточку, вставляем её обратно в ПК и проверяем текущий CID номер карты:

Читайте также:  Работа с папками для android

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

Образы навигационных программ

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

Также предлагаю всем желающим поучаствовать в совместной покупке новых карт России 2016/2017 для Navi 600/900. После чего я выложу в сеть все необходимые файлы для дублирования.

Opel Navi 600/900

Nissan Connect

На сегодня всё. Присылайте ваши вопросы, связанные с работой фирменного интерфейса MIUI, настройкой смартфонов Xiaomi и других мобильных устройств на ОС Android мне на почту или в личку Telegram. Ответы на лучшие из них я опубликую в рубрике Ликбез. А также подписывайтесь на мой канал aslenkov_ru в Telegram, и вы первыми узнаете о новых записях на моём сайте.

Update. CID для новых карт Европы выдаю после личного обращения.

Update2. По просьбе читателей добавляю кнопку Яндекс.Деньги для сбора средств на покупку новых карт Opel Navi Россия 2017. После получения новых карт, я создам образ и обновлю данную статью, а также проведу розыгрыш данной карты среди тех, кто скидывался на покупку. Поэтому при переводе указывайте свой электронный адрес, чтобы можно было связаться с победителем.

Источник

Как прочитать идентификационный номер SD-карты?

Как я могу программно считывать регистр CID SD Card, который содержит серийный номер и другую информацию? Могу ли я сделать это через Android Java или собственный код?

Спасибо заранее, Эрик

11 ответов

Вот пример кода для получения SID и CID

Мне удалось найти свой SD-карту CID, подключив мой телефон к компьютеру через usb и используя инструмент adb (Android SDK)

Мой телефон укоренен, поэтому я не уверен, что это доступно на ненарушенных телефонах.

Я сделал это. это сработало для меня. надеюсь, что это ясно и ясно!

Существует ави в android для получения серийного идентификатора sd card. Этот метод называется getFatVolumeId (String mountPoint), где «mountPoint» является именем sd-карты (вы можете получить это имя, вызывая Environment.getExternalStorageDirectory()). Но getFatVolumeId является скрытой функцией (или забытой), поэтому вы хотите создать пакет в своем проекте с именем android.os и класс в нем для ссылки на собственный метод, чтобы иметь возможность его называть:

Также см. ссылки

Как писал BMB, вы не можете узнать реальный путь к SD-карте в файловой системе /sys. Тем не менее, /sys реализует также псевдонимы, и вы можете получить CID через /sys/block/mmcblk 0/device/cid.

Например, на Tattoo running 2.2,/sys/block/mmcblk0 — это софт-ссылка (автоматически установленная системой) в/sys/devices/platform/msm_sdcc.2/mmc_host/mmc1/mmc1:aaaa/block/mmcblk0.

Единственный код, который я нашел до сих пор для предоставления идентификатора, — это С++ или С# http://jo0ls-dotnet-stuff.blogspot.com/2008/12/read-secure-digital-sd-card-serial.html

Если вы разработчик С++, вы можете принять это и заставить его работать на Android.

Нет Android API, который может сделать это, что я знаю, и для общего решения, которое необходимо. Чтобы обеспечить некоторый фон, SD-карта подключена к hw-контроллеру, который относится к платформе устройства. Можно узнать значение cid из файловой системы linux/sys, если вы знаете свою платформу. Следующий снипп работает на моем дроиде (платформа TI omap), но не на платформах на базе Qualcomm MSM.

Читайте также:  Как передать activity android

На другой платформе файл sys, который мы ищем, отличается. Он может даже отличаться между разными картами на той же платформе, поскольку я не смог проверить это. На устройствах на базе MSM путь будет выглядеть как /sys/devices/platform/msm _sdcc.1/mmc_host/.

Поскольку у нас есть эта аппаратная зависимость от считывания CID SD-карты, должно появиться обновление для Android API: s, обеспечивающий общий доступ. Этот API затем должен быть реализован каждым производителем устройства для сопоставления с правильным драйвером контроллера SD-карты.

Я тоже искал эту функцию, но никогда не мог получить домашнее решение. Я закончил поиск компании, которая делает читателя SID. Перейдите на страницу nexcopy.com и просмотрите раздел дубликатов SD или microSD. Он может считывать до 20 карт за раз.

для mmcblk0 , просто напишите в shell как:

вы можете легко реализовать его в java.

Несмотря на то, что относительно старые устройства Palm OS и Windows Mobile могут считывать идентификатор SD-карты, устройства Android AFAIK пока не способны. Это особенно тревожно, учитывая проблемы с параметрами Settings.Secure.ANDROID_ID, обсуждаемые здесь здесь.

На основе ответа Динеша.

Динеш предложил посмотреть в каталоге /sys/class/mmc_host/mmc1/mmc1:*/ (где * — число) для файла с именем cid , который дает нам содержимое регистра CID карты. Это во многих случаях работает, и это очень полезно.

Но mmc1 не всегда является съемной SD-картой. Иногда, например, на Motorola Droid Pro с уровнем API Android 10, mmc0 — съемная SD-карта, а mmc1 — это что-то еще. Я предполагаю, что mmc1 , если присутствует, указывает на внутреннее хранилище какого-либо типа (возможно, несъемную карту microSD). На дешевом Android-планшете, который мы тестировали, mmc0 — это SD-карта, и нет mmc1 .

Поэтому вы не можете просто предположить, что mmc1 — это SD-карта.

Мечта надежды: Кажется (пока), что, смотря на файл type в том же каталоге, что и файл cid (например, /sys/class/mmc_host/mmc1/mmc1:0007/type ), мы можем определить, что такое: значение типа из SD указывает съемную SD-карту, а MMC — нет.

Однако, это просто от тестирования на нескольких устройствах Android. Я не могу найти никаких спецификаций о содержимом файла type , поэтому, если кто-то еще знает соответствующую документацию, сообщите мне.

Конечно, MMC и SD — это всего лишь два разных стандарта технологии хранения, а SD обратно совместим с MMC. Поэтому не обязательно, чтобы тип SD всегда соответствовал внешней карте microSD. Не похоже, что MMC может указывать на карту microSD вообще (если поле типа заполнено точно); но, с другой стороны, возможно, что несъемная SD-карта может иметь тип SD .

Для дальнейшего исследования: работает ли этот подход при подключении карты microSD через USB-адаптер? Мой единственный тест на этом, с планшетом, имел USB-подключенную карту microSD, отображаемую как mmc1 , с типом SD .

Источник

Оцените статью