eMMC or SD card how to distinguish
My Ubuntu system has both an eMMC and a SD-card. Heres how to find out which one is which:
$ dmesg | grep -e "mmc.*address"
[ 7.185283] mmc0: new HS200 MMC card at address 0001
[ 7.989843] mmc1: new ultra high speed SDR50 SDHC card at address 0001
So mmc0 is a MMC / eMMC drive, and mmc1 is a SD / SDHC card.
A bit nicer formatting:
$ dmesg | grep -e "mmc.*address" | awk { print $3 " " $(NF-4) " " $(NF-5) }
mmc0: MMC HS200
mmc1: SDHC SDR50
$ dmesg | grep -e "mmc.*address" | awk { print $3 " " $(NF-4) " " $(NF-5) }
mmc0: MMC HS200
mmc1: SDHC SDR50
More details are in the linux kernel file bindings/mmc/mmc.txt:
$ curl -s https://raw.githubusercontent.com/torvalds/linux/master/Documentation/devicetree/bindings/mmc/mmc.txt | grep "is supported" > mmc-supported.txt
$ cat mmc-supported.txt
- cap-sd-highspeed: SD high-speed timing is supported
- cap-mmc-highspeed: MMC high-speed timing is supported
- sd-uhs-sdr12: SD UHS SDR12 speed is supported
- sd-uhs-sdr25: SD UHS SDR25 speed is supported
- sd-uhs-sdr50: SD UHS SDR50 speed is supported
- sd-uhs-sdr104: SD UHS SDR104 speed is supported
- sd-uhs-ddr50: SD UHS DDR50 speed is supported
- full-pwr-cycle: full power cycle of the card is supported
- mmc-ddr-1_8v: eMMC high-speed DDR mode(1.8V I/O) is supported
- mmc-ddr-1_2v: eMMC high-speed DDR mode(1.2V I/O) is supported
- mmc-hs200-1_8v: eMMC HS200 mode(1.8V I/O) is supported
- mmc-hs200-1_2v: eMMC HS200 mode(1.2V I/O) is supported
- mmc-hs400-1_8v: eMMC HS400 mode(1.8V I/O) is supported
- mmc-hs400-1_2v: eMMC HS400 mode(1.2V I/O) is supported
We can now look up the names from dmesg:
sander@superstreamer:~$ grep -i hs200 mmc-supported.txt
- mmc-hs200-1_8v: eMMC HS200 mode(1.8V I/O) is supported
- mmc-hs200-1_2v: eMMC HS200 mode(1.2V I/O) is supported
sander@superstreamer:~$ grep -i sdr50 mmc-supported.txt
- sd-uhs-sdr50: SD UHS SDR50 speed is supported
So eMMC respectively SD-card.
download file now