[Bug 1333140] Re: Fix udev rules to consider mmc rpmb partitions
Alan German
1333140 at bugs.launchpad.net
Thu Aug 28 11:55:52 UTC 2014
Multiple timeout errors occur when trying to install Ubuntu 14.10 on an
Asus T100 Transformer. These take the form:
Aug 24 13:42:46 Asus-T100TA kernel: [ 517.844809] Buffer I/O error on device mmcblk0rpmb, logical block 16
Aug 24 13:42:54 Asus-T100TA kernel: [ 526.053415] mmc0: Got data interrupt 0x00000002 even though no data operation was in progress.
Aug 24 13:42:54 Asus-T100TA kernel: [ 526.058826] mmcblk0rpmb: error -110 transferring data, sector 16, nr 8, cmd response 0x900, card status 0xb00
Aug 24 13:42:54 Asus-T100TA kernel: [ 526.061891] mmcblk0rpmb: retrying using single block read
Aug 24 13:42:55 Asus-T100TA kernel: [ 526.063938] mmcblk0rpmb: timed out sending r/w cmd command, card status 0x400900
etc.
A workaround takes the form of a kernel patch, developed by Nell
Hardcastle (https://dev-nell.com/rpmb-emmc-errors-under-linux.html),
that essentially prevents access to the rpmb partition on the T100's
eMMC drive and so avoids the timeout issue.
Otherwise, the timeout errors persist once Ubuntu has been installed and
result in processing delays.
A permanent fix would be very much appreciated.
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to udev in Ubuntu.
https://bugs.launchpad.net/bugs/1333140
Title:
Fix udev rules to consider mmc rpmb partitions
Status in “udev” package in Ubuntu:
Confirmed
Bug description:
As per JEDEC 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"
For issue 2:
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="?*", KERNEL=="mmcblk[0-9]rpmb", SYMLINK+="disk/by-path/$env{ID_PATH}-rpmb"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="?*", KERNEL!="mmcblk[0-9]rpmb", SYMLINK+="disk/by-path/$env{ID_PATH}"
Please consider this issues fix in next udev release .
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/udev/+bug/1333140/+subscriptions
More information about the foundations-bugs
mailing list