hi, im trying to wake up my sierra wp76 from edrx mode when i receive an SMS and i saw that there is a Ring indicator gpiout that goes up when i receive one but i dont know how to access to him, does anyone know how to do it?
you need to see the AT command guide on the following commands:
AT!RIOWNER
at+WRID
AT+WWAKESET
thank you! do you know if there is a way to access physically to the pin RI?
you can see here:
nice, now i have /sys/class/gpio/gpioRI/
but the value is always 0, also if i received a call or an sms
if you set “AT!RIOWNER=1”, it is just used as a GPIO pin in your linux system. (e.g. GPIO output pin or GPIO input pin)
I guess you need to try “AT!RIOWNER=0” and configure AT+WWAKESET for the voice call or sms indicator
my objective is to enter in a Low power mode and then when i receive an sms wake up… if i configure the gpioRI the value is never changing also when im receiving sms.
also i tried to do AT!RIOWNER=0 and then AT+WWAKESET=16 and UART_RI stay high. i tried echo mem > /sys/class/autosuspend and send an sms and im not waking up (the line is still up)
A bit confused…..
How is this objective related to ring indicator pin???
Btw, you can have a look on “wakehosten" in at! custom command
From what I understand, I can configure RI to go high when I receive a text message. This would allow me to use that signal to wake up from low power mode. If you have a better idea, I’d love to hear it.
So it is working now on your side, right?
not really, to do export to gpioRI i have to do at!riowner=1 but if i do that im not receiving a signal when i receive an sms
How about at!riowner=0 and AT+WWAKESET=14
Did you see the ring indicator pin toggled when receiving sms?
no, its the same. it doesnt change
How about receiving voice call
Which firmware version are you using?
okay i saw right now that if receive a voice call gpioRI change from 0 to 1 but then when the call finish, does not come back to 0
Then how about you dial another voice call to it?
I just found that we should use AT+WWAKESET=20 for voice call and incoming SMS.
With WP7608 FW R16.3, here I just made a test with the following setting, I can see the RI pin toggled for voice call and incoming SMS ( and the pin will go back to 1.8V after toggled):
at!riowner=0
AT+WWAKESET=20
at+wrid=3000
okay, now is working perfect, thank you. this is my script to go to sleep and wake up from sms.
#!/bin/sh
set -eu
DEV=“/dev/smd8”
AUTOSLEEP=“/sys/power/autosleep”
GPIO_DIR=“/sys/class/gpio/gpioRI
”GPIO_EXPORT=“/sys/class/gpio/export”
log() { logger -s -t suspend-cpu “$*”; }
at() {
printf ‘%s\r’ “$1” | microcom -t 2000 “$DEV” >/dev/null 2>&1 || true}
setup_modem() {at “AT!RIOWNER=0”at “AT+WWAKESET=20”at “AT+CNMI=2,1,0,0,0”}
prepare_ri_gpio() {at “AT!RIOWNER=1”echo RI > “$GPIO_EXPORT” 2>/dev/null || true
i=0; while [ $i -lt 10 ] && [ ! -d “$GPIO_DIR” ]; do i=$((i+1)); sleep 0.1; doneecho out > “$GPIO_DIR/direction”echo 0 > “$GPIO_DIR/value”}
enter_mem_autosleep() {echo mem > “$AUTOSLEEP”}
handle_signal() {log “Disabling suspension”echo off > “$AUTOSLEEP”log “setting gpioRI value to 0”echo 0 > “$GPIO_DIR/value”monit start sms-manager}
wait_for_ri() {while :; dov=“$(cat “$GPIO_DIR/value”)”if [ “$v” = “1” ]; thenhandle_signalbreakfisleep 1done}
main() {monit stop sms-manager || trueprepare_ri_gpiosetup_modementer_mem_autosleepwait_for_ri}
main “$@”