Re: Problem migratting from 4.1 to 4.2 by Paul
Paul
Mon Apr 12 12:37:01 CDT 2004
It sounds like whatever caused the interrupt is not being cleared correctly
and that you are using level-sensitive interrupts, so, as soon as the
interrupt is cleared, here it comes again. I have no idea why. You'll have
to check the interrupt output of the chip, figure out how the processor is
set up to handle it, etc.
Paul T.
"lur" <lur444@hotmail.com> wrote in message
news:55dc9062.0404050844.176e42ac@posting.google.com...
> Hi, Paul
>
> Thanks for your answer. Yes, I had changed the code in cfwxsc1.c file
> (in the OEMInterruptEnable(), OEMInterruptDisable() and
> OEMInterruptDone() functions), but I had forgotten to change the value
> of the SYSINTR that returns the function OEMInterruptHandler() when an
> interrupt acknowledge occurs in the SMC ISR routine.
>
> But, when I have corrected this value, the situation is the next:
>
> 3021 PID:23c76f6a TID:23c9cbda SMSC LAN91C96 WindowsCE.NET 4.1 Driver
> V1.2 (NDIS4.0)
> 3022 PID:23c76f6a TID:23c9cbda LAN91C96 => DriverEntry
> 3023 PID:23c76f6a TID:23c9cbda LAN91C96 <= DriverEntry
> 3029 PID:23c76f6a TID:23c9cbda LAN91C96 ==> MiniportInitialize
> 3031 PID:23c76f6a TID:23c9cbda LAN91C96:Allocated Tx Buffer
> Successfully!
> 3032 PID:23c76f6a TID:23c9cbda LAN91C96 ==> GetRegistrySettings
> 3034 PID:23c76f6a TID:23c9cbda LAN91C96:BusType = 0x1
> 3036 PID:23c76f6a TID:23c9cbda LAN91C96:BusNumber = 0x0
> 3037 PID:23c76f6a TID:23c9cbda LAN91C96:New IRQ Value found in
> register.. overiding the default value
> 3038 PID:23c76f6a TID:23c9cbda LAN91C96:New IOBase address found in
> register.. overiding the default value
> 3039 PID:23c76f6a TID:23c9cbda LAN91C96:BusNumber = 0
> 3041 PID:23c76f6a TID:23c9cbda LAN91C96:BusType = 1
> 3042 PID:23c76f6a TID:23c9cbda LAN91C96:IoBase = bf500000
> 3043 PID:23c76f6a TID:23c9cbda LAN91C96:Interrupt = 11
> 3044 PID:23c76f6a TID:23c9cbda LAN91C96:Duplex = 0
> 3045 PID:23c76f6a TID:23c9cbda LAN91C96 <== GetRegistrySettings
> 3046 PID:23c76f6a TID:23c9cbda LAN91C96 <== Before Calling
> SetAttribute
> 3047 PID:23c76f6a TID:23c9cbda LAN91C96 <== after Calling
> SetAttribute
> 3048 PID:23c76f6a TID:23c9cbda LAN91C96: VirtualAlloc/Copy
> Succeeded...........
> 3050 PID:23c76f6a TID:23c9cbda LAN91C96:Adapter->IOBase =
> 0x290000
> 3051 PID:23c76f6a TID:23c9cbda **************+OEMInterruptEnable:
> SYSINTR_SMSC.
> 3052 PID:23c76f6a TID:23c9cbda **************-OEMInterruptEnable:
> SYSINTR_SMSC.
> 3054 PID:23c76f6a TID:23c9cbda LAN91C96:Interrupt Registered !!!
> 3055 PID:23c76f6a TID:23c9cbda LAN91C96:Allocated LookAhead Buffer
> Successfully!
> 3056 PID:23c76f6a TID:23c9cbda LAN91C96:==> Adapter Verify
> 3057 PID:23c76f6a TID:23c9cbda IOBase===0x290000!
> 3058 PID:23c76f6a TID:23c9cbda TempStore===0x3330!
> 3061 PID:23c76f6a TID:23c9cbda LAN91C96:<== Adapter Verify
> 3062 PID:23c76f6a TID:23c9cbda MAC Address : 00-08
> 3063 PID:23c76f6a TID:23c9cbda -21-21
> 3064 PID:23c76f6a TID:23c9cbda -00-01
> 3065 PID:23c76f6a TID:23c9cbda LAN91C96:==> Adapter Reset 290000
> 3066 PID:23c76f6a TID:23c9cbda LAN91C96:<== Adapter Reset 290000
> 3067 PID:23c76f6a TID:23c9cbda LAN91C96 <== MiniportInitialize
> 3068 PID:23c76f6a TID:23c9cbda LAN91C96 ==> MiniportQuery
> Information OID=10116,
> 3069 PID:23c76f6a TID:23c9cbda OID_GEN_VENDOR_DRIVER_VERSION
> 3070 PID:23c76f6a TID:23c9cbda LAN91C96 <== MiniportQuery
> Information OID
> 3071 PID:23c76f6a TID:23c9cbda LAN91C96 ==> MiniportQuery
> Information OID=10105,
> 3072 PID:23c76f6a TID:23c9cbda OID_GEN_MAXIMUM_LOOKAHEAD
> 3081 PID:23c76f6a TID:23c9cbda LAN91C96 <== MiniportQuery
> Information OID
> 3083 PID:23c76f6a TID:23c9cbda LAN91C96 ==> MiniportQuery
> Information OID=10113,
> 3084 PID:23c76f6a TID:23c9cbda OID_GEN_MAC_OPTIONS
> 3085 PID:23c76f6a TID:23c9cbda LAN91C96 <== MiniportQuery
> Information OID
> 3087 PID:23c76f6a TID:23c9cbda LAN91C96 ==> MiniportQuery
> Information OID=1010104,
> 3089 PID:23c76f6a TID:23c9cbda OID_802_3_MAXIMUM_LIST_SIZE
> 3090 PID:23c76f6a TID:23c9cbda LAN91C96 <== MiniportQuery
> Information OID
> 3091 PID:23c76f6a TID:23c9cbda LAN91C96 ==> MiniportQuery
> Information OID=1010102,
> 3092 PID:23c76f6a TID:23c9cbda OID_802_3_CURRENT_ADDRESS
> 3094 PID:23c76f6a TID:23c9cbda LAN91C96 <== MiniportQuery
> Information OID
> 3095 PID:23c76f6a TID:23c9cbda LAN91C96 ==> MiniportQuery
> Information OID=10202,
> 3096 PID:23c76f6a TID:23c9cbda Unknown or Unsupported OID
> Statistics Query
> 3097 PID:23c76f6a TID:23c9cbda LAN91C96 <== MiniportQuery
> Information OID
> 3098 PID:23c76f6a TID:23c9cbda LAN91C96 ==> MiniportQuery
> Information OID=fd010100,
> 3100 PID:23c76f6a TID:23c9cbda Unknown or Unsupported OID
> Statistics Query
> 3101 PID:23c76f6a TID:23c9cbda LAN91C96 <== MiniportQuery
> Information OID
> 3111 PID:23c76f6a TID:a3c1f2a2 **************OEMInterruptDone:
> SYSINTR_SMSC.
> 3112 PID:23c76f6a TID:a3c1f2a2 **************OEMInterruptDone:
> SYSINTR_SMSC.
> 3112 PID:23c76f6a TID:a3c1f2a2 **************OEMInterruptDone:
> SYSINTR_SMSC.
> 3113 PID:23c76f6a TID:a3c1f2a2 **************OEMInterruptDone:
> SYSINTR_SMSC.
> 3113 PID:23c76f6a TID:a3c1f2a2 **************OEMInterruptDone:
> SYSINTR_SMSC.
> 3114 PID:23c76f6a TID:a3c1f2a2 **************OEMInterruptDone:
> SYSINTR_SMSC.
> 3115 PID:23c76f6a TID:a3c1f2a2 **************OEMInterruptDone:
> SYSINTR_SMSC.
> 3116 PID:23c76f6a TID:a3c1f2a2 **************OEMInterruptDone:
> SYSINTR_SMSC.
> 3116 PID:23c76f6a TID:a3c1f2a2 **************OEMInterruptDone:
> SYSINTR_SMSC.
> 3117 PID:23c76f6a TID:a3c1f2a2 **************OEMInterruptDone:
> SYSINTR_SMSC.
> 3118 PID:23c76f6a TID:a3c1f2a2 **************OEMInterruptDone:
> SYSINTR_SMSC.
> .....
> ..... (and it continuos in the same way)
>
> As you can see, the OEMInterruptDone function is called repeatedly
> until the infinite. And now the situation is the same independently of
> the way that I download or connect the KITL.
>
> Note that this is the same situation that I had when I was using the
> SMSC SYSINTR (remember that now I'm using the mouse's SYSINTR).
>
> Where can be the matter??
>
> Thanks in advance for your help.
>
> Lur
>
>
> "Paul G. Tobey [eMVP]" <ptobey_no_spam@instrument_no_spam.com> wrote in
message news:<uL4C3XMGEHA.3064@tk2msftngp13.phx.gbl>...
> > Don't forget that, if you change the SYSINTR value, you have to handle
that
> > new value in the interrupt handler (the ISR), and in the routines for
enable
> > and disable of the interrupt...
> >
> > Paul T.
> >
> > "lur" <lur444@hotmail.com> wrote in message
> > news:55dc9062.0404020253.5584e7a9@posting.google.com...
> > > Hi all,
> > >
> > > I am working on a DBPXA255 bassed platform and I am now migratting
> > > from Platform Builder 4.1 to 4.2.
> > >
> > > The matter is that in 4.1 I had the LAN91C96 driver working perfectly
> > > but now that I have migrated to 4.2, I'm having a lot of problems to
> > > make it work.
> > >
> > > I have read a message in this group about similar problem with a
> > > LAN91C111 driver, but I have followed the steps that were used to
> > > solve that problem and in my case don't solve the problem.
> > >
> > > I have been suspecting that perhaps the SYSINTR value that I was using
> > > in the LAN91C96 driver (the SMSC SYSINTR) was been used by another
> > > component or something like that, so I have change it and, knowing
> > > that my target hasn't mouse and the mouse's SYSINTR isn't been used,
> > > now my driver is using the mouse SYSINTR instead of the SMSC SYSINTR.
> > >
> > > If I build a image with KITL enabled and I download it through a LP-E
> > > CF card (with KITL through the CF card too), the LAN91C96 driver works
> > > fine, it connects to the default gateway using DHCP and everything
> > > goes well. But the matter is that when I download the image and I use
> > > serial KITL or I download an image built with KITL disabled, the
> > > driver is loaded but it doesn't find the default gateway using the
> > > DHCP enabled. And using a static IP address, it only can ping itself
> > > because when I try to ping another IP address, it returns the error
> > > code 10110 (transmition failed).
> > >
> > > I have instaled the 4.2 QFEs but nothing seems to change.
> > >
> > > I have found another curious thing: if I download a image built
> > > without KITL, the messages that are normally sent thought the KITL
> > > connection (I mean RETAILMSG() and DEGUBMSG()) are send through the
> > > serial line like serial debug mesagges. Is that normal?? (I didn't see
> > > this behaviour in 4.1)
> > >
> > > By the way, I have implemented the serial download and serial KITL
> > > (remember that serial download only works with serial KITL). When I
> > > download an image through Ethernet (SMSC or NE2000), serial KITL seems
> > > to work fine, but if I download an image using serial download, the
> > > serial KITL is initialized, but the last serial debug message that I
> > > receive is '-OEMKitlInit'. After that it hangs. I have used a debugger
> > > and I have seen that it never goes out of the KITLPollResponse()
> > > function. Perhaps are there some variables that aren't initialized
> > > when I download the image using serial line???
> > >
> > > I would be very pleased if someone could help me with these matters.
> > >
> > > Thanks in advance,
> > >
> > > Lur