Hello,
I'm trying to make USB 2.0 devices work on a CEPC with EHCI/OHCI Host
controllers.
I've installed all the USB related QFEs.
If I insert a USB 1.1 flash key, EHCI passes control to OHCI and all
works fine.
In case of a 2.0 device, I can see debug strings up to:
CHub(Root tier 0)::AttachDevice - status =
DEVICE_CONFIG_STATUS_SCHEDULING_GET_DEVICE_DESCRIPTOR_TEST, failures =
0
+CHub(Root tier 0)::GetDescriptor - address = 0, Type = 1, Index = 0,
Size = 8
GetDescriptor does not return at all, due to a busy pipe.
After other messages, I see this block of lines repeating forever:
CQTransfer::IsTransferDone (this=0x35f820,id=0x0)
CQTransfer::IsTransferDone (this=0x35f820) return 0
CPipe::CheckForDoneTransfersThread - #pipes still busy = 1
CPipe::CheckForDoneTransfersThread - #pipes to check = 1
Have you ever seen a similar situation?
At the end of my post you will find a more detailed debug output.
Thank you in advance,
Panino
-------
[..]
+CRootHub::ResetAndEnablePort - port = 2
Root hub, after reset & enable, port 2 portsc = 0x1005
-CRootHub::ResetAndEnablePort - port = 2, returning 1
+CRootHub::GetStatus - port = 2
-CRootHub::GetStatus - port = 2, returing BOOL 1
CHub(Root tier 0)::HubStatusChangeThread - device attached on port 2
+CHub(Root tier 0)::AttachDevice - port = 2, fIsLowSpeed = 0
+CDeviceGlobal::ReserveAddress
-CDevice::ReserveAddress, returning rAddress 1, success = 1
CHub(Root tier 0)::AttachDevice - status =
DEVICE_CONFIG_STATUS_OPENING_ENDPOINT0_PIPE, failures = 0
+CPipe::CPipe
-CPipe::CPipe
+CQueuedPipe::CQueuedPipe
-CQueuedPipe::CQueuedPipe
+CControlPipe::CControlPipe
-CControlPipe::CControlPipe
+CControlPipe::OpenPipe
+CPipe::AddToBusyPipeList - new pipe(Control) 0x33370, pri 0
-CPipe::AddToBusyPipeList - new pipe(Control) 0x33370, pri 0,
returning BOOL 1
-CControlPipe::OpenPipe
CHub(Root tier 0)::AttachDevice - status =
DEVICE_CONFIG_STATUS_USING_ADDRESS0, failures = 0
CHub(Root tier 0)::AttachDevice - status =
DEVICE_CONFIG_STATUS_RESET_AND_ENABLE_PORT, failures = 0
+CRootHub::ResetAndEnablePort - port = 2
Root hub, after reset & enable, port 2 portsc = 0x1005
-CRootHub::ResetAndEnablePort - port = 2, returning 1
CPipe::CheckForDoneTransfersThread - #pipes to check = 1
-CPipe(Control)::ScheduleTransfer - Schedule called during QHead Busy
or nothing to schedule!
CPipe::CheckForDoneTransfersThread - #pipes still busy = 1
CPipe::CheckForDoneTransfersThread - #pipes to check = 1
-CPipe(Control)::ScheduleTransfer - Schedule called during QHead Busy
or nothing to schedule!
CPipe::CheckForDoneTransfersThread - #pipes still busy = 1
CPipe::CheckForDoneTransfersThread - #pipes to check = 1
-CPipe(Control)::ScheduleTransfer - Schedule called during QHead Busy
or nothing to schedule!
CPipe::CheckForDoneTransfersThread - #pipes still busy = 1
CPipe::CheckForDoneTransfersThread - #pipes to check = 1
42-CPipe(Control)::ScheduleTransfer - Schedule called during QHead
Busy or nothing to schedule!
CPipe::CheckForDoneTransfersThread - #pipes still busy = 1
CHub(Root tier 0)::AttachDevice - status =
DEVICE_CONFIG_STATUS_SCHEDULING_GET_DEVICE_DESCRIPTOR_TEST, failures =
0
+CHub(Root tier 0)::GetDescriptor - address = 0, Type = 1, Index = 0,
Size = 8
+CControlPipe::IssueTransfer, address = 0
+CPipe(Control)::IssueTransfer, address = 0
+CControlPipe::AreTransferParametersValid
-CControlPipe::AreTransferParametersValid, returning BOOL 1
CTransfer::Init (this=0x35f820,id=0x0)
CQTransfer::Init
(this=0x35f820,id=0x0),m_pAllocatedForControl=0x4a9000,m_pAllocatedForClient=0x4a9020
CQTransfer::AddTransfer (this=0x35f820,id=0x0)
-CPipe(Control)::IssueTransfer - address = 0, returing
HCD_REQUEST_STATUS 1
-CControlPipe::::IssueTransfer - address = 0, returing
HCD_REQUEST_STATUS 1
CPipe::CheckForDoneTransfersThread - #pipes to check = 1
CQTransfer::IsTransferDone (this=0x35f820,id=0x0)
CQTransfer::IsTransferDone (this=0x35f820) return 0
CPipe::CheckForDoneTransfersThread - #pipes still busy = 1
CPipe::CheckForDoneTransfersThread - #pipes to check = 1
CQTransfer::IsTransferDone (this=0x35f820,id=0x0)
CQTransfer::IsTransferDone (this=0x35f820) return 0
[..]