cancel
Showing results for 
Search instead for 
Did you mean: 

Azure RTOS STM327H73 BIT 6 connected to USB2514 UB connections are flaky

PCevo.1
Associate III

We are having a bear of a time getting the USB2514 to work properly with the STM327H73 both with the USB2514 built into our board and also with the STM327H73 connected to a EVB-USB2514BCQFM36 eval board. Looking for suggestions for resolving this issue, suggestions sample github code anything really.

We have a custom board with a STM327H73 USB port is connected to  the USB eval board. System is running Azure RTOS 6.1 and USBX.

  1. USBX is initialized 
  2. USBX stack as a HUB, CDC ACM host classes registered (HID and Storage  host classes also but not used for this test)

Here's the symptom.

  1. Boot the system with a CDC ACM serial port connected, CDC ACM port is recognized and works as expected
  2. if step one did not have a CDC ACM serial port connected connect it after booting. CDC ACM port works as expected
  3. disconnect the CDC ACM port, port disconnects as expected.
  4. From this point on the USB2514 hub will not recognize anything being plugged into any of the 4 ports
  5. For grins the USB2514 USB cable was unplugged, USB hub device removed as expected.
  6. USB 2514 was plugged back into the STM327H73 USB and the USB HUB was recognized
  7. Proceed to step 1

Any thoughts on how unplugging a CDC ACM port would render the USB2514 HUB useless until it it forcefully reset again?

2 REPLIES 2
PCevo.1
Associate III

Interestingly noticed that if the call to 

if (ux_host_stack_class_register(_ux_system_host_class_cdc_acm_name, ux_host_class_cdc_acm_entry) != UX_SUCCESS)

is removed and usb start time, the serial port can be plugged and unplugged many times. The serial port will not enumerate, because the usb stack does not know what the serial port is. Anybody else running into generic USBx cdc acm resource issues causing serial ports not to be usable after the first discovery? 

Paolo Anterri
Associate II

Hi PCevo.1

I have the same problem. I configured stm32h733VGT6 to support the usb2514 hub device. To do this I used Azure RTOS and the USBX library with STM32CubeIDE Version: 1.17.0. Everything works fine, the USB2514 device is always recognized at power-on with the correct VID and PID (see the image). The problem is that when I connect a device to one of the 4 usb ports (downstream), insertion is recognized (UX_DEVICE_CONNECTION event), as well as removal (UX_DEVICE_DISCONNECTION event), but the peripheral is not recognized.

The USB2514 is configured with SEL0, SEL1, NON_REM0 and NON_REM1 all with pulldown resistors (100KOhm) to GND.

The strange thing is that at startup, even if there are no devices connected to the USB downstream ports, the event UX_DEVICE_CONNECTION occurs.

When I connected a device, the condition:

if (current_class -> ux_host_class_entry_function == ux_host_class_cdc_acm_entry)

current_class returns a wrong ux_host_class_name and exit from if statement, always.

 

Did you have resolve this issue?

Thank you, Paolo.

 

ScreenShot.jpg