element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • About Us
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Avnet Boards Forums
  • Products
  • Dev Tools
  • Avnet Boards Community
  • Avnet Boards Forums
  • More
  • Cancel
Avnet Boards Forums
MicroZed Hardware Design USB0 USB-ETH adapter MicroZed Zynq 7010 board
  • Forum
  • Documents
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Avnet Boards Forums to participate - click to join for free!
Actions
  • Share
  • More
  • Cancel
Forum Thread Details
  • Replies 1 reply
  • Subscribers 325 subscribers
  • Views 277 views
  • Users 0 members are here
Related

USB0 USB-ETH adapter MicroZed Zynq 7010 board

marc.jofre
marc.jofre 6 months ago

Hi all,

I am trying to use a USB-to-ETH adapter connected on USB0 Microzed Zynq 7010.

I am using linux-xlnx patched with PREEMPT_RT.

 

The adapter is based on an Asix AX88279 chip (drivers): www.asix.com.tw/.../AX88279

 

I have to comment out some function calls in the Asix usb driver in order for petalinux to compile. Apparently, this calls are in places of the code for newer kernel versions.

 

 

The board is able to detect the device in the USB bus, with the module divers and as an Ethernet interface:

[  291.783700] ax_usb_nic: loading out-of-tree module taints kernel.

[  291.787981] usbcore: registered new interface driver ax_usb_nic

[  291.807362] ax_usb_nic 1-1:1.0: ASIX AX88279 USB Ethernet Controller 3.4.0 (1.2.0.4_7.1)

 

root@AvnetMicroZedproj7010:~#  lsusb | grep -i -e "Ethernet" -e "Wireless"

Bus 001 Device 002: ID 0b95:1790 ASIX Electronics Corp. AX88179 Gigabit Ethernet

 

The information on the driver module:

root@AvnetMicroZedproj7010:~# modinfo /lib/modules/6.6.40-rt51-xilinx-g2b7f6f70a62a-dirty/home/marcjofre/Scripts/AvnetMicroZedproj7010/build/tmp/work-shared/zynq-generic-7z010/kernel-source/drivers/net/usb/ax_usb_nic.ko

filename:       /lib/modules/6.6.40-rt51-xilinx-g2b7f6f70a62a-dirty/home/marcjofre/Scripts/AvnetMicroZedproj7010/build/tmp/work-shared/zynq-generic-7z010/kernel-source/drivers/net/usb/ax_usb_nic.ko

version:        3.4.0

license:        GPL

description:    ASIX USB Ethernet Controller

author:         ASIX

srcversion:     757126603A9CAE69242D9C0

alias:          usb:v0B95p1790d0[0-3]*dc*dsc*dp*ic*isc*ip*in*

alias:          usb:v0B95p1790d0400dc*dsc*dp*ic*isc*ip*in*

alias:          usb:v0B95p1790d0[0-1]*dc*dsc*dp*ic*isc*ip*in*

alias:          usb:v0B95p1790d0200dc*dsc*dp*ic*isc*ip*in*

alias:          usb:v0B95p1790d0[0-2]*dc*dsc*dp*ic*isc*ip*in*

alias:          usb:v0B95p1790d0300dc*dsc*dp*ic*isc*ip*in*

alias:          usb:v0711p0179d00*dc*dsc*dp*ic*isc*ip*in*

alias:          usb:v0711p0179d0100dc*dsc*dp*ic*isc*ip*in*

alias:          usb:v2001p4A00d00*dc*dsc*dp*ic*isc*ip*in*

alias:          usb:v2001p4A00d0100dc*dsc*dp*ic*isc*ip*in*

alias:          usb:v04E8pA100d00*dc*dsc*dp*ic*isc*ip*in*

alias:          usb:v04E8pA100d0100dc*dsc*dp*ic*isc*ip*in*

alias:          usb:v0930p0A13d00*dc*dsc*dp*ic*isc*ip*in*

alias:          usb:v0930p0A13d0100dc*dsc*dp*ic*isc*ip*in*

alias:          usb:v17EFp304Bd00*dc*dsc*dp*ic*isc*ip*in*

alias:          usb:v17EFp304Bd0100dc*dsc*dp*ic*isc*ip*in*

alias:          usb:v0DF6p0072d00*dc*dsc*dp*ic*isc*ip*in*

alias:          usb:v0DF6p0072d0100dc*dsc*dp*ic*isc*ip*in*

alias:          usb:v0B95p178Ad00*dc*dsc*dp*ic*isc*ip*in*

alias:          usb:v0B95p178Ad0100dc*dsc*dp*ic*isc*ip*in*

alias:          usb:v0B95p1790d00*dc*dsc*dp*ic*isc*ip*in*

alias:          usb:v0B95p1790d0100dc*dsc*dp*ic*isc*ip*in*

depends:

name:           ax_usb_nic

vermagic:       6.6.40-rt51-xilinx-g2b7f6f70a62a-dirty SMP preempt_rt mod_unload modversions ARMv7 p2v8

parm:           bctrl:RX Bulk Control (int)

parm:           blwt:RX Bulk Timer Low (int)

parm:           bhit:RX Bulk Timer High (int)

parm:           bsize:RX Bulk Queue Size (int)

parm:           bifg:RX Bulk Inter Frame Gap (int)

 

Some traffic through the interface seems to happen (but only in TX, not in RX):

4: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000

    link/ether 6c:6e:07:03:06:18 brd ff:ff:ff:ff:ff:ff

    RX:  bytes packets errors dropped  missed   mcast

             0       0      0       0       0       0

    TX:  bytes packets errors dropped carrier collsns

           656       8      0       0       0       0

 

Although most things seems to go right, I amb not able to test connectivity through a ping nor have the interface working to use it in linuxptp hardware timestamp (nor with software timestamps; while for the onboard Ethernet eth0 with software timestamps works).

root@AvnetMicroZedproj7010:~# ptp4l -i eth1

Floating point exception

 

 

 

Is the device tree settings correct? Is the driver correct? Is the standard Vivado design enough? Which way could I further investigate and debug the operation of this USB-ETH Device?

 

I modified system-user.dtsi as:

 

/include/ "system-conf.dtsi"

/ {

};

 

/{

usb_phy0:phy0 {

compatible="ulpi-phy";

//compatible = "xlnx,zynq-usb-2.20.a", "chipidea,usb2";

phy_type = "ulpi"; // "ulpi" ?? "mii"

#phy-cells = <0>;

reg = <0xe0002000 0x1000>;

view-port=<0x170>;

drv-vbus;

};

};

 

&usb0 {

status = "okay";

dr_mode = "host";

usb-phy = <&usb_phy0>;

} ;

  • Sign in to reply
  • Cancel
  • marc.jofre
    marc.jofre 5 months ago

    Hi all,

    It is solved now. It works nicely. The device-tree is well defined. The chip implements PTP 1588 (1-step) in an MicroZed Zynq 7010.

    It was the driver not being able to detect some mii functions defined in mii.c (this I stil ldo not understand). After manually adding the definition of the mii.c functions in the main USB-ETH interface driver and recompiling the module.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube