Jump to content

Odroid HC1 does not boot


belegdol

Recommended Posts

Hello,

I suffered a power outage and my odroid hc1 won't boot since. I also updated the kernel to 4.14.141 but the system did come back up after reboot to that kernel, it is just the power outage which seems to have caused problems.

I have tried connecting the sd card and the to the laptop and ran fsck on them, no issues were found.

Is there a way to debug the booting issues by say, forcing some sort of log to be writen to sd card? LED wise, red (power) LED is on, whereas green (SATA) and blue (system) seem to turn on and off repeatedly; green first, blue second, and then they both turn off at the same time. Thanks!

Link to comment
Share on other sites

On 9/1/2019 at 3:34 PM, Igor said:


Where did you get that kernel?

From my own pull request... As mentioned the system rebooted into the kernel once and I am also running off SD card and not eMMC which means I should at least in theory not be affected by [1]. In any case, I have now ordered the USB-UART connector so I am hoping it will at least become clear what broke, and with a bit of luck, a fix will be possible.

 

[1] https://forum.odroid.com/viewtopic.php?f=95&t=36234&sid=6447d88bb160abecc1da044638039211

Link to comment
Share on other sites

51 minutes ago, belegdol said:

As mentioned the system rebooted into the kernel once and I am also running off SD card and not eMMC which means I should at least in theory not be affected by [1]. In any case


Strange. I noticed this problem on XU4 but then after this fix was done ... my XU4 doesn't work any more. It died - there is just a clicking sound coming from PCB.

 

I pushed out an update, which works on HC1 and I guess it should be o.k. now, according to odroid forums.

Link to comment
Share on other sites

8 minutes ago, Igor said:


Strange. I noticed this problem on XU4 but then after this fix was done ... my XU4 doesn't work any more. It died - there is just a clicking sound coming from PCB.

 

I pushed out an update, which works on HC1 and I guess it should be o.k. now, according to odroid forums.

Sorry to hear this... I am hoping this is a coincidence and not bad kernel frying the boards... The USB-UART dongle should arrive tomorrow, I will be sure to report the findings here.

Link to comment
Share on other sites

The UART bridge has arrived and the good news is that it is producing output. THe bad news is that I am not sure what to make of it:

U-Boot 2017.05-armbian (Sep 19 2018 - 12:42:38 +0200) for ODROID-XU4

CPU:   Exynos5422 @ 800 MHz
Model: Odroid XU4 based on EXYNOS5422
Board: Odroid XU4 based on EXYNOS5422
Type:  xu4
DRAM:  2 GiB
MMC:   EXYNOS DWMMC: 0, EXYNOS DWMMC: 1
MMC Device 0 ( SD ): 14.8 GiB
Card did not respond to voltage select!
mmc_init: -95, time 11
*** Warning - bad CRC, using default environment

