Оновлення «по повітрю» (OTA) змінили спосіб, яким ми отримуємо оновлення для наших мобільних пристроїв, пропонуючи зручний спосіб безпосередньо оновлювати програмне забезпечення без необхідності фізичного підключення до комп’ютера. Особливо інкрементні OTA-оновлення, що дозволяють застосовувати лише зміни, що відбулися з попередньої версії, зробили процес ще ефективнішим, мінімізувавши час завантаження та використання даних. Однак, як і будь-яка технологія, вона не ідеальна і може виникати ряд проблем. Одна з таких проблем – це помилка, яка з’являється при спробі застосувати інкрементне оновлення, коли оновлення несподівано зупиняється, зазвичай на певному відсотку завершення, залишаючи користувачів без можливості довести процес до кінця.
Перш ніж ми глибше зануримося в способи вирішення, важливо зрозуміти, що саме відбувається, коли виникає помилка оновлення. Помилка ERROR(20), яка часто згадується користувачами, є загальною і може вказувати на різні проблеми в процесі оновлення. Логи помилок надають більше інформації про потенційні причини:
1 2 3 |
update_engine: [ERROR:fec_file_descriptor.cc(32)] No ECC data in the passed file update_engine: [ERROR:verified_source_fd.cc(50)] Unable to open ECC source partition /dev/block/bootdevice/by-name/abl_a: Invalid argument (22) update_engine: [ERROR:partition_writer.cc(317)] The hash of the source data on disk for this operation doesn't match the expected value. |
Ці повідомлення вказують на три основні проблеми: відсутність даних ECC, неможливість відкрити джерело ECC та невідповідність хешу даних. Кожна з цих проблем вимагає окремого підходу до вирішення.
Кодування корекції помилок (ECC) використовується для забезпечення цілісності даних під час передачі. Якщо оновлення не містить необхідних даних ECC, це може призвести до помилки, оскільки система не може гарантувати, що дані, отримані під час оновлення, не пошкоджені. Рішення полягає в тому, щоб звернутися до розробника прошивки або служби підтримки з проханням надати оновлений пакет, який містить необхідні дані ECC.
Якщо система не може отримати доступ до джерела ECC, це може вказувати на проблеми з розділом пристрою, де зберігаються ці дані. В такому випадку необхідно виконати перевірку цілісності файлової системи або, в крайньому випадку, повне перевстановлення прошивки, щоб відновити доступ до цього розділу.
Невідповідність хешу даних вказує на те, що дані, які мають бути оновлені, не відповідають тим, що очікувалися. Це може статися, якщо на пристрої були зроблені зміни після встановлення останньої відомої стабільної версії, наприклад, встановлення додатків або зміна налаштувань, які впливають на системні файли. У такому випадку, можливо, доведеться виконати скидання до заводських налаштувань або повернутися до попередньої стабільної версії прошивки, перш ніж спробувати оновлення знову.
Щоб мінімізувати ризик виникнення подібних помилок у майбутньому, користувачам рекомендується:
Використання цих превентивних заходів допоможе забезпечити безперебійну роботу оновлень OTA та зменшити ймовірність виникнення проблем, пов’язаних з оновленням прошивки.
Інкрементні оновлення OTA є значним кроком вперед у зручності та ефективності оновлень програмного забезпечення, але як і будь-яка технологія, вони не застраховані від помилок. Розуміння причин помилок та знання способів їх вирішення може допомогти користувачам швидко відновити нормальну роботу своїх пристроїв і забезпечити успішне впровадження оновлень. Застосування превентивних заходів та відповідальне ставлення до процесу оновлення забезпечать стабільність та безпеку мобільних пристроїв у довгостроковій перспективі.