[U-Boot] Ethernet not detecting on Odroid u3

Anand Moon linux.amoon at gmail.com
Tue Mar 14 14:36:42 UTC 2017


Hi Siarhei

On 14 March 2017 at 15:24, Siarhei Siamashka
<siarhei.siamashka at gmail.com> wrote:
> On Tue, 14 Mar 2017 14:44:26 +0530
> Anand Moon <linux.amoon at gmail.com> wrote:
>
>> Hi Siarhei/Jaehoon
>>
>> On 14 March 2017 at 14:31, Jaehoon Chung <jh80.chung at samsung.com> wrote:
>> > On 03/14/2017 04:52 PM, Siarhei Siamashka wrote:
>> >> On Mon, 6 Mar 2017 12:18:50 +0200
>> >> Siarhei Siamashka <siarhei.siamashka at gmail.com> wrote:
>> >>
>> >>> On Thu, 12 Jan 2017 14:02:48 +0530
>> >>> Anand Moon <linux.amoon at gmail.com> wrote:
>> >>>
>> >>>> Hi All,
>> >>>>
>> >>>> I tried to compile the latest u-boot for Odroid U3.
>> >>>> issue is that Ethernet is not able to detected.
>> >>>>
>> >>>> Please let me know what need to enable USB Ethernet
>> >>>> to support tftp boot.
>> >>>>
>> >>>> Best Regards
>> >>>> -Anand
>> >>>>
>> >>>> ------
>> >>>> U-Boot 2017.01-02075-g4386feb-dirty (Jan 12 2017 - 06:17:08 +0000)
>> >>>>
>> >>>> CPU:   Exynos4412 @ 1 GHz
>> >>>> Model: Odroid based on Exynos4412
>> >>>> Board: Odroid based on Exynos4412
>> >>>> Type:  u3
>> >>>> DRAM:  2 GiB
>> >>>> LDO20 at VDDQ_EMMC_1.8V: set 1800000 uV; enabling
>> >>>> LDO22 at VDDQ_EMMC_2.8V: set 2800000 uV; enabling
>> >>>> LDO21 at TFLASH_2.8V: set 2800000 uV; enabling
>> >>>> MMC:   SAMSUNG SDHCI: 0, EXYNOS DWMMC: 1
>> >>>> *** Warning - bad CRC, using default environment
>> >>>>
>> >>>> Net:   No ethernet found.
>> >>>> Hit any key to stop autoboot:  0
>> >>>> Odroid #
>> >>>> Odroid #
>> >>>> Odroid # usb start
>> >>>> starting USB...
>> >>>> USB0:   USB EHCI 1.00
>> >>>> scanning bus 0 for devices... 1 USB Device(s) found
>> >>>>        scanning usb for ethernet devices... 0 Ethernet Device(s) found
>> >>>> Odroid #
>> >>>> Odroid #
>> >>>> Odroid # setenv usbethaddr 02:DE:AD:BE:EF:FF
>> >>>> Odroid # usb start
>> >>>> Odroid # usb info
>> >>>> 1: Hub,  USB Revision 2.0
>> >>>>  - u-boot EHCI Host Controller
>> >>>>  - Class: Hub
>> >>>>  - PacketSize: 64  Configurations: 1
>> >>>>  - Vendor: 0x0000  Product 0x0000 Version 1.0
>> >>>>    Configuration: 1
>> >>>>    - Interfaces: 1 Self Powered 0mA
>> >>>>      Interface: 0
>> >>>>      - Alternate Setting 0, Endpoints: 1
>> >>>>      - Class Hub
>> >>>>      - Endpoint 1 In Interrupt MaxPacket 8 Interval 255ms
>> >>>>
>> >>>> Odroid # reset
>> >>>
>> >>> Hi Anand,
>> >>>
>> >>> It's an old problem and we have identified its root cause a long
>> >>> time ago:
>> >>>
>> >>>     https://lists.denx.de/pipermail/u-boot/2015-October/231061.html
>> >>>
>> >>> Basically, a voltage regulator is not getting initialized because
>> >>> a call to the board_usb_init() function was lost during the DM
>> >>> conversion. You can try to compile U-Boot from my branch, it contains
>> >>> the rebased fixes which I have been using all this time on my ODROID-X
>> >>> board:
>> >>>
>> >>>     https://github.com/ssvb/u-boot/commits/20170306-unbreak-odroid
>> >>>
>> >>> I did all the initial investigation back in 2015, but tried to
>> >>> delegate the actual bugfixing work to the ODROID board maintainer(s).
>> >>> Apparently it did not fly and ODROID support is still broken.
>> >>>
>> >>> If you can test my branch and confirm that it works on your ODROID-U3,
>> >>> then I can maybe spend some time on making cleaner patches and ensuring
>> >>> that they reach the U-Boot git repository.
>> >>>
>> >>> Thanks!
>> >>
>> >> Hello again,
>> >>
>> >> Anand Moon, considering no reply to my post, do I understand it
>> >> right that you are actually not very much interested in getting
>> >> this particular problem resolved in U-Boot?
>> >>
>> >> These ODROID problems are relatively simple and don't require any
>> >> special skills or considerable efforts to resolve. The only issue
>> >> is that apparently almost nobody uses the mainline U-Boot on this
>> >> hardware and nobody gives rats about having it usable out of the
>> >> box.
>> >>
>> >> I only have an ODROID-X board, which is a rather early and
>> >> short-lived revision. Again, if you or anybody else could step in
>> >> and take care of testing the fixes on other ODROID boards (X2 and
>> >> U3), then we could get ODROID boards working properly in the next
>> >> U-Boot release.
>> >>
>> >>
>> >> Jaehoon Chung, you seem to be listed as the current nominal ODROID
>> >> boards maintainer. But you don't seem to be doing anything other
>> >> than just making promises to check various things and then
>> >> disappearing for months/years:
>> >
>> > Actually, i had forgotten this mail...When i check the patches, first i'm looking at patchwork.
>> > And I'm remembering what i do and need. Right, it's my mistake for forgetting it.
>> >
>> > Disappearing for months/years? If i decided to do nothing, i might not reply anything to u-boot mailing list.
>> > If you send the polite reminding ping mail, maybe i will really apologize to you. but now i don't have those mind.
>> > You're regarding to me like nothing to do...
>> >>
>> >>     https://lists.denx.de/pipermail/u-boot/2017-January/277954.html
>> >>     https://lists.denx.de/pipermail/u-boot/2015-October/231023.html
>> >
>> > I can't access this URL,,so i don't know what you added..
>> >
>> >>
>> >> Could you please explain what's going on and what are your plans
>> >> regarding ODROID boards support in U-Boot?
>> >
>> > I'm preparing to covert to DM from legacy..For converting DM, I'm doing step by step for samsung SoCs.
>> > Goni -> Universal210 - > Trats -> Trats2 -> Odroid also..
>> > You can see my patches for goni, universal210, trats..
>> >
>> > I'm not sure this problem is fixed or not..if you want to fix it, i will do it..but not right now.
>> > I keep going my current task..
>> >
>> > Best Regards,
>> > Jaehoon Chung
>> >
>>
>> I might have missed early email. I would like help resolve this issue
>> and investigate on the inputs you have shared.
>
> You can just clone my git branch:
>
>    git clone -b 20170306-unbreak-odroid https://github.com/ssvb/u-boot.git
>
> Then compile it and try to boot on your ODROID-U3 board. Check if it
> boots and if the Ethernet is working properly. And finally report
> the results. If it works, then I will send cleaned up versions of
> these patches to the U-Boot mailing list.
>
[snip]

I dont feel the hack works perfectly.

I compiled your u-boot tree and could not load the kernel.

[0] git clone -b 20170306-unbreak-odroid https://github.com/ssvb/u-boot.git

------------------------------------------------------------------------------------
U-Boot 2017.03-rc3-00006-g3dd6fdb (Mar 14 2017 - 13:54:08 +0000)

CPU:   Exynos4412 @ 1 GHz
Model: Odroid based on Exynos4412
Board: Odroid based on Exynos4412
Type:  u3
DRAM:  2 GiB
LDO20 at VDDQ_EMMC_1.8V: set 1800000 uV; enabling
LDO22 at VDDQ_EMMC_2.8V: set 2800000 uV; enabling
LDO21 at TFLASH_2.8V: set 2800000 uV; enabling
MMC:   SAMSUNG SDHCI: 0, EXYNOS DWMMC: 1
*** Warning - bad CRC, using default environment

Net:   No ethernet found.
Hit any key to stop autoboot:  0
reading boot.scr
3174 bytes read in 49 ms (62.5 KiB/s)
## Executing script at 42000000
Found kernel image: zImage
reading exynos4412-odroidu3.dtb
54561 bytes read in 23 ms (2.3 MiB/s)
Found ramdisk image.
reading uInitrd
9873974 bytes read in 679 ms (13.9 MiB/s)
reading zImage
6552912 bytes read in 460 ms (13.6 MiB/s)
Kernel image @ 0x40007fc0 [ 0x000000 - 0x63fd50 ]
## Loading init Ramdisk from Legacy Image at 42000000 ...
   Image Name:   uInitrdu3
   Image Type:   ARM Linux RAMDisk Image (gzip compressed)
   Data Size:    9873910 Bytes = 9.4 MiB
   Load Address: 42000000
   Entry Point:  42000000
   Verifying Checksum ... OK
## Flattened Device Tree blob at 40800000
   Booting using the fdt blob at 0x40800000
   Loading Ramdisk to ba4d6000, end bae409f6 ... OK
   Loading Device Tree to ba4c5000, end ba4d5520 ... OK

Starting kernel ...
------------------------------------------------------------------------------------
After that I had to remove my zImage and exynos4412-odroidu3.dtb to
enter into u-boot prompt to manually test.
------------------------------------------------------------------------------------
U-Boot 2017.03-rc3-00006-g3dd6fdb (Mar 14 2017 - 13:54:08 +0000)

CPU:   Exynos4412 @ 1 GHz
Model: Odroid based on Exynos4412
Board: Odroid based on Exynos4412
Type:  u3
DRAM:  2 GiB
LDO20 at VDDQ_EMMC_1.8V: set 1800000 uV; enabling
LDO22 at VDDQ_EMMC_2.8V: set 2800000 uV; enabling
LDO21 at TFLASH_2.8V: set 2800000 uV; enabling
MMC:   SAMSUNG SDHCI: 0, EXYNOS DWMMC: 1
*** Warning - bad CRC, using default environment

Net:   No ethernet found.
Hit any key to stop autoboot:  0
reading boot.scr
3174 bytes read in 26 ms (119.1 KiB/s)
## Executing script at 42000000
Odroid #
Odroid #
Odroid # ▒

U-Boot 2017.03-rc3-00006-g3dd6fdb (Mar 14 2017 - 13:54:08 +0000)

CPU:   Exynos4412 @ 1 GHz
Model: Odroid based on Exynos4412
Board: Odroid based on Exynos4412
Type:  u3
DRAM:  2 GiB
LDO20 at VDDQ_EMMC_1.8V: set 1800000 uV; enabling
LDO22 at VDDQ_EMMC_2.8V: set 2800000 uV; enabling
LDO21 at TFLASH_2.8V: set 2800000 uV; enabling
MMC:   SAMSUNG SDHCI: 0, EXYNOS DWMMC: 1
*** Warning - bad CRC, using default environment

Net:   No ethernet found.
Hit any key to stop autoboot:  0
reading boot.scr
3174 bytes read in 49 ms (62.5 KiB/s)
## Executing script at 42000000
Odroid # setenv usbethaddr 02:DE:AD:BE:EF:FF
Odroid # usb start
starting USB...
USB0:   ERROR: Regulator BUCK8 value setting error: -22
at board/samsung/odroid/odroid.c:508/board_usb_init()
USB EHCI 1.00
scanning bus 0 for devices... 3 USB Device(s) found
       scanning usb for storage devices... 0 Storage Device(s) found
       scanning usb for ethernet devices... 1 Ethernet Device(s) found
Odroid #
Odroid #
Odroid # reset
resetting ...


U-Boot 2017.03-rc3-00006-g3dd6fdb (Mar 14 2017 - 13:54:08 +0000)

CPU:   Exynos4412 @ 1 GHz
Model: Odroid based on Exynos4412
Board: Odroid based on Exynos4412
Type:  u3
DRAM:  2 GiB
LDO20 at VDDQ_EMMC_1.8V: set 1800000 uV; enabling
LDO22 at VDDQ_EMMC_2.8V: set 2800000 uV; enabling
LDO21 at TFLASH_2.8V: set 2800000 uV; enabling
MMC:   SAMSUNG SDHCI: 0, EXYNOS DWMMC: 1
*** Warning - bad CRC, using default environment

Net:   No ethernet found.
Hit any key to stop autoboot:  0
reading boot.scr
3174 bytes read in 27 ms (114.3 KiB/s)
## Executing script at 42000000
Odroid #
Odroid #
Odroid # setenv usbethaddr 02:DE:AD:BE:EF:FF
Odroid # usb start
starting USB...
USB0:   ERROR: Regulator BUCK8 value setting error: -22
at board/samsung/odroid/odroid.c:508/board_usb_init()
USB EHCI 1.00
scanning bus 0 for devices... 2 USB Device(s) found
       scanning usb for storage devices... 0 Storage Device(s) found
       scanning usb for ethernet devices... 0 Ethernet Device(s) found
Odroid #

------
Note: on cold boot it seem to detect ethernet but not on warm reset

Possible solution is reset of HUB via gpio pins, just like the kernel example.

[1] https://lkml.org/lkml/2017/1/7/32

Looking into some other solution for this approach.

Best Regards
-Anand Moon


More information about the U-Boot mailing list