In:    serial
Out:   serial
Err:   serial
Net:   No ethernet found.
Press quickly 'Enter' twice to stop autoboot:  0 
** Unrecognized filesystem type **
12489 bytes read in 18 ms (676.8 KiB/s)
cfgload addr = 0x50000000, Loading boot.ini from ext4 0:1 /boot.ini
cfgload: applying boot.ini...
cfgload: setenv initrd_high "0xffffffff"
cfgload: setenv fdt_high "0xffffffff"
cfgload: setenv macaddr "00:1e:06:61:7a:55"
cfgload: setenv rootdev "UUID=d0da7bbe-e3af-4588-8715-aa5c4478eb88"
cfgload: setenv rootfstype "btrfs"
cfgload: setenv console "both"
cfgload: setenv verbosity "1"
cfgload: if ext4load mmc 0:1 0x44000000 /boot/armbianEnv.txt || fatload mmc 0:1 0x44000000 armbianEnv.txt || ext4load mmc 0:1 0x440i
** File not found /boot/armbianEnv.txt **
** Unrecognized filesystem type **
94 bytes read in 21 ms (3.9 KiB/s)
cfgload: if test "${console}" = "display" || test "${console}" = "both"; then setenv consoleargs "console=tty1"; fi
cfgload: if test "${console}" = "serial" || test "${console}" = "both"; then setenv consoleargs "${consoleargs} console=ttySAC2,115i
cfgload: setenv bootrootfs "${consoleargs} consoleblank=0 loglevel=${verbosity} panic=10 root=${rootdev} rootfstype=${rootfstype} r"
cfgload: setenv vout "hdmi"
cfgload: setenv cecenable "false" # false or true
cfgload: setenv governor "performance"
cfgload: setenv ddr_freq 825
cfgload: setenv HPD "true"
cfgload: setenv hdmi_tx_amp_lvl  "31"
cfgload: setenv hdmi_tx_lvl_ch0      "3"
cfgload: setenv hdmi_tx_lvl_ch1      "3"
cfgload: setenv hdmi_tx_lvl_ch2      "3"
cfgload: setenv hdmi_tx_emp_lvl      "6"
cfgload: setenv hdmi_clk_amp_lvl     "31"
cfgload: setenv hdmi_tx_res      "0"
cfgload: setenv hdmi_phy_control "hdmi_tx_amp_lvl=${hdmi_tx_amp_lvl} hdmi_tx_lvl_ch0=${hdmi_tx_lvl_ch0} hdmi_tx_lvl_ch1=${hdmi_tx_l"
cfgload: ext4load mmc 0:1 0x40008000 /boot/zImage || fatload mmc 0:1 0x40008000 zImage || ext4load mmc 0:1 0x40008000 zImage
** File not found /boot/zImage **
** Unrecognized filesystem type **
5734040 bytes read in 587 ms (9.3 MiB/s)
cfgload: ext4load mmc 0:1 0x42000000 /boot/uInitrd || fatload mmc 0:1 0x42000000 uInitrd || ext4load mmc 0:1 0x42000000 uInitrd
** File not found /boot/uInitrd **
** Unrecognized filesystem type **
6308430 bytes read in 633 ms (9.5 MiB/s)
cfgload: if test "${board_name}" = "xu4"; then setenv fdtfile "exynos5422-odroidxu4.dtb"; fi
cfgload: if test "${board_name}" = "xu3"; then setenv fdtfile "exynos5422-odroidxu3.dtb"; fi
cfgload: if test "${board_name}" = "xu3l"; then setenv fdtfile "exynos5422-odroidxu3-lite.dtb"; fi
cfgload: if test "${board_name}" = "hc1"; then setenv fdtfile "exynos5422-odroidhc1.dtb"; fi
cfgload: if ext4load mmc 0:1 0x00000000 "/boot/.next" || fatload mmc 0:1 0x00000000 ".next"  || ext4load mmc 0:1 0x00000000 ".next"i
** File not found /boot/.next **
** Unrecognized filesystem type **
0 bytes read in 10 ms (0 Bytes/s)
Found mainline kernel configuration
cfgload: ext4load mmc 0:1 0x44000000 /boot/dtb/${fdtfile} || fatload mmc 0:1 0x44000000 dtb/${fdtfile} || ext4load mmc 0:1 0x440000}
** File not found /boot/dtb/exynos5422-odroidhc1.dtb **
** Unrecognized filesystem type **
56387 bytes read in 48 ms (1.1 MiB/s)
cfgload: fdt addr 0x44000000
cfgload: if test "${cecenable}" = "false"; then fdt rm /cec@101B0000; fi
libfdt fdt_path_offset() returned FDT_ERR_NOTFOUND
cfgload: setenv bootargs "${bootrootfs} ${videoconfig} smsc95xx.macaddr=${macaddr} governor=${governor} ${hdmi_phy_control} usb-sto"
cfgload: dmc ${ddr_freq}
cfgload: bootz 0x40008000 0x42000000 0x44000000
Kernel image @ 0x40008000 [ 0x000000 - 0x577e98 ]
## Loading init Ramdisk from Legacy Image at 42000000 ...
   Image Name:   uInitrd
   Image Type:   ARM Linux RAMDisk Image (gzip compressed)
   Data Size:    6308366 Bytes = 6 MiB
   Load Address: 00000000
   Entry Point:  00000000
   Verifying Checksum ... OK
## Flattened Device Tree blob at 44000000
   Booting using the fdt blob at 0x44000000
   Using Device Tree in place at 44000000, end 44010c42

Starting kernel ...

and then the cycle repeats itself. I will keep investigating.

Link to comment
Share on other sites

