URL: https://www.opennet.dev/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 137190
[ Назад ]

Исходное сообщение
"Выпуск mmc-utils 1.0, утилит для управления картами памяти MMC и SD"

Отправлено opennews , 26-Июн-25 16:44 
Опубликован релиз набора утилит mmc-utils 1.0,  предназначенного для низкоуровневой настройки карт памяти MMC, eMMC, SD и SDIO из пространства пользователя. Выпуск отмечен как первый официальный релиз (проект развивается с 2012 года). Код написан на языке Си и распространяется под лицензией GPLv2...

Подробнее: https://www.opennet.dev/opennews/art.shtml?num=63472


Содержание

Сообщения в этом обсуждении
"Выпуск mmc-utils 1.0, утилит для управления картами памяти M..."
Отправлено Аноним , 26-Июн-25 16:44 
И что позволяет делать простому смертному эта штука?

"Выпуск mmc-utils 1.0, утилит для управления картами памяти M..."
Отправлено Аноним , 26-Июн-25 16:51 
Как-то видеорегистратор переводил флешки в режим "только для чтения". Вероятно это должно помочь. Где взять нужные ридеры?

"Выпуск mmc-utils 1.0, утилит для управления картами памяти M..."
Отправлено Аноним , 26-Июн-25 16:51 
Во втором абзаце новости написано.

"Выпуск mmc-utils 1.0, утилит для управления картами памяти M..."
Отправлено Аноним , 26-Июн-25 16:53 
> И что позволяет делать простому смертному эта штука?

Простому смертному лучше не трогать лапками низкоуровневые сервиснвые утилиты типа этого, hdparm, всяких flashrom, утилсов scsi и проч. Целее оборудование будет.

Менее простому смертному это позволяет например настроить ряд параметров (u)SD/(e)MMC. Кроме всего прочего - они все например умеют ReadOnly. Как временный - так и перманентный. Ахтунг: перманентный readonly реально - перманентный. И снять его потом - нельзя.

С другой стороны так можно сделать себе "верифицированную" бутявку с например линем, где софт 100% тот который задумано и никакой руткит-буткит-малварь не сможет это переписать вот хоть там что. Правда и обновить этот софт вы тоже не сможете.


"Выпуск mmc-utils 1.0, утилит для управления картами памяти M..."
Отправлено Аноним , 26-Июн-25 16:57 
Перманентный б̶а̶н̶ readonly это какая-то фьюза пережигается?
Тогда оно, по идее, должно быть в стандарте.
Следовательно у китайцем может быть, а может нет)

"Выпуск mmc-utils 1.0, утилит для управления картами памяти M..."
Отправлено Аноним , 26-Июн-25 18:54 
> Перманентный б̶а̶н̶ readonly это какая-то фьюза пережигается?

Как минимум, карты где-то внутри, в out of band области запоминают эту настройку - и по регламенту перманантный readonly - one-way! Временный - снимается. Постоянный - нет.

> Тогда оно, по идее, должно быть в стандарте.

А оно и есть в стандарте.

> Следовательно у китайцем может быть, а может нет)

Контроллеры и его фирмвару не так уж много фирм делают и скорее всего - они спеки все же реализовали. Можете поэкспериментировать и посмотреть. Только учтите что снять пермарентнй RO реально - не получится потом.


"Выпуск mmc-utils 1.0, утилит для управления картами памяти M..."
Отправлено Аноним , 27-Июн-25 10:25 
Есть ссылка на "прочитать" об этом? Не понимаю как работает. Т.е. прошивка на карте памяти такую функцию реализовывает?

"Выпуск mmc-utils 1.0, утилит для управления картами памяти M..."
Отправлено Аноним , 27-Июн-25 18:13 
>  Есть ссылка на "прочитать" об этом? Не понимаю как работает.

Накормить поискарь словами типа SD Memory Card Specification 2.0 - и изучайте себе что оно там умеет. Аналогично для eMMC. Официально для SD урезанные спеки доступны легально но там все есть. Для eMMC вроде и полные - официально.

> Т.е. прошивка на карте памяти такую функцию реализовывает?

SD/eMMC состоит из микроконтроллера который рюхает команды интерфейса и массива флешпамяти за ним. Микроконтроллер делает
1) Парсинг команд по интерфейсу и ответы на них.
2) Вещи типа wear leveling, и вообще FTL

Команды регламентированы в стандарте SD или eMMC. И конечно у него на самом деле куча настроек, своя фирмварь и что там еще. Часть настроек задефайнены в стандартном виде как регистры карты. На самом деле их конечно больше.

С формальной точки зрения защита карты от записи - запись в карту содержимого регистра CSD (он частично записываемый), где установлен бит 13 (перманентный WP) или 12 (временный WP) - через CMD 27. Временный можно снять, постоянный - фигвам. По крайней мере, через официально специфицированный интерфейс снять уже не получится. Где CSD физически хранится и можно ли его переписать какими-то вендорспецифичными приколами и все же откатить эту диверсию - вопрос номер два, конечно. Но это настолко сложно и вендорспецифично - что в целом можно уповать что буткиты и проч обломаются. Особенно если потом это в usb ридер вставить, где отсылка команд SD/MMC не предусмотрена чисто технически и CMD27 и тем более вендорспецифика - до карты не долетит.

В принципе если карту потом в usb ридер сунуть - можно и временный, ибо как всякие умники через usb ридер то CMD27 пропихнут? :) Правильно - скорее всего никак, в usb mass storage штатно такой абстракции - нет. Для этого придется карту в mmc host сунуть и там это снять.


"Выпуск mmc-utils 1.0, утилит для управления картами памяти M..."
Отправлено Аноним , 26-Июн-25 17:58 
Про перманентный ридонли, не знал, круто! Реально открывает ряд возможностей, как раз идеально для загрузочных флешек(если нужен софт по новее, просто покупается новая флешка), а так же для эмбедовки всякой - тот самый вариант лечения всех болезней перезагрузкой.
Лично использую сабж чисто для мониторинга износа флешек.

"Выпуск mmc-utils 1.0, утилит для управления картами памяти M..."
Отправлено Аноним , 26-Июн-25 19:34 
> Про перманентный ридонли, не знал, круто! Реально открывает ряд возможностей,

Именно. Readonly boot loader, вохможно с вшитым "root of trust" который не получится заменить вот хоть там что. И перезпписать на более удобный для хацкера - тоже не получится.

Так можно сделать схему доверяемой загрузки наподобие того что гугл в хромобуках практикует. С поправкой на то что служит это все тому кто такую штуку скроил, и это довольно сложно оспорить вот так сразу.


"Выпуск mmc-utils 1.0, утилит для управления картами памяти M..."
Отправлено пох. , 26-Июн-25 20:11 
может, скажем ему?  А, не, улыбаемся и машем...


"Выпуск mmc-utils 1.0, утилит для управления картами памяти M..."
Отправлено Аноним , 27-Июн-25 02:46 
А если перевёл память телефона в перманентный read only? Один клиент так сделал и в результате чего ничего не помогает... Ни боксы, jtag, edl, isp... Только перепайка чипа памяти на плате телефона...

"Выпуск mmc-utils 1.0, утилит для управления картами памяти M..."
Отправлено Аноним , 27-Июн-25 18:47 
> А если перевёл память телефона в перманентный read only?

Если ему именно перманентный WP выставили через CSD бит 13 - упс, тогда вам все же придется отпаять eMMC, и на другой заменить, в общем случае. В eMMC _свой_ микроконтроллер встроен, рюхающий MMC интерфейс, с _своим_ набором настроек и мнением что и кому (не)льзя делать, на JTAG основного проца ему...

Правда не очень понятно как клиент на такое вообще из#$%нуться сумел. Иногда sd/eMMC и сами в ридонли уходят - когда резервных блоков не осталось на ремап. Тут упс, оно просто отжило свое, это "safe mode" такой. Данные выцепить можно а сверх того - фиг.

Если что вон те утилсы - умеют SD/MMC команды в "MMC хост" пулять. Но для этого они должны быть ессно запущены на проце девайса. И перманентный WP они все же не снимут. Но может дело не в нем?

