2024-01-13 01:40 AM - last edited on 2024-01-15 01:05 AM by Olivier GALLIEN
Hello.
I am creating software for the host side of a USB hub, and I want to connect a mouse to a port on the USB hub,
I want to connect a mouse to the port of the USB hub and operate it.
The USB communication speed of the USB hub is HI SPEED, and when the hub detects a mouse with a LOW SPEED USB communication speed, it will send USBH_Get_DevDesc to the mouse in LOW SPEED.
USBH_Get_DevDesc is sent to the mouse at LOW SPEED when the hub detects a mouse with a USB communication speed of LOW SPEED.
USBH_StatusTypeDef USBH_OpenPipe(USBH_HandleTypeDef *phost, uint8_t pipe_num,
uint8_t epnum, uint8_t dev_address, uint8_t speed, uint8_t dev_address
uint8_t speed, uint8_t ep_type, uint16_t mps)
I can not communicate in LOW SPEED as seen in the line monitor even if I execute speed=2(LOW SPEED) with
How can I communicate in LOW SPEED?
2024-01-13 04:10 AM - edited 2024-01-13 04:17 AM
Hi,
from H747 ds :
I see no LOW SPEED here - so look in rm , H743 here :
+
To make it clear : you want H747/HOST -> HUB -> mouse/DEVICE -- right ?
afaik the USB lib not supporting HUB .... try without HUB , working then ?
2024-01-13 07:06 PM
Hi!
Thanks for your support.
I have already succeeded in connecting the mouse without the HUB.
The configuration is H747/HOST -> HUB -> mouse/DEVICE
and the configuration is H747/HOST -> HUB -> mouse/DEVICE.
STM does not support the HUB in terms of software, so I
I have to make it by myself.
Without HUB, I have succeeded in accessing from STM32H747 at LOW SPEED.
Is the STM32H747 hardware capable of LOW SPEED communication?
Or, is it that LOW SPEED communication is not possible via a HUB?
If it is a software problem and not a hardware problem, I would like to control the mouse via the HUB myself.
I would like to control the mouse via HUB by myself.
By the way, USBH_Get_DevDesc of HI SPEED device via HUB succeeded.
2024-01-15 01:52 AM - edited 2024-01-15 01:56 AM
Hi,
> STM does not support the HUB in terms of software, so I have to make it by myself.
Right! If you manage this - show it here ( or on git) . 8)
> Is the STM32H747 hardware capable of LOW SPEED communication?
-- from rm : yes, as host. + > Without HUB, I have succeeded < So you proofed it already.
> Or, is it that LOW SPEED communication is not possible via a HUB?
afaik This is managed by the HUB then, you connect to the HUB at (lets say) full speed, this stays at full speed;
then connecting full or lo speed devices to the HUB , it manages the transfer at this speed to the devices, but your transfer stays at full speed to the HUB. So you dont need to switch any speed - you "only" have to deal with the enumeration and communication coming from the HUB ( and this STM not got running, afaik. )
Only (host)USB -> HUB -> device working lib is in Azure/rtos USBX , so maybe you look there, how they do.
https://github.com/eclipse-threadx/usbx
->
++ read here :
https://community.st.com/t5/stm32-mcus/how-to-implement-usbx-in-standalone-mode/ta-p/614435
2024-01-15 03:01 PM
>afaik This is managed by the HUB then, you connect to the HUB at (lets say) full speed, this stays at full speed;
>then connecting full or lo speed devices to the HUB , it manages the transfer at this speed to the devices, but your
> transfer stays at full speed to the HUB. So you dont need to switch any speed - you "only" have to deal with the
> enumeration and communication coming from the HUB ( and this STM not got running, afaik. )
Hi!
Thank you very much for your valuable information!!
I have not studied enough about how to control HUBs, so I will look into it from now on.