superna9999 / meta-meson

Upstream Linux Amlogic Meson Yocto/OpenEmbedded Layer
https://github.com/superna9999/meta-meson/wiki
MIT License
105 stars 68 forks source link

eMMC error on Khadas VIM2 #58

Closed numbqq closed 5 years ago

numbqq commented 5 years ago

Hello Neil,

I use the patches from https://github.com/superna9999/meta-meson/tree/master/recipes-kernel/linux/linux-yocto-meson64-4.20, and run linux 4.20.3 on Khadas VIM2, but I found the eMMC not work?

root@Khadas:~# dmesg | grep mmc1
[    4.550534] mmc1: error -110 whilst initialising MMC card

Do you have this issue?

Thanks.

superna9999 commented 5 years ago

Hi!

Can you try this ?

https://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc.git/commit/?h=fixes&id=71e3e00c96efa851b2d5d3a3731711f9cc958b5b

If it works for you i’ll add it the patch list until it lands on the stable tree

numbqq commented 5 years ago

Hello Neil,

Seems I have no lucky, still not wrok with this patch, and new error occurred.

droot@Khadas:~# dmesg | grep mmc1
[    4.506212] mmc1: tuning execution failed: -5
[    4.506258] mmc1: error -5 whilst initialising MMC card
superna9999 commented 5 years ago

Can you try removing:

mmc-hs400-1_8v;

and

mmc-hs200-1_8v;

?

numbqq commented 5 years ago

Hello @superna9999 ,

When I remove mmc-hs400-1_8v; and mmc-hs200-1_8v;, the eMMC seems to be detected.

root@Khadas:~# dmesg | grep mmc1
[    4.685692] mmc1: new DDR MMC card at address 0001
[    4.689331] mmcblk1: mmc1:0001 CJNB4R 58.2 GiB 
[    4.693570] mmcblk1boot0: mmc1:0001 CJNB4R partition 1 4.00 MiB
[    4.699408] mmcblk1boot1: mmc1:0001 CJNB4R partition 2 4.00 MiB
[    4.704836] mmcblk1rpmb: mmc1:0001 CJNB4R partition 3 4.00 MiB, chardev (245:0)

But I can't operate on it, when I execute fdisk /dev/mmcblk1 I got some errors.


root@Khadas:~# dmesg | tail -n 25
[   93.658735] print_req_error: I/O error, dev mmcblk1, sector 0
[   93.662830] Buffer I/O error on dev mmcblk1, logical block 0, async page read
[   93.671399] print_req_error: I/O error, dev mmcblk1, sector 0
[   93.675583] Buffer I/O error on dev mmcblk1, logical block 0, async page read
[   93.685774] print_req_error: I/O error, dev mmcblk1, sector 0
[   93.688950] Buffer I/O error on dev mmcblk1, logical block 0, async page read
[   93.697417] print_req_error: I/O error, dev mmcblk1, sector 0
[   93.701713] Buffer I/O error on dev mmcblk1, logical block 0, async page read
[   93.708838]  mmcblk1: unable to read partition table
[   93.733383] print_req_error: I/O error, dev mmcblk1, sector 122142592
[   93.734787] print_req_error: I/O error, dev mmcblk1, sector 122142592
[   93.740597] Buffer I/O error on dev mmcblk1, logical block 15267824, async page read
[  227.949912] print_req_error: I/O error, dev mmcblk1, sector 0
[  227.955290] print_req_error: I/O error, dev mmcblk1, sector 0
[  227.959419] Buffer I/O error on dev mmcblk1, logical block 0, async page read
[  227.967973] print_req_error: I/O error, dev mmcblk1, sector 0
[  227.972189] Buffer I/O error on dev mmcblk1, logical block 0, async page read
[  227.981920] print_req_error: I/O error, dev mmcblk1, sector 0
[  227.985378] Buffer I/O error on dev mmcblk1, logical block 0, async page read
[  227.993934] print_req_error: I/O error, dev mmcblk1, sector 0
[  227.998161] Buffer I/O error on dev mmcblk1, logical block 0, async page read
[  228.005237]  mmcblk1: unable to read partition table
[  228.027150] print_req_error: I/O error, dev mmcblk1, sector 122142592
[  228.028651] print_req_error: I/O error, dev mmcblk1, sector 122142592
[  228.034350] Buffer I/O error on dev mmcblk1, logical block 15267824, async page read```
numbqq commented 5 years ago

Update:

When I remove patch https://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc.git/commit/?h=fixes&id=71e3e00c96efa851b2d5d3a3731711f9cc958b5b

it seems work for me.

superna9999 commented 5 years ago

Interesting thanks for testing

@jeromebrunet what do you think ?

jbrun3t commented 5 years ago

I think MMC is a pain :(

The patch mentioned is actually useful to some other devices, same for signal resampling. We can't just get rid of it. Unfortunately, when posted, there was an RFT on these patches but nobody cared at that time.

I guess we will have to revisit the MMC on as many devices as possible (including g12) but this will take time

superna9999 commented 5 years ago

@numbqq we are working to find an acceptable working state over different SoC generation...

dsir-minute commented 5 years ago

@superna9999 @numbqq : has something good enough happened regarding EMMC support in mainline kernel 5.0.4 and later versions ? thanks!

superna9999 commented 5 years ago

@numbqq did you try with recent Linux releases ? 5.2 and 5.3 should work fine now

numbqq commented 5 years ago

Hello Neil,

Yes, seems work fine with latest mainline kernel. Thanks.