Посмотреть CSD как минимум в норм линухе можно cat /sys/class/mmc_host/mmc0/mmc0:aaaa/csd
Выдаст CSD (128 бит регистр). Вместо aaaa может быть другое число, ls /sys/class/mmc_host/mmc0/ - и смотрите как оно обозвано.

> Один клиент так сделал и в результате чего ничего не помогает...
> Ни боксы, jtag, edl, isp... Только перепайка чипа памяти на плате телефона...

Ну вот блин да. Если выставить перманентный readonly через CSD - бит 13 - тогда официально его вообще не того. Можно ли неофициально такое откатить - извратом с вендорскими командами - кто ж его там знает, оно вендорспецифично и такое исследование будет стоить - как товарный состав этих телефонов.


"Выпуск mmc-utils 1.0, утилит для управления картами памяти M..."
Отправлено Ю.Т. , 27-Июн-25 09:09 
Я сейчас нуб в этом, а как там с долговечностью хранения, ведь вроде нужна периодическая перечитка полного содержимого (перезарядка кондеров) нужна, это не считается на низком уровне записью?

"Выпуск mmc-utils 1.0, утилит для управления картами памяти M..."
Отправлено Смузихлеб забывший пароль , 27-Июн-25 10:11 
Тут скорее вопрос, помогут ли и как эти приблуды, например, восстановить данные с помершей карты памяти( иные флешки, кстати, содержали внутри микро-сд + микро-картридер с юсб-выходом )
Ибо из статьи оущение, что предлагается даром ненужный функционал - вроде чтения никому ненужных регистров и перевод карты памяти/ отдельных блоков на только_чтение. Ну ахренеть просто - взять - и сделать карту памяти незаписываемой!

"Выпуск mmc-utils 1.0, утилит для управления картами памяти M..."
Отправлено пох. , 26-Июн-25 20:10 
Ровно нихрена. Откуда у простого смерда mmcblk устройство возьмется?


"Выпуск mmc-utils 1.0, утилит для управления картами памяти M..."
Отправлено Аноним , 26-Июн-25 22:26 
У меня на ноуте, если во встроенный картридер вставить microSD, появляется mmcblk-устройство.

"Выпуск mmc-utils 1.0, утилит для управления картами памяти M..."
Отправлено Аноним , 27-Июн-25 18:52 
> У меня на ноуте, если во встроенный картридер вставить microSD, появляется mmcblk-устройство.

Тебе кажись повезло и походу тебе настоящий MMC HCI подогнали, им можно с сабжевыми утилсами поразвлечься. Если перспектива превратить какую-нибудь карту в тыкву не пугает :)

Заодно можешь смотреть всякие CID, CSD, mfd ID карты или что там еще, /sys/class/mmc_host/... живет, линух вывешивает что с карты прочитал.


"Выпуск mmc-utils 1.0, утилит для управления картами памяти M..."
Отправлено Аноним , 27-Июн-25 08:45 
Ноуты на памяти emmc, одноплатники, кардридеры.

"Выпуск mmc-utils 1.0, утилит для управления картами памяти M..."
Отправлено Аноним , 27-Июн-25 08:34 
В SLC-режим память перевести. Теоретически.
https://forums.raspberrypi.com/viewtopic.php?p=1118280&sid=9...

"Выпуск mmc-utils 1.0, утилит для управления картами памяти M..."
Отправлено winorun , 27-Июн-25 09:24 
Например у меня планшет работает только с одной картой на 16 гб на полной скорости, с остальными(не зависимо от размера) работает на низкой скорости. Чем эта одна карта отличается от остальных как раз и смогу узнать с помощью этой программы

"Выпуск mmc-utils 1.0, утилит для управления картами памяти M..."
Отправлено Аноним , 27-Июн-25 14:51 
Выравниванием раздела при форматировании? Прошивку копать для этого вообще не нужно.

"Выпуск mmc-utils 1.0, утилит для управления картами памяти M..."
Отправлено dannyD , 26-Июн-25 18:19 
годно, нужно, но я уже забыл когда последний раз полнорамерной SD пользовался... да и вообще SD/MMC.

