tony82
Posts: 3
Joined: Wed Aug 07, 2019 6:54 pm

eMMC->micro SD adapter doesn't work on Raspberry Pi 4

Wed Aug 07, 2019 7:16 pm

I have an eMMC->micro SD adapter, which allows me to use a 16GB eMMC chip as the storage for Raspberry Pi, via the SD card interface. It worked perfectly on all Raspberry Pi models, and it indeed has much higher speed on 4k writing than any micro SD card I can find.

Image

Until today, I tried it on my newly arrived Raspberry Pi 4. it seems totally not detected by the Pi 4 (green LED blinks), just like no SD card inserted.

Image

I am sure it is not due to the EEPROM issue, because I flash the same Raspbian into a micro SD card and it can boot my Pi 4.

Anyone has idea why it doesn't work on Raspberry Pi 4? I searched a lot on the Internet and really can't find anything (considering Pi 4 is just out).

Is there anything I could do to make it work on Raspberry Pi 4?

Thanks in advance.

valoni
Posts: 1
Joined: Wed Feb 19, 2020 8:39 am

Re: eMMC->micro SD adapter doesn't work on Raspberry Pi 4

Wed Feb 19, 2020 8:42 am

can you check this manual (how to use emmc with raspberry pi 4)

http://www.uugear.com/doc/RasPiKey_UserManual.pdf

and state this part RasPiKey supports all Raspberry Pi models (Raspberry Pi 4B needs to update bootloader).
http://www.uugear.com/repo/RasPiKey/upd ... loader.zip

maybe this could help

lingon
Posts: 157
Joined: Fri Aug 26, 2011 7:31 am

Re: eMMC->micro SD adapter doesn't work on Raspberry Pi 4

Sat Apr 25, 2020 1:07 pm

I have the corresponding 32 GB eMMC module from Friendly Elec and the same uSD-eMMC passive adapter.
https://www.friendlyarm.com/index.php?r ... uct_id=249

I wrote to the eMMC module the currently latest available version of Raspbian and pulled in all the updates. This eMMC setup boots on a:
  • Raspberry Pi 2 Model B Rev 1.1
  • Raspberry Pi 3 Model B Rev 1.2
For some reason it does not boot on a:
  • Raspberry Pi 4 Model B Rev 1.2
  • Raspberry Pi Model B Rev 2
Obviously on the oldest Raspberry Pi an uSD-SD-card adapter has to be used. There was some changes to the Raspberry Pi 4 to get it boot with a RasPiKey, but apparently this Friendly Elec eMMC-module is somehow different so that it does not boot on a Raspberry Pi 4. Maybe some expert can elaborate on the firmware difference between the original Raspberry Pi and the Pi 2 and Pi 3 in terms of booting and why it would not boot on a Raspberry Pi 4?

Would it help to write something to the internal eMMC boot partitions to get the module booting on a Raspberry Pi 4 and an original Raspberry Pi?

The performance on the Raspberry Pi 2 Model B Rev 1.1 is very good as expected and much better than on any SD-ard I have seen:
root@raspberrypi:~# hdparm -tT /dev/mmcblk0p2

/dev/mmcblk0p2:
Timing cached reads: 750 MB in 2.00 seconds = 374.38 MB/sec
HDIO_DRIVE_CMD(identify) failed: Invalid argument
Timing buffered disk reads: 68 MB in 3.02 seconds = 22.49 MB/sec

root@raspberrypi:~# source /usr/share/agnostics/sdtest.sh
Run 1
prepare-file;0;0;19551;38
seq-write;0;0;19645;38
rand-4k-write;0;0;13117;3279
rand-4k-read;14194;3548;0;0
Sequential write speed 19645 KB/sec (target 10000) - PASS
Random write speed 3279 IOPS (target 500) - PASS
Random read speed 3548 IOPS (target 1500) - PASS
The corresponding numbers for the Raspberry Pi 3 Model B Rev 1.2 are:
root@raspberrypi:~# hdparm -tT /dev/mmcblk0p2

/dev/mmcblk0p2:
Timing cached reads: 1134 MB in 2.00 seconds = 566.42 MB/sec
HDIO_DRIVE_CMD(identify) failed: Invalid argument
Timing buffered disk reads: 68 MB in 3.01 seconds = 22.59 MB/sec

root@raspberrypi:~# source /usr/share/agnostics/sdtest.sh
Run 1
prepare-file;0;0;19662;38
seq-write;0;0;19475;38
rand-4k-write;0;0;14033;3508
rand-4k-read;14850;3712;0;0
Sequential write speed 19475 KB/sec (target 10000) - PASS
Random write speed 3508 IOPS (target 500) - PASS
Random read speed 3712 IOPS (target 1500) - PASS
Because the (u)SD-reader is upside down on all Raspberry Pis this eMMC-module with the adapter is also upside down and thus a bit inconvenient. The RasPiKey 16 GB module has been designed for the Raspberry Pi so the orientation of the uSD-reader has been taken into account. It would be nice if the RasPiKey eMMC-uSD module would be available in larger sizes than 16 GB. According to them they might do that if there is enough customer demand ...

Both the Friendly Elec SD-eMMC adapter and the RasPiKey are a bit short and wide so they might not fit mechanically if there is too much space between the uSD-reader and the edge of the case where the uSD-card slot is. This small mechanical issue can be worked around by using a SD-extension cable.

