Google Pixel 2 es compatible con el anclaje acelerado por hardware para una mejor duración de la batería durante el anclaje

Hay mucho sobre el nuevo Google Pixel 2 / Pixel 2 XL que aún no se ha descubierto. Google sacó uno rápido en el mundo de la tecnología cuando de repente revelaron que los nuevos teléfonos inteligentes tenían un procesador de imagen personalizado incorporado llamado Pixel Visual Core, aunque eso aún no se ha habilitado. Hay otra cosa interesante que hemos encontrado en Pixel 2, aunque no estamos 100% seguros de cuáles son las implicaciones de esta nueva característica. La característica, llamada anclaje acelerado por hardware, probablemente mejorará la vida útil de la batería durante el anclaje de datos móviles al descargar toda la lógica relacionada con el reenvío de paquetes y otras tareas relacionadas con el anclaje en el hardware.

Los propietarios existentes de Google Pixel 2 o Pixel 2 XL pueden encontrar la función en Opciones de desarrollador en la categoría Redes. Está habilitado de forma predeterminada, por lo que presumiblemente ya es funcional en estos dispositivos. En el Proyecto de código abierto de Android (AOSP), podemos ver varias confirmaciones relacionadas con la función bajo la etiqueta "tether-offload". Podemos ver que hay una lógica para pasar el límite de datos de su teléfono inteligente al código de descarga para que no se exceda su límite de datos.

Lo que es más importante, podemos ver una implementación para la "HAL de descarga de la correa". Las capas de abstracción de hardware (HAL) son las que permiten que el sistema Android interactúe con el chip WiFi en el SoC que manejará la conexión acelerada de hardware. Android utiliza este HAL para descargar toda la carga del reenvío de paquetes de Android en el hardware dedicado para ello.

El resultado final es que los recursos del sistema dedicados a la vinculación de datos móviles se liberarán para otros fines. Cuanto menos sea la CPU del dispositivo responsable de las operaciones relacionadas, más energía se conserva. Esto puede ser especialmente útil cuando el dispositivo entra en suspensión, porque actualmente el anclaje basado en software en Android necesita que la CPU se mantenga despierta con un wakelock. Al descargar la responsabilidad de la conexión al hardware, quizás la CPU realmente pueda entrar en un estado de suspensión, lo que mejora la vida útil de la batería cuanto más tiempo la conecte .

Entonces, ¿qué dispositivos admiten el anclaje acelerado por hardware? Bueno, hasta ahora solo hemos encontrado la alternancia en Google Pixel 2 / Pixel 2 XL, por lo que asumimos que solo esos dispositivos lo admiten. De acuerdo con los compromisos de HAL de descarga de conexión, parece que Google estaba probando el soporte en Google Nexus 5X (bullhead). Además, según algunos comentarios de Googlers, parece que la descarga de la vinculación HAL es bastante neutral con respecto al proveedor:

Si bien este HAL tiene algunas peculiaridades para la configuración de Qualcomm, la gran mayoría de esto es neutral para el proveedor. Cualquier proveedor con un SoC adecuadamente capacitado podría soportar la descarga de hardware de anclaje con esto, en teoría (podrían omitir el paso de fd adicional en la configuración, quién sabe).

En otro comentario, un Googler menciona cómo los dispositivos pueden mezclar y combinar conjuntos de chips WiFi y descargar HAL, pero que la API que han construido todavía está diseñada para trabajar para exprimir la mejor duración de la batería de su dispositivo mientras se conecta.

En la parte superior definimos que esta API devolverá una configuración estática. Dependiendo de la implementación del proveedor / hardware, estas capacidades pueden cambiar. Por ejemplo, un dispositivo puede tener wifi del proveedor A y descargar HAL del proveedor B. mientras que otro dispositivo puede tener un chipset Wifi del proveedor B y descargar HAL del proveedor B. En este caso, las capacidades de descarga pueden ser diferentes. Incluso con capacidades limitadas, el framework / cliente puede querer aprovechar la descarga de hardware para un conjunto limitado. Por lo tanto, la API está diseñada para aprovechar al máximo el hardware dado que puede haber variaciones de la implementación de soc a soc.

Si posee un Google Pixel 2 / Pixel 2 XL y desea ver el estado del anclaje acelerado por hardware, puede ingresar el siguiente comando de shell ADB y buscar cadenas relacionadas con la "descarga de hardware":

 adb shell dumpsys connectivity tethering 

Tendremos que hacer pruebas para ver cuán efectivo es el anclaje acelerado por hardware para mejorar la duración de la batería mientras se realiza el anclaje. La vinculación solía causar un gran éxito en el rendimiento, pero las mejoras masivas en la velocidad de la CPU y las optimizaciones en Android han solucionado en gran medida ese problema. Por lo tanto, no esperamos que la lógica de enlace de descarga a través del HAL de descarga al conjunto de chips WiFi conduzca a una mejora notable en el rendimiento.