2013-07-03 06:15 AM
Hi,
I'm using STM32F217IGH and I'm stuck on a problem with USB FS in host mode. When I'm connectingLow Speed
devices through Full Speed hub, during enumeration, the core generates a port disabled interrupt. The reference manual suggests a port babble error, but i don't know why this is happening. The problem does not ocuur with Full Speed devices. My USB analyzer shows that the last packet send by a host is always PREamble packet (i've attached some screens from analyzer). Regards, Greg #usb-hub-low-speed2013-07-03 08:56 AM
It looks like a silicon bug of built-in host scheduler:
After the host puts PRE token at very near to the end of frame, the host is suddenly aware that there remains insufficient period in the frame, for following LS packet. And then, the host stops all bus activity, because of this error. I recommend you to contact to ST's support on this issue. This issue isn't seen on the errata. Your bus traces are enough to tell what occurs here. Unfortunately, no host register is exposed to tune the schedule timing in a frame. If there would be anything for us to deal with this bug, every LS transaction over hub is registered to the host at SOF interrupt, so that the host puts the transaction in early stage in the frame. Tsuneo2013-07-04 12:14 AM
Thank you for your reply. I'll contact with ST to solve this issue.
Greg2013-10-03 07:49 AM
Hi,
Did the ST support helped something? If yes please share the solution. Norbert2015-10-07 07:49 AM
Hi,
Now two years later, we are running into the exact same issue:operating a LS device over a FS Hub on the STM32F207's FS Port is not reliable and highly temperature sensitive.Has ST-Support been of any help regarding this issue?Best regards, Martin2016-04-19 11:11 PM
Hi!
I have the same problem.
In
my request
tosupport
I received no answer
I use stm32f4discoveryin
FS_HOST mode of HAL library V1.4.3 11-12-2015 Through FS hub is connected to the host LS mouse. The problem arises when reading descriptor mouse, when they begin to be used PREamble packages. Sometimes after USB_OTG_HC_StartXfer procedure query () to mouse usb port there is adisable
. Attempting to sent immediately after the SOF was unsuccessful.
To continue the work required to re-initialize USB core.This is not always, but often enoughsuccessful reading
descriptor
mouse pic: https://drive.google.com/file/d/0B9XPN6lpRZS2U0pCWjd2endhaEE/view?usp=sharing unsuccessfulreading
descriptor
mouse pic: https://drive.google.com/file/d/0B9XPN6lpRZS2T0g2dFZGTFZEdXc/view?usp=sharingStatus
registers:
https://drive.google.com/file/d/0B9XPN6lpRZS2V2dvWFJNWWd2T00/view?usp=sharing2016-04-20 03:07 AM
Hi alecs,
I recommend that you use the last version of STM32CubeF4 at this Linkhttp://www.st.com/web/catalog/tools/FM147/CL1794/SC961/SS1743/LN1897/PF259243
-Hannibal-2016-04-21 04:08 AM
I checked the
changes in those files thatI use for
usb. Changed version number and also to change constant (ex.,0
-> 0U) This does not affect anything.I changed the
usb core FS -> HS.Almost
too.
But
there was
the next
packet (
https://drive.google.com/file/d/0B9XPN6lpRZS2TDV3T0xaOG5jRkk/view?usp=sharing
)after
packet preamble.2016-04-24 05:58 PM
Sounds like you have a LS mouse connected to the STM32 through a hub. The STM32 USB host library does not currently support USB hub class, if you want to connect to a USB hub, you first have to implement the USB hub class driver for STM32. You can also purchase a third party USB host stack that supports USB HUB class, like
who offers support for hub class on STM32. You can also try connecting the mouse directly to the STM32 (with Host HID class driver), this should work.2016-04-25 05:56 AM
I have done the procedures that support the hub. This works well for fs devices.
I can not understand why the error byreceiving
/ transmission channel leads to the disable of the usb port. You used to work HCC embeddedthrough a hub
with ls devices?