XU4 eMMC Bootloader Recovery

Post Reply
Schrugo
Posts: 4
Joined: Tue Apr 21, 2015 6:27 pm
languages_spoken: english, german
ODROIDs: XU4, C1+
Has thanked: 0
Been thanked: 0
Contact:

XU4 eMMC Bootloader Recovery

Post by Schrugo »

Os-img: ubuntu-22.04-5.4-mate-odroid-xu4-20220522
OS: Linux odroid 5.4.191-401 #1 SMP PREEMPT Thu May 19 21:33:46 UTC 2022 armv7l armv7l armv7l GNU/Linux
u-boot: U-Boot 2017.05-00005-ga917f39c3a (Dec 13 2019 - 06:44:32 -0300) for ODROID-XU4
eMMC: orang, v.5, 64GB

I am currently trying to perform a bootloader recovery. As described on this page:

https://wiki.odroid.com/accessory/emmc/recovery_xu4

But when I load a Transcend microSD 8GB with the img and try to load it, the cooler starts but the blue LED stays off and the UART output remains empty.
Sometimes I get an output that something is write-protected. The reason why I want to upgrade the u-boot version is that I have the same problem as described here:

viewtopic.php?t=46959

I see from the last entry that upgrading u-boot solved the problem.

User avatar
odroid
Site Admin
Posts: 42297
Joined: Fri Feb 22, 2013 11:14 pm
languages_spoken: English, Korean
ODROIDs: ODROID
Has thanked: 3648 times
Been thanked: 2016 times
Contact:

Re: XU4 eMMC Bootloader Recovery

Post by odroid »

Remove your microSD card from your XU4 and boot Ubuntu from the eMMC.
And show me an output of sudo apt install --reinstall uboot bootini command on the Ubuntu terminal.
Also show me ls /sys/block/mmcblk* output too.

Schrugo
Posts: 4
Joined: Tue Apr 21, 2015 6:27 pm
languages_spoken: english, german
ODROIDs: XU4, C1+
Has thanked: 0
Been thanked: 0
Contact:

Re: XU4 eMMC Bootloader Recovery

Post by Schrugo »

reinstall.JPG
reinstall.JPG (32.63 KiB) Viewed 221 times

Code: Select all

   
/sys/block/mmcblk0:
alignment_offset   events             holders       mmcblk0p2  ro
bdi                events_async       inflight      mq         size
capability         events_poll_msecs  integrity     power      slaves
dev                ext_range          mmcblk0boot0  queue      stat
device             force_ro           mmcblk0boot1  range      subsystem
discard_alignment  hidden             mmcblk0p1     removable  uevent

/sys/block/mmcblk0boot0:
alignment_offset   events_async       integrity  ro_lock_until_next_power_on
bdi                events_poll_msecs  mq         size
capability         ext_range          power      slaves
dev                force_ro           queue      stat
device             hidden             range      subsystem
discard_alignment  holders            removable  uevent
events             inflight           ro

/sys/block/mmcblk0boot1:
alignment_offset   events_async       integrity  ro_lock_until_next_power_on
bdi                events_poll_msecs  mq         size
capability         ext_range          power      slaves
dev                force_ro           queue      stat
device             hidden             range      subsystem
discard_alignment  holders            removable  uevent
events             inflight           ro

mdrjr
Site Admin
Posts: 12101
Joined: Fri Feb 22, 2013 11:34 pm
languages_spoken: english, portuguese
ODROIDs: -
Location: Brazil
Has thanked: 8 times
Been thanked: 153 times
Contact:

Re: XU4 eMMC Bootloader Recovery

Post by mdrjr »

Did it solved your issue?

Schrugo
Posts: 4
Joined: Tue Apr 21, 2015 6:27 pm
languages_spoken: english, german
ODROIDs: XU4, C1+
Has thanked: 0
Been thanked: 0
Contact:

Re: XU4 eMMC Bootloader Recovery

Post by Schrugo »

Sorry for the previously out-of-context answer, no, unfortunately not yet.
However, I am now getting 4x i2c displayed.

Code: Select all

crw------- 1 root root 89, 0 Mar 19 15:02 /dev/i2c-0
crw------- 1 root root 89, 1 Mar 19 15:02 /dev/i2c-1
crw------- 1 root root 89, 2 Mar 19 15:02 /dev/i2c-2
crw------- 1 root root 89, 4 Mar 19 15:02 /dev/i2c-4
And if I have nothing connected to the I2c, I get this output with i2cdetect:

Code: Select all

