Hello,
Well, frankly speaking, I ran out of clues and I don’t
know which direction to dig… I’d really appreciate
if somebody could give me a clue what’s going on.
The problem:
We use a standard NT driver for our device for a
couple years. The PCI extension board uses Mot DSP
56301 as a PCI interface. I verified with bus analyzer
that INTA# and other timing satisfies PCI 2.2.
Device driver has straight NT architecture and doesn’t
support PnP or PM functions (legacy device).
Nevertheless it works fine under Win2k and XP when
Standard PC driver is selected (MPS driver works fine
too).
The problem appears on certain motherboards when
Windows installs ACPI driver (Win2k and XP only).
Majority of Intel or Asus motherboards work fine, but
mainstream motherboards from Dell or Compaq do not.
The problem is WinXP never calls my driver ISR. Never.
Everything else works just fine.
Then I tried WDM version of the driver based on Walter
Oney’s framework. No interrupts. Nothing. Windows
creates separate device class for the devices,
installs, shows proper interrupt, address, etc.
Everything seems to be all right. Driver works but…
no interrupts.
Replacement of ACPI with the Standard PC driver solves
the problem.
Questions:
- Have anybody experienced problem like that?
- What is the best way to see whether CPU gets
interrupt from my device? Is there any way in SoftIce
to set breakpoint inside Win interrupt handler? In
other words where IDT points?
Is any good docs/sources that explains how the kernel
processes interrupts before it calls driver ISR?
Thanks in advance,
Alex Spelling
Do You Yahoo!?
Send FREE video emails in Yahoo! Mail!
http://promo.yahoo.com/videomail/
You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com
Looks like a mistery to me. Try to open up the Device Manager
and see who shares the interrupt with you. Try to disable them
and see if that changes anything.
— Alex Spelling wrote:
> Hello,
>
> Well, frankly speaking, I ran out of clues and I don’t
> know which direction to dig… I’d really appreciate
> if somebody could give me a clue what’s going on.
>
> The problem:
>
> We use a standard NT driver for our device for a
> couple years. The PCI extension board uses Mot DSP
> 56301 as a PCI interface. I verified with bus analyzer
> that INTA# and other timing satisfies PCI 2.2.
>
> Device driver has straight NT architecture and doesn’t
> support PnP or PM functions (legacy device).
> Nevertheless it works fine under Win2k and XP when
> Standard PC driver is selected (MPS driver works fine
> too).
>
> The problem appears on certain motherboards when
> Windows installs ACPI driver (Win2k and XP only).
> Majority of Intel or Asus motherboards work fine, but
> mainstream motherboards from Dell or Compaq do not.
>
> The problem is WinXP never calls my driver ISR. Never.
> Everything else works just fine.
>
> Then I tried WDM version of the driver based on Walter
> Oney’s framework. No interrupts. Nothing. Windows
> creates separate device class for the devices,
> installs, shows proper interrupt, address, etc.
> Everything seems to be all right. Driver works but…
> no interrupts.
>
> Replacement of ACPI with the Standard PC driver solves
> the problem.
>
> Questions:
> 1. Have anybody experienced problem like that?
> 2. What is the best way to see whether CPU gets
> interrupt from my device? Is there any way in SoftIce
> to set breakpoint inside Win interrupt handler? In
> other words where IDT points?
>
> Is any good docs/sources that explains how the kernel
> processes interrupts before it calls driver ISR?
>
> Thanks in advance,
> Alex Spelling
>
>
>
> Do You Yahoo!?
> Send FREE video emails in Yahoo! Mail!
> http://promo.yahoo.com/videomail/
>
> —
> You are currently subscribed to ntdev as: xxxxx@yahoo.com
> To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com
Do You Yahoo!?
Send FREE video emails in Yahoo! Mail!
http://promo.yahoo.com/videomail/
—
You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com
> The problem appears on certain motherboards when
Windows installs ACPI driver (Win2k and XP only).
Majority of Intel or Asus motherboards work fine, but
mainstream motherboards from Dell or Compaq do not.
The problem is WinXP never calls my driver ISR. Never.
Maybe the device and driver do not support IRQ sharing?
Max
You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com