Lycurgus Posted April 25, 2017 Posted April 25, 2017 When I changed some settings to my network config, my Odroid doesn't boot anymore. Even changing the settings back doesn't make it boot again. Has anyone had this happen before? I hooked up my UART and this is the result, it never proceeds with starting the kernel (see spoiler below) Spoiler --- UART initialized after reboot --- [Reset cause: unknown] [Image: unknown, amlogic_v1.1.3046-00db630-dirty 2016-08-31 09:24:14 tao.zeng@droid04] bl30: check_permit, count is 1 bl30: check_permit: ok! chipid: ef be ad de d f0 ad ba ef be adLoad bl33 from SD, src: 0x00034200, des: 0x01000000, size: 0x00068270 de not ES chip [0.384077 Inits done] secure task start! high task start! low task start! NOTICE: BL3-1: v1.0(debug):4d2e34d NOTICE: BL3-1: Built : 17:08:35, Oct 29 2015 INFO: BL3-1: Initializing runtime services INFO: BL3-1: Preparing for EL3 exit to normal world INFO: BL3-1: Next image address = 0x1000000 INFO: BL3-1: Next image spsr = 0x3c9 U-Boot 2015.01 (Feb 01 2017 - 22:27:26) DRAM: 2 GiB Relocation Offset is: 76f3e000 ------------------------------------------------- * Welcome to Hardkernel's ODROID-C2 ------------------------------------------------- CPU : AMLogic S905 S/N : HKC213254DFDCBF6 MAC : 00:1e:06:34:18:76 BID : HKC2211702 ------------------------------------------------- register usb cfg[1][0] = 0000000077f97508 register usb cfg[0][1] = 0000000077f97530 vpu detect type: 5 vpu clk_level = 7 set vpu clk: 666667000Hz, readback: 666660000Hz(0x300) MMC: aml_priv->desc_buf = 0x0000000073f36d30 aml_priv->desc_buf = 0x0000000073f38ec0 SDIO Port B: 0, SDIO Port C: 1 ret = 1 .[mmc_init] mmc init success In: serial Out: serial Err: serial ---------------------------------- MMC Size : 16 GB ---------------------------------- ** Unrecognized filesystem type ** ** Unrecognized filesystem type ** movi: the partiton 'logo' is reading... MMC read: dev # 0, block # 61024, count 2048 ... 2048 blocks read: OK hpd_state=1 [CANVAS]addr=0x3f800000 width=3840, height=1440 set hdmitx VIC = 16 hdmitx phy setting done set hdmitx VIC = 16 hdmitx phy setting done Error: Bad gzipped data There is no valid bmp file at the given address Net: Meson_Ethernet Hit [Enter] key twice to stop autoboot: 0 4887 bytes read in 8 ms (595.7 KiB/s) cfgload: applying boot.ini... cfgload: setenv rootdev "/dev/mmcblk0p1" cfgload: setenv m "1080p60hz" # Progressive 60Hz cfgload: cfgload: setenv cec "cecf" cfgload: setenv m_bpp "24" cfgload: setenv mesontimer "0" cfgload: setenv nographics "0" cfgload: setenv maxcpus "4" cfgload: setenv max_freq "1536" # 1.536GHz cfgload: setenv condev "console=ttyS0,115200n8 console=tty0 consoleblank=0" # on both cfgload: setenv verbosity "1" cfgload: setenv bootargs "root=${rootdev} rootwait rootflags=data=writeback rw ${condev} no_console_suspend hdmimode=${m} m_bpp=${m_bpp} vout=${vout} fsck.repair=yes loglevel=${verbosity} net.ifnames=0 ${extraargs}" cfgload: setenv loadaddr "0x11000000" cfgload: setenv dtb_loadaddr "0x1000000" cfgload: setenv initrd_loadaddr "0x13000000" cfgload: ext4load mmc 0:1 ${initrd_loadaddr} /boot/uInitrd || fatload mmc 0:1 ${initrd_loadaddr} uInitrd || ext4load mmc 0:1 ${initrd_loadaddr} uInitrd 5318505 bytes read in 247 ms (20.5 MiB/s) cfgload: ext4load mmc 0:1 ${loadaddr} /boot/zImage || fatload mmc 0:1 ${loadaddr} zImage || ext4load mmc 0:1 ${loadaddr} zImage 13038088 bytes read in 588 ms (21.1 MiB/s) cfgload: ext4load mmc 0:1 ${dtb_loadaddr} /boot/dtb/meson64_odroidc2.dtb || fatload mmc 0:1 ${dtb_loadaddr} dtb/meson64_odroidc2.dtb || ext4load mmc 0:1 ${dtb_loadaddr} dtb/meson64_odroidc2.dtb 29264 bytes read in 13 ms (2.1 MiB/s) cfgload: fdt addr ${dtb_loadaddr} cfgload: if test "${mesontimer}" = "0"; then fdt rm /meson_timer; fdt rm /cpus/cpu@0/timer; fdt rm /cpus/cpu@1/timer; fdt rm /cpus/cpu@2/timer; fdt rm /cpus/cpu@3/timer; fi libfdt fdt_path_offset() returned FDT_ERR_NOTFOUND libfdt fdt_path_offset() returned FDT_ERR_NOTFOUND libfdt fdt_path_offset() returned FDT_ERR_NOTFOUND libfdt fdt_path_offset() returned FDT_ERR_NOTFOUND cfgload: if test "${mesontimer}" = "1"; then fdt rm /timer; fi cfgload: if test "${nographics}" = "1"; then fdt rm /meson-fb; fdt rm /amhdmitx; fdt rm /picdec; fdt rm /ppmgr; fdt rm /meson-vout; fdt rm /mesonstream; fdt rm /deinterlace; fdt rm /codec_mm; fdt rm /reserved-memory; fdt rm /aocec; fi cfgload: booti ${loadaddr} ${initrd_loadaddr} ${dtb_loadaddr} ## Loading init Ramdisk from Legacy Image at 13000000 ... Image Name: uInitrd Image Type: AArch64 Linux RAMDisk Image (gzip compressed) Data Size: 5318441 Bytes = 5.1 MiB Load Address: 00000000 Entry Point: 00000000 Verifying Checksum ... OK load dtb from 0x1000000 ...... ## Flattened Device Tree blob at 01000000 Booting using the fdt blob at 0x1000000 Loading Ramdisk to 73a21000, end 73f33729 ... OK Loading Device Tree to 000000001fff5000, end 000000001ffff24f ... OK Starting kernel ... uboot time: 4581312 us
Lycurgus Posted April 26, 2017 Author Posted April 26, 2017 Just a small update. I had a spare SD card laying around and decided to use legacy Debian for Odroid C2. By default the image doesn't spit out kernel lines on the serial console (see spoiler at end of post.) This means that in my case the kernel got stuck halfway through, but I can't see where exactly. If anyone can provide me with info to enable dmesg style logs on serial console, that would be great. At this point it's still less time salvaging the previous install instead of beginning from start. Spoiler --- UART initialized after reboot --- [Reset cause: unknown] [Image: unknown, amlogic_v1.1.3046-00db630-dirty 2016-08-31 09:24:14 tao.zeng@dr oid04] bl30: check_permit, count is 1 bl30: check_permit: ok! chipid: ef be ad de d f0 ad ba ef be adLoad bl33 from SD, src: 0x00034200, des: 0x01000000, size: 0x00068270 de not ES chip [0.399712 Inits done] secure task start! high task start! low task start! NOTICE: BL3-1: v1.0(debug):4d2e34d NOTICE: BL3-1: Built : 17:08:35, Oct 29 2015 INFO: BL3-1: Initializing runtime services INFO: BL3-1: Preparing for EL3 exit to normal world INFO: BL3-1: Next image address = 0x1000000 INFO: BL3-1: Next image spsr = 0x3c9 U-Boot 2015.01 (Feb 01 2017 - 22:27:26) DRAM: 2 GiB Relocation Offset is: 76f3e000 ------------------------------------------------- * Welcome to Hardkernel's ODROID-C2 ------------------------------------------------- CPU : AMLogic S905 S/N : HKC213254DFDCBF6 MAC : 00:1e:06:34:18:76 BID : HKC2211702 ------------------------------------------------- register usb cfg[1][0] = 0000000077f97508 register usb cfg[0][1] = 0000000077f97530 vpu detect type: 5 vpu clk_level = 7 set vpu clk: 666667000Hz, readback: 666660000Hz(0x300) MMC: aml_priv->desc_buf = 0x0000000073f36d30 aml_priv->desc_buf = 0x0000000073f38ec0 SDIO Port B: 0, SDIO Port C: 1 ret = 1 .[mmc_init] mmc init success In: serial Out: serial Err: serial ---------------------------------- MMC Size : 16 GB ---------------------------------- ** Unrecognized filesystem type ** ** Unrecognized filesystem type ** movi: the partiton 'logo' is reading... MMC read: dev # 0, block # 61024, count 2048 ... 2048 blocks read: OK hpd_state=1 [CANVAS]addr=0x3f800000 width=3840, height=1440 set hdmitx VIC = 16 hdmitx phy setting done set hdmitx VIC = 16 hdmitx phy setting done Error: Bad gzipped data There is no valid bmp file at the given address Net: Meson_Ethernet Hit [Enter] key twice to stop autoboot: 0 4887 bytes read in 8 ms (595.7 KiB/s) cfgload: applying boot.ini... cfgload: setenv rootdev "/dev/mmcblk0p1" cfgload: setenv m "1080p60hz" # Progressive 60Hz cfgload: cfgload: setenv cec "cecf" cfgload: setenv m_bpp "24" cfgload: setenv mesontimer "0" cfgload: setenv nographics "0" cfgload: setenv maxcpus "4" cfgload: setenv max_freq "1536" # 1.536GHz cfgload: setenv condev "console=ttyS0,115200n8 console=tty0 consoleblank=0" # on both cfgload: setenv verbosity "1" cfgload: setenv bootargs "root=${rootdev} rootwait rootflags=data=writeback rw $ {condev} no_console_suspend hdmimode=${m} m_bpp=${m_bpp} vout=${vout} fsck.repai r=yes loglevel=${verbosity} net.ifnames=0 ${extraargs}" cfgload: setenv loadaddr "0x11000000" cfgload: setenv dtb_loadaddr "0x1000000" cfgload: setenv initrd_loadaddr "0x13000000" cfgload: ext4load mmc 0:1 ${initrd_loadaddr} /boot/uInitrd || fatload mmc 0:1 ${ initrd_loadaddr} uInitrd || ext4load mmc 0:1 ${initrd_loadaddr} uInitrd 5311441 bytes read in 246 ms (20.6 MiB/s) cfgload: ext4load mmc 0:1 ${loadaddr} /boot/zImage || fatload mmc 0:1 ${loadaddr } zImage || ext4load mmc 0:1 ${loadaddr} zImage 13038088 bytes read in 588 ms (21.1 MiB/s) cfgload: ext4load mmc 0:1 ${dtb_loadaddr} /boot/dtb/meson64_odroidc2.dtb || fatl oad mmc 0:1 ${dtb_loadaddr} dtb/meson64_odroidc2.dtb || ext4load mmc 0:1 ${dtb_l oadaddr} dtb/meson64_odroidc2.dtb 29264 bytes read in 13 ms (2.1 MiB/s) cfgload: fdt addr ${dtb_loadaddr} cfgload: if test "${mesontimer}" = "0"; then fdt rm /meson_timer; fdt rm /cpus/c pu@0/timer; fdt rm /cpus/cpu@1/timer; fdt rm /cpus/cpu@2/timer; fdt rm /cpus/cpu @3/timer; fi libfdt fdt_path_offset() returned FDT_ERR_NOTFOUND libfdt fdt_path_offset() returned FDT_ERR_NOTFOUND libfdt fdt_path_offset() returned FDT_ERR_NOTFOUND libfdt fdt_path_offset() returned FDT_ERR_NOTFOUND cfgload: if test "${mesontimer}" = "1"; then fdt rm /timer; fi cfgload: if test "${nographics}" = "1"; then fdt rm /meson-fb; fdt rm /amhdmitx; fdt rm /picdec; fdt rm /ppmgr; fdt rm /meson-vout; fdt rm /mesonstream; fdt rm /deinterlace; fdt rm /codec_mm; fdt rm /reserved-memory; fdt rm /aocec; fi cfgload: booti ${loadaddr} ${initrd_loadaddr} ${dtb_loadaddr} ## Loading init Ramdisk from Legacy Image at 13000000 ... Image Name: uInitrd Image Type: AArch64 Linux RAMDisk Image (gzip compressed) Data Size: 5311377 Bytes = 5.1 MiB Load Address: 00000000 Entry Point: 00000000 Verifying Checksum ... OK load dtb from 0x1000000 ...... ## Flattened Device Tree blob at 01000000 Booting using the fdt blob at 0x1000000 Loading Ramdisk to 73a23000, end 73f33b91 ... OK Loading Device Tree to 000000001fff5000, end 000000001ffff24f ... OK Starting kernel ... uboot time: 4594200 us Debian GNU/Linux 8 odroidc2 ttyS0 odroidc2 login:
Lycurgus Posted April 26, 2017 Author Posted April 26, 2017 (edited) Well I guess since no one here can/want to help me , I'll use this thread to document my progress. Maybe someone somewhere will stumble upon it and would help him out. I found out how to enable kernel output to show on the serial console. In boot.ini I changed the following as told by @zador.blood.stained here I set setenv verbosity from 1 to 7, which gave me kernel output. The last few lines are the following: Spoiler [ 8.109058] ionvideo open [ 8.286828] [aml_sd_emmc_irq] sd: response ecc,vstat:0x2400,virqc:3fff [ 8.293808] aml_sd_emmc_data_thread 2211 sd: cmd:25 [ 8.303557] mmcblk0: response CRC error sending r/w cmd command, card status 0x800900 [ 8.315387] [aml_sd_emmc_irq] sd: response ecc,vstat:0x2400,virqc:3fff [ 8.319648] ionvideo_stop_generating!!!! [ 8.319669] ionvideo release [ 8.332233] aml_sd_emmc_data_thread 2211 sd: cmd:25 [ 8.341937] mmcblk0: response CRC error sending r/w cmd command, card status 0x800900 [ 8.374232] [aml_sd_emmc_irq] sd: response ecc,vstat:0x2400,virqc:3fff [ 8.381277] aml_sd_emmc_data_thread 2211 sd: cmd:25 [ 8.391271] mmcblk0: response CRC error sending r/w cmd command, card status 0x800900 [ 8.408468] [aml_sd_emmc_irq] sd: response ecc,vstat:0x2400,virqc:3fff [ 8.415578] aml_sd_emmc_data_thread 2211 sd: cmd:25 [ 8.425706] mmcblk0: response CRC error sending r/w cmd command, card status 0x800900 [ 8.436639] [aml_sd_emmc_irq] sd: response ecc,vstat:0x2400,virqc:3fff [ 8.443834] aml_sd_emmc_data_thread 2211 sd: cmd:25 [ 8.454076] mmcblk0: response CRC error sending r/w cmd command, card status 0x800900 [ 8.465137] EXT4-fs (mmcblk0p1): re-mounted. Opts: commit=600,errors=remount-ro [ 8.515880] Adding 131068k swap on /var/swap. Priority:-1 extents:2 across:139260k SS [ 97.472035] systemd-journald[208]: Received request to flush runtime journal from PID 1 [ 97.628226] ip_tables: (C) 2000-2006 Netfilter Core Team [ 97.652144] nf_conntrack version 0.5.0 (16384 buckets, 65536 max) [ 102.849879] libphy: stmmac-0:00 - Link is Up - 1000/Full [ 137.503551] [aml_sd_emmc_irq] sd: response ecc,vstat:0x2400,virqc:3fff [ 137.509688] aml_sd_emmc_data_thread 2211 sd: cmd:25 [ 137.517642] mmcblk0: response CRC error sending r/w cmd command, card status 0x800900 [ 137.528508] [aml_sd_emmc_irq] sd: response ecc,vstat:0x2400,virqc:3fff [ 137.534770] aml_sd_emmc_data_thread 2211 sd: cmd:25 [ 137.543319] mmcblk0: response CRC error sending r/w cmd command, card status 0x800900 So it seems the kernel is stuck doing something with it's network settings. It can get a link and IP address however. I vaguely remember (i messed this up a week ago, only just now did I get a UART-USB) changing something with the network settings. I'll see if I can revert everything back to default. PS. On a separate note, I just noticed that the kernel spent some 90 seconds creating swap. As soon as I get everything working again, I'll disable swap. 2GB RAM is enough for my purposes. Edited April 26, 2017 by Lycurgus
zador.blood.stained Posted April 26, 2017 Posted April 26, 2017 I can only say that if this SD card makes kernel print messages like this 9 minutes ago, Lycurgus said: [ 137.517642] mmcblk0: response CRC error sending r/w cmd command, card status 0x800900 then it should be thrown away immediately, and you should start by testing a fresh image (or one of previous backups if you have any) to confirm that this is not a board issue 1 hour ago, Lycurgus said: I had a spare SD card laying around and decided to use legacy Debian for Odroid C2. What does this mean exactly? Did you change the card or used eMMC previously?
Lycurgus Posted April 26, 2017 Author Posted April 26, 2017 @zador.blood.stained 2nd question: I ordered 2 SD cards a month ago. One was laying as a spare, which i burned an image of the latest Debian legacy on. Yes changed card. 1st point: Both cards have that issue. Used the program H2testw to confirm the cards are not broken. Could be a board issue, but got the Odroid also for about a month. Edit: a quick Google shows it is a harmless compatibility issue https://forum.odroid.com/viewtopic.php?f=117&t=8919
Lycurgus Posted April 26, 2017 Author Posted April 26, 2017 So after plowing through previous logfiles/bash history, comparing with the vanilla install on the spare SD card and reverting everything back... It still doesn't work. I'm afraid I'll have to do everything over again. This sucks.
Lycurgus Posted April 26, 2017 Author Posted April 26, 2017 This is bad. After only configuring Samba and automount an NTFS partition it started doing the exact same thing after issuing a reboot command. I double checked the checksum of the image, nothing strange there. Will try with an Ubuntu image, hopefully with more luck.
Lycurgus Posted April 26, 2017 Author Posted April 26, 2017 Getting closer. The Ubuntu image worked until I did 1 simple command: apt-get update && apt-get upgrade After which it told me this The following packages will be upgraded: apt apt-transport-https apt-utils base-files bind9-host console-setup console-setup-linux distro-info-data dnsmasq-base dnsutils eject hostapd init init-system-helpers keyboard-configuration klibc-utils libapparmor1 libapt-inst2.0 libapt-pkg5.0 libbind9-140 libc-bin libc-dev-bin libc6 libc6-dev libdns-export162 libdns162 libgssapi-krb5-2 libhogweed4 libicu55 libisc-export160 libisc160 libisccc140 libisccfg140 libk5crypto3 libklibc libkrb5-3 libkrb5support0 liblwres141 libmysqlclient20 libnettle6 libnm0 libpci3 libxml2 linux-firmware linux-libc-dev locales makedev multiarch-support mysql-common nano network-manager ntp pciutils resolvconf sudo wget This may also be the reason why it failed to boot after only configuring Samba and a NTFS partition to automount. I forgot that I always apt-get update && apt-get upgrade on fresh images. Will update this post when I have more info. Edit: Things have gotten confusing now. As a test I again upgraded the system and rebooted: it came back just fine Then after automounting the NTFS partition it refuses to boot again.. So it's neither upgrading or configuring that's the culprit. It's not the SD card either, as the Ubuntu image doesn't throw any errors about it, and ofcourse I already checked those.. Next step is to try out official images and see if the problem persists. And if it does, then maybe the Odroid is defective.
Recommended Posts