How to Shutdown my intel x86 device? RRS feed

  • Question

  • Hi

    I am trying to give shutdown feature to my intel x86 device. i wrote the sample console based application by using the below APIs,

    1. GwesPowerOffSystem();

    2. SetSystemPowerState(NULL, POWER_STATE_OFF, POWER_FORCE);

    But both are not working for my device. When i call this API, the call goes to OEMpowerOFF function and it stops forever.


    Please advice me on this.



    Thursday, August 25, 2011 8:17 AM

All replies

  • Hi,

      What WinCE/BSP are you using?

    You can use Intel unified BSP (for WinCE 6), it implement true shutdown routine, but OEMpowerOFF implement sleep mode only.

    It needs to add single line at your application: SetSystemPowerState (_T("shutdown"), 0x00, 0x00);

    Thursday, August 25, 2011 10:06 AM
  • Hi

    Thanks for your reply,

    we are using intel unified bsp v2.5 gold for wince6.0. but i could not find any shutdown routine.


    i shall try the 2nd step and let u know the result.




    Thursday, August 25, 2011 11:32 AM
  • we are using intel unified bsp v2.5 gold for wince6.0. but i could not find any shutdown routine.
    It's implemented within \Intel_CS\SRC\Libs\POWER\power.c - x86PowerShutDown() routine.
    Thursday, August 25, 2011 11:39 AM
  • Dear iShust,


    thanks for your reply.

    I tried with your API "SetSystemPowerState (_T("shutdown"), 0x00, 0x00);" in my suspend.exe application. It OS gets hanged in the below level,

     531016 PID:6de0002 TID:6df0002 OSAXST1: >>> Loading Module 'suspend.exe' (0x8CBE9B10) at address 0x00010000-0x00013000 in Process 'suspend.exe' (0x8CBE9B10)
     531033 PID:400002 TID:3d40002 SetupStream() DAC nid = 0x2
     531061 PID:6de0002 TID:6df0002 Console NOT redirected for process 0x6DE0002
     531062 PID:400002 TID:6df0002 AddToProcessInputLocaleTable: Added process to ProcessInputLocale table, hProcess = 0x06DE0002
     531067 PID:400002 TID:6df0002 +DMA_IOControl      (0xd068cf10, 0x00321008, 0x00000000, 0, 0xe0d8eee8, 4, 0xe0d8eed4)
     531067 PID:400002 TID:6df0002 During InitialisationRegisters are initialized to zero.Updation takesplace during the corresponding ioctl calls.So not backing up any register values
     531067 PID:400002 TID:6df0002 FS: Got Power notif 0x00000002
     531069 PID:400002 TID:6df0002 FSREG: Flushing registry
     531073 PID:400002 TID:6df0002 FSRAM: Flushing cached file data
     531074 PID:400002 TID:6df0002 PM: PlatformSetSystemPowerState: KernelIoControl(IOCTL_HAL_POWERSHUTDOWN) returned!
     531087 PID:400002 TID:6df0002 PM: DEBUGCHK failed in file C:\WINCE600\PLATFORM\Intel_CS\SRC\DRIVERS\PM\PDD\DEFAULT\.\platform.cpp at line 374 
     531108 PID:400002 TID:3d40002 R
     531108 PID:400002 TID:3d40002 U
     531108 PID:400002 TID:6df0002 Powering Off system:
     531109 PID:400002 TID:6df0002  Calling GWES power proc.
     531109 PID:400002 TID:6df0002  Calling device manager power proc.
     531113 PID:400002 TID:6df0002  Calling OEMPowerOff...

    I checked the function x86powershutdown also. It is implemented as you told. But the my device is not getting shutdown. 


    Please advice.




    Monday, August 29, 2011 10:35 AM
  • just add x86PowerShutDown() call to the start of OEMPowerOff()
    Monday, August 29, 2011 10:44 AM
  • Hi

    I tried the x86PowerShutDown in OEMPowerOff. Again i am getting the same problem.


    when i dig more into the PM code of intel_cs, i found the below statements in platform.cpp file,

                    // Handle resets and shutdowns here, after flushing files.  Since Windows CE does
                    // not define a standard mechanism for handling shutdown (via POWER_STATE_OFF),
                    // OEMs will need to fill in the appropriate code here.  Similarly, if an OEM does
                    // not support IOCTL_HAL_REBOOT, they should not support POWER_STATE_RESET.

    Should i need to implement anything related to my hardware inside the PM code?



    Monday, September 12, 2011 9:02 AM
  • Hi

    Please clarify anybody to my above doubt.



    Tuesday, September 27, 2011 3:36 PM