Re: High DPC Use and a Method to Reboot a network card?



IMH wrote:
[..]
I am not familiar with how drivers work and so I don't know how the winpcap
driver interacts with the NIC or whether it could influence time spent in a
DPC.

Well, ok, protocol drivers like the one that comes with WinPCap usually
don't have a DPR but they can actually run in the context of the
miniport driver underneath them:

DPC -> MiniportHandleInterrupt() -> NdisMIndicateReceivePacket() ->
ProtocolReceivePacket() [in e.g. WinPCap]

Since WinPCap is AFIK open source, you can probably download and
inspect the source code here:

http://www.winpcap.org

Are you saying that it is impossible for winpcap to influence the DPC time
in any way? In which case this almost certainly appears to be driver
related and I am talking with 3Com about this at present.

Protocol drivers should usually do as little as possible in
ProtocolReceivePacket(), which runs in DPC context (i.e. at IRQL =
DISPATCH_LEVEL).

I was figuring that the IC on the NIC performing the brains of the operation
could be reset in some way (or so our hardware genius here suggests as it's
the case with the ICs he is working with) so I hoped we could ask the driver
to reboot it; clearly it's a little more complicated than that however. I'm
already investigating the SetupDi commands to see what happens there...

Well, an NDIS protocol driver can call NdisReset(), which "forwards a
reset request to an underlying driver."

See the DDK docs for more information on the aforementioned
NDIS-related functions:

http://msdn.microsoft.com/library/
> "Win32 and COM Development"
> "Windows Driver Kit"
> "Device and Driver Technologies"
> "Network"

Although that might help, I strongly recommend you try to eliminate the
actual cause of the problem.

Stephan

.



Relevant Pages

  • Re: High DPC Use and a Method to Reboot a network card?
    ... I'll post to the WinPCap community to see if there is a known ... Well, ok, protocol drivers like the one that comes with WinPCap usually ... miniport driver underneath them: ... reset request to an underlying driver." ...
    (microsoft.public.development.device.drivers)
  • Re: deadlock in "modprobe -r ohci1394" shortly after "modprobe ohci1394"
    ... attempting to rescan the parent. ... If it doesn't have a driver, ... struct hpsb_host ... All of the existing protocol drivers bind only to unit_directories, ...
    (Linux-Kernel)
  • Re: deadlock in "modprobe -r ohci1394" shortly after "modprobe ohci1394"
    ... attempting to rescan the parent. ... If it doesn't have a driver, ... - struct hpsb_host ... All of the existing protocol drivers bind only to unit_directories, ...
    (Linux-Kernel)
  • Re: Miniport versus intermediate???
    ... as an Ethernet driver and dynamically switch between them? ... "Miniport Driver with a WDM Lower Interface " ... bridge between the Protocol drivers, and the underlying hardware driver (and ... at its upper edge, then at its lower edge it interfaces with a miniport ...
    (microsoft.public.development.device.drivers)
  • Re: Differed Procedure Calls?
    ... Did you install an updated driver? ... There aren't many things you can tweak to change the DPC rate, ... missing AMD dual core CPU driver or whatever, ... The Power scheme used on battery, and on line power, is ...
    (microsoft.public.windowsxp.general)