odroid@odroid:~$ sudo i2cdetect -y -r 0
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:                         -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
odroid@odroid:~$ sudo i2cdetect -y -r 1
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:                         -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
odroid@odroid:~$ sudo i2cdetect -y -r 2
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:                         -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
odroid@odroid:~$ sudo i2cdetect -y -r 4
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:                         -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- UU -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
If I then connect a "WEATHER-BOARD Zero" or "BNO085" to i2c-1 via pin 1,3,5,9 of the shifter shield, there is no result.
However, the detection process is much slower and then takes about two seconds for each entry in the table.

Code: Select all

odroid@odroid:~$ sudo i2cdetect -y -r 0
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:                         -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
Attachments
odroid-xu4-shifter-shield-pinout.png
odroid-xu4-shifter-shield-pinout.png (195.36 KiB) Viewed 206 times

mdrjr
Site Admin
Posts: 12101
Joined: Fri Feb 22, 2013 11:34 pm
languages_spoken: english, portuguese
ODROIDs: -
Location: Brazil
Has thanked: 8 times
Been thanked: 153 times
Contact:

Re: XU4 eMMC Bootloader Recovery

Post by mdrjr »

Lets address one issue at time!

First your eMMC issue.

1. Download this file: https://dn.odroid.in/5422/ODROID-XU4/An ... 28.img.zip
2. Using balenaEtcher write it to a known good microsd card.
3. Insert the microSD and the eMMC on the XU4 board.
4. Make sure the switch on XU4 is set to uSD.
5. Power on and wait.

At the end of this process your eMMC should have Android OS installed. If that works you can flash any ubuntu image later without any issues.
Let me know if that helps you.


As for the i2c issue, try detecting on other busses it may had changed id

Schrugo
Posts: 4
Joined: Tue Apr 21, 2015 6:27 pm
languages_spoken: english, german
ODROIDs: XU4, C1+
Has thanked: 0
Been thanked: 0
Contact:

Re: XU4 eMMC Bootloader Recovery

Post by Schrugo »

If I follow these steps:
1. download this file: https://dn.odroid.in/5422/ODROID-XU4/An ... 28.img.zip
2. using balenaEtcher write it to a known good microsd card.
3. insert the microSD and the eMMC on the XU4 board.
4. make sure the switch on XU4 is set to uSD.
5. power on and wait.
Unfortunately, nothing happens. I monitor the system via the UART interface and see no output at all. Even if I let it run for several hours, nothing changes. The blue LED shows no activity during the entire time.
I currently get the following information on the eMMC:
The U-Boot version is at startup:

Code: Select all

U-Boot 2017.05-00008-g6a9ddb8303-dirty (May 19 2020 - 19:48:01 +0900) for ODROID-XU4
With uname -a I only get a Linux version displayed:

Code: Select all

Linux odroid 5.4.191-401 #1 SMP PREEMPT Thu May 19 21:33:46 UTC 2022 armv7l armv7l armv7l GNU/Linux
With ls /dev/i2c* these i2c interfaces are displayed:

Code: Select all

/dev/i2c-0 /dev/i2c-1 /dev/i2c-2 /dev/i2c-4
They have the authorizations:

Code: Select all

crw-rw---- 1 root i2c 89, 0 Mar 28 08:45 /dev/i2c-0
crw-rw---- 1 root i2c 89, 1 Mar 28 08:45 /dev/i2c-1
crw-rw---- 1 root i2c 89, 2 Mar 28 08:45 /dev/i2c-2
crw-rw---- 1 root i2c 89, 4 Mar 28 08:45 /dev/i2c-4
I then loaded the Linux img onto the SD card and tried to boot from it. The SD starts regularly and I get the same output as with the eMMC.
If I connect the WEATHER-BOARD Zero to i2c_1, pin 1-3-5-9, nothing is recognized. However, the process for detecting with sudo i2cdetect -y -r 4 slows down to about 1-2 seconds per column.

mdrjr
Site Admin
Posts: 12101
Joined: Fri Feb 22, 2013 11:34 pm
languages_spoken: english, portuguese
ODROIDs: -
Location: Brazil
Has thanked: 8 times
Been thanked: 153 times
Contact:

Re: XU4 eMMC Bootloader Recovery

Post by mdrjr »

Can you please show me the full output of the UART logs, full uncutted.

MilkTea
Posts: 11
Joined: Fri Feb 14, 2014 8:56 pm
languages_spoken: english, dutch, french
ODROIDs: U2-U3-XU
Location: Belgium
Has thanked: 0
Been thanked: 0
Contact:

Re: XU4 eMMC Bootloader Recovery

Post by MilkTea »

I have Ubuntu 16 running on emmc.
So, if I do this procedure, I loose everything that is on it.
Can I do a DD of current EMMC and then do the bootloader recovery and then dd back the old image ?

Post Reply

Return to “Ubuntu”

Who is online

Users browsing this forum: No registered users and 2 guests