If I stop the boot by tapping enter twice, I can get to the shell. The board sees the sdcard at least:

Exynos5422 # fdisk -p 0

partion #    size(MB)     block start #    block count    partition_Id 
   1            64             8192          131072          0x83 
   2          7500           139264        15360737          0x83 
   3          7473         15500001        15305119          0x83 

 

Link to comment
Share on other sites

Hello,

 

i am having also boot issues similar as @belegdol. My HC1 is stuck in a bootloop. I have tried multiple images but its always the same outcome: It never passes "Starting kernel...". Any help is appreciated! 

 

U-Boot 2017.05-armbian (Oct 01 2019 - 21:33:07 +0200) for ODROID-XU4            
                                                                                
CPU:   Exynos5422 @ 800 MHz                                                     
Model: Odroid XU4 based on EXYNOS5422                                           
Board: Odroid XU4 based on EXYNOS5422                                           
Type:  xu4                                                                      
DRAM:  2 GiB                                                                    
MMC:   EXYNOS DWMMC: 0, EXYNOS DWMMC: 1                                         
MMC Device 0 ( SD ): 14.8 GiB                                                   
Card did not respond to voltage select!                                         
mmc_init: -95, time 12                                                          
*** Warning - bad CRC, using default environment                                
                                                                                
In:    serial                                                                   
Out:   serial                                                                   
Err:   serial                                                                   
Net:   No ethernet found.                                                       
Press quickly 'Enter' twice to stop autoboot:  0                                
** Unrecognized filesystem type **                                              
** File not found /boot.ini **                                                  
12488 bytes read in 21 ms (580.1 KiB/s)                                         
cfgload addr = 0x50000000, Loading boot.ini from ext4 0:1 /boot/boot.ini        
cfgload: applying boot.ini...                                                   
cfgload: setenv initrd_high "0xffffffff"                                        
cfgload: setenv fdt_high "0xffffffff"                                           
cfgload: setenv macaddr "00:1e:06:61:7a:55"                                     
cfgload: setenv rootdev "UUID=98622917-68a5-49ec-81d1-d61813cef122"             
cfgload: setenv rootfstype "ext4"                                               
cfgload: setenv console "both"                                                  
cfgload: setenv verbosity "1"                                                   
cfgload: if ext4load mmc 0:1 0x44000000 /boot/armbianEnv.txt || fatload mmc 0:1i
** File not found /boot/armbianEnv.txt **                                       
** Unrecognized filesystem type **                                              
** File not found armbianEnv.txt **                                             
cfgload: if test "${console}" = "display" || test "${console}" = "both"; then si
cfgload: if test "${console}" = "serial" || test "${console}" = "both"; then sei
cfgload: setenv bootrootfs "${consoleargs} consoleblank=0 loglevel=${verbosity}"
cfgload: setenv vout "hdmi"                                                     
cfgload: setenv cecenable "false" # false or true                               
cfgload: setenv governor "performance"                                          
cfgload: setenv ddr_freq 825                                                    
cfgload: setenv HPD "true"                                                      
cfgload: setenv hdmi_tx_amp_lvl  "31"                                           
cfgload: setenv hdmi_tx_lvl_ch0      "3"                                        
cfgload: setenv hdmi_tx_lvl_ch1      "3"                                        
cfgload: setenv hdmi_tx_lvl_ch2      "3"                                        
cfgload: setenv hdmi_tx_emp_lvl      "6"                                        
cfgload: setenv hdmi_clk_amp_lvl     "31"                                       
cfgload: setenv hdmi_tx_res      "0"                                            
cfgload: setenv hdmi_phy_control "hdmi_tx_amp_lvl=${hdmi_tx_amp_lvl} hdmi_tx_lv"
cfgload: ext4load mmc 0:1 0x40008000 /boot/zImage || fatload mmc 0:1 0x40008000e
5732768 bytes read in 583 ms (9.4 MiB/s)                                        
cfgload: ext4load mmc 0:1 0x42000000 /boot/uInitrd || fatload mmc 0:1 0x4200000d
5842674 bytes read in 582 ms (9.6 MiB/s)                                        
cfgload: if test "${board_name}" = "xu4"; then setenv fdtfile "exynos5422-odroii
cfgload: if test "${board_name}" = "xu3"; then setenv fdtfile "exynos5422-odroii
cfgload: if test "${board_name}" = "xu3l"; then setenv fdtfile "exynos5422-odroi
cfgload: if test "${board_name}" = "hc1"; then setenv fdtfile "exynos5422-odroii
cfgload: if ext4load mmc 0:1 0x00000000 "/boot/.next" || fatload mmc 0:1 0x0000i
0 bytes read in 17 ms (0 Bytes/s)                                               
Found mainline kernel configuration                                             
cfgload: ext4load mmc 0:1 0x44000000 /boot/dtb/${fdtfile} || fatload mmc 0:1 0x}
63484 bytes read in 50 ms (1.2 MiB/s)                                           
cfgload: fdt addr 0x44000000                                                    
cfgload: if test "${cecenable}" = "false"; then fdt rm /cec@101B0000; fi        
libfdt fdt_path_offset() returned FDT_ERR_NOTFOUND                              
cfgload: setenv bootargs "${bootrootfs} ${videoconfig} smsc95xx.macaddr=${macad"
cfgload: dmc ${ddr_freq}                                                        
cfgload: bootz 0x40008000 0x42000000 0x44000000                                 
Kernel image @ 0x40008000 [ 0x000000 - 0x5779a0 ]                               
## Loading init Ramdisk from Legacy Image at 42000000 ...                       
   Image Name:   uInitrd                                                        
   Image Type:   ARM Linux RAMDisk Image (gzip compressed)                      
   Data Size:    5842610 Bytes = 5.6 MiB                                        
   Load Address: 00000000                                                       
   Entry Point:  00000000                                                       
   Verifying Checksum ... OK                                                    