In my laptop the eMMC module also gives a reading speed of about 20 MB/s. I guess the eMMC-module could be set into a higher frequency mode if the driver would recognize this possibility. I'm not sure why that does not happen during the module initialization process. The Samsung KLMBG2JETD-B041 eMMC 5.1 chip has a HS400 interface, so natively it can achieve good performance.


lingon
Posts: 157
Joined: Fri Aug 26, 2011 7:31 am

Re: eMMC->micro SD adapter doesn't work on Raspberry Pi 4

Sat Apr 25, 2020 4:56 pm

The EEPROM version is the latest stable one. I assumed the patch would be included in that one, but I could be wrong of course.

rpi-eeprom-update
BCM2711 detected
BOOTLOADER: up-to-date
CURRENT: Tue 10 Sep 10:41:50 UTC 2019 (1568112110)
LATEST: Tue 10 Sep 10:41:50 UTC 2019 (1568112110)
FW DIR: /lib/firmware/raspberrypi/bootloader/critical
VL805: up-to-date
CURRENT: 000137ad
LATEST: 000137ad

lingon
Posts: 157
Joined: Fri Aug 26, 2011 7:31 am

Re: eMMC->micro SD adapter doesn't work on Raspberry Pi 4

Sun Apr 26, 2020 8:47 pm

Thanks! Updatting the bootloader EEPROM to the beta release pieeprom-2019-10-16.bin got my Raspberry Pi 4 booting from the 32 GB eMMC-module.
root@raspberrypi:~# rpi-eeprom-update
BCM2711 detected
BOOTLOADER: up-to-date
CURRENT: Wed 16 Oct 2019 05:00:03 PM UTC (1571245203)
LATEST: Tue 10 Sep 2019 10:41:50 AM UTC (1568112110)
FW DIR: /lib/firmware/raspberrypi/bootloader/critical
VL805: up-to-date
CURRENT: 000137ad
LATEST: 000137ad

root@raspberrypi:~# hdparm -tT /dev/mmcblk0p2

/dev/mmcblk0p2:
Timing cached reads: 1498 MB in 2.00 seconds = 749.34 MB/sec
HDIO_DRIVE_CMD(identify) failed: Invalid argument
Timing buffered disk reads: 70 MB in 3.06 seconds = 22.88 MB/sec

root@raspberrypi:~# source /usr/share/agnostics/sdtest.sh
Run 1
prepare-file;0;0;22723;44
seq-write;0;0;22882;44
rand-4k-write;0;0;16938;4234
rand-4k-read;14860;3715;0;0
Sequential write speed 22882 KB/sec (target 10000) - PASS
Random write speed 4234 IOPS (target 500) - PASS
Random read speed 3715 IOPS (target 1500) - PASS
The hdparm result 22.88 MB/s shows that the interface is not running at 50 MHz. It would be very nice if the clock could be increased to 50 MHz for these kind of eMMC-modules to get the full performance of the interface.

lingon
Posts: 157
Joined: Fri Aug 26, 2011 7:31 am

Re: eMMC->micro SD adapter doesn't work on Raspberry Pi 4

Mon Apr 27, 2020 7:08 am

I tried also updating to pieeprom-2019-11-18.bin ("Enable HS_TIMING for EMMC cards") and pieeprom-2020-01-17.bin (""Fix SD card voltage detect + DHCP option 0 padding ), but that did not increase the reading speed. I also updated to the latest currently available beta pieeprom-2020-04-16.bin, but the reading speed did not change with that one either.
root@raspberrypi:~# rpi-eeprom-update
BCM2711 detected
BOOTLOADER: up-to-date
CURRENT: Thu 16 Apr 2020 05:11:26 PM UTC (1587057086)
LATEST: Tue 10 Sep 2019 10:41:50 AM UTC (1568112110)
FW DIR: /lib/firmware/raspberrypi/bootloader/critical
VL805: up-to-date
CURRENT: 000137ad
LATEST: 000137ad

root@raspberrypi:~# hdparm -tT /dev/mmcblk0p2

/dev/mmcblk0p2:
Timing cached reads: 1670 MB in 2.00 seconds = 835.30 MB/sec
HDIO_DRIVE_CMD(identify) failed: Invalid argument
Timing buffered disk reads: 70 MB in 3.05 seconds = 22.98 MB/sec

lingon
Posts: 157
Joined: Fri Aug 26, 2011 7:31 am

Re: eMMC->micro SD adapter doesn't work on Raspberry Pi 4

Wed Apr 29, 2020 6:47 pm

I tested the uSD-eMMC adapter with the 32 GB eMMC module in a Raspberry Pi A with 256 MB of RAM and it failed to boot.
The Raspberry Pi B with 512 MB of RAM, revision 000e is the one that I mentioned earlier in this thread wrongly as being of revision 2 that fails to boot.

But the eMMC module boots on a Raspberry Pi B with 256 MB of RAM, revision 0004! So there is a difference between the revisions of the Raspberry Pi 1 models concerning which ones will boot from the eMMC module and which ones will not.

It would be interesting to hear if others have tested eMMC modules with uSD-eMMC adapters and their experiences.

Return to “Troubleshooting”