Как работает OTA для B1, B2, F8, K7, KF1, L5, P2, Q6, Q8, T2, Y6: кольца промежуточного хранения, разделы A/B, пороги отката и данные надёжности релиза 86.

Опубликовано: авг 21, 2026 - 193 Просмотры

Механизм обновления прошивки OTA для оптических читающих ручек: этапы, откат и разделы A/B

Аудитория: Данное руководство предназначено для OEM-покупателей, руководителей ИТ в школах и владельцев брендов, которые должны обеспечить надёжность флота из 500–50 000 подключённых ручек для чтения. В нём описаны этапы OTA-развёртывания, механизм безопасности с двойным разделением, пороги отката и полевые данные из 86 релизов прошивки, выпущенных в период с 2023 по 2026 год для одиннадцати производственных моделей: B1, B2, F8, K7, KF1, L5, P2, Q6, Q8, T2 и Y6.

Обновление прошивки на детском продукте — это не рядовое развёртывание сервера. Если тридцать ручек Y6 в классе перезагрузятся в неподходящий момент, урок сорван. Если OTA-пакет повредится в процессе записи, у пятилетнего ребёнка окажется бесполезная игрушка. Механизм OTA за одиннадцатью моделями ручек существует для того, чтобы оба исхода стали статистически невозможными. С момента запуска нами выпущено 86 релизов прошивки, при этом медианный показатель успешной установки составляет 98,7%, а частота брака — 0,04% на более чем 47 000 развёрнутых ручек. В этой статье объясняется, как достигается эта цифра.

Мы рассмотрим четырёхэтапное развёртывание, разметку разделов A/B, цепочку подписанных манифестов, окно установки с подтверждением пользователя, проверку работоспособности перед фиксацией, пороги отката, сценарии отказов и данные, которые фабрика предоставляет дистрибьюторам после каждого релиза.

1. Четырёхэтапное кольцо тестирования

Каждый релиз прошивки проходит через четыре кольца. Этап 1 — внутренняя канареечная проверка: 240 ручек команды QA в двух зданиях работают с кандидатной сборкой в течение 72 часов. Этап 2 — кольцо дружественных пользователей: 1 200 ручек распределены между сотрудниками, двумя школьными партнёрами в Шэньчжэне и тремя добровольными офисами дистрибьюторов в Каире, Маниле и Сан-Паулу. Этап 3 расширяется до 8% производственного флота, стратифицированного по модели и географии. Этап 4 — полное развёртывание на весь флот, контролируемое показателями здоровья Этапа 3.

Каждый этап имеет жёсткий шлюз go/no-go. Этап 1 отклоняется при любом признаке сбоя; Этап 2 — при любой регрессии родительской панели; Этап 3 — если 24-часовой процент возвратов превышает 0,6% или если какой-либо регион сообщает о всплеске обращений в поддержку выше базового уровня. Полные критерии шлюза содержатся в нашем внутреннем ранбуке и кратко изложены в таблице ниже.

Этап Размер флота Длительность Жёсткий шлюз (блокировка продвижения при нарушении)
1 Внутренняя канареечная проверка 240 ручек 72 ч Любой сбой; любое несоответствие CRC флеш-памяти
2 Дружественные пользователи 1 200 ручек 7 дней Возвраты > 0,3%; p95 панели управления > 4 с
3 Производство 8% ~3 760 ручек 5 дней Возвраты > 0,6%; обращения > 1,4x от базового уровня
4 Полное развёртывание 100% 14-дневная пропитка Непрерывно; автоостановка при возвратах > 1,0%

2. Разметка разделов A/B для каждой модели

Каждая ручка для чтения начиная с поколения Q6 поставляется с двумя 16 МБ разделами SPI NOR. Текущий используемый раздел загружает ручку; резервный раздел хранит либо предыдущую версию (для отката), либо размещённого кандидата (во время OTA). После успешной установки и 72-часового окна работоспособности предыдущая версия сохраняется ещё 30 дней в третьей «тайниковой» области, выделенной из той же флеш-памяти. Модели начального уровня B1, B2 и P2 имеют такую же разметку, но с 8 МБ разделами, поскольку их набор функций меньше.

Модель Размер флеш-памяти Активный раздел Резервный раздел Тайниковая область Версия загрузчика
B1 / B2 8 МБ 4,6 МБ 4,6 МБ 2,0 МБ 1.4
F8 16 МБ 9,2 МБ 9,2 МБ 4,0 МБ 1.4
K7 / KF1 16 МБ 9,6 МБ 9,6 МБ 4,0 МБ 1.4
L5 32 МБ 18,0 МБ 18,0 МБ 6,0 МБ 2.0
P2 8 МБ 4,4 МБ 4,4 МБ 1,8 МБ 1,3
Q6 / Q8 16 МБ 10,4 МБ 10,4 МБ 4,0 МБ 1,6
T2 / Y6 32 МБ 19,2 МБ 19,2 МБ 6,0 МБ 2,0

Подход A/B означает, что неудачная установка никогда не оставит устройство в нерабочем состоянии. Если загрузчик обнаруживает, что активный раздел не проходит три последовательные проверки CRC, он переключается на резервный раздел в течение 4,2 секунды. Модель P2 начального уровня — единственная SKU, которая по-прежнему использует восстановление с одним разделом; компромисс — экономия 1,8 МБ в спецификации BOM по сравнению с более длительным окном восстановления в 11 секунд. Для развёртывания в школах мы рекомендуем Q6 или выше, поскольку двухраздельный поток A/B даёт ИТ-команде чистый путь отката.

3. Подписанный манифест и цепочка защиты от несанкционированного доступа

Полезная нагрузка OTA начинается с подписанного манифеста. Манифест — это документ CBOR, который объявляет целевую модель, исходную версию прошивки, целевую версию прошивки, SHA-256 каждого чанка, общий размер и подпись ECDSA P-256 по телу манифеста. Ключ подписи хранится в HSM на нашей фабрике и ротируется каждые 90 дней; открытый ключ вшивается в загрузчик на этапе прошивки и не может быть изменён без заводского сеанса JTAG.

OTA Four-Stage Staging Funnel

Каждый чанк 96 КБ (128 КБ на Q6/Q8, 64 КБ на L5/T2/Y6) подписывается независимо. Устройство проверяет подпись манифеста перед получением первого чанка и повторно проверяет подпись каждого чанка перед записью во флеш-память. Неудачная проверка подписи немедленно прерывает установку и сообщает о /status/error событии с кодом Ошибка проверки подписи OTA (код возврата 0x21). За 86 релизов этот код срабатывал 1142 раза на более чем 47 000 развёрнутых устройств, и в каждом случае причиной была повреждённая загрузка при передаче, а не поддельная полезная нагрузка.

Совет покупателю: При оценке поставщика читающих устройств запросите отпечаток открытого ключа загрузчика и периодичность его ротации. Фабрика, которая отказывается предоставить отпечаток, скрывает либо неподписанный путь загрузки, либо один статический ключ — и то, и другое является красным флагом для подключённых детских продуктов.

4. Окно установки с подтверждением пользователя

В отличие от телефона, который может устанавливать обновления в 3 часа ночи, читающее устройство устанавливает обновления только когда пользователь готов. Конвейер OTA размещает кандидата на резервном разделе во время использования устройства. Когда пользователь нажимает и удерживает кнопку питания в течение трёх секунд, устройство перезагружается в режим установки, прошивает резервный раздел, проверяет CRC и перезагружается в новую прошивку. Всё окно установки занимает от 18 до 42 секунд в зависимости от модели. Устройство также отказывается устанавливать обновление, если заряд батареи ниже 30%, подключён USB-кабель (чтобы предотвратить просадку питания USB во время прошивки) или у ребёнка идёт сеанс викторины (определяется по токену активной сессии в ОЗУ).

Модель с подтверждением пользователем сократила количество заявок в поддержку по проблеме «окирпичивания при перезагрузке» на 71% по сравнению с автоматической установкой, которую мы тестировали на оригинальной прошивке F8 в 2023 году. ИТ-команды школ особенно ценят этот явный барьер, поскольку он позволяет планировать обновления в конце урока, не беспокоясь о неожиданных перезагрузках во время занятия.

5. Проверка работоспособности перед фиксацией

После запуска новой прошивки на резервном разделе устройство ожидает 72 часа, прежде чем объявить установку «зафиксированной». В течение этого окна устройство сообщает о /status/post_ota_health событии каждые шесть часов с метриками: точность телеметрии батареи в пределах ±2%, дрейф базовой линии датчика менее 4%, задержка распознавания OID p95 ниже 220 мс и успешность синхронизации родительской панели выше 98%. Если любая метрика хуже исходного уровня до OTA, устройство автоматически откатывается при следующей перезагрузке.

Логика проверки работоспособности находится на устройстве, а не в облаке, потому что нельзя предполагать, что родители в районах с низким уровнем подключения будут в сети в момент принятия решения о проверке. 72-часовое окно также соответствует типичной модели использования, когда устройство лежит в ящике в течение выходных, что характерно для устройств B1 и P2 начального уровня, которые в многих регионах используются всего 4-5 часов в неделю.

6. Пороги отката и автоматический откат

Порог автоматического отката — это регрессия более чем на 1,5 стандартных отклонения по любой из четырёх метрик работоспособности, измеренная относительно скользящего 14-дневного базового уровня. Заводская панель мониторинга сравнивает поток метрик после OTA с потоком метрик до OTA и выдаёт рекомендацию об откате, если дельта превышает пороговое значение. Затем рекомендация выполняется при следующей перезагрузке с подтверждением пользователя. За 86 релизов автоматический откат срабатывал 9 раз, все — на этапе 3 развёртывания, и в каждом случае затронутая когорта составляла менее 1200 устройств.

Ручной откат через родительскую панель также поддерживается. Родитель или учитель, который заметит регрессию, может нажать «Вернуться к предыдущей версии» в приложении; устройство получает команду по /cmd/ota и выполняет откат при следующей перезагрузке с подтверждением пользователя. Ручной откат не расходует бюджет хранилища на 30 дней; после проверки отката предыдущая версия повторно сохраняется ещё на 30 дней.

7. Справочник режимов отказа

Завод поддерживает справочник из 14 сценариев отказа, охватывающий сбой подписи, несоответствие CRC чанка, ошибку записи раздела, просадку батареи, тайм-аут сторожевого таймера, несоответствие версии манифеста, попытку понижения версии и ещё семь. Для каждого сценария предусмотрен парный хаос-тест в staging-среде и целевое время устранения. Среднее время обнаружения по 14 сценариям составляет 3,6 минуты; среднее время устранения — 18 минут. Самый длительный инцидент 2025 года — несоответствие версии манифеста на этапе 2, вызванное неправильно настроенным флагом CI — был обнаружен за 4 минуты, устранён за 41 минуту, затронул 0 устройств в продакшене.

Сценарий Обнаружение Устранение Вклад в показатель окирпичивания
Несовпадение подписи Первый этап загрузчика Остановка, возврат к последней рабочей 0,000%
Несовпадение CRC чанка В середине прошивки Повторное получение чанка, 3 попытки 0,002%
Просадка батареи Монитор напряжения Отложить до следующей пользовательской перезагрузки 0,010%
Тайм-аут сторожевого таймера Аппаратный WDT Сброс, повторная попытка из резервного 0,005%
Попытка понижения версии Политика загрузчика Отказ, запись в /status 0,000%

8. Полевые данные 86 релизов

С момента запуска мы выпустили 86 версий прошивки для одиннадцати серийных моделей. Текущие версии: B1/B2 2.4.7, F8 3.1.2, K7/KF1 1.9.5, L5 4.2.0, P2 2.0.3, Q6/Q8 3.3.1 и T2/Y6 2.6.4. Медианный показатель успешности установки по всем версиям составляет 98,7%. Медианное время установки — 14 минут от публикации в облаке до подтверждённой пользователем перезагрузки. Процент «окирпичивания» составляет 0,04%, измеряется как «ручка возвращена как нерабочая в течение 30 дней после OTA, с выявленной причиной — OTA».

Худшим релизом в нашей истории была прошивка 1.7.0 для K7/KF1, содержащая регрессию в процедуре калибровки OID-датчика, вызвавшую всплеск возвратов на 2,4%. Релиз был остановлен на Этапе 3, затронутые 1200 ручек на Этапе 3 были откачены в течение 36 часов, а исправленная сборка вышла 9 днями позже под номером 1.7.1. Инцидент задокументирован в нашем публичном шаблоне посмертного анализа и передан OEM-партнёрам по NDA, чтобы они могли протестировать свой OTA-сценарий на наших режимах отказа.

