Re: MOUHID attaching problem
From: Dusko Stajic (dstajic_at_xylon.hr.NO)
Date: 02/09/04
- Next message: Tweeeek: "wallpaper version number displayed"
- Previous message: Yu: "XIP and demand page"
- In reply to: Mike Engel: "Re: MOUHID attaching problem"
- Next in thread: Mike Engel: "Re: MOUHID attaching problem"
- Reply: Mike Engel: "Re: MOUHID attaching problem"
- Messages sorted by: [ date ] [ thread ]
Date: Mon, 9 Feb 2004 11:43:32 +0100
Hi,
which lines exactly should I see? Which function is for HIDparser?
Yes, driver passes AttachDevice function in CDevice.cpp (see below).
How to load USBHID and MOUHID?
I recevied Cypress sources for WCE3.0 and 4.0, but they told me they have
not yet for 4.2. How did you get driver for WCE4.1?
I did not test Cypress SL811HS driver on WCE3.0 or 4.0, but tried to compile
it on 4.2. It did not work, I guess there was too much mixing c/cpp files.
However, I managed to build image after I incorporated Cypress SL811HS
driver in D:\WINCE420\PUBLIC\COMMON\OAK\DRIVERS\USB\HCD\UHCD folder.
So I replaced original MS files with quite modified Cypress files. For
example, I made sl811.c as a part of chw.cpp.
Now, initialisation passes always.
If USB mouse is attached at bootup then:
USBD: DllMain
USBD: DLL attach
USBD: DllMain
+ETH: DriverEntry
SMUX ETHERNET successfully initialized
UHCD driver DLL
UHCD driver DLL attach
HcdPdd_DllMain
UHCD!HCD_Init ++
UHCD!HCD_Init --
SL811-HcdPdd_Init ++
InitializeUHCI ++
SL811: GetRegistryConfig ++
SL811: GetRegistryConfig --
InitializeUHCI: dwioPortBase = 0x310
InitializeUHCI: v_pIoRegsBase = 0x210000
InitializeUHCI: v_pUHCIDMABuffer = 0x220000
InitializeUHCI: g_pddPortBase=0x210310, g_pddPortOffset=0x10
InitializeUHCI: pPddObject=48b90, szDriverRegKey=Drivers\BuiltIn\UHCI,
dwioPortBase=310, dwSysIntr=28
DMA buffer passed in from PDD
CPhysMem Total Alloc Region PhysAddr = 0xA0070000, VirtAddr = 0x00220000,
size = 65536
CPhysMem Special Alloc Region PhysAddr = 0xA0070000, VirtAddr = 0x00220000,
size = 4096
CPhysMem HighPri Alloc Region PhysAddr = 0xA0071000, VirtAddr = 0x00221000,
size = 20480
CPhysMem Normal Alloc Region PhysAddr = 0xA0076000, VirtAddr = 0x00226000,
size = 40960
CPhysMem Init : NodeFreeListHead = 0x00048E70
CPhysMem Init : FreeListHead = 0x00048F30, InUseListHead = 0x00048FF0
CPhysMem Init : HighPriFreeListHead = 0x000490B0, HighPriInUseListHead =
0x00049170
CPhysMem Init : Main Free Heap Node = 0x00049230
FreeList(pri = 0) : pNode size = 40960, PA = 0xa0076000, VA = 0x00226000,
Desc = Free Low Pri Mem
CPhysMem ValidateHeaps : FreeSize = 40960 bytes; TotalSize = 40960 bytes
CPhysMem ValidateHeaps : Nodes Free = 0
CPhysMem Init : HighPri Free Heap Node = 0x000492F0
FreeList(pri = 1) : pNode size = 20480, PA = 0xa0071000, VA = 0x00221000,
Desc = Free High Pri Mem
CPhysMem ValidateHeaps : FreeSize = 20480 bytes; TotalSize = 20480 bytes
CPhysMem ValidateHeaps : Nodes Free = 0
HcdMdd_CreateMemoryObject - pobMem=0x48df0
InitializeUHCI: pobMem=0x48df0
+CHW::CHW: portBase=0x210310, ioPortOffset=0x10, intr=0x1c
+CHW::CHW: g_slPortBase_Data=0x210310, g_slPortBase_Addr=0x210320
g_slPortBase_Ctrl=0x210330
+CUhcd::CUhcd
-CUhcd::CUhcd
HcdMdd_CreateHcdObject - pobUhcd=0x493b0
+CUhcd::Initialize. Entry
+CDeviceGlobal::Initialize
USBD: DllMain
USBD: DLL attach
+USBD:HcdAttach, hcd: 0x49640
-CDevice::Initialize, success!
+CHW::Initialize ++
+SL811:InitDesc
CHW::Initialize - m_backgroundevent ++
CHW::Initialize - CreateEvent m_hUsbInterruptEvent-- 0
SL811:IusbSL11Config - m_dwSysIntr = 0x1c
CHW::Initialize - InterruptDisable-- 0
SL811:InterruptInitialize - m_hUsbInterruptEvent = 0xa29e985a
CHW::Initialize - m_hUsbInterruptEvent Initialize--
+SL811:usb_reset ++
+SL811:SL11BackgroundTask
+CHW::Entered UsbInterruptThreadStub
+CHW::Entered USBInterruptThread
+SL811: FPGA Reset OK
+SL811:usb_reset: clear interrupt bits
CHW::UsbInterruptThread: Receive Interrupt
IusbSL11Isr ++
IusbSL11Isr: SL11H_INTSTATREG=0x60
+SL811:usb_reset: g_insert --
-CHW::Initialize, success!
+CUHCIFrame::Initialize
-CUHCIFrame::Initialize. Success!
+CDevice::CDevice
-CDevice::CDevice
+CHub::CHub
-CHub::CHub
+CRootHub::CRootHub
-CRootHub::CRootHub
+CRootHub::EnterOperationalState
+CHub(Root tier 0)::AllocateDeviceArray
CHub(Root tier 0)::AllocateDeviceArray - attempting to allocate 1 devices
-CHub(Root tier 0)::AllocateDeviceArray, returning BOOL 1
-CRootHub::EnterOperationalState, returning BOOL 1
-CUhcd::Initialize. Success!!
InitializeUHCI: pobUhcd=0x493b0
InitializeUHCI --
SL811-HcdPdd_Init --
+SL811:PortStatusChangeThread context=0x493b0
Display Type 25: XRes=640 (211mm) YRes=480 (158mm) NoOfColors=256
DdsiTouchPanelEnable passed. fWceInitFinished = 1
SetSystemMemoryDivision failed.
SL811: SetEvent(m_hPortEvent), SL11H_INTSTATREG Value=0x60
+SL811:usb_reset ++
NDISPWR:: Found adapter [SMXETHER1]
+SL811: FPGA Reset OK
+SL811:usb_reset: clear interrupt bits
+SL811:usb_reset: slow device
+SL811:usb_reset --
SL811: PortStatusChangeThread-Before running HCD_AttachDevice g_portSpeed=1
+SL811:InitParams ++
+SL811:InitParams --
+SL811_AttachDevice: pobUhcd=0x493b0
HcdMdd_DestroyHcdObject - lpvUhcdObject=0x493b0
HcdMdd_DestroyHcdObject - pobUhcd=0x493b0
+CHub(Root tier 0)::AttachDevice - port = 1, fIsLowSpeed = 1
+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
+SL811:IusbSL11CreateBulkOrCtrlEndPoint
SL811:IusbSL11CreateBulkOrCtrlEndPoint-pCreateEP->ulFuncAddress=0,
pCreateEP->ulEndPointNumber=0
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 = 1
-CRootHub::ResetAndEnablePort - port = 1, returning 1
CHub(Root tier 0)::AttachDevice - status =
DEVICE_CONFIG_STATUS_SCHEDULING_SET_ADDRESS, failures = 0
CHub::AttachDevice:
DEVICE_CONFIG_STATUS_SCHEDULING_SET_ADDRESS:m_fHubThreadClosing=0
+CPipe(Control)::IssueTransfer, address = 0
+CPipe(Control)::IssueTransfer, Transfer Parameters:
address= 0
lpStartAddress= 2cdfdf0
lpvNotifyParameter= 229de63a
dwFlags= 1000
lpvControlHeader= 626fd80
dwStartingFrame= 0
dwFrames= 0
aLengths= 0
dwBufferSize= 0
lpvClientBuffer= 0
paBuffer= 0
lpvCancelId= 49e10
adwIsochErrors= 0
adwIsochLengths= 0
lpfComplete= 626fd28
lpdwBytesTransferred= 626fd24
lpdwError= 626fd2c
+SL811:SetBulkOrCtrlAddress
+SL811: IusbSL11DeviceBulkOrCtrlXfer
SL811:(IusbSL11DeviceBulkOrCtrlXfer-CTRL) pDevXfer->ulLength=0,
pDevXfer->pBuffer=0, pDevXfer->pSetupBuff=58b20
SL811:(IusbSL11DeviceBulkOrCtrlXfer-CTRL) *pSetupBuff=0,5,1,0,0,0,0,0
SL811:(IusbSL11DeviceBulkOrCtrlXfer-CTRL) CurrentPermissions=5
-CPipe(Control)::IssueTransfer, address = 0, returning status=1
CHub::AttachDevice: DEVICE_CONFIG_STATUS_SCHEDULING_SET_ADDRESS:status=1
CHW::UsbInterruptThread: Receive Interrupt
IusbSL11Isr ++
IusbSL11Isr: SL11H_INTSTATREG=0x12
IusbSL11Isr: SE0 work arround
CHW::UsbInterruptThread: Receive Interrupt
IusbSL11Isr ++
IusbSL11Isr: SL11H_INTSTATREG=0x11
IusbSL11Isr: SL11H_INTMASK_XFERDONE
SL811: Enter_SL11StateMachine
SL811: SL11FindNextIntrTD
SL811: Enter_SL11FindNextBulkCtrlTD
SL811: SL11DelMarkedEPs
SL811: Enter_SL11ScanForTD
SL811: SL11SchedXaction
+SL811: IusbSL11Isr --
CHW::UsbInterruptThread: Receive Interrupt
...
and so on in an eternal loop.
Thank you for any help,
Dusko
"Mike Engel" <andi@reterioja.com> wrote in message
news:#qzkXzZ7DHA.2404@TK2MSFTNGP11.phx.gbl...
> Hi Dusko,
>
> your registry settings are OK. When connecting a mouse to the USB Host you
> should see first the on the debug output the load of the USBHID and
> HIDparser. Than an ADD HID1 and than the system should load the MOUHID.
>
> Do the driver passe the AttacheDevice function, located in CDevice.cpp?
>
> Another question regarding the source you have. We use the same USB Host
> controller and have the source from Cypress, but for Windows CE V4.1. Your
> sources are based on the V4.2? There are a hugh difference between HID
V4.1
> and V4.2. If you search in the group you will find recommandations to
change
> the driver to V4.2 if you use Windows CE V4.2 and your driver is based on
> V4.1.
>
> Mike Engel
>
> "Dusko Stajic" <dstajic@xylon.hr.NO SPAM> escribió en el mensaje
> news:#sPHKuM7DHA.3704@tk2msftngp13.phx.gbl...
> > Hi,
> >
> > I'm debugging the USB UHCI driver for SL811HS on WCE4.2.
> >
> > If USB mouse is attached at or after startup, attaching UHCI device
> passes.
> > In both cases, there are no reactions on mouse moving/pressing.
> >
> > I guess I included all necessary reg settings:
> >
> > [HKEY_LOCAL_MACHINE\Drivers\USB\LoadClients\Default\Default\3\Hid_Class]
> > "DLL"="USBHID.DLL"
> > "Prefix"="HID"
> > "Index"=dword:1
> > [HKEY_LOCAL_MACHINE\Drivers\USB\ClientDrivers\Hid_Class]
> > "DLL"="USBHID.DLL"
> > "Prefix"="HID"
> > [HKEY_LOCAL_MACHINE\Drivers\HID\LoadClients\Default\Default\1_2\Mouse]
> > "DLL"="MOUHID.DLL"
> >
> > Still, I can not see that mouhid is activated.
> > Should there be print: "MOUHID DllEntry attach"?
> >
> > Thanks in advance for any help,
> >
> > Dusko
> >
> >
> >
>
>
- Next message: Tweeeek: "wallpaper version number displayed"
- Previous message: Yu: "XIP and demand page"
- In reply to: Mike Engel: "Re: MOUHID attaching problem"
- Next in thread: Mike Engel: "Re: MOUHID attaching problem"
- Reply: Mike Engel: "Re: MOUHID attaching problem"
- Messages sorted by: [ date ] [ thread ]
Relevant Pages
|