12-11-2019, 02:00 AM
Hello
Are you sure the issue is your eMMC and not your rockpro64 ?
I have a new rockpro64 bought few days ago and the eMMC module never worked on it. In my case my eMMC was working fine on my pinebook pro and is still working fine when used with USB dongle.
with serial console I could see in uboot this error:
U-Boot 2019.10-1 (Oct 13 2019 - 15:52:24 +0000) Manjaro ARM
Model: Pine64 RockPro64
DRAM: 3.9 GiB
MMC: dwmmc@fe320000: 1, sdhci@fe330000: 0
Loading Environment from MMC... *** Warning - bad CRC, using default environment
In: serial@ff1a0000
Out: serial@ff1a0000
Err: serial@ff1a0000
Model: Pine64 RockPro64
rockchip_dnl_key_pressed: adc_channel_single_shot fail!
Net: eth0: ethernet@fe300000
it will load the kernel anyway, but will fail later when mounting eMMC root partition (to run /init):
16.956461] Run /init as init process
[ 16.972014] mmc1: mmc_select_hs400es failed, error -110
[ 16.972506] mmc1: error -110 whilst initialising MMC card
:: running early hook [udev]
Starting version 243.51-1-arch
:: running hook [udev]
:: Triggering uevents...
[ 17.095321] mmc1: mmc_select_hs400es failed, error -110
[ 17.095866] mmc1: error -110 whilst initialising MMC card
[ 17.219695] usb 4-1: New USB device found, idVendor=0dc6, idProduct=3401, bcdDevice= 1.03
[ 17.220420] usb 4-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 17.221052] usb 4-1: Product: SCISSORS Keyboard
[ 17.221451] usb 4-1: Manufacturer:
[ 17.230717] input: SCISSORS Keyboard as /devices/platform/fe3e0000.usb/usb4/4-1/4-1:1.0/0003:0DC6:3401.0001/input/input0
[ 17.262923] mmc1: mmc_select_hs400es failed, error -110
[ 17.263409] mmc1: error -110 whilst initialising MMC card
[ 17.296559] hid-generic 0003:0DC6:3401.0001: input,hidraw0: USB HID v1.00 Keyboard [ SCISSORS Keyboard] on usb-fe3e0000.usb-1/input0
Waiting 10 seconds for device /dev/disk/by-partuuid/5b716fc0-01 ...
[ 22.955960] phy phy-ff770000.syscon:usb2-phy@e450.2: charger = USB_DCP_CHARGER
ERROR: device 'PARTUUID=5b716fc0-01' not found. Skipping fsck.
:: mounting 'PARTUUID=5b716fc0-01' on real root
mount: /new_root: can't find PARTUUID=5b716fc0-01.
You are now being dropped into an emergency shell.
sh: can't access tty; job control turned off
[rootfs ]# [ 107.365828] random: crng init done
So to me it seems more an issue on the board.
Note: if you dont have serial console, then you can insert both sd card and eMMC module, you will be able to boot via SD card and you can see in dmesg the same error I got when the mmc block driver is trying to use eMMC module.
in bash you will also see no /dev/mmc
# ls /dev/mmc*
/dev/mmcblk0 /dev/mmcblk0p1
On linux driver the issue happens in mmc.c:
err = mmc_switch_status(card);
if (err)
goto out_err;
Inside mmc_switch_status the error is inside this function
int __mmc_send_status(struct mmc_card *card, u32 *status, unsigned int retries)
{
int err;
struct mmc_command cmd = {};
cmd.opcode = MMC_SEND_STATUS;
if (!mmc_host_is_spi(card->host))
cmd.arg = card->rca << 16;
cmd.flags = MMC_RSP_SPI_R2 | MMC_RSP_R1 | MMC_CMD_AC;
err = mmc_wait_for_cmd(card->host, &cmd, retries);
if (err)
return err;
/* NOTE: callers are required to understand the difference
* between "native" and SPI format status words!
*/
if (status)
*status = cmd.resp[0];
return 0;
}
We basically send a command to eMMC module bu get no response back (that's why we got error -110 which is a timeout error).
So that's why I would be very interested to know if you have the same error.
If you can check it will be great.
Maybe I will buy the cheapest eMMC module from pine store, and I will try that to be 100% sure that the issue is not on my eMMC
Are you sure the issue is your eMMC and not your rockpro64 ?
I have a new rockpro64 bought few days ago and the eMMC module never worked on it. In my case my eMMC was working fine on my pinebook pro and is still working fine when used with USB dongle.
with serial console I could see in uboot this error:
U-Boot 2019.10-1 (Oct 13 2019 - 15:52:24 +0000) Manjaro ARM
Model: Pine64 RockPro64
DRAM: 3.9 GiB
MMC: dwmmc@fe320000: 1, sdhci@fe330000: 0
Loading Environment from MMC... *** Warning - bad CRC, using default environment
In: serial@ff1a0000
Out: serial@ff1a0000
Err: serial@ff1a0000
Model: Pine64 RockPro64
rockchip_dnl_key_pressed: adc_channel_single_shot fail!
Net: eth0: ethernet@fe300000
it will load the kernel anyway, but will fail later when mounting eMMC root partition (to run /init):
16.956461] Run /init as init process
[ 16.972014] mmc1: mmc_select_hs400es failed, error -110
[ 16.972506] mmc1: error -110 whilst initialising MMC card
:: running early hook [udev]
Starting version 243.51-1-arch
:: running hook [udev]
:: Triggering uevents...
[ 17.095321] mmc1: mmc_select_hs400es failed, error -110
[ 17.095866] mmc1: error -110 whilst initialising MMC card
[ 17.219695] usb 4-1: New USB device found, idVendor=0dc6, idProduct=3401, bcdDevice= 1.03
[ 17.220420] usb 4-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 17.221052] usb 4-1: Product: SCISSORS Keyboard
[ 17.221451] usb 4-1: Manufacturer:
[ 17.230717] input: SCISSORS Keyboard as /devices/platform/fe3e0000.usb/usb4/4-1/4-1:1.0/0003:0DC6:3401.0001/input/input0
[ 17.262923] mmc1: mmc_select_hs400es failed, error -110
[ 17.263409] mmc1: error -110 whilst initialising MMC card
[ 17.296559] hid-generic 0003:0DC6:3401.0001: input,hidraw0: USB HID v1.00 Keyboard [ SCISSORS Keyboard] on usb-fe3e0000.usb-1/input0
Waiting 10 seconds for device /dev/disk/by-partuuid/5b716fc0-01 ...
[ 22.955960] phy phy-ff770000.syscon:usb2-phy@e450.2: charger = USB_DCP_CHARGER
ERROR: device 'PARTUUID=5b716fc0-01' not found. Skipping fsck.
:: mounting 'PARTUUID=5b716fc0-01' on real root
mount: /new_root: can't find PARTUUID=5b716fc0-01.
You are now being dropped into an emergency shell.
sh: can't access tty; job control turned off
[rootfs ]# [ 107.365828] random: crng init done
So to me it seems more an issue on the board.
Note: if you dont have serial console, then you can insert both sd card and eMMC module, you will be able to boot via SD card and you can see in dmesg the same error I got when the mmc block driver is trying to use eMMC module.
in bash you will also see no /dev/mmc
# ls /dev/mmc*
/dev/mmcblk0 /dev/mmcblk0p1
On linux driver the issue happens in mmc.c:
err = mmc_switch_status(card);
if (err)
goto out_err;
Inside mmc_switch_status the error is inside this function
int __mmc_send_status(struct mmc_card *card, u32 *status, unsigned int retries)
{
int err;
struct mmc_command cmd = {};
cmd.opcode = MMC_SEND_STATUS;
if (!mmc_host_is_spi(card->host))
cmd.arg = card->rca << 16;
cmd.flags = MMC_RSP_SPI_R2 | MMC_RSP_R1 | MMC_CMD_AC;
err = mmc_wait_for_cmd(card->host, &cmd, retries);
if (err)
return err;
/* NOTE: callers are required to understand the difference
* between "native" and SPI format status words!
*/
if (status)
*status = cmd.resp[0];
return 0;
}
We basically send a command to eMMC module bu get no response back (that's why we got error -110 which is a timeout error).
So that's why I would be very interested to know if you have the same error.
If you can check it will be great.
Maybe I will buy the cheapest eMMC module from pine store, and I will try that to be 100% sure that the issue is not on my eMMC