All of lore.kernel.org
 help / color / mirror / Atom feed
From: Krzysztof Kozlowski <k.kozlowski@samsung.com>
To: Marek Szyprowski <m.szyprowski@samsung.com>,
	Tyler Baker <tyler.baker@linaro.org>
Cc: linux-samsung-soc <linux-samsung-soc@vger.kernel.org>,
	Kukjin Kim <kgene@kernel.org>, Kevin Hilman <khilman@linaro.org>
Subject: Re: [PATCH] ARM: exynos_defconfig: Enable DWC2 USB driver and USB ethernet gadget
Date: Wed, 26 Aug 2015 15:49:36 +0900	[thread overview]
Message-ID: <55DD6180.5090003@samsung.com> (raw)
In-Reply-To: <55DD56CF.7040800@samsung.com>

On 26.08.2015 15:03, Marek Szyprowski wrote:
> Hello,
> 
> On 2015-08-26 05:43, Krzysztof Kozlowski wrote:
>> On 26.08.2015 10:58, Tyler Baker wrote:
>>> Hi Krzysztof,
>>>
>>> On 25 August 2015 at 18:44, Krzysztof Kozlowski
>>> <k.kozlowski@samsung.com> wrote:
>>>> On 26.08.2015 06:00, Tyler Baker wrote:
>>>>> Hi Marek/Krzysztof,
>>>>>
>>>>> On 18 August 2015 at 02:36, Krzysztof Kozlowski
>>>>> <k.kozlowski@samsung.com> wrote:
>>>>>> On 18.08.2015 18:15, Marek Szyprowski wrote:
>>>>>>> DWC2 (s3c-hsotg) hardware module is available on many Exynos
>>>>>>> based boards,
>>>>>>> so enable DWC2 driver as well as the most common USB Ethernet
>>>>>>> gadget.
>>>>>>>
>>>>>>> Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
>>>>> The kernelci.org bot recently reported a handful of exynos boot
>>>>> failures in next-20150825[1] only when using exynos_defconfig.
>>>> I noticed the issue too but I fought it was a temporary network
>>>> problem.
>>>> Apparently it's not temporary. :)
>>> I thought the same as well :)
>>>
>>>>> I went
>>>>> ahead and bisected[2] the failure and found this patch was the
>>>>> offender. Looking a bit closer, the kernelci.org boot tests typically
>>>>> pass ip=dhcp or ip=<ipaddr> as a kernel argument so that networking is
>>>>> setup by the kernel. These boot failures are due to the kernel network
>>>>> initialization timing out. Previously, in next-20150821[3] all the
>>>>> exynos platforms failing in next-20150825 initialized their network
>>>>> interfaces successfully, so this seems like a regression. Please have
>>>>> a closer look at the boot logs[4][5] for comparison. Kevin pointed out
>>>>> that  "asix 3-3.2.4:1.0 eth0: register 'asix' at
>>>>> usb-12110000.usb-3.2.4, ASIX AX88772 USB 2.0 Ethernet" is missing from
>>>>> the failed boot logs. Anyways, as a summary it looks like this change
>>>>> broke networking support on the arndale, arndale-octa, odroid xu3, and
>>>>> odroid x2.
>>>> I don't have such problem on my Odroid XU3 which also performs netboot
>>>> (Arch ARM Linux):
>>> Doh. I just realized the odroid-u3 is failing not the odroid-xu3,
>>> sorry for the confusion!
>>>
>>>> netboot=tftpboot 0x40008000 zImage; tftpboot 0x44000000
>>>> exynos5422-odroidxu3-lite.dtb; bootz 0x40008000 - 0x44000000
>>>>
>>>> TFTP from server 192.168.1.10; our IP address is 192.168.1.11
>>>>
>>>> [    0.000000] Kernel command line: console=tty1
>>>> console=ttySAC2,115200n8 root=/dev/mmcblk0p1 rootwait rw
>>>> no_console_suspend smsc95xx.macaddr=00:1e:06:61:7a:93
>>>>
>>>>
>>>> Do you have anything connected to USB ports of the devices?
>>> Nope, nothing connected to the USB ports in my lab.
>>>
>>>> For example on boot-exynos5250-arndale.html I see:
>>>> [    2.792934] using random self ethernet address
>>>> [    2.797209] using random host ethernet address
>>>> [    2.802244] usb0: HOST MAC 46:52:cf:b5:0f:e8
>>>> [    2.805923] usb0: MAC a2:04:5d:a6:2c:fa
>>>> [    2.809720] using random self ethernet address
>>>> [    2.814137] using random host ethernet address
>>>> [    2.818599] g_ether gadget: Ethernet Gadget, version: Memorial
>>>> Day 2008
>>>> [    2.825159] g_ether gadget: g_ether ready
>>>>
>>>> It looks like that's the difference.
>> Two issues seem strange to me:
>> 1. Why on these boards (except Odroid XU3) appears an usb0 interface
>> (after adding gadget support)? If they don't have the USB cable attached
>> then it shouldn't?
> 
> When USB Ethernet gadget is loaded it always creates usb0 network
> interface, regardless of the USB cable being attached or not.

Thanks for explaining.

> 
>> 2. ip=dhcp should send DCHP requests on all interfaces:
>>
>>     Otherwise the device is determined using
>>     autoconfiguration. This is done by sending
>>     autoconfiguration requests out of all devices,
>>     and using the device that received the first reply.
>>
>> So why it is not sent on eth0? Maybe there is no eth0 interface now
>> because of some conflict in USB drivers? Or maybe there was no eth0
>> interface also before and everything booted from MMC?
> 
> Maybe the names of network interfaces has changed or kernel parameters
> lacks specifying which network interface has to be configured (usb0 or
> eth0)?

The ip=dhcp should send requests on all interfaces. The eth0 (provided
by smsc95xx, @EHCI USB 12580000) should be there.

After comparing U3 boots I see that on broken boot the "exynos-ehci
12580000.ehci" starts earlier - around 2.17s. Detection of MMC happens
at 2.7s.

However on proper U3 boot, the 12580000.ehci probes around 15s. This
happens after MMC detection and after starting udev.

Tyler,
I don't know exactly how does your boot sequence look like. Maybe
netboot always failed and it booted from mmc? But clearly the change is
sensible and presence of usb0 interface should not fail the boot.

Best regards,
Krzysztof

  reply	other threads:[~2015-08-26  6:49 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-08-18  9:15 [PATCH] ARM: exynos_defconfig: Enable DWC2 USB driver and USB ethernet gadget Marek Szyprowski
2015-08-18  9:36 ` Krzysztof Kozlowski
2015-08-25 21:00   ` Tyler Baker
2015-08-26  1:44     ` Krzysztof Kozlowski
2015-08-26  1:58       ` Tyler Baker
2015-08-26  3:43         ` Krzysztof Kozlowski
2015-08-26  6:03           ` Marek Szyprowski
2015-08-26  6:49             ` Krzysztof Kozlowski [this message]
2015-10-01 17:54               ` Tyler Baker

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=55DD6180.5090003@samsung.com \
    --to=k.kozlowski@samsung.com \
    --cc=kgene@kernel.org \
    --cc=khilman@linaro.org \
    --cc=linux-samsung-soc@vger.kernel.org \
    --cc=m.szyprowski@samsung.com \
    --cc=tyler.baker@linaro.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.