Jump to content

Support for HS200 eMMC on RockPi4


jmphilippe

Recommended Posts

Hello,

 

I faced an issue some weeks ago with a brand new eMMC card on my RockPi 4A that is now solved. I succeeded in installing Armbian onto it from the running SD card but quickly found tons of error messages in syslog related to eMMC, of the following:

 

Mar  2 21:53:46 rockpi1 kernel: [ 2107.590024] mmc1: running CQE recovery
Mar  2 21:53:46 rockpi1 kernel: [ 2107.609557] mmc1: running CQE recovery
Mar  2 21:53:46 rockpi1 kernel: [ 2107.615886] mmc1: running CQE recovery
Mar  2 21:53:46 rockpi1 kernel: [ 2107.617068] blk_update_request: I/O error, dev mmcblk1, sector 17498312 op 0x1:(WRITE) flags 0x104000 p
hys_seg 17 prio class 0
Mar  2 21:53:46 rockpi1 kernel: [ 2107.913182] mmc1: running CQE recovery
Apr  6 15:55:26 rockpi1 kernel: [  990.351588] mmc1: running CQE recovery
Apr  6 15:55:26 rockpi1 kernel: [  990.354503] ------------[ cut here ]------------
Apr  6 15:55:26 rockpi1 kernel: [  990.354531] mmc1: cqhci: spurious TCN for tag 15
Apr  6 15:55:26 rockpi1 kernel: [  990.354658] WARNING: CPU: 0 PID: 304 at drivers/mmc/host/cqhci-core.c:787 cqhci_irq+0x4b4/0x640
Apr  6 15:55:26 rockpi1 kernel: [  990.354693] Modules linked in: sg cn snd_soc_audio_graph_card snd_soc_simple_card snd_soc_rockchip_i2s snd_soc_hdmi_codec snd_soc_es8316 snd_soc_rockchip_pcm snd_soc_simple_card_utils hantro_vpu(C) rockchip_vdec(C) rockchip_iep rockchip_rga v4l2_h264 videobuf2_dma_contig snd_soc_core snd_pcm_dmaengine v4l2_mem2mem videobuf2_dma_sg videobuf2_vmalloc videobuf2_memops snd_pcm videobuf2_v4l2 snd_timer snd videobuf2_common soundcore videodev mc cpufreq_dt iscsi_tcp libiscsi_tcp libiscsi scsi_transport_iscsi ip_tables x_tables autofs4 realtek panfrost gpu_sched dw_hdmi_cec dw_hdmi_i2s_audio dwmac_rk stmmac_platform stmmac pcs_xpcs
[…]
Mar 13 20:41:28 rockpi1 kernel: [118745.441944] blk_update_request: I/O error, dev mmcblk1, sector 1681408 op 0x1:(WRITE) flags 0x4800 phys_seg 8 prio class 0
Mar 13 20:41:28 rockpi1 kernel: [118745.449711] EXT4-fs warning (device mmcblk1p2): ext4_end_bio:348: I/O error 10 writing to inode 20 starting block 210432)
Mar 13 20:41:28 rockpi1 kernel: [118745.449862] Buffer I/O error on device mmcblk1p2, logical block 140544
Mar 13 20:41:28 rockpi1 kernel: [118745.449909] Buffer I/O error on device mmcblk1p2, logical block 140545

 

After some time, I finally figured out using the command “mmc extcsd read /dev/mmcblk1” that the eMMC card was not able to run in the HS400 mode but only in the older HS200 one. Unfortunately, the Armbian RockPi device tree configures the eMMC port as HS400 only, which is too fast and leads to I/O errors as soon as disk throughput is to high (I checked that with rsync and bandwidth limits). The solution that I found in a DietPi bug report consists in changing the device tree source file in the following way:

 

        #mmc-hs400-1_8v;
        #mmc-hs400-enhanced-strobe;
        mmc-hs200-1_8v;

 

As I also run an Odroid XU4 with Armbian, I told myself this could happen with it in the future but it seems its device tree is configured to avoid this issue:

# dtc -I dtb -O dts -f /boot/dtb/exynos5422-odroidxu4.dtb 2>/dev/null | grep mmc-hs
			mmc-hs200-1_8v;
			mmc-hs400-1_8v;

 

Unlike RockPi, both modes are specified in the shipping DTD. Also, despite I haven't tried to use an HS200 eMMC card onto my Odroid to be sure this works, I wonder why this would not be possible for RockPi cards to support both HS200 and HS400 as Odroid seems to do. Are there some restrictions in the hardware that would prevent specifying both HS200 and HA400 in its device tree?

 

JM.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines