Help! wake-up function of a NDIS-USB miniport driver

I am dealing with a NDIS-USB miniport driver in windows 2000.
This driver works upon a USB2USB bridge Chip, then maps this USB data
link layer to a visual lan adapter in two connected PCs , which is a good
idea to construct a simple LAN.
The last pending thing is the remote wake-up function .One active PC
should wake-up another side PC which has suspended (standby),by just
clicking the folder(of the suspended PC) in the active PC.
I have no idea about how to implement this function.
I have read many materials about how to deal with wake-up in a pure WDM
USB driver,also I read something about how the real NDIS Lan adapter
driver to wake-up system.
This is a visual adapter, and all the code is under the NDIS driver
framework. But the remote wake-up function can not work without the
supporting of the WDM USB driver(I think so).How can I consociate those
two paradoxical factor?
Is there anyone can give me any tip?
Thanks in advance!

BTW:I can not use my USB keyboard to wake-up my suspended computer while I
set my BIOS option “enable waku-up by USB KB”.Is this means my USB
controller is power-off in suspend mode,and I can not wake-up the system
by any kind of USB device,no matter how beautiful my device driver
coded?Should I change a new machine to continue my work?

True Wake on LAN implementations use NDIS to send a Wake pattern to the
NIC via OID_PNP_ADD_WAKE_UP_PATTERN and NDIS_PM_PACKET_PATTERN, which
the NIC stores in its own memory because NDIS, the miniport, etc are all
powered off when the machine hibernates. NICs that support this feature
usually have its own separate power connector to give it just enough
juice to listen for packets and compare packets it receives with the
wake pattern, and when it determines it has to wake, does so by raising
a signal on the PXE line. This causes a cascade of events that will
eventually bring NDIS and the miniport back to D0 state.

You will have to figure out how to keep power to your USB device and
cause USB to wake up the system. At the time the machine is off, your
miniport is in a power state less than D0.

Bryan S. Burgin
xxxxx@microsoft.com

This posting is provided “AS IS” with no warranties, and confers no
rights.

-----Original Message-----
From: samuel [mailto:xusub@163.net]
Sent: Monday, October 07, 2002 11:39 PM
To: NT Developers Interest List
Subject: [ntdev] Help! wake-up function of a NDIS-USB miniport driver

I am dealing with a NDIS-USB miniport driver in windows 2000.
This driver works upon a USB2USB bridge Chip, then maps this USB
data
link layer to a visual lan adapter in two connected PCs , which is a
good
idea to construct a simple LAN.
The last pending thing is the remote wake-up function .One
active PC
should wake-up another side PC which has suspended (standby),by just
clicking the folder(of the suspended PC) in the active PC.
I have no idea about how to implement this function.
I have read many materials about how to deal with wake-up in a
pure WDM
USB driver,also I read something about how the real NDIS Lan adapter
driver to wake-up system.
This is a visual adapter, and all the code is under the NDIS
driver
framework. But the remote wake-up function can not work without the
supporting of the WDM USB driver(I think so).How can I consociate those
two paradoxical factor?
Is there anyone can give me any tip?
Thanks in advance!

BTW:I can not use my USB keyboard to wake-up my suspended computer while
I
set my BIOS option “enable waku-up by USB KB”.Is this means my USB
controller is power-off in suspend mode,and I can not wake-up the system
by any kind of USB device,no matter how beautiful my device driver
coded?Should I change a new machine to continue my work?


You are currently subscribed to ntdev as: xxxxx@microsoft.com
To unsubscribe send a blank email to %%email.unsub%%

>powered off when the machine hibernates. NICs that support this
feature

usually have its own separate power connector to give it just enough
juice

At least RTL8139 can do this both with sideband 3wire cable and
without it. PCI has its own standby power line.

Max

Dear Bryan S. Burgin:
Thank you very much for you explanation
This USB device is a USB2USB bridge to connect 2 PCs, which means if
there is any side of computer powers on, the USB device can keep power.
From your explanation, does you mean the power management framework of my
device driver must comply to the NDIS structure, responding to several
OID? Is it independent of WDM power management framework?
Also from your explanation, I know maybe I can implement the wake-up
function by adding my wake pattern. If it is feasible, there is one more
question: how can the suspended PC compare the patterns from the incoming
network frame when it has been suspended? Or this kind of compare can only
do in network adapter itself by the embedded computing components? What
can OS do and what can not OS do in S1 or S3 mode?
I can not find appropriate sample code in the DDK
samples.(DDK\SRC\NETWORK\NDIS).Could you give me some relative sample
codes about NDIS power management, especially about wake-up?

Best Wish

samuel

Could you give me any tip about how to implement wake-up on the visual
Network adapter?
(Power supply is no problem,This USB device is a USB2USB bridge to connect
2 PCs,that means if there is any side of computer powers on,the USB device
can keep power.)

Thanks a lot

samuel