none
usbd.dll ohci: unable to create root hub object RRS feed

  • Question

  • peeling the USB onion...

    I am tasked to connect a 3<sup>rd</sup> party device to my BSP (Win CE 6.0 R3) and it happens to be an USB HID based weather station.

    I took the mouhid.cpp as the starting point for my new driver but I can’t get it to register (ActiveDevice).

    Trying to debug why LoadClientDriver fails, I set breakpoints in usbd.cpp but the breakpoint never fires.

    What does it mean Ohcd::Initialize - unable to create root hub object?

    Because after this, the USBD module unloads (that explains why the breakpoint doesn't work).

    But I have in a different port an FTDI interface to serial and it works fine... any reason why ohcd fails but the FTDI driver loads?

    Looking at my traces I found:

    PID:400002 TID:c40002 OSAXST1: >>> Loading Module 'at91sam9g20ek_ohci.dll' (0x83C80408) at address 0xC0E10000-0xC0E4C000 in Process 'NK.EXE' (0x821A8BC0)
    PID:400002 TID:c40002 HCD driver DLL attach
    PID:400002 TID:cb0002 OSAXST1: >>> Loading Module 'notify.dll' (0x83C80840) at address 0x40150000-0x4016C000 in Process 'NK.EXE' (0x821A8BC0)
    PID:400002 TID:c40002 HCD!HCD_Init
    PID:400002 TID:c40002 USB:OhcdPdd_Init
    PID:400002 TID:c40002 ++InitializeOHCI
    PID:400002 TID:c40002 Allocating DMA buffer from system RAM
    PID:400002 TID:c40002 CPhysMem   Total Alloc Region PhysAddr = 0x23158000, VirtAddr = 0xD0810000, size = 65536
    PID:400002 TID:c40002 CPhysMem Special Alloc Region PhysAddr = 0x23158000, VirtAddr = 0xD0810000, size = 4096
    PID:400002 TID:c40002 CPhysMem HighPri Alloc Region PhysAddr = 0x23159000, VirtAddr = 0xD0811000, size = 16384
    PID:400002 TID:c40002 CPhysMem  Normal Alloc Region PhysAddr = 0x2315D000, VirtAddr = 0xD0815000, size = 45056
    PID:1e00002 TID:cb0002 OSAXST1: >>> Loading Module 'notify.dll' (0x83C80840) at address 0x40150000-0x4016C000 in Process 'udevice.exe' (0x83CC445C)
    PID:400002 TID:c40002 +COhcd::Initialize. Entry
    PID:400002 TID:c40002 +CDeviceGlobal::Initialize
    PID:400002 TID:c40002 OSAXST1: >>> Loading Module 'usbd.dll' (0x83C793E4) at address 0xC0BB0000-0xC0BC4000 in Process 'NK.EXE' (0x821A8BC0)
    PID:1e00002 TID:cb0002 [NOTIFY] Module loaded
    PID:400002 TID:c40002 USBD: DLL attach
    PID:400002 TID:c40002 +USBD:HcdAttach, hcd: 0xD0114E80
    PID:400002 TID:c40002 -CDevice::Initialize, success!
    PID:400002 TID:c40002 +CHW::Initialize base=0xd0800000, intr=0x15
    PID:400002 TID:c40002 -CHW::Initialize, success!
    PID:400002 TID:c40002 +CPipe::Initialize
    PID:400002 TID:c40002 -CPipe::Initialize. Success!
    PID:400002 TID:c40002 -COhcd::Initialize - unable to create root hub object
    PID:400002 TID:c40002 +CDevice::DeInitialize
    PID:400002 TID:c40002 OSAXST1: <<< Unloading Module 'usbd.dll' (0x83C793E4) at address 0xC0BB0000-0xC0BC4000 in Process 'NK.EXE' (0x821A8BC0)
    PID:1e00002 TID:1220006 [NOTIFY] Initializing.
    PID:400002 TID:c40002 -CDevice::DeInitialize
    PID:400002 TID:c40002 --InitializeOHCI FAILED!!!
    Friday, March 9, 2012 9:47 PM