diff mbox

ARM: exynos_defconfig: Enable DWC2 USB driver and USB ethernet gadget

Message ID 1439889333-11990-1-git-send-email-m.szyprowski@samsung.com (mailing list archive)
State New, archived
Headers show

Commit Message

Marek Szyprowski Aug. 18, 2015, 9:15 a.m. UTC
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>
---
 arch/arm/configs/exynos_defconfig | 2 ++
 1 file changed, 2 insertions(+)

Comments

Krzysztof Kozlowski Aug. 18, 2015, 9:36 a.m. UTC | #1
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>
> ---
>  arch/arm/configs/exynos_defconfig | 2 ++
>  1 file changed, 2 insertions(+)

That was my plan as well :)

Can you send similar patch for multi_v7?

Reviewed-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>

Best regards,
Krzysztof


> 
> diff --git a/arch/arm/configs/exynos_defconfig b/arch/arm/configs/exynos_defconfig
> index 1ff2bfa..729e2fa 100644
> --- a/arch/arm/configs/exynos_defconfig
> +++ b/arch/arm/configs/exynos_defconfig
> @@ -158,8 +158,10 @@ CONFIG_USB_OHCI_HCD=y
>  CONFIG_USB_OHCI_EXYNOS=y
>  CONFIG_USB_STORAGE=y
>  CONFIG_USB_DWC3=y
> +CONFIG_USB_DWC2=y
>  CONFIG_USB_HSIC_USB3503=y
>  CONFIG_USB_GADGET=y
> +CONFIG_USB_ETH=y
>  CONFIG_MMC=y
>  CONFIG_MMC_BLOCK_MINORS=16
>  CONFIG_MMC_SDHCI=y
> 

--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Tyler Baker Aug. 25, 2015, 9 p.m. UTC | #2
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 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.

Cheers,

Tyler
[1] http://kernelci.org/boot/?next-20150825&exynos_defconfig&fail
[2] http://hastebin.com/otafedoxig.vala
[3] http://kernelci.org/boot/?next-20150821&exynos_defconfig
[4] http://storage.kernelci.org/next/next-20150825/arm-exynos_defconfig/lab-khilman/boot-exynos5250-arndale.html
[5] http://storage.kernelci.org/next/next-20150821/arm-exynos_defconfig/lab-khilman/boot-exynos5250-arndale.html
--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Krzysztof Kozlowski Aug. 26, 2015, 1:44 a.m. UTC | #3
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 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):

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?


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.

Best regards,
Krzysztof

> 
> Cheers,
> 
> Tyler
> [1] http://kernelci.org/boot/?next-20150825&exynos_defconfig&fail
> [2] http://hastebin.com/otafedoxig.vala
> [3] http://kernelci.org/boot/?next-20150821&exynos_defconfig
> [4] http://storage.kernelci.org/next/next-20150825/arm-exynos_defconfig/lab-khilman/boot-exynos5250-arndale.html
> [5] http://storage.kernelci.org/next/next-20150821/arm-exynos_defconfig/lab-khilman/boot-exynos5250-arndale.html
> 

--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Tyler Baker Aug. 26, 2015, 1:58 a.m. UTC | #4
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.

Agreed

Cheers,

Tyler
--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Krzysztof Kozlowski Aug. 26, 2015, 3:43 a.m. UTC | #5
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?

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?

Best regards,
Krzysztof




--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Marek Szyprowski Aug. 26, 2015, 6:03 a.m. UTC | #6
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.

> 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)?

Best regards
Krzysztof Kozlowski Aug. 26, 2015, 6:49 a.m. UTC | #7
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

--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Tyler Baker Oct. 1, 2015, 5:54 p.m. UTC | #8
On 25 August 2015 at 23:49, Krzysztof Kozlowski <k.kozlowski@samsung.com> wrote:
> 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.

I'm just going to disable in kernel DHCP on these platforms, as they
are now broken.

Cheers,

Tyler
--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/arch/arm/configs/exynos_defconfig b/arch/arm/configs/exynos_defconfig
index 1ff2bfa..729e2fa 100644
--- a/arch/arm/configs/exynos_defconfig
+++ b/arch/arm/configs/exynos_defconfig
@@ -158,8 +158,10 @@  CONFIG_USB_OHCI_HCD=y
 CONFIG_USB_OHCI_EXYNOS=y
 CONFIG_USB_STORAGE=y
 CONFIG_USB_DWC3=y
+CONFIG_USB_DWC2=y
 CONFIG_USB_HSIC_USB3503=y
 CONFIG_USB_GADGET=y
+CONFIG_USB_ETH=y
 CONFIG_MMC=y
 CONFIG_MMC_BLOCK_MINORS=16
 CONFIG_MMC_SDHCI=y