In this test, we used WGM160P mounted on WSTK, the default evaluation starer kit. For more info, please refer to: WGM160P Wi-Fi Module Starter Kit
The current measurement is averaged over 60 to 100 seconds (captured 1-minute after associating, or not in case of sleep/shutdown)
We use used Cisco Linksys WRT610N access point configured with 100ms beacon interval and default beacon duration
For the WLAN power saving move, we use used Alfa access point configured with beacon interval 102.4ms and 1ms duration (Cisco Linksys WRT610N used for the default, sleep, and shutdown measurements)
The measurements below obtained for the current official release (at the time of writing this article), in addition to the new alpha and beta releases for coming Gecko OS 4.1
To get access to Gecko OS BETA, please issue the command: dfu_update -b 4.1.10 --multi
Note: do not use a “listen interval” higher than 3 to avoid potential issue with some Access Points.
Note: Listen interval higher than 0 uses DTIM skipping and so this could add jitters/delay on the packet arrival time.
Measurements
ON BOOTUP/DEFAULT
get wlan.mac
factory_reset <MAC_ADDRESS>
Gecko OS 4.0.18
Gecko OS 4.1.9 ALPHA
Gecko OS 4.1.10 BETA
16 mA
5.20 mA
5.17 mA (Figure 1)
UART & WLAN POWERSAVE
set wlan.powersave.mode 2
set uart.powersave.mode uart0:1,uart1:1
set system.powersave.wakeup_gpio_mask 0x1000000
set system.powersave.idle_timeout 250
set system.powersave.mode 2
set wlan.ssid LINKSYS
set wlan.passkey password
set broadcast.interval 0
uartu 0
nup
Gecko OS 4.1.10 BETA
Listen Interval 0*
Listen Interval 3*
Listen Interval 5*
DTIM 1 Alfa AP
Beacon duration 1ms
920 µA
632 µA
576 µA
DTIM 3 Alfa AP
Beacon duration 1ms
666 µA
560 µA
550 µA
DTIM 10 Alfa AP
Beacon duration 1ms
558 µA
521 µA
520 µA
* : Listen Interval set the number of DTIM beacon which will be skipped (not Received).
** : ping timeout possible because of delay on the packet arrival time
SLEEP
set uart.powersave.mode uart0:1,uart1:1
set system.powersave.wakeup_gpio_mask 0x1000000
set system.powersave.idle_timeout 250
set system.powersave.mode 2
uartu 0
Gecko OS 4.0.18
Gecko OS 4.1.9 ALPHA
Gecko OS 4.1.10 BETA
N/A
530 µA
530 µA (Figure 5)
SHUTDOWN
set system.shutdown.wakeup_gpio_mask 0x4004000
shutdown
Gecko OS 4.0.18
Gecko OS 4.1.9 ALPHA
Gecko OS 4.1.10 BETA
N/A
990 nA
940 nA (Figure 6)
Figures
Figure 1: ON BOOTUP/DEFAULT (Gecko OS 4.1.10)
Figure 2: UART/WLAN POWERSAVE (Gecko OS 4.1.10 LINKSYS DITM1)
Figure 3: UART/WLAN POWERSAVE (Gecko OS 4.1.10 LINKSYS DITM3)
Figure 4: UART/WLAN POWERSAVE (Gecko OS 4.1.10 LINKSYS DITM10)
In theory, yes, since the driver is compatible with Linux kernel from 4.4.1 up to 4.19.
Has it been tested? Not yet.
Linux applications use
hostapd in AP mode
wpa_supplicant in STATION mode
Android uses different applications for AP/STATION management, therefore testing would be required to make sure there is no unexpected behavior in an Android application.
Wi-Fi Knowledge Base
WGM160P Power Consumption using Gecko OS (Setup and Results)
Introduction
In this article, we describe how to configure Gecko OS running on WGM160P to obtain the lowest current results.
If you are interested in WF200/WFM200, please refer to the article: How to do current measurements on WF(M)200
In this test, we used WGM160P mounted on WSTK, the default evaluation starer kit. For more info, please refer to: WGM160P Wi-Fi Module Starter Kit
The current measurement is averaged over 60 to 100 seconds (captured 1-minute after associating, or not in case of sleep/shutdown)
We use used Cisco Linksys WRT610N access point configured with 100ms beacon interval and default beacon duration
For the WLAN power saving move, we use used Alfa access point configured with beacon interval 102.4ms and 1ms duration (Cisco Linksys WRT610N used for the default, sleep, and shutdown measurements)
For more details on how to setup the Energy Profiler to detect WGM160P, please refer to the article: Configure AEM/Energy Profiler to work with WGM160P
The measurements below obtained for the current official release (at the time of writing this article), in addition to the new alpha and beta releases for coming Gecko OS 4.1
To get access to Gecko OS BETA, please issue the command: dfu_update -b 4.1.10 --multi
Note: do not use a “listen interval” higher than 3 to avoid potential issue with some Access Points.
Note: Listen interval higher than 0 uses DTIM skipping and so this could add jitters/delay on the packet arrival time.
Measurements
ON BOOTUP/DEFAULT
get wlan.mac
factory_reset <MAC_ADDRESS>
Gecko OS 4.0.18
Gecko OS 4.1.9 ALPHA
Gecko OS 4.1.10 BETA
16 mA
5.20 mA
5.17 mA (Figure 1)
UART & WLAN POWERSAVE
set wlan.powersave.mode 2
set uart.powersave.mode uart0:1,uart1:1
set system.powersave.wakeup_gpio_mask 0x1000000
set system.powersave.idle_timeout 250
set system.powersave.mode 2
set wlan.ssid LINKSYS
set wlan.passkey password
set broadcast.interval 0
uartu 0
nup
Beacon duration 1ms
Beacon duration 1ms
Beacon duration 1ms
* : Listen Interval set the number of DTIM beacon which will be skipped (not Received).
** : ping timeout possible because of delay on the packet arrival time
SLEEP
set uart.powersave.mode uart0:1,uart1:1
set system.powersave.wakeup_gpio_mask 0x1000000
set system.powersave.idle_timeout 250
set system.powersave.mode 2
uartu 0
Gecko OS 4.0.18
Gecko OS 4.1.9 ALPHA
Gecko OS 4.1.10 BETA
N/A
530 µA
530 µA (Figure 5)
SHUTDOWN
set system.shutdown.wakeup_gpio_mask 0x4004000
shutdown
Gecko OS 4.0.18
Gecko OS 4.1.9 ALPHA
Gecko OS 4.1.10 BETA
N/A
990 nA
940 nA (Figure 6)
Figures
Figure 1: ON BOOTUP/DEFAULT (Gecko OS 4.1.10)
Figure 2: UART/WLAN POWERSAVE (Gecko OS 4.1.10 LINKSYS DITM1)
Figure 3: UART/WLAN POWERSAVE (Gecko OS 4.1.10 LINKSYS DITM3)
Figure 4: UART/WLAN POWERSAVE (Gecko OS 4.1.10 LINKSYS DITM10)
Figure 5: SLEEP (Gecko OS 4.1.10)
Figure 6: SHUTDOWN (Gecko OS 4.1.10)
KBA: WF200 Linux Driver Android Compatibility
Can the WF200 Linux driver (available at https://github.com/SiliconLabs/wfx-linux-driver) be used with Android?
In theory, yes, since the driver is compatible with Linux kernel from 4.4.1 up to 4.19.
Has it been tested? Not yet.
Linux applications use
Android uses different applications for AP/STATION management, therefore testing would be required to make sure there is no unexpected behavior in an Android application.
Related links
KBA: WF200 Linux Driver kernel releases support
For Linux applications
The WF200 Linux driver (available at https://github.com/SiliconLabs/wfx-linux-driver) is API compliant with all kernel versions from 4.4.1 upwards.
The wfx-linux-driver is in 'staging' state in the mainstream Linux kernel as from 5.5 (see https://elixir.bootlin.com/linux/v5.5/source/drivers/staging/wfx),
The official source for updates is (https://github.com/SiliconLabs/wfx-linux-driver).
KBA: WF200 Drivers and Firmware download
WF200 Drivers and Firmware are available from Github
For Linux applications
Driver: https://github.com/SiliconLabs/wfx-linux-driver
Firmware: https://github.com/SiliconLabs/wfx-firmware
Tools: https://github.com/SiliconLabs/wfx-linux-tools
https://github.com/SiliconLabs/wfx-common-tools
Files used by WF200 under Linux on Raspberry Pi (Debian)
For RTOS Applications
Driver & Firmware: https://github.com/SiliconLabs/wfx-fullMAC-driver
Tools: https://github.com/SiliconLabs/wfx-fullMAC-tools
https://github.com/SiliconLabs/wfx-common-tools