This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

WL1271 can not wake up Omap4430 from suspend mode

Other Parts Discussed in Thread: WL1271, TWL6030

Hi TI member,

we have a product and face the issue that  our device is in suspend mode,

but, when other device call by SKYPE or ping it , the device still can not wake up.

the following is our device detail FW information.

CPU : TI OMAP4430,
OS : Android: Android IcecreamSandwich 4.0.4(MR1.1)
         Kernel: 3.0.31 
         Wl12xx Driver version ol_R5.00.20
         WL12xx Firmware version 6.3.9.0.117

we have already set up the following setting to enable WOW ,

"mmc->pm_caps |= MMC_PM_KEEP_POWER;"

"RX filter was setting FF:FF:FF:FF:FF:FF"

it seems that the device still can not be wake up, we also monitored WL_IRQ pin at this moment, it showed "Low" , was no response. it caused that our CPU couldn't be waked up.

In normal status, we have checked WL_IRQ pin, it was no problem can work as like usual, only in suspend mode, it can not work at "high" status.

Did I missed something ? Please kindly share your opinion.

 

 

  • Hi,

    The first thing I would try is setting up an "any" filter:

    iw phy0 wowlan enable any
    
    
    Then ping / send traffic to the device and see if it wakes up.
    If this doesn't work, make sure you have followed the steps found here:
    http://processors.wiki.ti.com/index.php/OMAP_Wireless_COnnectivity_NLCP_Suspend_Resume_Operation
    
    
    Regards,
    Barak
  • Hi Barak,

    Thanks for your information,

    we have already followed the procedure :

    1. iw phy0 wowlan enable any
    2. echo mem > /sys/power/state
       System goes to Suspend mode.

    3.Ping the IP address from PC side.

    4.System does not wakeup.

     

    and the log as like below, if I am wrong, please correct mi.

    shell@android:/ $
    shell@android:/ $
    shell@android:/ $ su root
    shell@android:/ # iw phy0 wowlan enable any
    [   86.151947] wl12xx: RX_FILTER: 00000000: 00 00 00 00 00 00 00 00 00 00 00 00
    [   86.160125] wl12xx: RX_FILTER: 00000000: 00 00 00 00 00 00 00 00 00 01 00 00
    shell@android:/ # echo mem > /sys/power/state
    [   93.111389] request_suspend_state: sleep (0->3) at 93102111818 (2013-10-30 03:31:30.491516114 UTC)
    [   93.121063] Extra --> Suspend Mode!!Himax TS Suspend
    shell@android:/ # [   93.392761] DSSCOMP: dsscomp_early_suspend
    [   93.397857] DSSCOMP: blanked screen
    [   93.401733] ortustech display0: disable
    [   93.907745] omapdss DSI error: Failed to receive BTA
    [   93.907775] omapdss DSI error: dsi_vc_dcs_write(ch 0, cmd 0x28, len 1) failed
    [   93.907775] ortustech display0: <Display off> wrire fail.
    [   94.415557] omapdss DSI error: Failed to receive BTA
    [   94.415588] omapdss DSI error: dsi_vc_dcs_write(ch 0, cmd 0x10, len 1) failed
    [   94.415588] ortustech display0: <Sleep in> wrire fail.
    [   94.415740] ortustech display0: ortustech_hw_off
    [   94.436645] Invalid Device Structure
    [   94.436706] ortustech display0: update brightness to 0
    [   94.566192] PM: Syncing filesystems ... done.
    [   94.573211] PM: Preparing system for mem sleep
    [   94.642211] Freezing user space processes ...
    [   94.650665] active wake lock mmc1_detect
    [   94.655242]
    [   94.656890] Freezing of user space  aborted
    [   94.662261]
    [   94.663909] Restarting tasks ... done.
    [   94.672515] suspend: exit suspend, ret = -16 (2013-10-30 03:31:32.052642822 UTC)
    [   94.680450] active wake lock mmc2_detect
    [   94.684722] active wake lock mmc1_detect
    [   94.762115] PM: Syncing filesystems ... done.
    [   94.768890] PM: Preparing system for mem sleep
    [   94.825531] Freezing user space processes ...
    [   94.833862] active wake lock mmc1_detect
    [   94.838470]
    [   94.840118] Freezing of user space  aborted
    [   94.845001]
    [   94.847351] Restarting tasks ... done.
    [   94.855590] suspend: exit suspend, ret = -16 (2013-10-30 03:31:32.235687257 UTC)
    [   94.863586] active wake lock mmc2_detect
    [   94.867797] active wake lock mmc1_detect
    [   94.941894] PM: Syncing filesystems ... done.
    [   94.948638] PM: Preparing system for mem sleep
    [   95.017211] Freezing user space processes ...
    [   95.025482] active wake lock mmc1_detect
    [   95.029968]
    [   95.031616] Freezing of user space  aborted
    [   95.037109]
    [   95.038757] Restarting tasks ... done.
    [   95.047027] suspend: exit suspend, ret = -16 (2013-10-30 03:31:32.427154541 UTC)
    [   95.055450] active wake lock mmc2_detect
    [   95.059661] active wake lock mmc1_detect
    [   95.124908] PM: Syncing filesystems ... done.
    [   95.131652] PM: Preparing system for mem sleep
    [   95.136627] Freezing user space processes ... (elapsed 0.02 seconds) done.
    [   95.168609] Freezing remaining freezable tasks ... (elapsed 0.02 seconds) done.
    [   95.199951] PM: Entering mem sleep
    [   95.213836] wl12xx: wl1271_op_suspend00
    [   95.213836]
    [   95.219635] wl12xx: ggggwl1271_op_suspend wl1271_tx_flush
    [   95.219665]
    [   95.227172] wl12xx: ggggwl1271_op_suspend wl1271_configure_suspend
    [   95.227172]
    [   95.242523] wl12xx: ggggwl1271_op_suspend wl1271_disable_interrupts
    [   95.242553]
    [   95.250946] wl12xx: ggggwl1271_op_suspend wl1271_enable_interrupts
    [   95.250976]
    [   95.259307] wl12xx: ggggwl1271_op_suspend flush_work
    [   95.259307]
    [   95.266448] wl12xx: ggggwl1271_op_suspend end
    [   95.266479]
    [   95.280578] option: option_instat_callback: error -2
    [   95.287719] option: option_instat_callback: error -2
    [   95.321868] gggghcd hcd_bus_suspend
    [   95.326141] Invalid Device Structure
    [   95.330474] fm2018 suspend
    [   95.333435] noa3301_ps_suspend
    [   95.336730] <6>NOA3301 PS disable
    [   95.340332] lsm303dlhc_mag: suspend
    [   95.344146] lsm303dlhc_mag: suspend
    [   95.347900] lsm303dlhc_acc: suspend
    [   95.351654] gggglsm303dlhc_acc_disable
    [   95.355773] gggglsm303dlhc_acc_disable lsm303dlhc_acc_device_power_off
    [   95.363098] lsm303dlhc_acc: hw power off
    [   95.368377] twl6030_bci twl6030_bci: battery suspend.....
    [   95.374694] PVR: PVRSRVDriverSuspend(pDevice=c78a5400)
    [   95.380249] PVR: SysSystemPrePowerState: Entering state D3
    [   95.386199] PVR: Uninstalling device LISR on IRQ 53 with cookie c6cbf500
    [   95.393463] PVR: DisableSystemClocks: Disabling System Clocks
    [   95.399810] ggggsdmmc keep power host->slot_id=0
    [   95.404785] ggggwl1271_suspend
    [   95.408172] ggggwl1271_suspend wow_enable
    [   95.412475] ggggwl1271_suspend keep power while host suspended
    [   95.425109] GPS --> Suspend Mode!!Extra --> Suspend Mode!!
    [   95.431213] PM: suspend of devices complete after 217.620 msecs
    [   95.439178] PM: late suspend of devices complete after 1.220 msecs
    [   95.445800] Disabling non-boot CPUs ...
    [   95.458404] CPU1: shutdown

    Best

    KuanChih

  • Hi,

    Please make sure you have made the HW changes and SW patches mentioned here: 

    http://processors.wiki.ti.com/index.php/OMAP_Wireless_Connectivity_AM335x_EVM_adding_Suspend_Resume_WOW_mode

    Regards,

    Barak

  • Hi Barak,

    May I know the changed of GPIO is for Wifi IC or AM335 ?

    • WLAN_IRQ: moved from GPIO3_17 to GPIO0_19 (for waking up SA from suspend on WOWLAN event)

    Thanks

  • Hi,

    The change of the GPIO is for the AM335x.

    Regards,

    Barak

  • Hi Barak,

    Thanks for your information,

    we have checked HW&SW setting are same as GPIO 53 for Wlan IRQ on the OMAP4430 Blaze & Panda board.

    is there any other detial I missed  ?

    Best  Regards,

    KuanChih