mika505
Новенький
Offline
|
|
« : 28-10-2010 15:20 » |
|
Привет всем! Столкнулся с проблемой включения WiFi адаптера. Адаптер AR6K_SD1 в реестре:
[HKEY_LOCAL_MACHINE\Comm\AR6K_SD1] Display Name=AR6000 WLAN Adapter SD Group=NDIS ImagePath=ar6k_ndis_sdio.dll Wireless=1
[HKEY_LOCAL_MACHINE\Comm\AR6K_SD1\Parms] powerSaveMode=2 currentPowerState=1 BusType=0 BusNumber=0 BtCoexAntConfig=0 eepromFile=NULL
Пытался через SetDevicePower(szName, POWER_NAME, PwrDeviceUnspecified) - включение, и SetDevicePower(szName, POWER_NAME, D4) - выключение. Где szName={98C5250D-C29A-4985-AE5F-AFE5367E5006}\AR6K_SD1.
Проблема в том, что при перезагрузке, когда адаптер выключен, функция включения не работает. Если включить через навигатор WiFi, то SetDevicePower начинает работать и на включение, и на выключение.
Как я понял проблема в том, что адаптер необходимо сначала активировать. Проверил регистр до включения WiFi и после - разница в том, что появляется новый ключ [HKEY_LOCAL_MACHINE\Drivers\Active\103] Hnd=3582778688 Name=DRG1: Key=\Drivers\SDCARD\ClientDrivers\Custom\MANF-0271-CARDID-0201-FUNC-1 BusParent=3489963616 InterfaceType=0 BusName=SDBus_1_0_1 ClientInfo=686337
Сам ключ [HKEY_LOCAL_MACHINE\Drivers\SDCARD\ClientDrivers\Custom\MANF-0271-CARDID-0201-FUNC-1] выглядит так Dll=ar6k_ndis_sdio.dll Prefix=DRG
В общем, тогда пробовал до вызова SetDevicePower на включение вызывать handle = ActivateDevice(L"\\Drivers\\SDCARD\\ClientDrivers\\Custom\\MANF-0271-CARDID-0201-FUNC-1",NULL); на что выдовало handle=NULL, а GetLastError()=110(ERROR_OPEN_FAILED )
В общем, больше пока ничего в голову не пришло.
Если есть идеи, пишите, буду благодарен.
|