Odroid C1+ with Hardkernel 8GB eMMC v0.3 can't boot

Not finding anything about these errors hope can help someone. Maybe experts can explain better.

Flashing image with:

sudo dd if='DietPi_v127_OdroidC1-armv7-(Jessie).img' of=/dev/sdb bs=1M conv=fsync

Get these errors:

Output of echo -e “p” | fdisk /dev/sdb

Welcome to fdisk (util-linux 2.27.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.


Comando (m per richiamare la guida): Disk /dev/sdb: 7,3 GiB, 7818182656 bytes, 15269888 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x000cde21

Dispositivo Avvio  Start   Fine Settori   Size Id Tipo
/dev/sdb1           3072 266239  263168 128,5M  6 FAT16
/dev/sdb2         266240 905215  638976   312M 83 Linux

Solved editing boot.ini with a simple #

#setenv disableuhs "disableuhs"

My eMMC

Hello guys I have the same problem, yet I am using normal SD card. Tried commenting the same line, didn´t work. I am real newbie so any help will be nice.

In my case boot from sd works without problems. Can you give more infos?

Got 32GB SC card, formatted (not quick format), flashed with win32diskimager. After that inserted into odroid and booted stuck on same sceen as above. Tried replaceing path too root in boot.ini with /dev/mmcblk0p2 booted but not a single instalation completed becouse of not enough space. I am guessing there is some problem with partitions right?

If you follow this https://dietpi.com/forum/t/getting-started-download-dietpi-image/24/1 step by step the installation must work, don’t need to modify partitions.

Did that and it doesnt work. When I change the partition, system boots but while updating headers are slow as hell ocasional failed to write to file. Then it eventually ends with simulation problem and abborts whole instalation.

Hi,

I’ve recreated and updated our C1 image to v139, please download this image and test again: http://dietpi.com/downloads/images/DietPi_OdroidC1-armv7-(Jessie).7z

If problems persist, please let us know:

  • PSU used

Hello unfortunattely I already installed debian on my C1, so I will try maybe later.

Hi,

Have installed this new version, no network and no space on device.



Any clues?

VS

Internet problem jsut solved with built in internet configuration changed to DHCP. I am stuck on same problem with storage tho, seems like it can´t do the resize at the begining or smthin. Any help?

Hi,

your partition table looks okay, please do a:

resize2fs /dev/mmcblk0p2

and when done:

reboot

Double check Fourdee new build Odroid C1 image DietPi v139 on a 32GB black EMMC. It works without any problem:

root@Odroid-C1:~# df -h
Dateisystem    Größe Benutzt Verf. Verw% Eingehängt auf
/dev/mmcblk0p2   29G    1,1G   28G    4% /
udev             10M       0   10M    0% /dev
tmpfs           161M    5,4M  156M    4% /run
tmpfs           403M       0  403M    0% /dev/shm
tmpfs           5,0M       0  5,0M    0% /run/lock
tmpfs           403M       0  403M    0% /sys/fs/cgroup
tmpfs            10M    1,2M  8,9M   12% /DietPi
tmpfs            20M     36K   20M    1% /var/log
tmpfs           403M       0  403M    0% /tmp
/dev/mmcblk0p1  129M     40M   90M   31% /boot



root@Odroid-C1:~# lsblk
NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
mmcblk0     179:0    0  29,1G  0 disk
├─mmcblk0p1 179:1    0 128,5M  0 part /boot
└─mmcblk0p2 179:2    0    29G  0 part /

BUT, as @alessandro.psrt have written before, it is very important, you have to edit, direct after writing image to EMMC, one line in boot.ini (comment out #):

#setenv disableuhs "disableuhs"

AND as well very important, like @Fourdee write before is a:

  • PSU with min. 2,5 A and min. 5,1 V under heavy load with a very good quality USB/Power cable.

Please don’t use any crappy China muck or Cellphone charger/cable.
With this stuff, you can’t do anything, except of making problems.

resize2fs /dev/mmcblk0p2

tells me that there is no space to expand it to since if you look on my photo after the botom command it looks like it is expanded yet it isnt and is full mmcblk0p2

Was poking a bit. Solved it for now:
deleted mmcblk0p2, created it again (with fdisk) just smaller, rebooted ran resize2fs /dev/mmcblk0p2 again rebooted and now it finally shows ok after df -h

This post refers to a specific model / models of eMMC. Probably also applies to other eMMC and SD card models. First do the necessary checks, for example, that the card is working properly and that the partitioning scheme is correct, as also suggested the power supply is important.

More infos from my experience:
Using gnome-disk-utility found model 008GE0 and serial number 0xa05b18ac.
It is a Toshiba discontinued eMMC, the same of some Lumia models smartphone.

Googling:

eMMC Device Information
Manufacturer ID: TOSHIBA
Device Type    : Embedded BGA
Application ID : 00
Product Name   : 008GE0
Product Rev    : 0.0
eMMC Access Type: SECTOR MODE
eMMC Supported Voltage Range:
3.5-3.6V, 3.4-3.5V, 3.3-3.4V, 3.2-3.3V, 3.1-3.2V
3.0-3.1V, 2.9-3.0V, 2.8-2.9V, 2.7-2.8V, 1.9-2.0V <--------- it seems that need at least 1.9V

I use an official hardkernel power supply for odroid c1+, 5V/2A, maybe with more power I can get better performance without editing boot.ini?
I found several posts stating that #setenv disableuhs “disableuhs” will impact on read / write performance, if someone can test if is true is welcome. Other on odroid here http://forum.odroid.com/viewtopic.php?f=115&t=7743.

From http://www.integralmemory.com/faq/what-uhs-1 and https://en.wikipedia.org/wiki/Secure_Digital#Ultra_High_Speed_.28UHS.29_bus:

What is UHS-1 ?
“UHS-1” or more accurately “UHS-I” stands for “Ultra High Speed” - 1 and is a speed class for SDHC and SXDC memory cards.
UHS-I has a bus interface speed of up to 104 MB/s.
An SDHC UHS-I card will work in any SDHC compatible device at lower speeds, but to take advantage of the UHS-I speed, a UHS-I compatible device is essential.
An SDXC UHS-I card will work in any SDXC compatible device at lower speeds, but to take advantage of the UHS-I speed, a UHS-I compatible device is essential.



UHS-I
Specified in SD version 3.01,[28] supports a clock frequency of 100 MHz (a quadrupling of the original “Default Speed”), which in four-bit transfer mode could transfer 50 MB/s (SDR50). UHS-I cards declared as UHS104 (SDR104) also support a clock frequency of 208 MHz, which could transfer 104 MB/s. Double data rate operation at 50 MHz (DDR50) is also specified in Version 3.01, and is mandatory for microSDHC and microSDXC cards labeled as UHS-I. In this mode, four bits are transferred when the clock signal rises and another four bits when it falls, transferring an entire byte on each full clock cycle, hence a 50 MB/s operation could be transferred using a 50 MHz clock.

Someone claims that after an ubuntu upgrade had to make this change. Everything suggests that something is not permitting the eMMC to work at maximum frequency / performance; kernel or specific config?

Hi,

So here we go.

Tested a Samsung 32GB eMMC Module with C1 (Module colour: Black)

http://www.hardkernel.com/main/products/prdt_info.php?g_code=G145627455789

with Disable UHS:

root@odroid-c1:~# cat /DietPi/boot.ini | grep disableuhs
setenv disableuhs "disableuhs"



root@odroid-c1:~# dmesg | grep emmc
[    3.483989] get property:                  pinname, str:emmc
[    3.491706] [is_emmc_exist] host->storage_flag=0, POR_BOOT_VALUE=1
[    3.551404] emmc: mmc_rescan_try_freq: trying to init card at 400000 Hz
[    3.554045] aml_emmc_hw_reset 1379
[    3.654286] emmc: BKOPS_EN bit is not set
[    3.678776] emmc: new HS200 MMC card at address 0001, clock 38636363, 8-bit-bus-width
[    3.687280] mmcblk0: emmc:0001 BGND3R 29.1 GiB

So, you can see, it is a:

Samsung e.MMC 4.51 HS200 with max. thoughput: 1.6 Gbps and mature interface by JEDEC

Samsung eMMC: Samsung Semiconductor Global Official Website | Samsung Semiconductor Global

JEDEC - Design Considerations of UFS & e.MMC Controllers: http://www.jedec.org/sites/default/files/files/Y_Chung_Mobile_Forum_May%202013.pdf


Result:

root@odroid-c1:~# dd if=/dev/zero of=test.tmp oflag=direct bs=500K count=1024
1024+0 records in
1024+0 records out
524288000 bytes (524 MB) copied, 30,0243 s, 17,5 MB/s

root@odroid-c1:~# dd if=test.tmp of=/dev/null iflag=direct bs=500K count=1024
1024+0 records in
1024+0 records out
524288000 bytes (524 MB) copied, 17.8664 s, 29.3 MB/s

29.3 MB/s - Read / 17,5 MB/s - Write / by Clock 38636363
170122-0002.gif

with Enable UHS:

root@odroid-c1:~# cat /DietPi/boot.ini | grep disableuhs
# setenv disableuhs "disableuhs"



root@odroid-c1:~# dmesg | grep emmc
[    3.516471] get property:                  pinname, str:emmc
[    3.524410] [is_emmc_exist] host->storage_flag=0, POR_BOOT_VALUE=1
[    3.581068] emmc: mmc_rescan_try_freq: trying to init card at 400000 Hz
[    3.589139] aml_emmc_hw_reset 1379
[    3.753926] emmc: BKOPS_EN bit is not set
[    3.780045] emmc: new HS200 MMC card at address 0001, clock 94444444, 8-bit-bus-width
[    3.785796] mmcblk0: emmc:0001 BGND3R 29.1 GiB

Result:

root@odroid-c1:~# dd if=/dev/zero of=test.tmp oflag=direct bs=500K count=1024
1024+0 records in
1024+0 records out
524288000 bytes (524 MB) copied, 17.4064 s, 30.1 MB/s


root@odroid-c1:~# dd if=test.tmp of=/dev/null iflag=direct bs=500K count=1024
1024+0 records in
1024+0 records out
524288000 bytes (524 MB) copied, 9.08441 s, 57.7 MB/s

57.7 MB/s - Read / 30.1 MB/s - Write / by Clock 94444444
170122-0001.gif
Conclusion:

  • The higher clock with enabled UHS by setting # setenv disableuhs “disableuhs” makes the different!

So eMMC get the promised performance by hardkernel :
170122-0003.gif
Because ODROID-C1 / C1+ / C0 host only supports eMMC version 4.5, results are much inferior to ODROID-C2 , which support JEDEC/eMMC version 5.0 : HS400 interface with the same Samsung eMMC module. (not tested yet)
170122-0005.gif
cu
k-plan

So I was confused, with #setenv disableuhs “disableuhs” you get better performance.
Here’s my results:

root@DietPi:/home/alessandro# dd if=/dev/zero of=test.tmp oflag=direct bs=500K count=1024
1024+0 record dentro
1024+0 record fuori
524288000 byte (524 MB) copiati, 45,8004 s, 11,4 MB/s
root@DietPi:/home/alessandro# dd if=test.tmp of=/dev/null iflag=direct bs=500K count=1024
1024+0 record dentro
1024+0 record fuori
524288000 byte (524 MB) copiati, 9,26713 s, 56,6 MB/s

Write speed is very low with my emmc.

Hi,

I have noticed, you will use a ODROID-C1+ with a 8GB eMMC from Toshiba (Module colour: RED)

http://www.hardkernel.com/main/products/prdt_info.php?g_code=G145628097465


Not a good combination with a ODROID-C1+ which will only host supports eMMC version 4.5 : HS200 … but it will work.

  • General 8GB eMMC are much slower when the other.

  • Toshiba 8 GB eMMC are half as fas as Samsung 8 GB eMMC , both with JEDEC/MMCA version 5.0 : HS400 interface with 8bit DDR mode.

  • Using in a ODROID-C1+, which only supports eMMC version 4.5 : HS200 will in addition cut in half the performance.


    If I have a look in Hardkernels eMMC wiki , I think 11,4 MB/s for a RED Toshiba 8 GB eMMC module with a ODROID-C1+ is okay.
    Best you can get out of this combination. The RED eMMC modules are be designed for Odroid XU4/XU3, but it will work as well in all Odroid devices. This is the great benefit of this eMMC modules.

http://odroid.com/dokuwiki/doku.php?id=en:emmc_reference_chart


cu
k-plan