9. Что видят дистрибьюторы после каждого релиза

После каждого завершения Этапа 4 фабрика отправляет сводку по релизу каждому дистрибьютору. Сводка включает версию прошивки, результаты тестирования на тестовых кольцах, финальный показатель успешности установки, количество окирпиченных устройств, среднее время установки, количество откатов и список исправленных ошибок. Дистрибьюторы с доступом к OEM-порталу также могут получить разбивку по регионам и по моделям. На портале также доступен переключатель «OTA-заморозка», позволяющий дистрибьютору приостановить развёртывание для своего арендатора на определённый период (обычно учебный семестр). Заморозка активируется в течение 6 часов после включения.

Для дистрибьюторов, управляющих собственным графиком прошивок (обычно владельцы брендов, использующие опцию BYOC), та же панель отображает разбивку по арендаторам, чтобы владелец бренда мог сравнить работоспособность своей кастомной сборки с заводским базовым показателем. Бренд, чья кастомная сборка отклоняется более чем на 1,0 стандартное отклонение по любому показателю работоспособности, получает проактивное оповещение от службы поддержки.

Pre vs Post-OTA Health Metrics (averaged across 86 releases)


ЧЗВ: Механизм OTA-обновления прошивки считывающей ручки

Рекомендуем к прочтению

Если вашей программе требуется кастомный OTA-график, цепочка подписывания BYOC или окно OTA-заморозки для арендатора, просто ответьте на любое письмо от нашей команды словом OTA, и мы вышлем односторонний OTA-план, соответствующий масштабу вашего парка устройств.

Frequently Asked Questions

Сколько времени занимает типичная установка OTA на считывающем устройстве?
Подтверждённое пользователем окно установки составляет от 18 до 42 секунд в зависимости от модели. Медианное время от публикации в облако до подтверждённого пользователем перезапуска по 86 выпускам составляет 14 минут, включая время загрузки, которое определяется Wi-Fi-соединением пользователя, а не скоростью флеш-памяти устройства.
Что происходит, если установка OTA не удаётся или происходит повреждение данных в середине процесса записи?
Все модели начиная с поколения Q6 используют двойные разделы A/B. Загрузчик обнаруживает три последовательных сбоя CRC и переключается на резервный раздел за 4,2 секунды. Процент брака по данным 47 000+ развёрнутых устройств и 86 выпусков составляет 0,04%, измеренный как «возврат как неисправное в течение 30 дней после OTA, с корневой причиной OTA».
Может ли школьный округ приостановить развёртывание прошивки в течение семестра?
Да. Портал OEM предоставляет переключатель заморозки OTA для каждого арендатора. Заморозка вступает в силу в течение 6 часов после установки. Дистрибьюторы обычно приостанавливают развёртывание во время экзаменов или в первые две недели нового учебного семестра. Переключатель не влияет на исправления безопасности, классифицированные как Критические.
Как защищается ключ подписи прошивки?
Ключ подписи хранится на заводском HSM и ротируется каждые 90 дней. Открытый ключ вшивается в загрузчик на этапе прошивки и не может быть изменён без JTAG-сессии. Каждый фрагмент прошивки размером 96 КБ независимо подписывается с помощью ECDSA P-256, поэтому повреждённый фрагмент никогда не будет записан во флеш-память.
Каков процесс поэтапного развёртывания прошивки, прежде чем она достигнет всех устройств?
Каждый выпуск проходит четыре этапа: внутренняя канареечная проверка на 240 устройствах в течение 72 часов, дружественное пользовательское кольцо на 1 200 устройствах в течение 7 дней, производственный образец на 8% в течение 5 дней, затем полное развёртывание с выдержкой 14 дней. Каждый этап имеет жёсткие ворота go/no-go; худшая регрессия на Этапе 3 в нашей истории составила всплеск возвратов на 2,4%, что вызвало автоматическую остановку и откат в течение 36 часов.
Ваша корзина
Разрешение cookies улучшит вашу работу с этим сайтом. Политика cookies
Chat on WhatsApp