O Google Pixel 2 oferece suporte ao descarregamento de tethering – também conhecido como tethering acelerado por hardware – que ajuda a melhorar a vida útil da bateria enquanto conecta sua Internet.
Há muito sobre o novo Google Pixel 2/Pixel 2 XL que ainda não foi descoberto. O Google agiu rapidamente no mundo da tecnologia quando de repente revelou que os novos smartphones tinham um processador de imagem personalizado incorporado chamado Núcleo Visual de Pixel, embora isso tenha ainda não foi ativado. Há outra coisa interessante que encontramos no Pixel 2, embora não tenhamos 100% de certeza de quais são as implicações desse novo recurso. O recurso, chamado tethering acelerado por hardware, provavelmente melhorará a vida útil da bateria durante o tethering de dados móveis, transferindo toda a lógica relacionada ao encaminhamento de pacotes e outras tarefas relacionadas ao tethering para o hardware.
Os proprietários existentes do Google Pixel 2 ou Pixel 2 XL podem encontrar o recurso em Opções do desenvolvedor na categoria Rede. Está ativado por padrão, então provavelmente já está funcional nesses dispositivos. No Android Open Source Project (AOSP), podemos ver vários commits relacionados ao recurso na seção "
descarregamento de amarração" marcação. Podemos ver que há lógica para repassando o limite de dados do seu smartphone ao código de descarregamento para que seu limite de dados não é excedido.Mais importante ainda, podemos ver uma implementação para o "descarregamento de amarração HAL." Camadas de abstração de hardware (HAL) são o que permitem que o sistema Android faça interface com o chip WiFi no SoC que irá lidar com o tethering acelerado por hardware. Este HAL é usado pelo Android para descarregar toda a carga de encaminhamento de pacotes do Android para o hardware dedicado a ele.
O resultado final é que os recursos do sistema dedicados ao tethering de dados móveis serão liberados para outros fins. Quanto menos a CPU do dispositivo for responsável pelas operações relacionadas ao tethering, mais energia será conservada. Isso pode ser especialmente útil quando o dispositivo entra em suspensão, porque atualmente o tethering baseado em software no Android precisa que a CPU seja mantida ativa com um wakelock. Ao transferir a responsabilidade de tethering para o hardware, talvez a CPU possa realmente entrar em estado de suspensão -melhorando a vida útil da bateria quanto mais tempo você amarra.
Então, quais dispositivos suportam tethering acelerado por hardware? Bem, até agora só encontramos o botão de alternância no Google Pixel 2/Pixel 2 XL, então presumimos que apenas esses dispositivos o suportam. De acordo com os commits do HAL de descarregamento de tethering, parece que o Google estava testando o suporte no Google Nexus 5X (bullhead). Além disso, de acordo com alguns comentários de Googlers, parece que o tethering offload HAL é bastante neutro em relação ao fornecedor:
Em outro comentário, um Googler menciona como os dispositivos podem misturar e combinar chipsets WiFi e descarregar HALs, mas isso a API que eles construíram ainda foi projetada para funcionar para extrair a melhor duração da bateria do seu dispositivo enquanto amarração.Embora este HAL tenha algumas peculiaridades para a configuração da Qualcomm, a grande maioria é neutra em relação ao fornecedor. Qualquer fornecedor com um SoC adequadamente capaz poderia suportar a transferência de hardware de tethering com isso, em teoria (eles podem pular a passagem extra do fd na configuração, quem sabe).
No topo definimos que esta API retornará uma configuração estática. Dependendo da implementação do fornecedor/hardware, esses recursos podem mudar. Por exemplo um dispositivo pode ter wifi do fornecedor A e descarregar HAL do fornecedor B. enquanto outro dispositivo pode ter chipset Wifi do fornecedor B e descarregar HAL do fornecedor B. Neste caso, as capacidades de descarregamento podem ser diferentes. Mesmo com capacidades limitadas, o framework/cliente pode querer aproveitar a transferência de hardware para um conjunto limitado. Portanto, a API foi projetada para aproveitar ao máximo o hardware, já que pode haver variações de implementação de soc para soc.
Se você possui um Google Pixel 2/Pixel 2 XL e deseja ver o status do tethering acelerado por hardware, você pode inserir o seguinte Comando shell ADB e procure por strings relacionadas a "hardware offload:"
adb shell dumpsys connectivity tethering
Teremos que fazer testes para realmente ver o quão eficaz é o tethering acelerado por hardware para melhorar a vida útil da bateria durante o tethering. O tethering também causava um grande impacto no desempenho, mas as enormes melhorias na velocidade da CPU e nas otimizações no Android corrigiram amplamente esse problema. Portanto, não esperamos que o descarregamento da lógica de tethering por meio do descarregamento HAL para o chipset WiFi leve a uma melhoria notável no desempenho.