Смена cid sd карты ubuntu

Обновлено: 06.07.2024

В SD-карте есть программно доступные регистры, в которых храниться параметры карты и её настройки. Можно прочитать регистры и узнать какую-нибудь полезную информацию. Регистров около 10-и, в спецификации вы можете узнать о каждом из них.
Спецификацию можно скачать на официальном сайте "SD Association"

(На сайте, в левой колонки перейдите в раздел Downloads -> Simplifed Specifications, соглашаетесь и жмете «I Accept» и качаете "Physical Layer Simplified Specification"). В результате вы скачаете pdf-документ — спецификацию на SD-карты, в ней все подробным образом расписано - какие бывают карты и как с ними работать.)
Кроме того, на этом сайте в разделе "Downloads" имеется утилита "SD Memory Card Formatter" от Ассоциации для правильного форматирования карт.

Вот небольшое пояснение к ней от самой Ассоциации:

"SD Memory Card Formatter" формирует карты памяти SD/SDHC/SDXC), в соответствии со спецификацией SD File System, созданной SD Association (SDA).
Настоятельно рекомендуется использовать "SD Memory Card Formatter" для форматирования карт SD/SDHC/SDXC, а не использовать инструменты форматирования, поставляемые с отдельными операционными системами. В общем, инструменты форматирования, поставляемые с операционными системами, могут форматировать различные носители, включая карты SD/SDHC/SDXC, но не могут быть оптимизированы для карт SD/SDHC/SDXC, и это может привести к снижению производительности.

Наиболее интересные регистры:

—Регистр CID (Card identification data) - содержит данные, по которым можно идентифицировать карту памяти (серийный номер, ID производителя, дату изготовления и т.д.)
—Регистр CSD (Card-specific data) - содержит всевозможную информацию о карте памяти (от размера сектора карты памяти до потребления в режиме чтения/записи).
—Регистр OCR (Operation Conditions Register) - содержит напряжения питания карты памяти, тип питания карты памяти, статус процесса инициализации карты.

Структура CID регистра следующая:

Расшифровать данные регистра можно на сайте: Secure Digital Card CID Decoder

Внутренняя информация SD-карты

Информация о SD-карте закодирована в его внутренних регистрах карт. Одним из них является регистр идентификатора карты (CID), 16-байтовый код, который содержит информацию, которая однозначно идентифицирует SD-карту, включая серийный номер карты (PSN), идентификационный номер производителя (MID) и дату изготовления (MDT). Регистр CID устанавливается, когда карта изготовлена ​​и не может быть изменена после ее установки. (Согласно спецификации SD-карты информация должна быть написана только один раз, однако если карта не соответствует спецификации, эта информация может быть изменена!)

Как прочитать CID с SD-карты

Один из способов прочитать CID - использовать ноутбук с гнездом для SD-карт. Считыватели карт в ноутбуках обычно подключаются непосредственно через шину PCI (или IDE-шину). Это не будет работать через устройство чтения карт USB, потому что команда для извлечения информации о карте перехватывается и не понимается считывателями карт. Не все компьютеры со встроенными слотами для карт будут работать, некоторые внутренние считыватели карт подключаются через шину USB.

Предполагая, что у вас есть подходящее оборудование, есть несколько способов, которые вы можете использовать для получения информации о карте. С Linux чтение внутренней SD-карты является простым. Вставьте карту и посмотрите в /sys/block/mmcblk0/device/ (это местоположение может меняться в зависимости от вашей платформы, оно может быть mmcblk1 или в другом месте). В этом месте вы увидите несколько доступных атрибутов, которые включают регистры CID и CSD и информацию внутри него.

Для просмотра CID, выполняем команду из терминала (вызывается Ctrl + Alt + T):

Так же может быть полезна следующая команда, отображающая подробный список файлов в директории с именами, начинающимися на "mmc":

Какая информация находится в CID?

В CID сохраняется следующая информация:

Для получения дополнительной информации см. SD Association Simplified Specifications.

А теперь - информация с форума клуба "Клуб Suzuki Vitara":

Необходимые инструменты и условия для чтения регистров SD-карты:
1) наличие SD-карты;
2) ноутбук со встроенным кардридером(USB-кардридер для этой цели не подходит) +
3) загрузочная флешка с линукс-дистрибутивом для чтения CID SD-карты;
4) Android-девайс - телефон/планшет с картридером;
5) минимальные навыки пользователя Android/Linux.

Подробности:
1) Для чтения CID оригинальной навигационной SD-карты потребуется ноутбук со встроенным кардридером и загрузочная флешка с Линукс дистрибутивом.
Я использовал ASUS X301A в связке с Linux Mint 18 "Sarah" - Cinnamon (32-bit).
Этот же дистрибутив Линукса в связке с SONY VAIO VGN-TZ3RMN/N не видел SD-карты.
Не волнуйтесь, операционную систему на ноутбуке переустанавливать не придется. Достаточно создать загрузочную флешку (DVD диск) с Linux Mint и загрузить с нее лаптоп.
Далее, вставляем SD-карту во встроенный кардридер ноута, видим появившееся уведомление о новом девайсе:

Осталось прочитать CID-карты. Есть 2 способа:
1) На рабочем столе кликаем Computer, в открывшемся окне жмем sys/block/mmcblk0/device/cid
2) или вызываем терминал (Ctrl + Alt + T) и в нем вводим команду:

Появившиеся обоими способами цифры/буквы конспектируем удобным способом (или просто копируем файл /sys/block/mmcblk0/device/cid в удобное место для дальнейшего чтения/копирования)
Небольшое дополнение. Если на вашем ноуте нет других SD карт, то всунутая оригинальная навигационная SD карта будет определятся линуксом как mmcblk0 и все вышеприведенные команды верны.
P.S. На скринах CID абсолютно "левой" SD-карты Samsung 2GB

Способ чтения внутренних регистров с помощью Android-устройств - Будет рассмотрен позже и добавлен в этот пост.

Кстати - для профессионалов по железу будет полезно прочитать Микроконтроллер – работаем с SD картой без файловой системы.
Там рассматриваются режимы работы с SD-карточкой, в том числе с использованием ATmega328P (или Arduino UNO).

Пост так же будет подвержен информационной обработке - посему за Повторы прошу пока не пинать.


Всем привет! Как многим известно, недавно была установлена штатная навигация от рестайла. Но был один косяк — магнитола пришла без карты памяти с самой навигацией. Вместо навигации выводилась информация о климате. Удобно, но основной функцией магнитолы собственно и является — навигация.


Благодаря общению с Сергеем ( Sernaiko ), стало известно что есть 2 выхода:
1-й самый простой — купить где то оригинальную б/у SD карту с навигацией
2-й сложный — "клонировать" штатную карту

1-й способ простой, но дорогой. Эти карты очень редки и очень дороги, и в России появляются в продаже очень редко.
2-й способ сложный но недорогой.


Путей решения сложного способа 2:
1-й простой, но дорогой и долгий. Заказываем SD карту у китайцев с нужным нам CID. Записываем на них карты и пользуемся
2-й сложный, но не дорогой — ищем "подходящую" SD карту, на которой можно поменять CID (на 99% SD карт CID намертво зашит при изготовлении на заводе и его не поменять).

Я выбрал сложный, но недорогой способ. Благо руки растут из нужного места. Спросил у гугла, получил ответ. Оказывается данный метод защиты навигационных программ для автомобилей очень распространен и используется на многих автомобилях (не только Hyundai). Читаем гугл дальше. Находим ответ. Все относительно просто.

Итак, что нам понадобится:
— SD карта с возможностью изменения CID
— Ноутбук с картридером, подключенным по PCI шине
— Ubuntu LiveCD
— Файлы навигации и CID оригинальной SD с навигацией

Снова благодарность Сергею — он дал сразу несколько дампов оригинальных SD карт с навигацией и их CID.


Начнем с карты памяти. Какие карты подходят под смену CID можно найти в интернете (их не много). Я таковую искал недели три точно, потом плюнул и купил новую в магазине.
Я выбрал Samsung Evo Plus. Найдена была в магазине электроники и только на 64Gb. Важно, что бы карта была произведена в Корее и дата выпуска не позже августа 2016 года. В таком случае CID изменить можно будет. Страну производителя узнать просто — она написана на обратной стороне упаковки с картой памяти. А вот дату выпуска можно узнать только вскрыв упаковку и посмотрев на обратную сторону самой карточки. Мне повезло — она была выпущена в 2015 году.


Год считается так — 2010 + 10-я цифра в серийном номере. В моем случае — 5 = 2015 год

Так же пригодность карты можно узнать с помощью Android-телефона (метод не дает 100% гарантию возможности смены CID). Нужно вставить карту памяти в телефон и скачать приложение SD Insight. Открыть его, в списке выбрать карту памяти и нажать на глазок сверху справа. Если параметры Bus Location и Manufacturer равны mmc*:0001 и Samsung Electronics соответственно, то есть большая вероятность смены CID карты.


Далее ноутбук. Мне повезло, мой HP Pavilion G6-1355er подошел. Узнать, подключен картридер у ноутбука по PCI шине или по USB шине можно в ОС Linux. В моем случае это старенький диск с дистрибутивом Ubuntu 10.04. Загружаемся в LiveCD, открываем терминал и пишем следующие команды

1) sudo -s
2) lsblk

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


Далее следует процесс смены CID карты памяти. Скачиваем программу для смены CID. Распаковываем архив на рабочий стол. И вводим последовательно команды в терминале:

1) cd /home/ubuntu/Desktop/evoplus_cid-master/jni
2) gcc evoplus_cid.c -o evoplus_cid
3) ./evoplus_cid /dev/mmcblk* _нужный CID_
* — номер у каждого может быть разный. Нужный был написан после команды lsblk, смотри выше


Пользуйтесь на здоровье!

Ну а я радуюсь заработавшей навигацией в автомобиле отца! После установки SD карты, появилось окно с предупреждением о перезагрузке системы:


И после перезагрузки меня порадовал домашний экран с окошком навигации слева (вместо информации о климате)


На этом все! Всем спасибо за внимание и удачи на дорогах!
Сергей, еще раз спасибо тебе!

Navi - Main

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

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

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

Данный способ является универсальным и подходит для большинства навигационных программ, используемых автопроизводителями, поскольку привязка навигации осуществляется к 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.

[Инструкция] Клонирование SD карты с навигацией

Всем привет! Недавно в i40 моего отца я установил ШГУ с навигацией от рестайлингового i40. Магнитола с переходной рамкой покупалась через посредника из Польши. По приходу обнаружился небольшой косяк - отсутствовала SD карта памяти с программой навигации, и поэтому вместо окошка с навигацией выводилась информация о климат-контроле.

Начал искать пути решения данной проблемы. Вариантов было немного:
1) Простой но дорогой - купить оригинальную б/у SD карту с навигацией.
2) Сложный но не дорогой - клонировать штатную SD карту с навигацией.

1-й способ отмел сразу, т.к. в России для рестайлинговой ШГУ SD карту не найти, а если и найти то за очень большие деньги. В Европе она так же достаточно дорогая.

У 2-го, сложного варианта было еще 2 варианта:
1) Простой но дорогой и долгий - заказать SD карту у Китайцев с нужным CID (об этом чуть ниже)
2) Сложный но не дорогой - найти SD карту на которой можно изменить CID

Я выбрал сложный вариант из сложного варианта.

Теперь по порядку. CID - это идентификационный номер SD карты памяти, он намертво "зашивается" на заводе при изготовлении, и его не изменить.
Система защиты от копирования на рестайлинговой навигационной ШГУ устроена, как оказалось, достаточно просто. В памяти ШГУ записан определенный список CID оригинальных SD карт памяти с навигацией, поэтому даже если скопировать все файлы с оригинальной SD на обыкновенную, то при считывании ШГУ SD карты, CID SD карты не совпадет с CID из списка в памяти ШГУ, и магнитола выдаст уведомление об этом:

Нижеперечисленный метод описан на многих сайтах, если хотите погуглите. Я опишу от себя, как я это делал.

Есть способ "клонирования" оригинальной SD карты памяти. Для этого необходимо:

- SD карта памяти с возможностью смены CID
- Ноутбук (ПК) с карт-ридером, подключенным по PCI шине
- Ubuntu LiveCD
- Файлы навигации и CID оригинальной SD карты памяти
- Прямые руки

Начнем с карты памяти. CID на SD картах памяти зашивается на заводе, причем зашивается намертво. НО есть небольшой список карт памяти, подходящий под смену CID:

- Samsung EVO
- Samsung EVO Plus
- Pamsung PRO
- Samsung PRO Plus
- Прочие

Прочие - это любые карты памяти с чипом от Samsung. Для проверки можно использовать приложение для Android смартфона. Называется SD Insight. Если у карты памяти параметр Bus Location = mmc*:0001 и Manufacturer = Samsung, то есть большая вероятность что на данной SD карте памяти можно поменять CID.

С оригинальными картами памяти Samsung все проще. Нужна SD карта памяти с объемом памяти не меньше 16Gb вышеперечисленных моделей, выпущенная в Корее и выпущенная не позднее апреля 2016 года, так как данные карты были выпущены с чипом, имеющим дырку в системе безопасности, позволяющую сменить CID.
Производителя карты узнать не сложно - он указан на обратной стороне упаковки с SD картой. А вот дату выпуска можно узнать только вскрыв упаковку и посмотрев на обратную сторону SD карты.

Дату выпуска можно узнать из серийного номера карты. Считается следующим образом: 2010 + 10-я цифра в серийном номере. В моем случае - 5 = 2015 год
Я же купил карту памяти в компьютерном магазине и мне повезло. Выпущена в Корее в 2015 году.

Далее ноутбук (или ПК) с карт-ридером подключенным по шине PCI. Так как правило подключались карт-ридеры на старых ноутбуках, так как USB-картридер тогда еще был в новинку.
Проверить совместимость ноутбука просто. Нужен дистрибутив Ubuntu LiveCD.

Загружаемся с него, вставляем SD карту памяти, открываем терминал и вводим команды:

Появляется список подключенных устройств. Если карта памяти отображается как mmcblk* то картридер подключен по PCI шине и годен к смене CID. если нет - ищите более старый ноутбук у друзей.
Мне повезло и мой HP Pavilion G6-1355er подошел.

Далее меняем сам CID. Скачиваем программу и распаковываем ее на рабочий стол.
В терминале вводим следующие команды:

* - вместо звездочки ставим цифру которая была у вас в списке после команды lsblk

Далее идем в машину и с радостью суем SD карту памяти в соответствующий разъем под кнопками управления - SDMap.
Навигация работает, ура!

Теперь собственно необходимые данные от оригинальной SD карты памяти с навигацией. За эти данные благодарим Сергея (Sernaiko) который подсуетился и предоставил их.

Читайте также: