[U-Boot] Ethernet via USB on Sinlinx SinA33

Hans de Goede hdegoede at redhat.com
Wed Apr 6 17:24:32 CEST 2016


Hi,

On 29-03-16 08:38, Quentin Schulz wrote:
> Hi,
>
> On 28/03/2016 14:56, Hans de Goede wrote:
>> Hi,
>>
>> On 25-03-16 18:14, Quentin Schulz wrote:
>>> Hi,
>>>
>>> I am trying to get Ethernet to work through the USB port of the Sinlinx
>>> SinA33 on U-Boot to use TFTP to get the kernel and dtb files.
>>>
>>> However, I am getting 'data abort' when using dhcp or tftp after adding:
>>> #define CONFIG_USB_HOST_ETHER
>>> #define CONFIG_USB_ETHER_ASIX
>>>
>>> to include/configs/sunxi-common.h and checking CONFIG_USB_EHCI_HCD as
>>> told in the documentation [1]
>>>
>>> I tested this configuration with the C.H.I.P. and it is working well.
>>
>> Are you perhaps building u-boot with gcc6 ? There are some known issues
>> when building u-boot with gcc-6, which look pretty much like this.
>
> No, I'm building with gcc-5:
> $ arm-linux-gnueabihf-gcc --version
> arm-linux-gnueabihf-gcc (Ubuntu 5.2.1-22ubuntu1) 5.2.1 20151010
>
>> Is the ethernet adapter connected to a regular usb host port, or to
>> the otg port ?
>
> The Ethernet adapter is connected to the regular USB host port.

So I've been debugging some armv7 cache issues lately and I've come
up with the following fix:

https://patchwork.ozlabs.org/patch/605967/

This might very will fix your issue too. If not we're likely missing
some cache flushing / invalidation in the usb driver for your usb
host controller.

Regards,

Hans


>
> Regards,
>
> Quentin
>
>
>>> Steps to reproduce:
>>>
>>> 1) Add the following lines to include/configs/sunxi-common.h:
>>>
>>> #define CONFIG_USB_HOST_ETHER
>>> #define CONFIG_USB_ETHER_ASIX
>>>
>>> 2) make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf-
>>> Sinlinx_SinA33_defconfig
>>> 3) make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- menuconfig
>>> 4) Check CONFIG_USB_EHCI_HC and save configuration
>>> 5) make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j$(nproc)
>>> 6) Prepare SDCard:
>>> sudo dd if=u-boot-sunxi-with-spl.bin of=/dev/sdX bs=1024 seek=8
>>> 7) Boot the board and run dhcp or tftp
>>> 8) Get 'data abort' and board gets reset (ethact is also not defined)
>>>
>>> The log file is attached.
>>>
>>> Thank you,
>>>
>>> Quentin
>>>
>>> [1] https://github.com/lentinj/u-boot/blob/master/doc/README.usb#L132
>>>


More information about the U-Boot mailing list