As per JESD 4.5 spec for eMMC devices,
There is a new partitions as part of eMMC storage devices it self. (Further details please refer eMMC spec)
*In Linux Kernel@ 3.10.33, mmc driver has created a new partitions with "mmcblkXrpmb" if device expresses it support of RPMB.
Issues observed:
issue 1:
RPMB (Replay Protected Memory Block), A signed access to a Replay Protected Memory Block is provided. This function provides means for the system to store data to the specific memory area in an authenticated and replay protected manner.
In that case, any read/write access to this partition device will report errors.
issue 2:
The by-path, line is wrongly mapping to platform-sdhci-tegra.1 -> mmcblk2rpmb were as
it should be platform-sdhci-tegra.1 -> mmcblk2
ls -l /dev/disk/by-path/
total 0
lrwxrwxrwx 1 root root 17 Jan 3 2000 platform-sdhci-tegra.1 -> ../../mmcblk2rpmb
lrwxrwxrwx 1 root root 15 Jan 3 2000 platform-sdhci-tegra.1-part1 -> ../../mmcblk2p1
lrwxrwxrwx 1 root root 13 Jan 3 2000 platform-sdhci-tegra.2 -> ../../mmcblk1
lrwxrwxrwx 1 root root 15 Jan 3 2000 platform-sdhci-tegra.2-part1 -> ../../mmcblk1p1
lrwxrwxrwx 1 root root 17 Jan 3 2000 platform-sdhci-tegra.3 -> ../../mmcblk0rpmb
lrwxrwxrwx 1 root root 15 Jan 3 2000 platform-sdhci-tegra.3-part1 -> ../../mmcblk0p1
lrwxrwxrwx 1 root root 15 Jan 3 2000 platform-sdhci-tegra.3-part2 -> ../../mmcblk0p2
We have locally resolved in our platform in this file 60-persistent-storage.rules
For issue 1: (with this rule)
# skip block read for partitions of type rpmb
KERNEL=="mmcblk[0-9]rpmb", SUBSYSTEM=="block", GOTO="persistent_storage_end"
As per JESD 4.5 spec for eMMC devices,
There is a new partitions as part of eMMC storage devices it self. (Further details please refer eMMC spec)
*In Linux Kernel@ 3.10.33, mmc driver has created a new partitions with "mmcblkXrpmb" if device expresses it support of RPMB.
Issues observed:
issue 1:
RPMB (Replay Protected Memory Block), A signed access to a Replay Protected Memory Block is provided. This function provides means for the system to store data to the specific memory area in an authenticated and replay protected manner.
In that case, any read/write access to this partition device will report errors.
issue 2: sdhci-tegra. 1 -> mmcblk2rpmb were as sdhci-tegra. 1 -> mmcblk2
The by-path, line is wrongly mapping to platform-
it should be platform-
ls -l /dev/disk/by-path/ sdhci-tegra. 1 -> ../../mmcblk2rpmb sdhci-tegra. 1-part1 -> ../../mmcblk2p1 sdhci-tegra. 2 -> ../../mmcblk1 sdhci-tegra. 2-part1 -> ../../mmcblk1p1 sdhci-tegra. 3 -> ../../mmcblk0rpmb sdhci-tegra. 3-part1 -> ../../mmcblk0p1 sdhci-tegra. 3-part2 -> ../../mmcblk0p2
total 0
lrwxrwxrwx 1 root root 17 Jan 3 2000 platform-
lrwxrwxrwx 1 root root 15 Jan 3 2000 platform-
lrwxrwxrwx 1 root root 13 Jan 3 2000 platform-
lrwxrwxrwx 1 root root 15 Jan 3 2000 platform-
lrwxrwxrwx 1 root root 17 Jan 3 2000 platform-
lrwxrwxrwx 1 root root 15 Jan 3 2000 platform-
lrwxrwxrwx 1 root root 15 Jan 3 2000 platform-
We have locally resolved in our platform in this file 60-persistent- storage. rules
For issue 1: (with this rule) ="mmcblk[ 0-9]rpmb" , SUBSYSTEM=="block", GOTO="persisten t_storage_ end"
# skip block read for partitions of type rpmb
KERNEL=
For issue 2: =="disk" , ENV{ID_PATH}=="?*", KERNEL= ="mmcblk[ 0-9]rpmb" , SYMLINK+ ="disk/ by-path/ $env{ID_ PATH}-rpmb" =="disk" , ENV{ID_PATH}=="?*", KERNEL! ="mmcblk[ 0-9]rpmb" , SYMLINK+ ="disk/ by-path/ $env{ID_ PATH}"
ENV{DEVTYPE}
ENV{DEVTYPE}
Please consider this issues fix in next udev release .