HELP!! EHCI detects every connected device as low speed ones

Question about which tools to use, bugs, the best way to implement a function, etc should go here. Don't forget to see if your question is answered in the wiki first! When in doubt post here.
Post Reply
bsdero
Posts: 9
Joined: Mon Jan 09, 2012 12:36 pm

HELP!! EHCI detects every connected device as low speed ones

Post by bsdero »

Hi guys!!

I'm passing through difficult times trying to get the PortEnable bit in the PortSC registers of EHCI USB PCI controller.


I settled EHCI as owner all the Ports, by setting the bit 13 (port owner) of PortSC to 0.

After that, I connect a device, a PCI interrupt happens, and I catch it. I get the Port connect status change bit enabled and all. After check the device is not low speed, I begin with the HostController reset, and check that HCH (HostController Halted) bit = 1.

After this, I do a reset of PortSC in order to set up device on line, by setting PortReset bit to 1 and PortEnable bit to 0.

However, how much time would take the reset before to put the PortReset bit back to 0? I have 50 microseconds, is this value ok?

Well, after that, I re-check the PortEnable bit, and its value never is = 1, it ever is = 0, so EHCI never owns a device even if its a Hi-Speed or Full Speed USB device....

Why this happen? What thing is the best to do? I read the Mindshare guide for EHCI and Intel's one and I do all that's needed .... :( I'm still getting PE bit in my PortSC registers readed back as 0!! :(
octavio
Member
Member
Posts: 94
Joined: Wed Oct 25, 2006 5:12 am
Location: Barcelona España
Contact:

Re: HELP!! EHCI detects every connected device as low speed

Post by octavio »

That is what i do in Octaos:
after reset wait 50miliseconds not microseconds ,after this i clear the reset bit and wait 10 miliseconds,then if port is not yet enabled i try to reset one more time before assuming it is a low speed device.
bsdero
Posts: 9
Joined: Mon Jan 09, 2012 12:36 pm

Re: HELP!! EHCI detects every connected device as low speed

Post by bsdero »

Wow, that worked!! I can now detect EHCI devices correctly and have the PE bit enabled!!

Thanks Octavio :D
Post Reply