mmc - Man Page

Configure MMC storage devices from userspace.

Synopsis

mmc [<command> [<args>]] [--help]

mmc [<command>] --help

Description

mmc-utils is a tool for configuring MMC storage devices from userspace.

Commands and Options

help | --help | -h | (no arguments)

Shows the abbreviated help menu in the terminal.

extcsd read <device>

Print extcsd data from <device>.

writeprotect get <device>

Determine the eMMC writeprotect status of <device>.

writeprotect set <device>

Set the eMMC writeprotect status of <device>. This sets the eMMC to be write-protected until next boot.

disable 512B emulation <device>

Set the eMMC data sector size to 4KB by disabling emulation on <device>.

gp create <-y|-n|-c> <length KiB> <partition> <enh_attr> <ext_attr> <device>

create general purpose partition for the <device>. Dry-run only unless -y or -c is passed. Use -c if more partitioning settings are still to come. To set enhanced attribute to general partition being created set <enh_attr> to 1 else set it to 0. To set extended attribute to general partition set <ext_attr> to 1,2 else set it to 0. NOTE!  This is a one-time programmable (unreversible) change.

enh_area set <-y|-n|-c> <start KiB> <length KiB> <device>

Enable the enhanced user area for the <device>. Dry-run only unless -y or -c is passed. Use -c if more partitioning settings are still to come. NOTE!  This is a one-time programmable (unreversible) change.

write_reliability set <-y|-n|-c> <partition> <device>

Enable write reliability per partition for the <device>. Dry-run only unless -y or -c is passed. Use -c if more partitioning settings are still to come. NOTE!  This is a one-time programmable (unreversible) change.

status get <device>

Print the response to STATUS_SEND (CMD13).

bootpart enable <boot_partition> <send_ack> <device>

Enable the boot partition for the <device>. Disable the boot partition for the <device> with <boot_partition> set to 0. To receive acknowledgment of boot from the card set <send_ack> to 1, else set it to 0.

bootbus set <boot_mode> <reset_boot_bus_conditions> <boot_bus_width> <device>

Set Boot Bus Conditions. <boot_mode> must be "single_backward|single_hs|dual" <reset_boot_bus_conditions> must be "x1|retain" <boot_bus_width> must be "x1|x4|x8"

bkops enable <device>

Enable the eMMC BKOPS feature on <device>. NOTE!  This is a one-time programmable (unreversible) change.

hwreset enable <device>

Permanently enable the eMMC H/W Reset feature on <device>. NOTE!  This is a one-time programmable (unreversible) change.

hwreset disable <device>

Permanently disable the eMMC H/W Reset feature on <device>. NOTE!  This is a one-time programmable (unreversible) change.

sanitize <device>

Send Sanitize command to the <device>. This will delete the unmapped memory region of the device.

rpmb write-key <rpmb device> <key file>

Program authentication key which is 32 bytes length and stored in the specified file. Also you can specify '-' instead of key file path to read the key from stdin. NOTE!  This is a one-time programmable (unreversible) change.

rpmb read-counter <rpmb device>

Counter value for the <rpmb device> will be read to stdout.

rpmb read-block <rpmb device> <address> <blocks count> <output file> [key file]

Blocks of 256 bytes will be read from <rpmb device> to output file or stdout if '-' is specified. If key is specified - read data will be verified. Instead of regular path you can specify
'-' to read key from stdin.

rpmb write-block <rpmb device> <address> <256 byte data file> <key file>

Block of 256 bytes will be written from data file to <rpmb device>. Also you can specify '-' instead of key file path or data file to read the data from stdin.

cache enable <device>

Enable the eMMC cache feature on <device>. NOTE! The cache is an optional feature on devices >= eMMC4.5.

cache disable <device>

Disable the eMMC cache feature on <device>. NOTE! The cache is an optional feature on devices >= eMMC4.5.

<cmd> --help

Show detailed help for a command or subset of commands.

Examples

Program authentication key from stdin:

echo -n AAAABBBBCCCCDDDDEEEEFFFFGGGGHHHH | mmc rpmb write-key /dev/mmcblk0rpmb -

Write a block of 256 bytes of data to an rpmb device:

$ (awk 'BEGIN {while (c++<256) printf "a"}' | echo -n AAAABBBBCCCCDDDDEEEEFFFFGGGGHHHH) | mmc rpmb write-block /dev/mmcblk0rpmb 0x02 - -

Read a block of 256 bytes of data from an rpmb device to stdout:

 $ echo -n AAAABBBBCCCCDDDDEEEEFFFFGGGGHHHH | mmc rpmb read-block /dev/mmcblk0rpmb 0x02 2 /tmp/block -

Read 2 blocks of 256 bytes from rpmb device to /tmp/block without verification:

$ mmc rpmb read-block /dev/mmcblk0rpmb 0x02 2 /tmp/block

Info

2015-11-16 0.1 mmc-utils