USBX with Asix AX88772B not working on an STM32H723

Patrick 1 Reputation point
2021-08-17T15:09:23.617+00:00

Hello,
I've seen, that the USBX host stack supports the ASIX AX88772B chip. Our goal is to connect an USB-to-LAN-converter to an STM32H7-Controller.

So I setup everything (ThreadX, NetXDuo and USBX) and the AX88772B gets initialized without any issues in the setup routine (_ux_host_class_asix_setup).
But as soon as I plug in the ethernet cable, the following is happening:

  • I get an notification interrupt, that a cable was plugged in and the link state is set to UX_HOST_CLASS_ASIX_LINK_STATE_PENDING_UP (_ux_host_class_asix_interrupt_notification)
  • A TX-Thread sets the state to UX_HOST_CLASS_ASIX_LINK_STATE_UP (_ux_host_class_asix_thread)
  • But approximately 250ms after the UX_HOST_CLASS_ASIX_LINK_STATE_PENDING_UP was set, I receive another interrupt that says, that the link is down. And the link state goes to UX_HOST_CLASS_ASIX_LINK_STATE_PENDING_DOWN

I tried out some stuff but nothing seems to help. It seems, that this "link-down"-interrupt is independend from what is happening in _ux_host_class_asix_thread.

Must I poll the device in a certain way?

Is there also a detailled documentation how to use the ASIX on USBX in a good way?

Thanks for your help.
Patrick

Azure RTOS
Azure RTOS
An Azure embedded development suite including a small but powerful operating system for resource-constrained devices.
324 questions
{count} votes