Google Pixel 2 підтримує режим модема, також відомий як апаратно-прискорений режим модема, що допомагає подовжити термін служби акумулятора під час використання Інтернет-модему.
Про новий Google Pixel 2/Pixel 2 XL ще багато чого невідомо. Google зробив швидкий удар у світі технологій, коли раптово оприлюднив, що нові смартфони мають вбудований процесор зображень під назвою Pixel Visual Core, хоча це має ще не ввімкнено. Є ще одна цікава річ, яку ми знайшли в Pixel 2, хоча ми не на 100% впевнені, які повні наслідки цієї нової функції тягне за собою. Особливість, яка називається апаратний прискорений модем, ймовірно, подовжить час роботи від батареї під час прив’язування мобільних даних, перевантажуючи всю логіку, пов’язану з пересиланням пакетів та іншими функціями, пов’язаними з прив’язуванням, на апаратне забезпечення.
Існуючі власники Google Pixel 2 або Pixel 2 XL можуть знайти цю функцію в параметрах розробника в категорії «Мережа». Він увімкнено за замовчуванням, тому, ймовірно, він уже працює на цих пристроях. У Android Open Source Project (AOSP) ми можемо побачити кілька комітів, пов’язаних із цією функцією, у розділі "
Найважливіше те, що ми бачимо реалізацію для "прив'язка розвантажити HAL." Рівні апаратних абстракцій (HAL) — це те, що дозволяє системі Android взаємодіяти з чіпом WiFi у SoC, який обслуговуватиме апаратний прискорений модем. Цей HAL використовується Android, щоб перенести весь тягар пересилання пакетів з Android на призначене для цього обладнання.
Кінцевим результатом є те, що системні ресурси, призначені для прив’язки мобільних даних, будуть звільнені для інших цілей. Чим менше ЦП пристрою відповідає за пов’язані з прив’язуванням операції, тим більше зберігається електроенергія. Це може бути особливо корисно, коли пристрій переходить у режим сну, оскільки наразі програмний режим модема на Android вимагає, щоб ЦП залишався активним за допомогою wakelock. Переклавши відповідальність за підключення до апаратного забезпечення, ЦП, можливо, справді зможе перейти в режим сну.подовжується термін служби акумулятора, чим довше ви використовуєте прив’язку.
Отже, які пристрої підтримують апаратний прискорений модем? Наразі ми знайшли перемикач лише на Google Pixel 2/Pixel 2 XL, тож припускаємо, що лише ці пристрої підтримують його. Відповідно до комітів HAL щодо розвантаження прив’язки, схоже, що Google тестував підтримку на Google Nexus 5X (буллхед). Крім того, згідно з декількома коментарями співробітників Google, здається, що розвантаження HAL в режимі модема досить нейтральне від постачальника:
В іншому коментарі співробітник Google згадує, як пристрої можуть поєднувати та поєднувати набори мікросхем WiFi і розвантажувати HAL, але це API, який вони створили, все ще розроблений, щоб вичавити найкращий час автономної роботи вашого пристрою прив'язування.Хоча цей HAL має кілька особливостей для налаштування Qualcomm, переважна більшість із них не залежить від постачальника. Теоретично будь-який постачальник із системою на процесорі відповідних можливостей може підтримувати розвантаження апаратного прив’язування (вони можуть пропустити додаткову передачу fd під час налаштування, хто знає).
У самому верху ми визначаємо, що цей API повертатиме статичну конфігурацію. Залежно від постачальника/апаратного забезпечення ці можливості можуть змінюватися. Для напр. один пристрій може мати Wi-Fi від постачальника A та розвантажувати HAL від постачальника B. тоді як інший пристрій може мати чіпсет Wi-Fi від постачальника B і розвантажувати HAL від постачальника B. У цьому випадку можливості розвантаження можуть бути різними. Навіть з обмеженими можливостями фреймворк/клієнт може захотіти скористатися розвантаженням обладнання для обмеженого набору. Тому API розроблено для того, щоб максимально використати апаратне забезпечення, враховуючи, що від реалізації soc до soc можуть бути різні варіанти.
Якщо у вас є Google Pixel 2/Pixel 2 XL і ви хочете переглянути статус апаратного прискореного модема, ви можете ввести наступне Команда оболонки ADB і шукайте рядки, пов'язані з "hardware offload:"
adb shell dumpsys connectivity tethering
Нам доведеться провести тестування, щоб фактично побачити, наскільки апаратне прискорення прив’язки ефективне для збільшення часу роботи акумулятора під час прив’язки. Прив’язка також спричиняла величезне зниження продуктивності, але значні покращення швидкості процесора та оптимізації в Android значною мірою вирішили цю проблему. Таким чином, ми не очікуємо, що розвантаження логіки модема через розвантаження HAL на чіпсет WiFi призведе до помітного покращення продуктивності.