cancel
Showing results for 
Search instead for 
Did you mean: 

STM32F217 - USB FS host mode hub problem

g_
Associate
Posted on July 03, 2013 at 15:15

Hi,

I'm using STM32F217IGH and I'm stuck on a problem with USB FS in host mode.

When I'm connecting

Low 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-speed
11 REPLIES 11
tsuneo
Senior
Posted on July 03, 2013 at 17:56

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.

Tsuneo

g_
Associate
Posted on July 04, 2013 at 09:14

Thank you for your reply. I'll contact with ST to solve this issue.

Greg
enorbert
Associate
Posted on October 03, 2013 at 16:49

Hi,

Did the ST support helped something? If yes please share the solution.

Norbert

mbrack
Associate
Posted on October 07, 2015 at 16:49

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, Martin

alecseev
Associate II
Posted on April 20, 2016 at 08:11

Hi!

I have the same problem.

In

my request

to

support

I received no answer

I use stm32f4discovery

in

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 a

disable

. 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 enough

successful reading

descriptor

mouse pic:

https://drive.google.com/file/d/0B9XPN6lpRZS2U0pCWjd2endhaEE/view?usp=sharing

unsuccessful

reading

descriptor

mouse pic:

https://drive.google.com/file/d/0B9XPN6lpRZS2T0g2dFZGTFZEdXc/view?usp=sharing

Status

registers:

https://drive.google.com/file/d/0B9XPN6lpRZS2V2dvWFJNWWd2T00/view?usp=sharing

Walid FTITI_O
Senior II
Posted on April 20, 2016 at 12:07

Hi alecs,

I recommend that you use the last version of STM32CubeF4 at this Link

http://www.st.com/web/catalog/tools/FM147/CL1794/SC961/SS1743/LN1897/PF259243

-Hannibal-

alecseev
Associate II
Posted on April 21, 2016 at 13:08

I checked the

changes in those files that

I 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.

Posted on April 25, 2016 at 02:58

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

http://www.hcc-embedded.com/

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.

alecseev
Associate II
Posted on April 25, 2016 at 14:56

I have done the procedures that support the hub. This works well for fs devices.

I can not understand why the error by

receiving

/ transmission channel leads to the disable of the usb port.

You used to work HCC embedded

through a hub

with ls devices

?