cs8900a driver adaptation - Windows CE

This is a discussion on cs8900a driver adaptation - Windows CE ; Hi all, I have downloaded driver for windowsCE 4.x driver from cirrus logic site. I have done all the modifications as specified in the readme.txt file that is provided with the driver, i.e, adding it to the catalog and to ...

+ Reply to Thread
Results 1 to 13 of 13

Thread: cs8900a driver adaptation

  1. cs8900a driver adaptation

    Hi all,
    I have downloaded driver for windowsCE 4.x driver from cirrus
    logic site. I have done all the modifications as specified in the
    readme.txt file that is provided with the driver, i.e, adding it to the
    catalog and to my platform, modifying the CS8900_IOPORT_MEM_ADDR
    adress, updating the registry and bib files, modifying the cfwxsc1.c &
    intxsc1.c files. Have i missed any thing, because the driver is trying
    to get loaded and failing in the middle. The platform I am trying to
    port is PXA255, a hybus board. I was trying this in debug mode, where
    my KITL is connected thro' the same ethernet port. And if i build it in
    release mode with out kitl, I cannot see any debug or release strings
    any where, but the image is getting loaded and there will be no network
    connection available to me. Can any one say how do i resolve this
    problem?

    Regards
    deepu


  2. Re: cs8900a driver adaptation


    What about the PXA255 memory configuration? Is the
    corresponding static CS configured properly?

    What about the interrupt?


    On Tue, 29 Aug 2006 11:32:21 +0200, deepu wrote:

    > Hi all,
    > I have downloaded driver for windowsCE 4.x driver from cirrus
    > logic site. I have done all the modifications as specified in the
    > readme.txt file that is provided with the driver, i.e, adding it to the
    > catalog and to my platform, modifying the CS8900_IOPORT_MEM_ADDR
    > adress, updating the registry and bib files, modifying the cfwxsc1.c &
    > intxsc1.c files. Have i missed any thing, because the driver is trying
    > to get loaded and failing in the middle. The platform I am trying to
    > port is PXA255, a hybus board. I was trying this in debug mode, where
    > my KITL is connected thro' the same ethernet port. And if i build it in
    > release mode with out kitl, I cannot see any debug or release strings
    > any where, but the image is getting loaded and there will be no network
    > connection available to me. Can any one say how do i resolve this
    > problem?
    >
    > Regards
    > deepu
    >
    >



  3. Re: cs8900a driver adaptation

    thanks for the reply, the proper CS8900_IOPORT_MEM_ADDR configuration
    must satisfy the static CS. and remaining is the interrupt, i have
    configured it as follows:
    oeminit:
    v_pGPIOReg->GFER_x |= GPIO_0;
    INTC_GPIO0_INT_EN (v_pICReg->icmr);
    oeminterruptenable:
    v_pGPIOReg->GRER_x |= GPIO_0;
    v_pICReg->icpr &= ~INTC_GPIO0; //*//
    v_pICReg->icmr |= INTC_GPIO0;
    oeminterruptdisable:
    v_pICReg->icmr &= ~INTC_GPIO0;
    oeminterrupthandler:
    if(v_pGPIOReg->GPLR_x & GPIO_0) GEDR_GPIO0_EDGE_CLR
    (v_pGPIOReg->GEDR_x); InterruptType =
    SYSINTR_ETHER; RETAILMSG(1,(TEXT("OEMInterruptHandler SYSINTR_ETHER 2
    Exit\r\n"))); return(SYSINTR_ETHER);

    but at least the image has to boot, its failing at .
    4294773967 PID:63c5b0a6 TID:63c837fe 0x83c85c34: >>> Loading module
    cs8900a.dll at address 0x02D80000-0x02D8E000 (RW data at
    0x01F1F000-0x01F1F5F8)
    4294773970 PID:63c5b0a6 TID:63c837fe
    Cs8900(): DriverEntry 0
    4294773971 PID:63c5b0a6 TID:63c837fe 0x83c85c34:
    Cs8900(): DriverEntry 0
    4294773972 PID:63c5b0a6 TID:63c837fe ==>NdisInitializeWrapper
    4294773972 PID:63c5b0a6 TID:63c837fe <==NdisInitializeWrapper
    4294773973 PID:63c5b0a6 TID:63c837fe
    Cs8900(): DriverEntry 1
    4294773974 PID:63c5b0a6 TID:63c837fe 0x83c85c34:
    Cs8900(): DriverEntry 1
    4294773974 PID:63c5b0a6 TID:63c837fe ==>NdisMRegisterMiniport:
    NdisWrapperHandle 00033A40
    4294773975 PID:63c5b0a6 TID:63c837fe ==>ndisRegisterMiniportDriver:
    NdisWrapperHandle 00033A40
    4294773977 PID:63c5b0a6 TID:63c837fe <==ndisRegisterMiniportDriver:
    MiniBlock 00033AB0
    4294773978 PID:63c5b0a6 TID:63c837fe NdisMRegisterMiniport: MiniBlock
    00033AB0
    4294773979 PID:63c5b0a6 TID:63c837fe <==NdisMRegisterMiniport:
    MiniBlock 00033AB0, Status 0
    4294773980 PID:63c5b0a6 TID:63c837fe
    Cs8900(): DriverEntry 2
    4294773981 PID:63c5b0a6 TID:63c837fe 0x83c85c34:
    Cs8900(): DriverEntry 2
    4294773982 PID:63c5b0a6 TID:63c837fe
    Cs8900(): DriverEntry 3
    4294773983 PID:63c5b0a6 TID:63c837fe 0x83c85c34:
    Cs8900(): DriverEntry 3
    4294773985 PID:63c5b0a6 TID:63c837fe
    4294773988 PID:63c5b0a6 TID:63c837fe ndisMInitializeAdapter: Miniport
    00033CA8,
    4294774000 PID:63c5b0a6 TID:63c837fe ==>ndisQueueMiniportOnDriver:
    Miniport 00033CA8, MiniBlock 00033AB0
    4294774001 PID:63c5b0a6 TID:63c837fe <==ndisQueueMiniportOnDriver:
    Miniport 00033CA8, MiniBlock 00033AB0, rc 1
    4294774002 PID:63c5b0a6 TID:63c837fe ==>NdisMSetAttributesEx: Miniport
    00033CA8


  4. Re: cs8900a driver adaptation


    Hm, I answered you in microsoft.public.windowsce.embedded.vc,
    but now can see it top posted in microsoft.public.windowsce.platbuilder.
    What is it, news reader issues?

    Well, it seems your interrupt handling is a little bit
    incorrect. I'd suggest you something like this:


    oeminit:

    1. GPIO0 - clear alternate function (if any)
    2. GPIO0 - configure as input

    oeminterruptenable:

    1. GPIO0 - enable edge detection
    2. GPIO0 - unmask interrupt

    oeminterruptdisable:

    1. GPIO0 - mask interrupt
    2. GPIO0 - disable edge detection

    oeminterrupthandler:

    1. Read ICHP register to find the pending interrupt ID
    2. If it is GPIO0 IRQ:

    a) GPIO0 - mask interrupt
    b) GPIO - clear edge tetection status
    c) return SYSINTR_ETHER

    oeminterruptdone:

    1. GPIO0 - unmask interrupt



    Btw, it seems your KITL connection is active. What
    transport is used for the KITL connection? Don't you
    share somehow the same CS8900 for both KITL and NDIS
    Miniport?



    On Tue, 29 Aug 2006 14:02:08 +0200, deepu wrote:

    > thanks for the reply, the proper CS8900_IOPORT_MEM_ADDR configuration
    > must satisfy the static CS. and remaining is the interrupt, i have
    > configured it as follows:
    > oeminit:
    > v_pGPIOReg->GFER_x |= GPIO_0;
    > INTC_GPIO0_INT_EN (v_pICReg->icmr);
    > oeminterruptenable:
    > v_pGPIOReg->GRER_x |= GPIO_0;
    > v_pICReg->icpr &= ~INTC_GPIO0; //*//
    > v_pICReg->icmr |= INTC_GPIO0;
    > oeminterruptdisable:
    > v_pICReg->icmr &= ~INTC_GPIO0;
    > oeminterrupthandler:
    > if(v_pGPIOReg->GPLR_x & GPIO_0) GEDR_GPIO0_EDGE_CLR
    > (v_pGPIOReg->GEDR_x); InterruptType =
    > SYSINTR_ETHER; RETAILMSG(1,(TEXT("OEMInterruptHandler SYSINTR_ETHER 2
    > Exit\r\n"))); return(SYSINTR_ETHER);
    >
    > but at least the image has to boot, its failing at .
    > 4294773967 PID:63c5b0a6 TID:63c837fe 0x83c85c34: >>> Loading module
    > cs8900a.dll at address 0x02D80000-0x02D8E000 (RW data at
    > 0x01F1F000-0x01F1F5F8)
    > 4294773970 PID:63c5b0a6 TID:63c837fe
    > Cs8900(): DriverEntry 0
    > 4294773971 PID:63c5b0a6 TID:63c837fe 0x83c85c34:
    > Cs8900(): DriverEntry 0
    > 4294773972 PID:63c5b0a6 TID:63c837fe ==>NdisInitializeWrapper
    > 4294773972 PID:63c5b0a6 TID:63c837fe <==NdisInitializeWrapper
    > 4294773973 PID:63c5b0a6 TID:63c837fe
    > Cs8900(): DriverEntry 1
    > 4294773974 PID:63c5b0a6 TID:63c837fe 0x83c85c34:
    > Cs8900(): DriverEntry 1
    > 4294773974 PID:63c5b0a6 TID:63c837fe ==>NdisMRegisterMiniport:
    > NdisWrapperHandle 00033A40
    > 4294773975 PID:63c5b0a6 TID:63c837fe ==>ndisRegisterMiniportDriver:
    > NdisWrapperHandle 00033A40
    > 4294773977 PID:63c5b0a6 TID:63c837fe <==ndisRegisterMiniportDriver:
    > MiniBlock 00033AB0
    > 4294773978 PID:63c5b0a6 TID:63c837fe NdisMRegisterMiniport: MiniBlock
    > 00033AB0
    > 4294773979 PID:63c5b0a6 TID:63c837fe <==NdisMRegisterMiniport:
    > MiniBlock 00033AB0, Status 0
    > 4294773980 PID:63c5b0a6 TID:63c837fe
    > Cs8900(): DriverEntry 2
    > 4294773981 PID:63c5b0a6 TID:63c837fe 0x83c85c34:
    > Cs8900(): DriverEntry 2
    > 4294773982 PID:63c5b0a6 TID:63c837fe
    > Cs8900(): DriverEntry 3
    > 4294773983 PID:63c5b0a6 TID:63c837fe 0x83c85c34:
    > Cs8900(): DriverEntry 3
    > 4294773985 PID:63c5b0a6 TID:63c837fe
    > 4294773988 PID:63c5b0a6 TID:63c837fe ndisMInitializeAdapter: Miniport
    > 00033CA8,
    > 4294774000 PID:63c5b0a6 TID:63c837fe ==>ndisQueueMiniportOnDriver:
    > Miniport 00033CA8, MiniBlock 00033AB0
    > 4294774001 PID:63c5b0a6 TID:63c837fe <==ndisQueueMiniportOnDriver:
    > Miniport 00033CA8, MiniBlock 00033AB0, rc 1
    > 4294774002 PID:63c5b0a6 TID:63c837fe ==>NdisMSetAttributesEx: Miniport
    > 00033CA8
    >
    >



  5. Re: cs8900a driver adaptation

    Hi,
    Thanks for the suggestions, i have made the changes in the functions
    specified down. and have disabled the kitl, but now the booting is
    done, but still my network is not up, and also i can't not get any
    debug/retail messages without KITL. Is there a way to divert the debug
    messages to the dbguart port. If so which is the function to print like
    that?

    Thank you again for the reply
    deepu


    voidcoder wrote:
    > Hm, I answered you in microsoft.public.windowsce.embedded.vc,
    > but now can see it top posted in microsoft.public.windowsce.platbuilder.
    > What is it, news reader issues?
    >
    > Well, it seems your interrupt handling is a little bit
    > incorrect. I'd suggest you something like this:
    >
    >
    > oeminit:
    >
    > 1. GPIO0 - clear alternate function (if any)
    > 2. GPIO0 - configure as input
    >
    > oeminterruptenable:
    >
    > 1. GPIO0 - enable edge detection
    > 2. GPIO0 - unmask interrupt
    >
    > oeminterruptdisable:
    >
    > 1. GPIO0 - mask interrupt
    > 2. GPIO0 - disable edge detection
    >
    > oeminterrupthandler:
    >
    > 1. Read ICHP register to find the pending interrupt ID
    > 2. If it is GPIO0 IRQ:
    >
    > a) GPIO0 - mask interrupt
    > b) GPIO - clear edge tetection status
    > c) return SYSINTR_ETHER
    >
    > oeminterruptdone:
    >
    > 1. GPIO0 - unmask interrupt
    >
    >
    >
    > Btw, it seems your KITL connection is active. What
    > transport is used for the KITL connection? Don't you
    > share somehow the same CS8900 for both KITL and NDIS
    > Miniport?
    >



  6. Re: cs8900a driver adaptation


    It is just impossible to share the same ethernet
    chip between ethernet KITL and another driver. The
    only exception here is VMINI driver.

    Yes, network drivers debugging is always complicated
    if you don't have a secondary network adapter,
    hardware debugger or at least USB/Serial based KITL.

    But you still have a possibility to debug print to
    the serial port, blink a LED, etc. Not so useful as
    full functional debugger, but quite enough ...



    On Tue, 29 Aug 2006 17:56:17 +0200, deepu wrote:

    > Hi,
    > Thanks for the suggestions, i have made the changes in the functions
    > specified down. and have disabled the kitl, but now the booting is
    > done, but still my network is not up, and also i can't not get any
    > debug/retail messages without KITL. Is there a way to divert the debug
    > messages to the dbguart port. If so which is the function to print like
    > that?
    >
    > Thank you again for the reply
    > deepu
    >
    >
    > voidcoder wrote:
    >> Hm, I answered you in microsoft.public.windowsce.embedded.vc,
    >> but now can see it top posted in microsoft.public.windowsce.platbuilder.
    >> What is it, news reader issues?
    >>
    >> Well, it seems your interrupt handling is a little bit
    >> incorrect. I'd suggest you something like this:
    >>
    >>
    >> oeminit:
    >>
    >> 1. GPIO0 - clear alternate function (if any)
    >> 2. GPIO0 - configure as input
    >>
    >> oeminterruptenable:
    >>
    >> 1. GPIO0 - enable edge detection
    >> 2. GPIO0 - unmask interrupt
    >>
    >> oeminterruptdisable:
    >>
    >> 1. GPIO0 - mask interrupt
    >> 2. GPIO0 - disable edge detection
    >>
    >> oeminterrupthandler:
    >>
    >> 1. Read ICHP register to find the pending interrupt ID
    >> 2. If it is GPIO0 IRQ:
    >>
    >> a) GPIO0 - mask interrupt
    >> b) GPIO - clear edge tetection status
    >> c) return SYSINTR_ETHER
    >>
    >> oeminterruptdone:
    >>
    >> 1. GPIO0 - unmask interrupt
    >>
    >>
    >>
    >> Btw, it seems your KITL connection is active. What
    >> transport is used for the KITL connection? Don't you
    >> share somehow the same CS8900 for both KITL and NDIS
    >> Miniport?
    >>

    >
    >



  7. Re: cs8900a driver adaptation

    another possibility is to use a USB RNDIS driver for debugging (emulation of
    ethernet link on USB allowing you having KITL using USB link)

    --
    ----------------------------------------------------------------
    Yannick Chamming's (eMVP)
    ADENEO
    Windows Embedded Manager
    ychammings AT adeneo DOT adetelgroup DOT com>
    http://www.adeneo-embedded.com
    Tél : +33 (0)4.72.18.08.40
    Fax : +33 (0)4.72.18.08.41
    ----------------------------------------------------------------

    "voidcoder" a écrit dans le message de news:
    op.te13h6vz52hq2f@mydesktop...
    >
    > It is just impossible to share the same ethernet
    > chip between ethernet KITL and another driver. The
    > only exception here is VMINI driver.
    >
    > Yes, network drivers debugging is always complicated
    > if you don't have a secondary network adapter,
    > hardware debugger or at least USB/Serial based KITL.
    >
    > But you still have a possibility to debug print to
    > the serial port, blink a LED, etc. Not so useful as
    > full functional debugger, but quite enough ...
    >
    >
    >
    > On Tue, 29 Aug 2006 17:56:17 +0200, deepu wrote:
    >
    >> Hi,
    >> Thanks for the suggestions, i have made the changes in the functions
    >> specified down. and have disabled the kitl, but now the booting is
    >> done, but still my network is not up, and also i can't not get any
    >> debug/retail messages without KITL. Is there a way to divert the debug
    >> messages to the dbguart port. If so which is the function to print like
    >> that?
    >>
    >> Thank you again for the reply
    >> deepu
    >>
    >>
    >> voidcoder wrote:
    >>> Hm, I answered you in microsoft.public.windowsce.embedded.vc,
    >>> but now can see it top posted in microsoft.public.windowsce.platbuilder.
    >>> What is it, news reader issues?
    >>>
    >>> Well, it seems your interrupt handling is a little bit
    >>> incorrect. I'd suggest you something like this:
    >>>
    >>>
    >>> oeminit:
    >>>
    >>> 1. GPIO0 - clear alternate function (if any)
    >>> 2. GPIO0 - configure as input
    >>>
    >>> oeminterruptenable:
    >>>
    >>> 1. GPIO0 - enable edge detection
    >>> 2. GPIO0 - unmask interrupt
    >>>
    >>> oeminterruptdisable:
    >>>
    >>> 1. GPIO0 - mask interrupt
    >>> 2. GPIO0 - disable edge detection
    >>>
    >>> oeminterrupthandler:
    >>>
    >>> 1. Read ICHP register to find the pending interrupt ID
    >>> 2. If it is GPIO0 IRQ:
    >>>
    >>> a) GPIO0 - mask interrupt
    >>> b) GPIO - clear edge tetection status
    >>> c) return SYSINTR_ETHER
    >>>
    >>> oeminterruptdone:
    >>>
    >>> 1. GPIO0 - unmask interrupt
    >>>
    >>>
    >>>
    >>> Btw, it seems your KITL connection is active. What
    >>> transport is used for the KITL connection? Don't you
    >>> share somehow the same CS8900 for both KITL and NDIS
    >>> Miniport?
    >>>

    >>
    >>

    >




  8. Re: cs8900a driver adaptation

    Hi all,
    I removed the KITL link from the build image, now I routed all
    the debug messages to uart with the BSP_DBGSER_UART1 variable set. Now
    also the driver loading is failing, but now I know where it is failing
    at least. It is failing at registering interrupt, following are the
    messages that I got from uart.
    And i am getting some 'ProcessPcmciaDeviceNotification Messages', I am
    not getting as why it is, as my device is configured for an ISA bus.
    And another thing my device is not having any external Eprom
    interface.(just for info)

    0x83c85000: PNP interface class {f8a6ba98-087a-43ac-a9d8-b7f13c5bae31}
    (WAV1 A
    TTACH
    0x83c85000: DEVICE!ActivateDeviceEx(Drivers\BuiltIn\NDIS) entered
    0x83c85000: NDIS: RebindAdaptersOnResume = 0
    Cs8900(): DriverEntry 0
    Cs8900(): DriverEntry 0
    0x83c85000:==>NdisInitializeWrapper
    <==NdisInitializeWrapper
    Cs8900(): DriverEntry 1
    Cs8900(): DriverEntry 10:
    ==>NdisMRegisterMiniport: NdisWrapperHandle
    000317B0
    ==>ndisRegisterMiniportDriver: NdisWrapperHandle 000317B0
    <==ndisRegisterMiniportDriver: MiniBlock 00031820
    NdisMRegisterMiniport: MiniBlock 00031820
    <==NdisMRegisterMiniport: MiniBlock 00031820, Status 0
    Cs8900(): DriverEntry 2
    Cs8900(): DriverEntry 2
    0x83c85000: Cs8900(): DriverEntry 3
    Cs8900(): DriverEntry 3 0x83c85000:
    ndisMInitializeAdapter: Miniport 00031A18, ==>ndisQueueMi
    niportOnDriver: Miniport 00031A18, MiniBlock 00031820
    0x83c48000: PNP interface class {A32942B7-920C-486b-B0E6-92A702A99B35}
    (PWR0 ATTACH
    0x83c48000: PNP interface class {f8a6ba98-087a-43ac-a9d8-b7f13c5bae31}
    (WAV1 ATTACH
    0x83c48000: NDIS: +ProcessPcmciaDeviceNotificationMessages
    <==ndisQueueMiniportOnDriver:
    Miniport
    00031A18, MiniBlock 00031820, rc 1
    0x83c85000: Cs8900a():
    CrystalInitialize 1
    0x83c85000: cs8900a(): step=1
    0x83c85000: cs8900a(): step=2
    0x83c85000: cs8900a(): step=3
    0x83c85000: cs8900a(): step=4
    0x83c85000: cs8900a(): step=5
    ==>NdisMSetAttributesEx: Miniport 00031A18
    0x83c85000: cs8900a(): step=6
    0x83c85000: cs8900a(): step=7
    0x83c85000: cs8900a(): step=8
    0x83c48000: NDIS: -ProcessPcmciaDeviceNotificationMessages
    0x83c85000:Cs8900a():
    80x83c85000:Cs8900a(): VchipFindIOBase Eprom_not_present
    0x83c85000: cs8900a(): step=9
    0x83c85000:Cs8900a(): 9
    0x83c85000:Cs8900a(): NdisMRegisterIoPortRange: 0
    0x83c85000:Cs8900a(): NdisMRegisterIoPortRange : fail
    0x83c85000: cs8900a(): step=10
    0x83c85000:Cs8900a(): 10
    0x83c85000:Cs8900a(): AssignedUserDefinedConfig() IOBASE : bc300300
    0x83c85000: cs8900a(): step=11
    0x83c85000: cs8900a(): step=12
    0x83c85000: cs8900a(): step=13
    0x83c85000: cs8900a(): step=14
    0x83c85000: cs8900a(): step=15
    ***NDIS*** (a, 474) ==>NdisMRegisterInterrupt: Miniport 00031A18 Vector
    10
    0x83c85000: NDIS:: ERROR IRQ 10 -> SYSINTR translation failed error=32
    NdisMRegisterInterrupt: IoConnectInterrupt failed on Interrupt Level:0,
    Vector: a
    ***NDIS*** (a, 645) <==NdisMRegisterInterrupt: Miniport 00031A18,
    Status c0000001
    Cs8900a(): DuplexMode=1; IntLint=0xa; IOBase=0xffffffff
    Mac0=0x3412 Mac1=0x7856 Mac2=0x9a
    0x83c85000:Cs8900a(): DuplexMode=1; IntLint=0xa; IOBase=0xffffffff
    Mac0=0x3412 Mac1=0x7856 Mac2=0x9a
    ==>NdisMDeregisterAdapterShutdownHandler: Miniport 00031A18
    <==NdisMDeregisterAdapterShutdownHandler: Miniport 00031A18
    ***NDIS*** (b, 2018) INIT FAILURE: Dequeueing the miniport from the
    driver block.
    ==>ndisDeQueueMiniportOnDriver, Miniport 00031A18, MiniBlock 00031820
    <==ndisDeQueueMiniportOnDriver: Miniport 00031A18, MiniBlock 00031820
    ***NDIS*** (b, 2045) INIT FAILURE: Dereferencing the miniport
    block.
    ndisDereferenceMiniport:Miniport 00031A18, Ref = 0
    ==>ndisMUnload: DriverObject 00031710ndisMUnload: MiniBlock 00031820
    <==ndisMUnload: DriverObject 00031710, MiniBlock 00031820


  9. Re: cs8900a driver adaptation

    Hi,
    can any one suggest any methods of overcoming this problem of
    "interrupt registry failure" with cs8900a on an ISA bus.
    Thanks and regards
    deepu
    deepu wrote:
    > Hi all,
    > I removed the KITL link from the build image, now I routed all
    > the debug messages to uart with the BSP_DBGSER_UART1 variable set. Now
    > also the driver loading is failing, but now I know where it is failing
    > at least. It is failing at registering interrupt, following are the
    > messages that I got from uart.
    > And i am getting some 'ProcessPcmciaDeviceNotification Messages', I am
    > not getting as why it is, as my device is configured for an ISA bus.
    > And another thing my device is not having any external Eprom
    > interface.(just for info)
    >
    > 0x83c85000: PNP interface class {f8a6ba98-087a-43ac-a9d8-b7f13c5bae31}
    > (WAV1 A
    > TTACH
    > 0x83c85000: DEVICE!ActivateDeviceEx(Drivers\BuiltIn\NDIS) entered
    > 0x83c85000: NDIS: RebindAdaptersOnResume = 0
    > Cs8900(): DriverEntry 0
    > Cs8900(): DriverEntry 0
    > 0x83c85000:==>NdisInitializeWrapper
    > <==NdisInitializeWrapper
    > Cs8900(): DriverEntry 1
    > Cs8900(): DriverEntry 10:
    > ==>NdisMRegisterMiniport: NdisWrapperHandle
    > 000317B0
    > ==>ndisRegisterMiniportDriver: NdisWrapperHandle 000317B0
    > <==ndisRegisterMiniportDriver: MiniBlock 00031820
    > NdisMRegisterMiniport: MiniBlock 00031820
    > <==NdisMRegisterMiniport: MiniBlock 00031820, Status 0
    > Cs8900(): DriverEntry 2
    > Cs8900(): DriverEntry 2
    > 0x83c85000: Cs8900(): DriverEntry 3
    > Cs8900(): DriverEntry 3 0x83c85000:
    > ndisMInitializeAdapter: Miniport 00031A18, ==>ndisQueueMi
    > niportOnDriver: Miniport 00031A18, MiniBlock 00031820
    > 0x83c48000: PNP interface class {A32942B7-920C-486b-B0E6-92A702A99B35}
    > (PWR0 ATTACH
    > 0x83c48000: PNP interface class {f8a6ba98-087a-43ac-a9d8-b7f13c5bae31}
    > (WAV1 ATTACH
    > 0x83c48000: NDIS: +ProcessPcmciaDeviceNotificationMessages
    > <==ndisQueueMiniportOnDriver:
    > Miniport
    > 00031A18, MiniBlock 00031820, rc 1
    > 0x83c85000: Cs8900a():
    > CrystalInitialize 1
    > 0x83c85000: cs8900a(): step=1
    > 0x83c85000: cs8900a(): step=2
    > 0x83c85000: cs8900a(): step=3
    > 0x83c85000: cs8900a(): step=4
    > 0x83c85000: cs8900a(): step=5
    > ==>NdisMSetAttributesEx: Miniport 00031A18
    > 0x83c85000: cs8900a(): step=6
    > 0x83c85000: cs8900a(): step=7
    > 0x83c85000: cs8900a(): step=8
    > 0x83c48000: NDIS: -ProcessPcmciaDeviceNotificationMessages
    > 0x83c85000:Cs8900a():
    > 80x83c85000:Cs8900a(): VchipFindIOBase Eprom_not_present
    > 0x83c85000: cs8900a(): step=9
    > 0x83c85000:Cs8900a(): 9
    > 0x83c85000:Cs8900a(): NdisMRegisterIoPortRange: 0
    > 0x83c85000:Cs8900a(): NdisMRegisterIoPortRange : fail
    > 0x83c85000: cs8900a(): step=10
    > 0x83c85000:Cs8900a(): 10
    > 0x83c85000:Cs8900a(): AssignedUserDefinedConfig() IOBASE : bc300300
    > 0x83c85000: cs8900a(): step=11
    > 0x83c85000: cs8900a(): step=12
    > 0x83c85000: cs8900a(): step=13
    > 0x83c85000: cs8900a(): step=14
    > 0x83c85000: cs8900a(): step=15
    > ***NDIS*** (a, 474) ==>NdisMRegisterInterrupt: Miniport 00031A18 Vector
    > 10
    > 0x83c85000: NDIS:: ERROR IRQ 10 -> SYSINTR translation failed error=32
    > NdisMRegisterInterrupt: IoConnectInterrupt failed on Interrupt Level:0,
    > Vector: a
    > ***NDIS*** (a, 645) <==NdisMRegisterInterrupt: Miniport 00031A18,
    > Status c0000001
    > Cs8900a(): DuplexMode=1; IntLint=0xa; IOBase=0xffffffff
    > Mac0=0x3412 Mac1=0x7856 Mac2=0x9a
    > 0x83c85000:Cs8900a(): DuplexMode=1; IntLint=0xa; IOBase=0xffffffff
    > Mac0=0x3412 Mac1=0x7856 Mac2=0x9a
    > ==>NdisMDeregisterAdapterShutdownHandler: Miniport 00031A18
    > <==NdisMDeregisterAdapterShutdownHandler: Miniport 00031A18
    > ***NDIS*** (b, 2018) INIT FAILURE: Dequeueing the miniport from the
    > driver block.
    > ==>ndisDeQueueMiniportOnDriver, Miniport 00031A18, MiniBlock 00031820
    > <==ndisDeQueueMiniportOnDriver: Miniport 00031A18, MiniBlock 00031820
    > ***NDIS*** (b, 2045) INIT FAILURE: Dereferencing the miniport
    > block.
    > ndisDereferenceMiniport:Miniport 00031A18, Ref = 0
    > ==>ndisMUnload: DriverObject 00031710ndisMUnload: MiniBlock 00031820
    > <==ndisMUnload: DriverObject 00031710, MiniBlock 00031820



  10. Re: cs8900a driver adaptation


    You have to play with the assigned IRQ, it is hardcoded
    as IRQ10 in your miniport or defined somewhere in the
    miniport's registry settings. As seen from the log,
    NDIS is failing to translate IRQ10 to the corresponding
    SYSINTR value.

    Make sure your OAL is handling IOCTL_HAL_TRANSLATE_IRQ
    and translates IRQs to SYSINTRs. Note the miniport assigned
    IRQ# must be translated to your actual SYSINTR_xxx GPIO0
    interrupt.



    On Mon, 04 Sep 2006 07:50:43 +0200, deepu wrote:

    > Hi,
    > can any one suggest any methods of overcoming this problem of
    > "interrupt registry failure" with cs8900a on an ISA bus.
    > Thanks and regards
    > deepu
    > deepu wrote:
    >> Hi all,
    >> I removed the KITL link from the build image, now I routed all
    >> the debug messages to uart with the BSP_DBGSER_UART1 variable set. Now
    >> also the driver loading is failing, but now I know where it is failing
    >> at least. It is failing at registering interrupt, following are the
    >> messages that I got from uart.
    >> And i am getting some 'ProcessPcmciaDeviceNotification Messages', I am
    >> not getting as why it is, as my device is configured for an ISA bus.
    >> And another thing my device is not having any external Eprom
    >> interface.(just for info)
    >>
    >> 0x83c85000: PNP interface class {f8a6ba98-087a-43ac-a9d8-b7f13c5bae31}
    >> (WAV1 A
    >> TTACH
    >> 0x83c85000: DEVICE!ActivateDeviceEx(Drivers\BuiltIn\NDIS) entered
    >> 0x83c85000: NDIS: RebindAdaptersOnResume = 0
    >> Cs8900(): DriverEntry 0
    >> Cs8900(): DriverEntry 0
    >> 0x83c85000:==>NdisInitializeWrapper
    >> <==NdisInitializeWrapper
    >> Cs8900(): DriverEntry 1
    >> Cs8900(): DriverEntry 10:
    >> ==>NdisMRegisterMiniport: NdisWrapperHandle
    >> 000317B0
    >> ==>ndisRegisterMiniportDriver: NdisWrapperHandle 000317B0
    >> <==ndisRegisterMiniportDriver: MiniBlock 00031820
    >> NdisMRegisterMiniport: MiniBlock 00031820
    >> <==NdisMRegisterMiniport: MiniBlock 00031820, Status 0
    >> Cs8900(): DriverEntry 2
    >> Cs8900(): DriverEntry 2
    >> 0x83c85000: Cs8900(): DriverEntry 3
    >> Cs8900(): DriverEntry 3 0x83c85000:
    >> ndisMInitializeAdapter: Miniport 00031A18, ==>ndisQueueMi
    >> niportOnDriver: Miniport 00031A18, MiniBlock 00031820
    >> 0x83c48000: PNP interface class {A32942B7-920C-486b-B0E6-92A702A99B35}
    >> (PWR0 ATTACH
    >> 0x83c48000: PNP interface class {f8a6ba98-087a-43ac-a9d8-b7f13c5bae31}
    >> (WAV1 ATTACH
    >> 0x83c48000: NDIS: +ProcessPcmciaDeviceNotificationMessages
    >> <==ndisQueueMiniportOnDriver:
    >> Miniport
    >> 00031A18, MiniBlock 00031820, rc 1
    >> 0x83c85000: Cs8900a():
    >> CrystalInitialize 1
    >> 0x83c85000: cs8900a(): step=1
    >> 0x83c85000: cs8900a(): step=2
    >> 0x83c85000: cs8900a(): step=3
    >> 0x83c85000: cs8900a(): step=4
    >> 0x83c85000: cs8900a(): step=5
    >> ==>NdisMSetAttributesEx: Miniport 00031A18
    >> 0x83c85000: cs8900a(): step=6
    >> 0x83c85000: cs8900a(): step=7
    >> 0x83c85000: cs8900a(): step=8
    >> 0x83c48000: NDIS: -ProcessPcmciaDeviceNotificationMessages
    >> 0x83c85000:Cs8900a():
    >> 80x83c85000:Cs8900a(): VchipFindIOBase Eprom_not_present
    >> 0x83c85000: cs8900a(): step=9
    >> 0x83c85000:Cs8900a(): 9
    >> 0x83c85000:Cs8900a(): NdisMRegisterIoPortRange: 0
    >> 0x83c85000:Cs8900a(): NdisMRegisterIoPortRange : fail
    >> 0x83c85000: cs8900a(): step=10
    >> 0x83c85000:Cs8900a(): 10
    >> 0x83c85000:Cs8900a(): AssignedUserDefinedConfig() IOBASE : bc300300
    >> 0x83c85000: cs8900a(): step=11
    >> 0x83c85000: cs8900a(): step=12
    >> 0x83c85000: cs8900a(): step=13
    >> 0x83c85000: cs8900a(): step=14
    >> 0x83c85000: cs8900a(): step=15
    >> ***NDIS*** (a, 474) ==>NdisMRegisterInterrupt: Miniport 00031A18 Vector
    >> 10
    >> 0x83c85000: NDIS:: ERROR IRQ 10 -> SYSINTR translation failed error=32
    >> NdisMRegisterInterrupt: IoConnectInterrupt failed on Interrupt Level:0,
    >> Vector: a
    >> ***NDIS*** (a, 645) <==NdisMRegisterInterrupt: Miniport 00031A18,
    >> Status c0000001
    >> Cs8900a(): DuplexMode=1; IntLint=0xa; IOBase=0xffffffff
    >> Mac0=0x3412 Mac1=0x7856 Mac2=0x9a
    >> 0x83c85000:Cs8900a(): DuplexMode=1; IntLint=0xa; IOBase=0xffffffff
    >> Mac0=0x3412 Mac1=0x7856 Mac2=0x9a
    >> ==>NdisMDeregisterAdapterShutdownHandler: Miniport 00031A18
    >> <==NdisMDeregisterAdapterShutdownHandler: Miniport 00031A18
    >> ***NDIS*** (b, 2018) INIT FAILURE: Dequeueing the miniport from the
    >> driver block.
    >> ==>ndisDeQueueMiniportOnDriver, Miniport 00031A18, MiniBlock 00031820
    >> <==ndisDeQueueMiniportOnDriver: Miniport 00031A18, MiniBlock 00031820
    >> ***NDIS*** (b, 2045) INIT FAILURE: Dereferencing the miniport
    >> block.
    >> ndisDereferenceMiniport:Miniport 00031A18, Ref = 0
    >> ==>ndisMUnload: DriverObject 00031710ndisMUnload: MiniBlock 00031820
    >> <==ndisMUnload: DriverObject 00031710, MiniBlock 00031820

    >
    >



  11. Re: cs8900a driver adaptation

    Thanks for the reply,
    And what about the invokation of 'ProcessPcmciaDeviceNotification
    Messages' handler.
    I am not getting as why it is getting invoked.
    regards
    deepu

    voidcoder wrote:
    > You have to play with the assigned IRQ, it is hardcoded
    > as IRQ10 in your miniport or defined somewhere in the
    > miniport's registry settings. As seen from the log,
    > NDIS is failing to translate IRQ10 to the corresponding
    > SYSINTR value.
    >
    > Make sure your OAL is handling IOCTL_HAL_TRANSLATE_IRQ
    > and translates IRQs to SYSINTRs. Note the miniport assigned
    > IRQ# must be translated to your actual SYSINTR_xxx GPIO0
    > interrupt.
    >
    >
    >
    > On Mon, 04 Sep 2006 07:50:43 +0200, deepu wrote:
    >
    > > Hi,
    > > can any one suggest any methods of overcoming this problem of
    > > "interrupt registry failure" with cs8900a on an ISA bus.
    > > Thanks and regards
    > > deepu
    > > deepu wrote:
    > >> Hi all,
    > >> I removed the KITL link from the build image, now I routed all
    > >> the debug messages to uart with the BSP_DBGSER_UART1 variable set. Now
    > >> also the driver loading is failing, but now I know where it is failing
    > >> at least. It is failing at registering interrupt, following are the
    > >> messages that I got from uart.
    > >> And i am getting some 'ProcessPcmciaDeviceNotification Messages', I am
    > >> not getting as why it is, as my device is configured for an ISA bus.
    > >> And another thing my device is not having any external Eprom
    > >> interface.(just for info)
    > >>
    > >> 0x83c85000: PNP interface class {f8a6ba98-087a-43ac-a9d8-b7f13c5bae31}
    > >> (WAV1 A
    > >> TTACH
    > >> 0x83c85000: DEVICE!ActivateDeviceEx(Drivers\BuiltIn\NDIS) entered
    > >> 0x83c85000: NDIS: RebindAdaptersOnResume = 0
    > >> Cs8900(): DriverEntry 0
    > >> Cs8900(): DriverEntry 0
    > >> 0x83c85000:==>NdisInitializeWrapper
    > >> <==NdisInitializeWrapper
    > >> Cs8900(): DriverEntry 1
    > >> Cs8900(): DriverEntry 10:
    > >> ==>NdisMRegisterMiniport: NdisWrapperHandle
    > >> 000317B0
    > >> ==>ndisRegisterMiniportDriver: NdisWrapperHandle 000317B0
    > >> <==ndisRegisterMiniportDriver: MiniBlock 00031820
    > >> NdisMRegisterMiniport: MiniBlock 00031820
    > >> <==NdisMRegisterMiniport: MiniBlock 00031820, Status 0
    > >> Cs8900(): DriverEntry 2
    > >> Cs8900(): DriverEntry 2
    > >> 0x83c85000: Cs8900(): DriverEntry 3
    > >> Cs8900(): DriverEntry 3 0x83c85000:
    > >> ndisMInitializeAdapter: Miniport 00031A18, ==>ndisQueueMi
    > >> niportOnDriver: Miniport 00031A18, MiniBlock 00031820
    > >> 0x83c48000: PNP interface class {A32942B7-920C-486b-B0E6-92A702A99B35}
    > >> (PWR0 ATTACH
    > >> 0x83c48000: PNP interface class {f8a6ba98-087a-43ac-a9d8-b7f13c5bae31}
    > >> (WAV1 ATTACH
    > >> 0x83c48000: NDIS: +ProcessPcmciaDeviceNotificationMessages
    > >> <==ndisQueueMiniportOnDriver:
    > >> Miniport
    > >> 00031A18, MiniBlock 00031820, rc 1
    > >> 0x83c85000: Cs8900a():
    > >> CrystalInitialize 1
    > >> 0x83c85000: cs8900a(): step=1
    > >> 0x83c85000: cs8900a(): step=2
    > >> 0x83c85000: cs8900a(): step=3
    > >> 0x83c85000: cs8900a(): step=4
    > >> 0x83c85000: cs8900a(): step=5
    > >> ==>NdisMSetAttributesEx: Miniport 00031A18
    > >> 0x83c85000: cs8900a(): step=6
    > >> 0x83c85000: cs8900a(): step=7
    > >> 0x83c85000: cs8900a(): step=8
    > >> 0x83c48000: NDIS: -ProcessPcmciaDeviceNotificationMessages
    > >> 0x83c85000:Cs8900a():
    > >> 80x83c85000:Cs8900a(): VchipFindIOBase Eprom_not_present
    > >> 0x83c85000: cs8900a(): step=9
    > >> 0x83c85000:Cs8900a(): 9
    > >> 0x83c85000:Cs8900a(): NdisMRegisterIoPortRange: 0
    > >> 0x83c85000:Cs8900a(): NdisMRegisterIoPortRange : fail
    > >> 0x83c85000: cs8900a(): step=10
    > >> 0x83c85000:Cs8900a(): 10
    > >> 0x83c85000:Cs8900a(): AssignedUserDefinedConfig() IOBASE : bc300300
    > >> 0x83c85000: cs8900a(): step=11
    > >> 0x83c85000: cs8900a(): step=12
    > >> 0x83c85000: cs8900a(): step=13
    > >> 0x83c85000: cs8900a(): step=14
    > >> 0x83c85000: cs8900a(): step=15
    > >> ***NDIS*** (a, 474) ==>NdisMRegisterInterrupt: Miniport 00031A18 Vector
    > >> 10
    > >> 0x83c85000: NDIS:: ERROR IRQ 10 -> SYSINTR translation failed error=32
    > >> NdisMRegisterInterrupt: IoConnectInterrupt failed on Interrupt Level:0,
    > >> Vector: a
    > >> ***NDIS*** (a, 645) <==NdisMRegisterInterrupt: Miniport 00031A18,
    > >> Status c0000001
    > >> Cs8900a(): DuplexMode=1; IntLint=0xa; IOBase=0xffffffff
    > >> Mac0=0x3412 Mac1=0x7856 Mac2=0x9a
    > >> 0x83c85000:Cs8900a(): DuplexMode=1; IntLint=0xa; IOBase=0xffffffff
    > >> Mac0=0x3412 Mac1=0x7856 Mac2=0x9a
    > >> ==>NdisMDeregisterAdapterShutdownHandler: Miniport 00031A18
    > >> <==NdisMDeregisterAdapterShutdownHandler: Miniport 00031A18
    > >> ***NDIS*** (b, 2018) INIT FAILURE: Dequeueing the miniport from the
    > >> driver block.
    > >> ==>ndisDeQueueMiniportOnDriver, Miniport 00031A18, MiniBlock 00031820
    > >> <==ndisDeQueueMiniportOnDriver: Miniport 00031A18, MiniBlock 00031820
    > >> ***NDIS*** (b, 2045) INIT FAILURE: Dereferencing the miniport
    > >> block.
    > >> ndisDereferenceMiniport:Miniport 00031A18, Ref = 0
    > >> ==>ndisMUnload: DriverObject 00031710ndisMUnload: MiniBlock 00031820
    > >> <==ndisMUnload: DriverObject 00031710, MiniBlock 00031820

    > >
    > >



  12. Re: cs8900a driver adaptation

    Hi all,
    Thanks for the replies. And another thing i observed in the
    debug message above was that its failing even at registering
    NdisMRegisterIoPortRange. Has any one looked at the driver that is
    available in the internet, i doubt that there may be a problem in the
    values that are being passed while registring. Because I am getting an
    error code 13, and that means the same.
    And the values seems to be ok, I am not sure.
    regards
    Pradeep
    voidcoder wrote:
    > You have to play with the assigned IRQ, it is hardcoded
    > as IRQ10 in your miniport or defined somewhere in the
    > miniport's registry settings. As seen from the log,
    > NDIS is failing to translate IRQ10 to the corresponding
    > SYSINTR value.
    >
    > Make sure your OAL is handling IOCTL_HAL_TRANSLATE_IRQ
    > and translates IRQs to SYSINTRs. Note the miniport assigned
    > IRQ# must be translated to your actual SYSINTR_xxx GPIO0
    > interrupt.
    >
    >
    >
    > On Mon, 04 Sep 2006 07:50:43 +0200, deepu wrote:
    >
    > > Hi,
    > > can any one suggest any methods of overcoming this problem of
    > > "interrupt registry failure" with cs8900a on an ISA bus.
    > > Thanks and regards
    > > deepu
    > > deepu wrote:
    > >> Hi all,
    > >> I removed the KITL link from the build image, now I routed all
    > >> the debug messages to uart with the BSP_DBGSER_UART1 variable set. Now
    > >> also the driver loading is failing, but now I know where it is failing
    > >> at least. It is failing at registering interrupt, following are the
    > >> messages that I got from uart.
    > >> And i am getting some 'ProcessPcmciaDeviceNotification Messages', I am
    > >> not getting as why it is, as my device is configured for an ISA bus.
    > >> And another thing my device is not having any external Eprom
    > >> interface.(just for info)
    > >>
    > >> 0x83c85000: PNP interface class {f8a6ba98-087a-43ac-a9d8-b7f13c5bae31}
    > >> (WAV1 A
    > >> TTACH
    > >> 0x83c85000: DEVICE!ActivateDeviceEx(Drivers\BuiltIn\NDIS) entered
    > >> 0x83c85000: NDIS: RebindAdaptersOnResume = 0
    > >> Cs8900(): DriverEntry 0
    > >> Cs8900(): DriverEntry 0
    > >> 0x83c85000:==>NdisInitializeWrapper
    > >> <==NdisInitializeWrapper
    > >> Cs8900(): DriverEntry 1
    > >> Cs8900(): DriverEntry 10:
    > >> ==>NdisMRegisterMiniport: NdisWrapperHandle
    > >> 000317B0
    > >> ==>ndisRegisterMiniportDriver: NdisWrapperHandle 000317B0
    > >> <==ndisRegisterMiniportDriver: MiniBlock 00031820
    > >> NdisMRegisterMiniport: MiniBlock 00031820
    > >> <==NdisMRegisterMiniport: MiniBlock 00031820, Status 0
    > >> Cs8900(): DriverEntry 2
    > >> Cs8900(): DriverEntry 2
    > >> 0x83c85000: Cs8900(): DriverEntry 3
    > >> Cs8900(): DriverEntry 3 0x83c85000:
    > >> ndisMInitializeAdapter: Miniport 00031A18, ==>ndisQueueMi
    > >> niportOnDriver: Miniport 00031A18, MiniBlock 00031820
    > >> 0x83c48000: PNP interface class {A32942B7-920C-486b-B0E6-92A702A99B35}
    > >> (PWR0 ATTACH
    > >> 0x83c48000: PNP interface class {f8a6ba98-087a-43ac-a9d8-b7f13c5bae31}
    > >> (WAV1 ATTACH
    > >> 0x83c48000: NDIS: +ProcessPcmciaDeviceNotificationMessages
    > >> <==ndisQueueMiniportOnDriver:
    > >> Miniport
    > >> 00031A18, MiniBlock 00031820, rc 1
    > >> 0x83c85000: Cs8900a():
    > >> CrystalInitialize 1
    > >> 0x83c85000: cs8900a(): step=1
    > >> 0x83c85000: cs8900a(): step=2
    > >> 0x83c85000: cs8900a(): step=3
    > >> 0x83c85000: cs8900a(): step=4
    > >> 0x83c85000: cs8900a(): step=5
    > >> ==>NdisMSetAttributesEx: Miniport 00031A18
    > >> 0x83c85000: cs8900a(): step=6
    > >> 0x83c85000: cs8900a(): step=7
    > >> 0x83c85000: cs8900a(): step=8
    > >> 0x83c48000: NDIS: -ProcessPcmciaDeviceNotificationMessages
    > >> 0x83c85000:Cs8900a():
    > >> 80x83c85000:Cs8900a(): VchipFindIOBase Eprom_not_present
    > >> 0x83c85000: cs8900a(): step=9
    > >> 0x83c85000:Cs8900a(): 9
    > >> 0x83c85000:Cs8900a(): NdisMRegisterIoPortRange: 0
    > >> 0x83c85000:Cs8900a(): NdisMRegisterIoPortRange : fail
    > >> 0x83c85000: cs8900a(): step=10
    > >> 0x83c85000:Cs8900a(): 10
    > >> 0x83c85000:Cs8900a(): AssignedUserDefinedConfig() IOBASE : bc300300
    > >> 0x83c85000: cs8900a(): step=11
    > >> 0x83c85000: cs8900a(): step=12
    > >> 0x83c85000: cs8900a(): step=13
    > >> 0x83c85000: cs8900a(): step=14
    > >> 0x83c85000: cs8900a(): step=15
    > >> ***NDIS*** (a, 474) ==>NdisMRegisterInterrupt: Miniport 00031A18 Vector
    > >> 10
    > >> 0x83c85000: NDIS:: ERROR IRQ 10 -> SYSINTR translation failed error=32
    > >> NdisMRegisterInterrupt: IoConnectInterrupt failed on Interrupt Level:0,
    > >> Vector: a
    > >> ***NDIS*** (a, 645) <==NdisMRegisterInterrupt: Miniport 00031A18,
    > >> Status c0000001
    > >> Cs8900a(): DuplexMode=1; IntLint=0xa; IOBase=0xffffffff
    > >> Mac0=0x3412 Mac1=0x7856 Mac2=0x9a
    > >> 0x83c85000:Cs8900a(): DuplexMode=1; IntLint=0xa; IOBase=0xffffffff
    > >> Mac0=0x3412 Mac1=0x7856 Mac2=0x9a
    > >> ==>NdisMDeregisterAdapterShutdownHandler: Miniport 00031A18
    > >> <==NdisMDeregisterAdapterShutdownHandler: Miniport 00031A18
    > >> ***NDIS*** (b, 2018) INIT FAILURE: Dequeueing the miniport from the
    > >> driver block.
    > >> ==>ndisDeQueueMiniportOnDriver, Miniport 00031A18, MiniBlock 00031820
    > >> <==ndisDeQueueMiniportOnDriver: Miniport 00031A18, MiniBlock 00031820
    > >> ***NDIS*** (b, 2045) INIT FAILURE: Dereferencing the miniport
    > >> block.
    > >> ndisDereferenceMiniport:Miniport 00031A18, Ref = 0
    > >> ==>ndisMUnload: DriverObject 00031710ndisMUnload: MiniBlock 00031820
    > >> <==ndisMUnload: DriverObject 00031710, MiniBlock 00031820

    > >
    > >



  13. Re: cs8900a driver adaptation

    Hi all,
    I resolved that problem. "Sysintr"=dword:10 was not specified in the
    registry.
    But the driver is not up. I will post that as a new topic.
    Thanks for all(Especially voidcoder)
    Regards
    Pradeep

    deepu wrote:
    > Hi all,
    > Thanks for the replies. And another thing i observed in the
    > debug message above was that its failing even at registering
    > NdisMRegisterIoPortRange. Has any one looked at the driver that is
    > available in the internet, i doubt that there may be a problem in the
    > values that are being passed while registring. Because I am getting an
    > error code 13, and that means the same.
    > And the values seems to be ok, I am not sure.
    > regards
    > Pradeep
    > voidcoder wrote:
    > > You have to play with the assigned IRQ, it is hardcoded
    > > as IRQ10 in your miniport or defined somewhere in the
    > > miniport's registry settings. As seen from the log,
    > > NDIS is failing to translate IRQ10 to the corresponding
    > > SYSINTR value.
    > >
    > > Make sure your OAL is handling IOCTL_HAL_TRANSLATE_IRQ
    > > and translates IRQs to SYSINTRs. Note the miniport assigned
    > > IRQ# must be translated to your actual SYSINTR_xxx GPIO0
    > > interrupt.
    > >
    > >
    > >
    > > On Mon, 04 Sep 2006 07:50:43 +0200, deepu wrote:
    > >
    > > > Hi,
    > > > can any one suggest any methods of overcoming this problem of
    > > > "interrupt registry failure" with cs8900a on an ISA bus.
    > > > Thanks and regards
    > > > deepu
    > > > deepu wrote:
    > > >> Hi all,
    > > >> I removed the KITL link from the build image, now I routed all
    > > >> the debug messages to uart with the BSP_DBGSER_UART1 variable set. Now
    > > >> also the driver loading is failing, but now I know where it is failing
    > > >> at least. It is failing at registering interrupt, following are the
    > > >> messages that I got from uart.
    > > >> And i am getting some 'ProcessPcmciaDeviceNotification Messages', I am
    > > >> not getting as why it is, as my device is configured for an ISA bus.
    > > >> And another thing my device is not having any external Eprom
    > > >> interface.(just for info)
    > > >>
    > > >> 0x83c85000: PNP interface class {f8a6ba98-087a-43ac-a9d8-b7f13c5bae31}
    > > >> (WAV1 A
    > > >> TTACH
    > > >> 0x83c85000: DEVICE!ActivateDeviceEx(Drivers\BuiltIn\NDIS) entered
    > > >> 0x83c85000: NDIS: RebindAdaptersOnResume = 0
    > > >> Cs8900(): DriverEntry 0
    > > >> Cs8900(): DriverEntry 0
    > > >> 0x83c85000:==>NdisInitializeWrapper
    > > >> <==NdisInitializeWrapper
    > > >> Cs8900(): DriverEntry 1
    > > >> Cs8900(): DriverEntry 10:
    > > >> ==>NdisMRegisterMiniport: NdisWrapperHandle
    > > >> 000317B0
    > > >> ==>ndisRegisterMiniportDriver: NdisWrapperHandle 000317B0
    > > >> <==ndisRegisterMiniportDriver: MiniBlock 00031820
    > > >> NdisMRegisterMiniport: MiniBlock 00031820
    > > >> <==NdisMRegisterMiniport: MiniBlock 00031820, Status 0
    > > >> Cs8900(): DriverEntry 2
    > > >> Cs8900(): DriverEntry 2
    > > >> 0x83c85000: Cs8900(): DriverEntry 3
    > > >> Cs8900(): DriverEntry 3 0x83c85000:
    > > >> ndisMInitializeAdapter: Miniport 00031A18, ==>ndisQueueMi
    > > >> niportOnDriver: Miniport 00031A18, MiniBlock 00031820
    > > >> 0x83c48000: PNP interface class {A32942B7-920C-486b-B0E6-92A702A99B35}
    > > >> (PWR0 ATTACH
    > > >> 0x83c48000: PNP interface class {f8a6ba98-087a-43ac-a9d8-b7f13c5bae31}
    > > >> (WAV1 ATTACH
    > > >> 0x83c48000: NDIS: +ProcessPcmciaDeviceNotificationMessages
    > > >> <==ndisQueueMiniportOnDriver:
    > > >> Miniport
    > > >> 00031A18, MiniBlock 00031820, rc 1
    > > >> 0x83c85000: Cs8900a():
    > > >> CrystalInitialize 1
    > > >> 0x83c85000: cs8900a(): step=1
    > > >> 0x83c85000: cs8900a(): step=2
    > > >> 0x83c85000: cs8900a(): step=3
    > > >> 0x83c85000: cs8900a(): step=4
    > > >> 0x83c85000: cs8900a(): step=5
    > > >> ==>NdisMSetAttributesEx: Miniport 00031A18
    > > >> 0x83c85000: cs8900a(): step=6
    > > >> 0x83c85000: cs8900a(): step=7
    > > >> 0x83c85000: cs8900a(): step=8
    > > >> 0x83c48000: NDIS: -ProcessPcmciaDeviceNotificationMessages
    > > >> 0x83c85000:Cs8900a():
    > > >> 80x83c85000:Cs8900a(): VchipFindIOBase Eprom_not_present
    > > >> 0x83c85000: cs8900a(): step=9
    > > >> 0x83c85000:Cs8900a(): 9
    > > >> 0x83c85000:Cs8900a(): NdisMRegisterIoPortRange: 0
    > > >> 0x83c85000:Cs8900a(): NdisMRegisterIoPortRange : fail
    > > >> 0x83c85000: cs8900a(): step=10
    > > >> 0x83c85000:Cs8900a(): 10
    > > >> 0x83c85000:Cs8900a(): AssignedUserDefinedConfig() IOBASE : bc300300
    > > >> 0x83c85000: cs8900a(): step=11
    > > >> 0x83c85000: cs8900a(): step=12
    > > >> 0x83c85000: cs8900a(): step=13
    > > >> 0x83c85000: cs8900a(): step=14
    > > >> 0x83c85000: cs8900a(): step=15
    > > >> ***NDIS*** (a, 474) ==>NdisMRegisterInterrupt: Miniport 00031A18 Vector
    > > >> 10
    > > >> 0x83c85000: NDIS:: ERROR IRQ 10 -> SYSINTR translation failed error=32
    > > >> NdisMRegisterInterrupt: IoConnectInterrupt failed on Interrupt Level:0,
    > > >> Vector: a
    > > >> ***NDIS*** (a, 645) <==NdisMRegisterInterrupt: Miniport 00031A18,
    > > >> Status c0000001
    > > >> Cs8900a(): DuplexMode=1; IntLint=0xa; IOBase=0xffffffff
    > > >> Mac0=0x3412 Mac1=0x7856 Mac2=0x9a
    > > >> 0x83c85000:Cs8900a(): DuplexMode=1; IntLint=0xa; IOBase=0xffffffff
    > > >> Mac0=0x3412 Mac1=0x7856 Mac2=0x9a
    > > >> ==>NdisMDeregisterAdapterShutdownHandler: Miniport 00031A18
    > > >> <==NdisMDeregisterAdapterShutdownHandler: Miniport 00031A18
    > > >> ***NDIS*** (b, 2018) INIT FAILURE: Dequeueing the miniport from the
    > > >> driver block.
    > > >> ==>ndisDeQueueMiniportOnDriver, Miniport 00031A18, MiniBlock 00031820
    > > >> <==ndisDeQueueMiniportOnDriver: Miniport 00031A18, MiniBlock 00031820
    > > >> ***NDIS*** (b, 2045) INIT FAILURE: Dereferencing the miniport
    > > >> block.
    > > >> ndisDereferenceMiniport:Miniport 00031A18, Ref = 0
    > > >> ==>ndisMUnload: DriverObject 00031710ndisMUnload: MiniBlock 00031820
    > > >> <==ndisMUnload: DriverObject 00031710, MiniBlock 00031820
    > > >
    > > >



+ Reply to Thread