"Выпуск mmc-utils 1.0, утилит для управления картами памяти M..."
Отправлено Аноним , 27-Июн-25 18:54 
> годно, нужно, но я уже забыл когда последний раз полнорамерной SD пользовался...
> да и вообще SD/MMC.

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


"Выпуск mmc-utils 1.0, утилит для управления картами памяти M..."
Отправлено eugene_martein , 26-Июн-25 18:48 
Утилита полезна для создания защищённых электронных журналов встраиваемых устройств.

"Выпуск mmc-utils 1.0, утилит для управления картами памяти M..."
Отправлено Аноним , 26-Июн-25 18:51 
1. Как понять "настоящий"? Картридер ноутбука к нему относится?
2. С microSD работает?

"Выпуск mmc-utils 1.0, утилит для управления картами памяти M..."
Отправлено Аноним , 26-Июн-25 19:25 
> 1. Как понять "настоящий"? Картридер ноутбука к нему относится?

Скорее всего нет, обычно они на USB-шине сидят, а внутри он точно такой же как купленный за $5 на Амазоне.

> 2. С microSD работает?

Чего ж нет-то?


"Выпуск mmc-utils 1.0, утилит для управления картами памяти M..."
Отправлено Аноним , 26-Июн-25 19:29 
> 1. Как понять "настоящий"? Картридер ноутбука к нему относится?

Если видите что-то типа


[    3.823027] mmc0: host does not support reading read-only switch, assuming write-enable
[    3.835794] mmc0: new high speed SD card at address aaaa

...и у вас есть /dev/mmcblk* - значит это оно. Но у ноутов ридер часто бывает тоже usb-бриджом и тогда это не лучше usb картридера, кроме того что оно - встроено.

Такое часто есть на одноплатниках. Ну и мобилках, черт знает насколько сложно затолкать сабж утилиты на ведроида, но если у вас есть ведрофон с uSD слотом и дистр линя в чруте - возможно прокатит запустить сабж и там.

> 2. С microSD работает?

До некоторой степени. Readonly ставить вроде умеет, и CSD смотреть и проч. Технически (u)SD и (e)MMC это близкие и довольно плотно связанные стандарты. У них есть _некоторые_ отличия в _деталях_. И вот тут конечно возможны некоторые варианты на тему что в конкретнйо ситуации сабж рюхает. А для понимания о чем все это вообще - можно почитать стандарты на SD и eMMC. Да, если в вашем ведрофоне eMMC и удалось сабж завести - ктулху вас упаси параметры eMMC крутить, если вы кирпича не хотите получить. При том в некоторых случаях - перманентного.


"Выпуск mmc-utils 1.0, утилит для управления картами памяти M..."
Отправлено Аноним , 26-Июн-25 20:01 
То есть так?
/dev/mmcblk0: 7,45 GiB, 7994343424 байт, 15613952 секторов

"Выпуск mmc-utils 1.0, утилит для управления картами памяти M..."
Отправлено Аноним , 27-Июн-25 18:57 
> /dev/mmcblk0: 7,45 GiB, 7994343424 байт, 15613952 секторов

Походу настоящий mmc hci. См /dev/mmcblk* и вон там написано как например его CID/CSD посмотреть например.


"Выпуск mmc-utils 1.0, утилит для управления картами памяти M..."
Отправлено Аноним , 26-Июн-25 20:56 
>Код написан на языке Си и распространяется под лицензией GPLv2

Скажите разрабам, чтобы лицензию переводили на GPLv3.


"Выпуск mmc-utils 1.0, утилит для управления картами памяти M..."
Отправлено Аноним , 27-Июн-25 06:21 
А дампануть прошивку MMC, eMMC и SD на диск эта утилита может?

"Выпуск mmc-utils 1.0, утилит для управления картами памяти M..."
Отправлено Аноним , 27-Июн-25 19:05 
> А дампануть прошивку MMC, eMMC и SD на диск эта утилита может?

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

В какой-то из спек eMMC вроде как запилили команды для аплоада новой фирвари, по типу как для SATA, но про ее чтение там вроде ничего не было. Чисто для апдейта. И тоже вероятно вендорспецифично весьма.