Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
La funzionalità di bassa potenza in caso di disconnessione della rete (D3 su disconnessione) consente di risparmiare energia posizionando un adattatore di rete in uno stato a basso consumo (D3) quando la connessione è disconnessa. Quando il supporto viene riconnesso, la scheda di rete viene riattivata allo stato di alimentazione completa (D0).
NDIS usa la funzionalità D3 in caso di disconnessione in queste condizioni:
L'hardware della scheda di rete deve essere in grado di generare un evento di riattivazione nel collegamento multimediale.
Il driver miniport deve segnalare la funzionalità di evento di riattivazione della scheda di rete nel membro MinLinkChangeWakeUp della struttura NDIS_PM_CAPABILITIES .
Il valore di MinLinkChangeWakeUp deve corrispondere al valore del membro DeviceWake della struttura DEVICE_CAPABILITIES segnalata dal IRP_MN_QUERY_CAPABILITIES IRP.
Il driver miniport deve registrarsi come driver NDIS 6.20 o versione successiva.
La scheda di rete deve essere una scheda PCI Ethernet.
La funzionalità dell'evento di riattivazione deve essere abilitata dalla parola chiave del file INF standard *DeviceSleepOnDisconnect .
Il chipset del computer deve essere in grado di propagare correttamente l'evento di riattivazione mentre il computer è completamente alimentato. NDIS convalida questo eseguendo una query sulla proprietà PCI DEVPKEY_PciDevice_S0WakeupSupported.
Si noti che D3 in caso di disconnessione è disponibile solo se il computer è completamente alimentato nello stato di lavoro (S0). Questa funzionalità viene annullata quando il computer entra in uno stato di sospensione per impedire la riattivazione del computer quando lo stato del collegamento viene ciclizzato esternamente; ovvero, quando un interruttore è spento e attivato. Per altre informazioni sull'impostazione dello stato a basso consumo quando un computer entra in stato di sospensione, vedere Basso consumo di energia per la riattivazione LAN.
Un driver miniport segnala D3 sulle funzionalità di disconnessione durante l'inizializzazione. Per ulteriori informazioni sulla creazione di report D3 sulle capacità di disconnessione, vedere Reporting Power Management Capabilities.
La parola chiave *DeviceSleepOnDisconnect standard INF file specifica se il dispositivo ha abilitato o disabilitato il supporto per D3 alla disconnessione. Per altre informazioni su questa parola chiave INF, vedere Parole chiave INF standardizzate per il risparmio energia.
Durante l'inizializzazione, i driver miniport che supportano D3 in caso di disconnessione devono segnalare il livello di alimentazione più basso in cui può supportare la possibilità di notificare al sistema operativo l'evento di connessione multimediale. Il driver miniport segnala il livello di alimentazione nel membro MinLinkChangeWakeUp della struttura NDIS_PM_CAPABILITIES . Ad esempio, il driver miniport può segnalare NdisDeviceStateD3.
La figura seguente illustra la sequenza di eventi per impostare una scheda di rete su uno stato a basso consumo dopo un evento di disconnessione multimediale.
Quando l'adattatore rileva una disconnessione multimediale, si verifica la sequenza seguente:
L'hardware della scheda di rete rileva un evento di disconnessione multimediale e passa le informazioni al driver miniport.
Il driver miniport notifica all'NDIS di un evento di disconnessione multimediale usando l'indicazione di stato NDIS_STATUS_LINK_STATE . Il membro StatusBuffer della struttura NDIS_STATUS_INDICATION contiene una struttura NDIS_LINK_STATE . Il valore MediaConnectStateDisconnected viene impostato nel membro MediaConnectState della struttura NDIS_LINK_STATE .
NDIS usa OID_PM_PARAMETERS per disabilitare Wake-on-LAN e per abilitare la funzione wake on media connect (NDIS_PM_WAKE_ON_LINK_CHANGE_ENABLED è impostato nel membro WakeUpFlags).
NDIS usa l'OID OID_PNP_SET_POWER per notificare al driver miniport il nuovo stato di alimentazione (D3).
NDIS invia al bus PCIe un IRP_MN_WAIT_WAKE IRP per attendere un evento di riconnessione.
NDIS imposta il bus PCIe sullo stato D3 con il IRP_MN_SET_POWER IRP.
Nella figura seguente viene illustrata la sequenza di eventi per ripristinare la potenza totale su una scheda di rete dopo un evento di connessione multimediale.
Quando il supporto viene riconnesso, si verifica la sequenza seguente:
La scheda di rete riattiva il sistema asserendo WAKE# sul bus PCIe o PME# sul bus PCI.
Il bus completa il IRP_MN_WAIT_WAKE IRP in sospeso. L'IRP è in attesa della conclusione dell'ultima fase della sequenza di disconnessione.
NDIS imposta il bus a piena potenza (D0) con il IRP_MN_SET_POWER IRP.
NDIS notifica al driver miniport che la scheda di rete è nello stato di alimentazione completa (D0) con la richiesta OID set di OID_PNP_SET_POWER.
La scheda di rete notifica all'NDIS di un evento di connessione multimediale con l'indicazione di stato NDIS_STATUS_LINK_STATE. Il valore MediaConnectStateConnected viene impostato nel membro MediaConnectState della struttura NDIS_LINK_STATE.
A partire da NDIS 6.30, se il driver miniport supporta le indicazioni di stato NDIS_STATUS_PM_WAKE_REASON, deve inviare questa notifica di stato se la scheda di rete riattiva il sistema. Il driver invia questa notifica di stato mentre gestisce la richiesta del set OID di OID_PNP_SET_POWER per la transizione a uno stato di alimentazione completa (D0).
Per ulteriori informazioni, vedere Indicazioni di stato sul motivo del risveglio NDIS.
Nota Se il driver miniport emette un'indicazione di stato NDIS_STATUS_PM_WAKE_REASON, è necessario eseguire questa operazione prima di eseguire l'indicazione di stato NDIS_STATUS_LINK_STATE .