## Flattened Device Tree blob at 44000000                                       
   Booting using the fdt blob at 0x44000000                                     
   Using Device Tree in place at 44000000, end 440127fb                         
                                                                                
Starting kernel ... 

 

Link to comment
Share on other sites

So I just tried another card, wich is successfully used in a raspberry pi, with the same result:

U-Boot 2017.05-armbian (Oct 01 2019 - 21:33:07 +0200) for ODROID-XU4

CPU:   Exynos5422 @ 800 MHz
Model: Odroid XU4 based on EXYNOS5422
Board: Odroid XU4 based on EXYNOS5422
Type:  xu4
DRAM:  2 GiB
MMC:   EXYNOS DWMMC: 0, EXYNOS DWMMC: 1
MMC Device 0 ( SD ): 7.4 GiB
Card did not respond to voltage select!
mmc_init: -95, time 12
*** Warning - bad CRC, using default environment

In:    serial
Out:   serial
Err:   serial
Net:   No ethernet found.
Press quickly 'Enter' twice to stop autoboot:  0 
** Unrecognized filesystem type **
** File not found /boot.ini **
12488 bytes read in 22 ms (553.7 KiB/s)
cfgload addr = 0x50000000, Loading boot.ini from ext4 0:1 /boot/boot.ini
cfgload: applying boot.ini...
cfgload: setenv initrd_high "0xffffffff"
cfgload: setenv fdt_high "0xffffffff"
cfgload: setenv macaddr "00:1e:06:61:7a:55"
cfgload: setenv rootdev "UUID=6418f57a-48d6-474d-9d32-48434f7cd89d"
cfgload: setenv rootfstype "ext4"
cfgload: setenv console "both"
cfgload: setenv verbosity "1"
cfgload: if ext4load mmc 0:1 0x44000000 /boot/armbianEnv.txt || fatload mmc 0:1 0x44000000 armbianEnv.txt || ext4load mmc 0:1 0x44000000 armbianEnv.txt; then env importi
** File not found /boot/armbianEnv.txt **
** Unrecognized filesystem type **
** File not found armbianEnv.txt **
cfgload: if test "${console}" = "display" || test "${console}" = "both"; then setenv consoleargs "console=tty1"; fi
cfgload: if test "${console}" = "serial" || test "${console}" = "both"; then setenv consoleargs "console=ttySAC2,115200n8 ${consoleargs}"; fi
cfgload: setenv bootrootfs "${consoleargs} consoleblank=0 loglevel=${verbosity} panic=10 root=${rootdev} rootfstype=${rootfstype} rootwait rw"
cfgload: setenv vout "hdmi"
cfgload: setenv cecenable "false" # false or true
cfgload: setenv governor "performance"
cfgload: setenv ddr_freq 825
cfgload: setenv HPD "true"
cfgload: setenv hdmi_tx_amp_lvl  "31"
cfgload: setenv hdmi_tx_lvl_ch0      "3"
cfgload: setenv hdmi_tx_lvl_ch1      "3"
cfgload: setenv hdmi_tx_lvl_ch2      "3"
cfgload: setenv hdmi_tx_emp_lvl      "6"
cfgload: setenv hdmi_clk_amp_lvl     "31"
cfgload: setenv hdmi_tx_res      "0"
cfgload: setenv hdmi_phy_control "hdmi_tx_amp_lvl=${hdmi_tx_amp_lvl} hdmi_tx_lvl_ch0=${hdmi_tx_lvl_ch0} hdmi_tx_lvl_ch1=${hdmi_tx_lvl_ch1} hdmi_tx_lvl_ch2=${hdmi_tx_lvl"
cfgload: ext4load mmc 0:1 0x40008000 /boot/zImage || fatload mmc 0:1 0x40008000 zImage || ext4load mmc 0:1 0x40008000 zImage
5732768 bytes read in 470 ms (11.6 MiB/s)
cfgload: ext4load mmc 0:1 0x42000000 /boot/uInitrd || fatload mmc 0:1 0x42000000 uInitrd || ext4load mmc 0:1 0x42000000 uInitrd
5063530 bytes read in 417 ms (11.6 MiB/s)
cfgload: if test "${board_name}" = "xu4"; then setenv fdtfile "exynos5422-odroidxu4.dtb"; fi
cfgload: if test "${board_name}" = "xu3"; then setenv fdtfile "exynos5422-odroidxu3.dtb"; fi
cfgload: if test "${board_name}" = "xu3l"; then setenv fdtfile "exynos5422-odroidxu3-lite.dtb"; fi
cfgload: if test "${board_name}" = "hc1"; then setenv fdtfile "exynos5422-odroidhc1.dtb"; fi
cfgload: if ext4load mmc 0:1 0x00000000 "/boot/.next" || fatload mmc 0:1 0x00000000 ".next"  || ext4load mmc 0:1 0x00000000 ".next"; then echo "Found mainline kernel coi
0 bytes read in 19 ms (0 Bytes/s)
Found mainline kernel configuration
cfgload: ext4load mmc 0:1 0x44000000 /boot/dtb/${fdtfile} || fatload mmc 0:1 0x44000000 dtb/${fdtfile} || ext4load mmc 0:1 0x44000000 dtb/${fdtfile}
63484 bytes read in 71 ms (873 KiB/s)
cfgload: fdt addr 0x44000000
cfgload: if test "${cecenable}" = "false"; then fdt rm /cec@101B0000; fi
libfdt fdt_path_offset() returned FDT_ERR_NOTFOUND
cfgload: setenv bootargs "${bootrootfs} ${videoconfig} smsc95xx.macaddr=${macaddr} governor=${governor} ${hdmi_phy_control} usb-storage.quirks=${usbstoragequirks} ${ext"
cfgload: dmc ${ddr_freq}
cfgload: bootz 0x40008000 0x42000000 0x44000000
Kernel image @ 0x40008000 [ 0x000000 - 0x5779a0 ]
## Loading init Ramdisk from Legacy Image at 42000000 ...
   Image Name:   uInitrd
   Image Type:   ARM Linux RAMDisk Image (gzip compressed)
   Data Size:    5063466 Bytes = 4.8 MiB
   Load Address: 00000000
   Entry Point:  00000000
   Verifying Checksum ... OK
## Flattened Device Tree blob at 44000000
   Booting using the fdt blob at 0x44000000
   Using Device Tree in place at 44000000, end 440127fb

Starting kernel ...

The device tries to boot, but after a couple of seconds it restarts and tries again. Somehow it cant start the kernel. Any ideas?

Link to comment
Share on other sites

2 hours ago, opit said:

Unfortunately it does not work. I suspect  the SD-Card connector is damaged. Is there a way to tell uboot over UART to boot from a USB or the HDD?

 

No, not possible.

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines