¿Dónde puedo encontrar la configuración para el período de escaneo interno wifi?

Ya he encontrado alguna guía relacionada con esto. Pero mi experiencia es que si wifi.supplicant_scan_interval = 15
mi dispositivo busca wifi con un período de 60 s, no creo que este sea el parámetro correcto para eso. ¿Alguna sugerencia?
Editado: aquí está mi build.prop:

# begin build properties
# autogenerated by buildinfo.sh
ro.build.id=GRK39F
ro.build.display.id=GRK39F
ro.build.version.incremental=eng.paul.30092011.041430
ro.build.version.sdk=10
ro.build.version.codename=REL
ro.build.version.release=2.3.6
ro.build.date=Fri Aug 30 04:14:55 EDT 2011
ro.build.date.utc=0
ro.build.type=user
ro.build.user=paul
ro.build.host=paul-VM
ro.build.tags=test-keys
ro.product.model=U20i
ro.product.brand=Sony Ericsson
ro.product.name=mimmi
ro.product.device=mimmi
ro.product.board=mimmi
ro.product.cpu.abi=armeabi-v6l
ro.product.cpu.abi2=armeabi
ro.product.manufacturer=Sony Ericsson
ro.product.locale.language=en
ro.product.locale.region=US
ro.wifi.channels=14
ro.board.platform=msm7k
# ro.build.product is obsolete; use ro.product.device
ro.build.product=mimmi
# Do not try to parse ro.build.description or .fingerprint
ro.build.description=passion-user 2.3.6 GRK39F 189904 release-keys
ro.build.fingerprint=google/passion/passion:2.3.6/GRK39F/189904:user/release-keys
# end build properties

#
# ADDITIONAL_BUILD_PROPERTIES
#
keyguard.no_require_sim=true
ro.ril.hsxpa=2
ro.ril.hsupa.category=5
ro.ril.def.agps.mode=2
ro.media.dec.jpeg.memcap=20000000
rild.libpath=/system/lib/libril-qc-1.so
rild.libargs=-d /dev/smd0
wifi.interface=wlan0
wifi.supplicant_scan_interval=15
ro.ril.def.agps.mode=2
ro.ril.def.agps.feature=1
ro.opengles.version=131072
ro.com.google.locationfeatures=1
ro.com.google.networklocation=1
ro.ril.enable.a52=1
ro.ril.enable.a53=1
ro.media.enc.file.format=3gp,mp4
ro.media.enc.vid.codec=m4v,h263
ro.media.enc.vid.h263.width=176,640
ro.media.enc.vid.h263.height=144,480
ro.media.enc.vid.h263.bps=64000,1600000
ro.media.enc.vid.h263.fps=1,30
ro.media.enc.vid.m4v.width=176,640
ro.media.enc.vid.m4v.height=144,480
ro.media.enc.vid.m4v.bps=64000,1600000
ro.media.enc.vid.m4v.fps=1,30
ro.media.dec.aud.wma.enabled=1
ro.media.dec.vid.wmv.enabled=1
ro.media.dec.aud.divx.enabled=1
ro.media.dec.vid.xvid.enabled=1
settings.display.autobacklight=0
media.stagefright.enable-player=true
media.stagefright.enable-meta=true
media.stagefright.enable-scan=true
media.stagefright.enable-http=true
keyguard.no_require_sim=true

#MT and LCD
ro.sf.lcd_density=120
qemu.sf.lcd_density=120
ro.product.multi_touch_enabled=true
ro.product.max_max_num_touch=2

dalvik.vm.execution-mode=int:jit
dalvik.vm.heapsize=32m
ro.compcache.default=0
ro.rommanager.developerid=cyanogenmod
ro.url.legal=http://www.google.com/intl/%s/mobile/android/basic/phone-legal.html
ro.url.legal.android_privacy=http://www.google.com/intl/%s/mobile/android/basic/privacy.html
ro.com.google.clientidbase=android-sonyericsson
ro.com.android.wifi-watchlist=GoogleGuest
ro.setupwizard.enterprise_mode=1
ro.com.android.dateformat=MM-dd-yyyy
ro.com.android.dataroaming=false
ro.config.ringtone=MiniCM7Pro.mp3
ro.config.notification_sound=DontPanic.ogg
ro.config.alarm_alert=alarm.ogg
ro.modversion=MiniCM7 Pro V16 Pre-Final
ro.setupwizard.mode=OPTIONAL
net.bt.name=Android
dalvik.vm.stack-trace-file=/data/anr/traces.txt

#SEMC
persist.service.xloud.enable=1
persist.service.swiqi.enable=1
ro.semc.timescape_keys=Sony_Ericsson_Xperia
ro.semc.sound_effects_enabled=true
ro.semc.xloud.supported=true
ro.service.swiqi.supported=true
ro.semc.batt.capacity=950
ro.semc.batt.test.consumption=150
ro.semc.batt.test.z_threshold=50
ro.semc.batt.test.min_level=60

Edit2: El período de escaneo también depende de la conectividad. Significa que si el teléfono establece una conexión WI-FI, entonces el período de escaneo será diferente del wifi.supplicant_scan_interval. Además, cuando el teléfono entre en estado inactivo (alrededor de 10 minutos de inactividad), el período de exploración será de 10 minutos.

Mire la publicación n. ° 4 de esa guía que ha incluido en su pregunta.
¿Me he perdido algo más que no se menciona en mi pregunta?
¿Estás rooteado? ¿Tiene acceso a /systemcomo rw? ¿Puedes pegar el contenido completo de build.propen esto? ¿Su controlador Wifi tiene la capacidad de establecer el intervalo de escaneo a través de build.prop? Además, recuerde que 60 segundos son mejores y menos exigentes con la batería en lugar de 15 segundos.
@ t0mm13b sí, el teléfono está rooteado, se agrega build.prop. En realidad, estoy escribiendo una aplicación usando wifi y medí el período de escaneo, que fue de 60 s. Sí, mejor que 15, pero me gustaría saber de dónde vienen estos años 60. gracias

Respuestas (1)

Esta propiedad proviene durante el tiempo de compilación y depende en gran medida del controlador wifi, para todos y cada uno de los árboles de dispositivos que se integran en la compilación de Android, existe lo que se llama una superposición , esta superposición puede contener extras relacionados con dicho dispositivo en pregunta.

De hecho, es más bien un documento XML que se analiza durante la compilación y "superpone" o "sobrescribe" los valores predeterminados estándar de Android, como la velocidad de animación, etc.

Esta información pertinente de esto proviene del dispositivo overlay/frameworks/base/core/res/res/values/config.xmlque contiene la línea muy exacta:

<!-- Boolean indicating whether the wifi chipset has background scan support -->
<bool translatable="false" name="config_wifi_background_scan_support">true</bool>

A partir de eso, eso le dice a la compilación que la propiedad wifi.supplicant_scan_intervales compatible y se puede usar dinámicamente desde el build.proparchivo que se encuentra en el /systemdirectorio, que a su vez se lee desde el ejecutable binario nativo de Android wpa_supplicant.

Sin embargo, hay que decirlo, depende del controlador Wifi para soportar eso, y cuánta integración de la funcionalidad Wifi está dentro de los marcos. Para encontrar la fuente exacta se puede encontrar en external/wpa_supplicant/wpa_supplicant.c, alrededor de las líneas 2459:

#ifdef ANDROID
    char scan_prop[PROPERTY_VALUE_MAX];
    char *endp;
    if (property_get("wifi.supplicant_scan_interval", scan_prop, "5") != 0) {
        wpa_s->scan_interval = (int)strtol(scan_prop, &endp, 0);
        if (endp == scan_prop) {
            wpa_s->scan_interval = 5;
        }
    }
#endif

el valor predeterminado aquí en Gingerbread es de 5 segundos, nuevamente, el kilometraje variará según la versión wpa_supplicantutilizada, hubo dos versiones, wpa_supplicant_6que se rompieron bajo ICS, y la versión más nueva wpa_supplicant_8, a pesar de decir eso, es posible que ya no sea compatible ahora con las versiones más recientes .

¡Gracias por la respuesta detallada! Sin embargo, no puedo encontrar estos archivos que menciona: entonces, ¿cuál es la ruta exacta al archivo .c y .xml? Estoy usando Root explorer, pero no hay superposición/ ni carpeta externa/ en la raíz
Está en el código fuente de AOSP, no lo encontrará en la ROM de Android que tiene actualmente en su teléfono, los detalles mencionados anteriormente serían si la fuente de AOSP llega a su máquina antes de compilar Android.
Entonces, lo que entiendo es que el tiempo del período de escaneo de Wifi puede ser de 60 segundos, incluso wifi.supplicant_scan_interval = 15. Y no puedo verificarlo, ¿solo medir el tiempo exacto?
Si build.proptiene esa propiedad en su lugar pero en realidad no escanea durante ese período específico, el ejecutable binario en Android wpa_supplicantno está parcheado para tener la capacidad de leer esa propiedad de build.prop. Por cierto , para dejarlo claro, su significado de tiempo de compilación declarado antes de compilar Android, que es lo que señala mi respuesta.
entonces, si este es el caso, entonces no puedo modificar el período de escaneo, ¿verdad?
¡Eso depende de si el ejecutable binario de Android wpa_supplicantestá parcheado o no! Por lo que sabe, podría estar ignorándolo y no importarle si está especificado en el build.prop... :)
Dado que mi configuración es 15, pero el valor real es 60, supongo que no puedo modificarlo, ¿verdad? preguntando de nuevo, o tal vez debería intentar modificar a 30, y ver qué pasa.
Suponiendo que el binario no esté parcheado, no podrá modificarlo.
y la única forma de averiguar si está parcheado o no es intentar modificar el período a través wifi.supplicant_scan_intervalde , ¿verdad? - última pregunta
¡Intentalo! :) Una cosa, si ve que no funciona, haga una copia de seguridad del binario, si tiene la intención de copiarlo en otro lugar desde otra ROM, por ejemplo, eso podría romper la funcionalidad wifi debido a ese binario, sin saber cómo abrir el Wifi, ya que es posible que no tenga el controlador del conjunto de chips compilado, ¡según el conjunto de chips Wifi real utilizado en su dispositivo!