После подробного материала с разбором и тестами N14 Pro, компания Ninkear предложила заслать мне их следующую модель - A15 Plus, которая построена на базе проверенной временем платформы Ryzen 5700U. Пожалуй, если сейчас зайти на любой онлайн-маркетплейс, можно найти сотни различных предложений ноутбуков на базе "красной" платформы и даже среди них модели от Ninkear есть чем выделится! Стоит ли брать A15 Plus за 60.000 рублей? Узнаем в сегодняшней обзорной статье!
Распаковка
Пожалуй, не могу не отметить свою благодарность компании Ninkear за подаренный ультрабук N14 Pro: девайс во многом мне помогает, с учётом того, что мы собираемся с вами реализовать проект автомобильной тематики (который в свою очередь требует частого нахождения на улице), иметь подобный портативный гаджет как минимум удобно.
После прошлого обзора ребята из Ninkear сказали, что мой стиль написания обзоров им понравился и в особенности то, что я уделяю внимание такому важному аспекту для многих разработчиков, как скорость clean-сборки комплексных проектов с десятками тысяч строк кода. Поэтому когда мне предложили протестировать другой их лэптоп на базе "красной" платформы - я согласился :)
Девайс пришёл ко мне в хорошо запечатанной коробке, внутри которой находилось ещё две небольшие коробочки: первая с блоком питания, проводной мышкой (в N14 Pro была беспроводная), а также фирменным ковриком. Ультрабук хорошо запакован, в целом, не вызывает сомнений, что он доедет нормально и служба доставки его не разобьёт.
Дизайном лэптоп напоминает, в первую очередь, конечно-же технику от всем известной яблочной компании. Пожалуй, это какой-то тренд последних лет, но назвать его плохим язык не повернется - ультрабук очень тонкий, почти полностью металлический и в целом отдаёт некоторой премиальностью. Корпус очень сильно напоминает оный у N14 Pro, однако наша сегодняшняя модель значительно тоньше - что можно записать как в плюсы (очень компактный), так и в минусы (нужно быть осторожнее, если устройство необходимо будет закинуть в рюкзак или в машину).
Открывая лэптоп, мы лицезреем здоровенный тачпад с поддержкой мультитача (т.е возможностью делать операции а-ля зум) и весьма удобную клавиатуру, которая, кстати, весьма похожа на оную в N14 Pro. Судя по всему, Ninkear не стали изобретать велосипед и использовали одну из generic-клавиатур, которые можно без проблем найти в Китае и заказать по парт-номеру. Небольшой, но всё же плюсик к ремонтопригодности! Кроме того, в клавиатуре установлена светодиодная регулируемая подсветка для работы в темное время суток. Мелочь, а приятно.
Лишь один мелкий нюанс может расстроить некоторых читателей - это совмещенная кнопка включения с общей клавиатурой. Я лично тоже немного скучаю по этим тактильным отдельным кнопочкам, но увы, тренды диктуют свои правила!
В остальном же, девайс не вызывает никаких нареканий с точки зрения внешнего вида и в целом, весьма стоек к царапкам и прочим вещам, характерным для устройств, которые активно используются в портативном режиме. Давайте же узнаем, что у девайса "под капотом"!
Производительность
Как уже было оговорено ранее, ультрабук построен на базе достаточно актуальной и проверенной платформы Ryzen 7 5700U. В отличии от N14 Pro, который построен на базе платформы от Intel, A15 Plus отличается значительно более высокой производительностью и в первую очередь - в 3D графике: сложно поспорить с тем, что GPU семейства Radeon значительно шустрее Iris XE в наше время. Давайте же ознакомимся с подробными спецификациями A15 Plus:
Процессор: AMD Ryzen 7 5700U с 8-ядрами/16-потоками и частотой до 4.3ГГц на базе архитектуры Zen 2, выпущенный по 7нм тех. процессу. Процессор вышел в 2021 году и получил 8 мегабайт L3 кэша (общего), 512Кб L2 кэша (на каждое ядро отдельно), а также имеет весьма "холодный" нрав в виде TDP 15W.
GPU: Radeon 512SP на базе архитектуры GCN 5.1 (Vega II), который работает на частоте до 1.750МГц и использует некоторую часть ОЗУ в качестве VRAM. Ускоритель поддерживает DX12, OGL 4.6, Vulkan 1.3 и SM 6.7. Практически все самые последние стандарты!
ОЗУ и SSD: 32Гб DDR4 на частоте 3200МГц. SSD - NVMe на 1Тб.
Аккумулятор: 57Вт/ч. Производитель обещает около 10 часов работы от аккумулятора в обычном режиме (понятное дело, что если процессор будет молотить весь аптайм на 100% - то аккумулятор сядет быстрее).
Дисплей: 15.6" матрица с разрешением 1920x1080, выполненная по технологии IPS с яркостью 400Нит. Её качество вполне на уровне, хотя для кого-то яркость может показаться маловатой.
Интерфейсы: 2x USB 3.0, MicroSD, 3.5мм джек для наушников, а также HDMI и полноценный Type-C (как передача данных, так и зарядка), а также Wi-Fi 2.4GHz/5.0GHz.
ОС: Windows 11 Home.
Цена: 63.000 рублей на момент написания статьи или 675$!
По моему субъективному мнению, характеристики весьма и весьма неплохие для такого прайса! Я помню лэптопы за те-же деньги в 2012-2013 году (те же Samsung'и RV серии), которые предлагали совсем уж базовые характеристики за эти же деньги. А сейчас, вот, можно купить весьма бодрый лэптоп не только для офиса и серфинга в сети, но и более серьезных рабочих задач!
В отличии от N14 Pro, у A15 Plus практически нет настроек в UEFI. По словам Ninkear, почти во всех своих лэптопах они даже дебаг-режим не прячут в релизных версиях прошивок UEFI, что даёт доступ к UART'у. Стоит ли говорить о том, что если девайс пишет логи в UART, диагностика нерабочего устройства значительно облегчается?
Давайте же перейдем к бенчмаркам. Тут всё по классике: CPU-Z, GPU-Z, Furmark, а также AIDA64. Начинаем с CPU-Z, который выдаёт более подробную информацию о нашем процессоре. Бенчмарк набирает 510.9 попугаев в однопоточном режиме и 3596.9 попугаев в многопоточном - вполне неплохо, это уровень.
GPU-Z подтверждает нашу информацию о GPU, а Furmark 2 выдаёт ~12 FPS на бублике в FHD (это относительно нормальный результат для встройки, FurMark - очень тяжелый бенчмарк). Ну, игровой потенциал мы протестируем в отдельном разделе нашего обзора!
В AIDA64 я тестировал ЦПУ используя два бенчмарка: CPU Queen для подсчета производительности АЛУ, а также FPU Julia для теста сопроцессора чисел с плавающей точкой. Результат очень и очень достойный, на уровне десктопного i7-7800K.
В повседневных задачах девайс проявляет себя замечательно: нет никаких проблем при серфинге страниц, благодаря 32Гб шустренькой DDR4 памяти девайс может держать параллельно открытыми пару браузеров с несколькими вкладками и параллельно запущенный видеоролик в YouTube, а также какой-либо рабочий софт. Конечно-же девайс подойдет и для офиса, или, например, диагностики автомобилей (относительно современных).
Если вы любитель GNU/Linux, то с этим есть некоторые проблемы - конкретно на A15 Plus, последний релиз Ubuntu работал с косяками: в самой системе залипали кнопки клавиатуры на 1-2 секунды (скорее всего, баг "вялого"). С драйверами на Radeon сейчас всё хорошо (учитывая что AMD охотно делится спеками и документацией на старые видеочипы), система подхватывает почти все устройства (я не проверял управление охлаждением).
Давайте же перейдем к профильным тестам ультрабука, ведь статья позиционируется как обзор именно для разработчиков!
Для разработчика
Как и в случае с обзором на N14 Pro, мы будем с вами проводить тесты в нескольких кейсах: компиляция Android-проектов и работа в Android-Studio, компиляция .NET проектов и использование VS Community, а также сборка здоровенных С++ проектов с сотнями тысяч строк исходного кода! В качестве изюминки мы замерим время компиляции самого свежего ядра Linux для нашего устройства!
Начинаем с Android Studio, который работает очень шустро, несмотря на общую прожорливость IDE от Google и JetBrains. Никаких неудобств при разработке не возникает, редактор лейаутов и кода работает нормально. Время сборки проекта моего клиента YouTube для Android 2.2 без учёта Gradle refresh - 9 секунд.
Переходим к .NET. Здесь я использую VS2022 Community Edition, а собираю свой самопальный шутер на собственном 3D-движке. Игра небольшая - всего около 3х тысяч строк кода, которые на Ryzen 5700U собираются менее чем за секунду! Очень-очень шустро! IDE работает быстро и оптимизирована хорошо.
Давайте соберем большой и крутой движок Urho3D из исходного кода в рамках теста компиляции C++. Опять же, компилятор - VC2022, а время сборки - всего 55 секунд. Это в два раза быстрее, чем время сборки проекта на N14 Pro (скорее всего сказывается значительно более шустрый SSD и Ryzen, который хорошо дружит с распараллеленными компиляторами). Intellisense работает моментально.
Изначально, я хотел протестировать время компиляции ядра Linux, но увы. Хотя, конечно, можете меня пожурить в комментариях за то, что настоящий линуксоид собирает ядро и без этих ваших XTerm, прямо в обычном текстовом терминале!
Играем
Пришло самое время поиграть! Я установил несколько игр, правда стоит всё же учитывать, что это интегрированная графика и смысла запускать условный киберпанк на ней нет. Поэтому я прошёлся по нескольким любимым мной играм прошлых лет, которые, тем не менее, все еще могут нагрузить относительно бюджетные и среднебюджетные лэптопы! Пожалуйста, учтите что все тесты проводились в портативном режиме для честности.
Начинаем с Black Mesa. Игра выдаёт нестабильные 30 FPS при средних настройках графики в FHD. Несмотря на то, что BM работает на Source, ребята из Crowbar Collective форкнули одну из веток движка и значительно переписали рендерер, из-за чего игра способна нагрузить многие шустрые десктопные карточки прошлых лет.
А вот с Fallout 4 ситуация сложнее. На средних настройках в FHD и отключенным антиальясингом, игра едва ли тянет в 15 кадров при нахождении в густонаселенных локациях с, предположительном, большим овердравом.
GTA 5 ноутбук тянет в относительно стабильные кинематографичные 24-30 FPS на "стандартных" настройках графики. Не так хорошо, как хотелось бы, но в целом нормально.
Под капотом
Давайте разберем девайс и узнаем, что у него внутри! Как я уже говорил в обзоре на N14 Pro, лэптопы Ninkear очень легко разбираются: достаточно лишь открутить винты и расщелкнуть клипсы поддона. После этого, перед нами предстает плата устройства.
Очень приятно то, что аккумулятор можно отключить без полной разборки устройства - это полезно, если вам нужно надолго убрать ноутбук на полку и вы не хотите увести АКБ в глубокий разряд.
Система охлаждения выполнена в виде одного большого кулера, от которого идут две теплотрубки: одна на процессор, другая на хаб.
Аккумулятор представляет из себя несколько последовательно соединенных банок с общей емкостью 5Ач:
В остальном, ультрабук скомпонован весьма грамотно и его легко обслуживать. Многие читатели смогут без проблем его разобрать и прочистить от пыли и засорений. Никаких разборок через клавиатуру!
Заключение
Вот такой обзор на A15 Plus у нас с вами получился. Как вы считаете, девайс достаточно шустрый? Достоин покупки? Лично по моему мнению - да, ультрабук имеет хороший баланс цена/качество и предлагает хорошую производительность за небольшие деньги. При этом его легко обслуживать.
Плюсы устройства:
Шустрый "кукурузен": Ультрабук замечательно подойдет для работы и выполнения большинства задач. Начиная от офиса, заканчивая сборкой тяжелых проектов с комплексными системами сборки.
Хороший дисплей: FHD IPS матрица - сбалансированный выбор, который позволяет не особо грузить не самую шуструю встройку, снизить конечную устройства и при этом порадовать пользователя хорошей цветопередачей и отличными углами обзора.
Большой объём ОЗУ: Благодаря 32гб ОЗУ, есть возможность запустить множество программ одновременно. Но в этом есть и минус - память одноканальная, хоть и шустрая.
Бесшумность: Ультрабук не слышно от слова совсем. Он крайне тихий даже при 100% нагрузке и не сказать что горячий.
Хороший корпус: Конструктивно девайс не вызывает никаких нареканий. Ничего не скрипит, не люфтит, всё выполнено на достойном уровне. Металлические материалы корпуса оставляют приятное впечатление от девайса.
Минусы:
Звук: Не очень хорошее качество звука из динамиков устройства. Не сказать, что оно совсем плохое, но N14 Pro в этом плане показывает себя лучше. В любом случае, проблема решается подключением внешних колонок, благо в A15 Plus оставили 3.5мм джек.
Не работает текущая версия Ubuntu из коробки: Ну, тут некоторые читатели скажут мол я не трушный, трушный пропатчил бы вялого под эту платформу и заставил нормально работать клавиатуру. Но в конце концов, большинство читателей этого обзора ожидают нормальной работы из коробки.
Низкая производительность GPU: Здесь сложно упрекнуть Ninkear, но пока что ситуация на рынке встроек не особо меняется: что в нулевых на IGP можно было поиграть лишь в релизы 5-10 летней давности, что сейчас. Но в целом, почему-бы не перепройти классику? :)
Подойдет ли вам A15 Plus?
Офисная работа и серфинг: Легко! Ноутбук справится с задачами серфинга и офисного использования без каких либо проблем.
Разработка: Благодаря шустрому процессору 5700U, девайс быстро собирает большие проекты в 16 потоков и предоставляет приятный экспиренс в IDE даже с множеством открытых больших файлов.
Игры: Если вы любитель игр из начала-серединых 2010х годов, почему-б и нет?
Спасибо компании Ninkear за предоставленный девайс! Приобрести девайс можно на официальном сайте компании с быстрой доставкой по России, или на WB.
Отвал флэш-памяти типа eMMC - весьма частая болячка смартфонов и планшетов, которая массово преследует современные девайсы на протяжении вот уже более 10 лет. Симптомы проблемы знакомы многим читателям: смартфон виснет на заставке, системные приложения регулярно вылетают, или настройки системы внезапно перестают сохраняться. Сам процесс замены флэш-памяти требует навыков перекатки и пайки BGA-чипов, оборудования (трафареты для реболла, программатор с колодками, опционально подогрев) и понимания того, как работает загрузчик той или иной аппаратной платформы, поэтому в СЦ за эту процедуру могут взять достаточно большую сумму. На некоторых девайсах менять память уже совсем невыгодно, особенно когда другой такой-же аппарат стоит полторы тысячи рублей на барахолке, но воспоминания о любимом девайсе порой гораздо дороже, чем сумма за ремонт смартфона. Год назад я уже писал материал о загрузке Android с MicroSD при условии того, что eMMC ещё подает хоть какие-то признаки жизни, а сегодня я вам расскажу о способе загрузить систему с флэшки уже после того, как чип флэш-памяти отказал и ушёл в read-only. Сегодня мы с вами: узнаем о том, какие типы флэш-памяти существуют и причины их отказа, разметим MicroSD-флэшку и запишем на неё образ системы, пропатчим пути монтирования в boot.img, а также узнаем, как теперь запускать наш смартфон и посмотрим, сможет ли он работать достаточно шустро с MicroSD флэшки! Интересно узнать, как вернуть жизнь таким легендам, как Google Nexus? Тогда добро пожаловать под кат!
❯ Почему отказывает флэш-память?
Как я уже говорил в вводном абзаце, проблема внезапно отваливающейся флэш-памяти существует вот уже более 10 лет. Ещё с выходом iPhone 3Gs/4, мастера познакомились с такой болячкой, как внезапное падение устройства в режим DFU и отказ прошиваться через iTunes. Ближе к выходу Galaxy S III, HTC Desire и Wildfire, LG Nexus возникла потребность в программаторах, поскольку чипы eMMC в этих смартфонах очень часто помирали «сами по себе» из-за косяков производителя флэш-памяти. Более опытная часть моих пользователей может вспомнить такие проблемы, как отказ входа в HSPL (загрузчик HTC), бесконечная загрузка с отказом прошиваться в режиме Odin на самсунгах, падение смартфонов на базе чипсетов Qualcomm в режим 9008 (QHSUSB_BULK), а также внезапное прекращение работоспособности девайса даже при наличии адекватного потребления и реакции на кнопку включения.
В относительно современных смартфонах используется два типа чипов флэш-памяти с разными протоколами: NAND и eMMC (в современных чаще используется UFS — наследник eMMC с дифференциальным протоколом, вместо MMC). Устройства конца 2000х годов чаще использовали флэш-память типа NAND с Legacy-протоколом, который требовал ручного управления SPARE-страницами и расчета кода коррекции ошибок (ECC), чем занималось отдельное периферийное ядро в процессоре, называемое NAND-контроллером. Момент, когда нужно «приговорить» флэш-память и перевести её в режим read-only решал не сам контроллер, а драйвер NAND в прошивке устройства — и обычно он был весьма лоялен даже к «сыпящейся» памяти. Кроме того, NAND-контроллер позволял практически напрямую взаимодействовать с чипом флэш-памяти, благодаря чему в загрузчиках типа U-boot есть команда для очистки таблицы Bad-блоков и низкоуровневого форматирования флэш-памяти, дабы в дальнейшем контроллер попробовал пересчитать бэды и, потенциально, вернул некоторое число блоков обратно в строй. Такой тип «флэшек» помирал значительно реже, в основном из-за того, что софт (на моём опыте) практически никогда не уводил флэшку в read-only, «добивая» её до последнего. Из минусов такого подхода — если флэш помирала совсем, то данные из нее можно было достать только с помощью программатора, да и то не факт.
В моей довольно большой коллекции нет ни одного смартфона с Legacy NAND, где флэш бы действительно «приехала», хотя на форумах мастеров иногда встречаются старые сообщения о замене флэши на телефонах Nokia.
Второй тип памяти появился примерно в начале 2010х годов и имя ему — eMMC. Фактически, eMMC — это адаптация интерфейса MMC для использования в виде обычных чипов памяти, а не карточек, совместимая с спецификацией ~SDHC. Если выпаять чип с телефона и припаять сигнальные линии к обычному SD-кардридеру на ПК — он будет работать и определяться как полноценный диск! Таким образом, на некоторых смартфонах можно заменить eMMC на MicroSD напрямую припаяв флэшку на место чипа к соответствующим сигнальным линиям. Однако работать такое будет только если у вашего смартфона «бутербродная» компоновка, где ОЗУ припаяна поверх процессора (MTK и Spreadtrum в пролете). В eMMC используется память типа NAND, которой управляет не чипсет, а встроенный в сам чип памяти контроллер, работающий с протоколом MMC и имеющий собственную прошивку и карту бэд-блоков. Такая флэш-память может самостоятельно уходить в режим read-only когда это посчитает нужным контроллер, зачастую не давая смартфону загрузится, но при этом потенциально сохраняет данные пользователя и позволяет их прочитать дома (сделав дамп памяти устройства и смонтировав раздел userdata в Linux). Однако всё равно иногда данные теряются безвозвратно. Нюанс в том, что состояние eMMC определяет сам контроллер в чипе — поэтому «оживить» его дома и вывести из read-only невозможно. Однако я слышал, что на некоторых «бракованных» чипах памяти (в основном Samsung 2012-2013 годов), которые ушли в read-only слишком рано, можно подпаяться к тест-поинтам программатором и прошить чуть более свежую прошивку с другой ревизии этого же чипа памяти. Флэшка, бывало, оживала.
В некоторых случаях, eMMC были бракованными с завода и помирали сами по себе (!) через короткое время (около года) после покупки устройства. Я знаю как минимум два примера массового брака флэш-памяти: смартфоны HTC 2011-2012 годов, которые время от времени страдали от валящихся чипов Hynix (это касается не всех устройств, многие дожили), хотя я лично видел не так много HTC'шек с дохлой памятью, так что здесь читатели-сервисники с опытом работы в те годы могут только подтвердить или опровергнуть мои слова. А вот подтвержденный пример — смартфоны и планшеты Samsung 2012-2014 годов. Galaxy S3 с артефактами на дисплее при включении, S4 Mini в 9008 или повисшие на заставке, S4 с теми же симптомами, S4 Zoom, которые практически все померли «сами по себе» после обновления до 4.4 KitKat, N8000… Добавьте к этому слабые NC-пятаки, которые срывает при попытке снять чип феном, близко расположенный «бутербродный» процессор, который легко «убить», если орудовать феном, компаунд… и по итогу многие мастера просто спиливали чип дремелем. А что ещё делать!?
По итогу, нам остаётся искать софтварные способы загрузить систему с внешней MicroSD флэшки. И я нашел два таких способа! Первый — предварительно подготовить образ boot.img и прошить его в смартфон вместо recovery, дабы если память ушла в read-only, мы могли просто «дуалбутнутся» во второй образ с пропатченными точками монтирования системных разделов на MicroSD. А о втором, к сожалению, знают лишь единицы, хотя это просто замечательный способ, который позволяет загрузить систему уже «пост-фактум» после ухода флэшки в read-only и требует некоторых манипуляций с fastboot! Давайте же рассмотрим его подробнее.
Нашим подопытным будет рабочий смартфон Alcatel OT-5020D 2013 года выпуска, который пока не подает признаков помирающей eMMC: к сожалению, смартфонов с полудохлой памятью и разлоченным бутом у меня не оказалось, дохлые флэшки я иногда меняю и сам :) Но тем не менее, грузиться мы в любом случае будем с флэшки и вы сможете повторить все шаги в статье, дабы загрузить систему с MicroSD самому!
❯ Подготавливаем систему
Друзья! Для следующих действий, вам понадобится разблокированный загрузчик или устройство, на котором с завода загрузчик не заблокирован. Главный критерий — наличие режима fastboot.
Какие устройства не подойдут: многие смартфоны на базе чипов Spreadtrum, а также часть смартфонов Samsung на Exynos. Ни те, ни другие частенько не имеют режима fastboot от слова совсем. У Samsung есть режим загрузки с MicroSD (т. н. T-Flash Mode), но ядро он не грузит.
Какие устройства подойдут, но требуется подготовка: все смартфоны от Sony (исключение — Xperia Tipo, забагованный fastboot), Google Nexus (некоторые модели страдали из-за отвалов флэши), современные китайские новодельные noname-смартфоны (с вот таким патчем), Xiaomi, Meizu. Чипсеты: MediaTek 67xx/Qualcomm Snapdragon, возможно Kirin. Таким устройствам требуется предварительная разблокировка загрузчика.
Какие устройства подойдут даже при условии уже мертвой флэш-памяти: большинство девайсов на базе чипсетов MediaTek прошлого десятилетия, особенно бюджетных: MT6572, MT6582, MT6592, MT6580, MT6570, MT6575, MT83xx, некоторые Spreadtrum. Это касается Fly, Explay, ZTE и многих других ультрабюджетных смартфонов тех лет. Загрузчик там разблокирован с завода, никакого секьюрбута и верификации загружаемых образов нет. Но не везде можно загрузится в fastboot напрямую (попробуйте громкость вверх и громкость вниз при включении — если сразу грузится в рекавери, то нужно до отказа eMMC включить ADB, если показывает менюшку fastboot, recovery, normal boot — значит все ок).
Не подойдут: MT6573, MT6571 — там U-Boot (но его тоже можно попробовать заставить грузиться с SD).
Список устройств для потенциальной возможности загрузки с SD весьма большой! Как понять, что eMMC «всё»?
Смартфон не реагирует на зарядку и кнопку включения при заряженной АКБ: это не 100% показатель, но если поднимаются питальники с КП и потребление от кнопки есть ~0.1-0.3А — значит процессор вероятно пытается стартовать. Но не откуда. В таком случае, девайс поднять не получится — доступа к fastboot нет, флэшка полностью посыпалась. Исключение — некоторые Qualcomm'ы при наличии прожженного фьюза с завода, разрешающего загрузку с MicroSD могут стартовать ядро, но всё зависит от конфигурации aboot.
Смартфон загружается и сразу вылетают приложения, настройки не сохраняются: явный показатель того, что флэша ушла в read-only потенциально не повредив данные. Если смартфон грузится в fastboot — его ещё можно оживить, но не факт что получится вытащить данные (из-за шифрования). Если после сброса до заводских настроек эффект остается тот-же — eMMC приехала 100%.
Смартфон висит на заставке, сброс и прошивка не помогает: тоже явная причина: eMMC в read-only. В таком случае, не рекомендуется еще раз шить смартфон в надежде что все заработает, есть шанс что флэша посыпеться окончательно и вы потеряете доступ к fastboot.
Весьма всё просто, согласитесь? Как я уже сказал выше, на некоторых устройствах нужно сначала разблокировать загрузчик. Кое-где это, вероятно, получится сделать и при том что флэша ушла в read-only. Например, на устройствах Sony можно без проблем зайти в fastboot и разлочить устройство с помощью кода, полученного на сайте Sony (используйте VPN, если вы в РФ):
Как зайти в fastboot — вам придётся погуглить для конкретно своего устройства. Не нашли? Поищите как это делается на других смартфонах, которые работают на том же чипсете. Почти всегда можно зайти, если у вас включена отладка по USB с помощью команды:
adb reboot bootloader
Краткая справка: на устройствах Sony, в Fastboot можно зайти подключив устройство к ПК с зажатой громкостью вниз, на MTK громкость вверх или вниз, на HTC в HSPL, на Nexus'ах в фирменном загрузчике сразу режим Fastboot, на устройствах Tegra — включение с зажатой громкостью вверх, на смартфонах с чипсетом Intel есть fastboot, насколько помню зайти в него можно с помощью громкости вниз.
Команда для разблокировки загрузчика почти везде одна:
fastboot oem unlock
Вас могут запросить код разлочки или просто предупредить о последствиях такого действия. Как узнать, что бут разлочен?
fastboot getvar all
secure, locking и т. п. — отвечают за статус разлочки. Но даже если таких переменных нет, это не всегда значит, что загрузчик заблокирован. Возможно он разблокирован с завода :)
Теперь нам нужен образ раздела boot — boot.img. Его можно найти в файлах родной прошивки устройства, или, иногда, в zip-файлах кастомов. boot.img содержит в себе ядро Linux и небольшой раздел с файловой системой initrd (рамдиск), которая загружается в оперативную память и содержит в себе программы init, adbd, recovery, а также скрипты инициализации, которые управляют загрузкой Android и процессом зарядки (показывают анимацию, когда вы подключаете устройство выключенным к ЗУ. Да, в таком случае Linux тоже грузится!). Если у вас есть доступ к fastboot, то попробуйте запустить его с помощью команды:
fastboot boot boot.img
Работать она будет не везде, на MTK её поддержка отключена в загрузчиках некоторых устройств. Если вы увидели на экране устройства USB Transferring — половину дела сделана! Если устройство показало лого и анимацию загрузки или ушло в ребут — потенциально, вы сможете загрузить Android с MicroSD. Если ошибка secure-boot — нужно сначала разблокировать загрузчик. Если unknown command — команда не поддерживается :(
Теперь у нас есть возможность загрузить ядро и пропатчить скрипты конфигурации, дабы изменить точки монтирования раздела /system/, /data/ и /cache/ на MicroSD-флэшку, вместо встроенной памяти.
❯ Записываем систему на MicroSD
Обратите внимание: Android очень интенсивно использует ресурс флэшки и постоянно перезаписывает сектора памяти, поэтому не поскупитесь купить нормальную MicroSD флэшку от, например, Transcend, Kingston или Samsung. Дешевые MicroSD флэшки очень-очень быстро (вероятно, за пару дней — это не шутка) выйдут из строя и придется делать всё заново!
Сначала, нам придется разбить флэшку на три раздела: /system/, /cache/, и /data/. Раздел system будет первым, cache — вторым, data — третьим. При этом раздел /sdcard/ не нужен — он автоматически маппится в /data/media/ на современных версиях Android. Сделать это можно как с ПК с помощью MicroSD-адаптера и fdisk/diskpart/gparted, так и с самого смартфона с помощью того же fdisk в busybox. Я решил это сделать с помощью другого вспомогательного смартфона с TWRP, где изначально был root-доступ через adb! Размеры выбирайте следующие: для системного диска чуть больше или по размерам с system.img (раздел read-only и не «растет» со временем), cache — 100-200Мб, userdata — всё оставшееся место на флэшке.
Разметили MicroSD? Теперь нам нужно записать на неё образ системы. Тут три пути: если у вас есть Linux-машина, то можете подмонтировать образ system.img из оригинальной прошивки и скопировать все файлы с сохранением прав, закинуть system.img в внутреннюю память другого смартфона с root-доступом и проделать все тоже самое, либо записать с помощью dd образ system.img напрямую в нужный нам раздел флэш-памяти. Я выбрал третий способ:
dd if=/sdcard/system.img of=/dev/mmcblk1p1
Разделы cache и userdata можно просто форматировать в ext4:
Готово! Необходимые для базовой работы разделы перенесены на MicroSD. Теперь, когда, у нас есть образ системы, нам нужно распаковать родной boot.img устройства и поменять точки монтирования. Я использую кухню MTKImgTools. Идём в Boot -> Unpack -> boot.img. В Unpack/boot/ появятся файлы нашего раздела boot:
Открываем файл init.rc (в случае MediaTek). Ищем строки с монтированием разделов вида emmc@system, emmc@cache, emmc@userdata и меняем их на /dev/block/mmcblk1p1, /dev/block/mmcblk1p2 и /dev/mmcblk1p3. На некоторых чипсетах, править нужно сразу fstab, или init.<чипсет>.rc:
Готово! Собираем образ обратно с помощью Boot -> Pack -> boot.img и получаем образ, который нам и надо будет загрузить с помощью fastboot. Копируем boot.img в папку с adb и пробуем загрузить систему. Это будет основная команда для старта загрузки смартфона в будущем:
fastboot boot boot.img
Увидели бутанимацию? Значит система пошла загружаться, нужно лишь подождать первой загрузки 5-10 минут! Система висит на лого или уходит в ребут? Значит, возможно, вы неверно прописали точки монтирования, записали образ system или форматировали раздел userdata. Если система 4.4 и ниже, то можно изменить default.prop, заменив ro.secure на 0 и debuggable на 1. Если вы на Android 5+ — то заменить adbd (не требующий ключи авторизации) в /system/bin на вариант из TWRP и посмотреть logcat и dmesg. Монтируется ли /system/? Загружается ли app_process? На каком этапе стопорится? Всё это пригодится при дальнейшей отладке!
Например, такая ошибка при запуске adb shell означает то, что раздел /system/ не монтирован.
Ну а на моем девайсе система уже загрузилась и работает. Но насколько шустро? В комментариях читатели часто говорили, что из-за скорости MicroSD система будет не юзабельной. Насколько это правда? Давайте посмотрим!
Вывод mount:
Как мы и видим, /system/, /data/ и /cache/ на MicroSD. custpack и mobile_info, а также nvram трогать не нужно — если в родной флэше они не повреждены, то у девайса без проблем будет работать и сеть, и Wi-Fi.
❯ Можно ли пользоваться?
Наш девайс работает на базе Android 4.2 — казалось бы, совсем старенький дроид, но тем не менее ещё кое-что, да может. Alcatel OT — это бюджетный девайс из 2013 года, но работает он, на удивление, весьма шустро и приятно!
Начинаем с самых необходимых приложений — звонилка, контакты и галерея. Все эти приложения стартуют практически моментально, лишь иногда с небольшими лагами. Однако если поставить в браузере что-то скачиваться на фоне — конечно-же, система начнет лагать.
Как насчет браузера? Ставить последний хром, поддерживающий 4.2 смысла нет — уже и он открывает далеко не все сайты. Но те сайты, что пока ещё открывает стандартный браузер почитать ещё можно: например, opennet. На смартфонах с более свежим Android, браузер будет работать относительно адекватно. Зато с соц. сетями проблем особых нет. Telegram, конечно, может конкретно подвесить смартфон в процессе подгрузки картинок с каналов, но потом все будет нормально. Решение одно: отключить автоматическое кэширование картинок и видео!
С записью видео ситуация сложная. Даже в профессиональных камерах для 1080p рекомендуются карточки не ниже 10-класса (10Мб/с) и UHS-класса для 2+K видео. На нексусе, это скорее всего превратит девайс в лагодром даже при записе 720p видео: система в фоне так или иначе регулярно читает и записывает данные и рано или поздно мы упираемся в дисковой кэш.
Об играх с динамическим стримингом ресурсов можно забыть, если флэшка достаточно медленная — будут лаги.
А в динамике это всё выглядит так:
Достаточно шустро, для смартфона 2013 года за 4 тыщи рублей?
❯ Заключение
Сегодня мы с вами узнали, каким же образом можно перенести систему на MicroSD! Да, сработает далеко не на всех девайсах, однако сам способ может помочь поднять сотни устройств обратно в строй и сделать их полезными! Это всяко лучше, чем распаивать потенциально рабочие девайсы на «доноров» или, тем-более, отправлять их на мусорку или в чермет. С современными версиями Android ситуация сложнее: и не только из-за большего числа необходимых для загрузки разделов, но и из-за возросших требований к скорости флэш-памяти (упомянутые выше UFS работают на скорости ~500Мб/с), а также, внезапно, стремительно исчезающего слота для MicroSD :(
Надеюсь, материал вам был полезен! Сегодняшняя статья подготавливалась специально в «классическом», более коротком стиле с максимумом конкретики. Если вам больше нравится такой формат, нежели подробный на 15-20+ минут на чтения — напишите в комментариях!
Кстати, если у кого-то из читателей есть ненужные устройства (в том числе с косяками) или дешевые китайские подделки на айфоны/айпады/макбуки и другие брендовые девайсы будучи нерабочими, тормозящими, или окирпиченными и вам не хотелось бы выкидывать их на свалку, а наоборот, отдать их в хорошие руки и увидеть про них статью — пишите мне в Telegram или в комментах! Готов в том числе и купить их. Особенно ищу донора дисплея на китайскую реплику iPhone 11 Pro Max: мой ударник, контроллер дисплея калится и изображения нет :(
А ещё у меня есть Telegram-канал, куда я публикую различные заметки по ремонту, программированию и моддингу девайсов, свои мысли и вовремя публикую ссылки на новый материал!
Полезный материал?
Статья подготовлена при поддержке TimeWeb.Cloud. Подписывайтесь на меня и @Timeweb.Cloud, чтобы не пропускать новые статьи каждую неделю!
Друзья! А вы помните такие мобильные телефоны, как Siemens? Когда-то у всемирно известного консорциума, занимающегося выпуском различного силового оборудования и поездов, было собственное мобильное подразделение, которое успешно конкурировало в конце 90х и начале 2000х. Многие мои читатели «постарше» наверняка вспомнят, а то и сами владели такими легендарными моделями, как Siemens SL45, ME45, C55, C65, S65, S75! Но немногие знают, что в своё время эти девайсы были сродни полноценным Symbian-смартфонам Nokia, или даже современным Android-девайсам с разблокированным загрузчиком: энтузиасты быстро смогли разобраться в алгоритме генерации ключей для загрузчика и начать делать патчи, которые фактически превращали «тормозной» телефон в почти настоящий смартфон с полноценной многозадачностью! Недавно мне подарили целых три телефона Siemens, которые носят статус культовых: Siemens C65, Siemens C75 и Siemens S75! Два девайса из трёх были в замечательном состоянии, но имели некоторые проблемы в аппаратной части. В сегодняшнем ностальгическом материале, мы с вами: вспомним о том, какие телефоны делали Siemens в своё время и на каких аппаратных платформах они работали, продиагностируем, проведем аппаратный ремонт и составим список самых частых болячек устройств на платформе S-Gold, рассчитаем ключи для загрузчика, пропатчим, накатим эльфпак и посмотрим, какой же была моддинг-сцена телефонов в нулевых! Интересно? Тогда бегом разворачивать статью!
❯ Эх, Siemens, Siemens...
Пожалуй, ни одно видео или статья с ностальгией по мобильным телефонам из нулевых не обходится без упоминания телефонов от компании Siemens. Немецкие девайсы были инновационными и прорывными во многих аспектах. Например, инженеры Siemens стали первопроходцами, добавив возможность прослушивания MP3 на телефоне, поддержку карт памяти MMC (предок MicroSD, полностью совместимый с ним на программном уровне) и установки полноценных Java-приложений в легендарный SL45, вышедший аж в 2000 году. Нельзя также не упомянуть первый телефон с цветным дисплеем и предусмотрительность инженеров Siemens с точки зрения разъёма для аксессуаров — вряд ли вы видели ещё один телефон с возможностью «горячей» установки внешней камеры прямо в порт для синхронизации!
Но особый статус телефоны Siemens получили на территории СНГ — их девайсы одновременно обожали и злостно ругали. И ведь было за что их любить: у Siemens был особый подход к дизайну телефонов с чётким разделением целевой аудитории устройства, не похожий ни на Nokia, ни на Sony Ericsson, а прошивка в этих девайсах хоть и была достаточно тормознутой и местами не совсем логичной, но тем не менее, её визуальная часть была сделана с явной любовью художников к делу. Каждый девайс по своему отличался от своих собратьев. Вот, вспомните молодежного маскота Siemens, пацанёнка в очках:
Критика в основном заключалась в очень сырых и тормозных первых версиях прошивок (однако компания активно выпускала обновления и пользователь мог спокойно перепрошить телефон в домашних условиях без похода в СЦ), слишком сильном урезании C-серии (например, в С75 невозможно было установить флэшку, а встроенной памяти было мало для мультимедийного телефона) и отсутствии поддержки MP3 на поздних устройствах. Но тем не менее, «сименсам» всё равно было что предложить простым пользователям в мультимедийном плане. А со временем, потянулись и энтузиасты…
Телефоны Siemens были построены на двух аппаратных платформах разработки родственной компании Infineon (ранее эта компания была полупроводниковым подразделением Siemens и занималась разработкой микропроцессоров): первая платформа называлась E-Gold и состояла из микропроцессора с архитектурой C166, работающего на частоте от ~13МГц (SL45) до ~52МГц (S55), GSM-радиотракта и контроллера питания Dialog (на некоторых телефонах использовался Twigo, по каким-то причинам несовместимый с «диалогом»). Её мы могли встретить во множестве устройств A-серии (бюджетники), S и C серии до 6x, а также некоторых устройствах серии SL. Второй платформой была легендарная и многообещающая S-Gold, которая использовалась в устройствах 65'ой и 75'ой серии. Эта платформа была построена на базе ядра ARM926EJ-S, работающего на частоте ~104-208МГц (с возможность разгона), GSM-радиотракта с поддержкой GPRS и EDGE, а также всё того-же контроллера питания Dialog. В своё время устройства на базе S-Gold получили небывалый интерес среди энтузиастов, которые относительно быстро разобрались в алгоритме расчёта ключей для загрузчика и получили возможность применять специальные врезки ресурсов или кода в оригинальную прошивку устройства, называемые патчами. В сегодняшнем материале мы рассмотрим устройства именно на платформе S-Gold!
Со временем, патчи стали неотъемлемой частью «прошаренного» сообщества Siemens, которое в основном тусовалось на форуме siemens-club. Десятки людей активно ковыряли различные версии прошивок под разные девайсы, добавляя новый функционал или меняли визуальную составляющую устройства: какие-то патчи просто «перекрашивали» индикаторы, или, например, меняли шрифт устройства, другие отключали надоедливую кнопку выхода в интернет (которая сжирала огромные денюжки для среднестатистического школяра или студента тех лет), добавляли возможность альтернативного управления, переназначая вечно ломучий джойстик C65 на кнопки клавиатуры, а то и добавляли довольно точную A-GPS навигацию по карте вышек оператора (!) и поддержку нескольких (!!) E-Sim (!!!) в 2004-2005 году!
Пожалуй, многие читатели отнесутся со скепсисом к E-Sim в 2005 году. Но такая возможность была, хоть и не совсем в современном и удобном виде.
Дело в том, что у каждой SIM-карты, помимо публично доступного для телефона идентификатора IMSI, существует ещё идентификатор Ki, который возможно расшифровать только используя алгоритмы БС оператора. Однако в те годы, алгоритмы криптографии в «симках» были проще и с помощью специального софта была возможность «сбрутить» (взломать методом перебора) Ki за несколько часов. Патч, предположительно, работал довольно просто: он подменял Ki и IMSI на те, которые уже были предварительно посчитаны и заставлял baseband часть прошивки заново искать сеть. По итогу мы работали уже с другой SIM-картой :)
Не стоит забывать о различных патчах, связанных с Java-машиной: были ускорители Java-приложений, расширители хипа и тому подобное, позволяющие играть в Java-игры с большим комфортом.
Высшей точкой развития моддинг-сцены на телефонах Siemens стало появление эльфлоадера и эльфпака — возможности запуска нативных программ, написанных на C с полноценной многозадачностью и возможность переключаться между несколькими приложениями! Фактически, это превращало простой мультимедийный телефон в смартфон, который мог выполнять довольно широкий круг задач! Чего уж говорить, одними из самых популярных эльфов были клиенты электронной почты, аськи, плееры с поддержкой mp3 (они, кстати, с дикими хаками — поскольку PCM-часть сименсов толком не отреверсили, эльф просто налету конвертировал mp3 в wav (т. е. тот же PCM) и скармливал в родной плеер :)). Такая свобода действий позволяла, например, портировать на телефон эмулятор NES или SEGA и играть в них на долгих и скучных парах. Для владельцев обычных кнопочников (но не смартфонов на WM2003 for Smartphones) это было шиком и роскошью.
Стоит упомянуть также проект моего друга, с которым мы довольно давно знакомы — @Azq2, который вообще умудрился портировать на него Linux, причём полноценный, а не ucLinux (который не требует MMU и в целом попроще своего десктопного аналога).
Со временем подтянулись и фанаты других производителей мобильных телефонов — Motorola и Sony Ericsson. Сначала появились «моторы» — на мотофане с большим трудом смогли справиться с RSA-подписью и шифрованием прошивок (об этом может подробнее рассказать один из активных админов мотофана — @EXL. По его словам, не обошлось без утечек дебаг-инфы прошивки), но всё же нашли тестпоинт, изучили утекшую информацию и написали свой эльфлоадер, который работает на E398, E1, Razr V3/V3i и некоторых других аппаратах. Сонерики подтянулись позже всех, а вот на Nokia S40 почему-то никто особо и не пытался ничего сделать. Возможно дело в RPL-сертификатах и жёсткой политике Nokia относительно модов, а может в том, что моддерам хватало Symbian — ведь кастомные прошивки выходят даже сейчас!
Недавно мне подарили сразу двух красавцев в очень хорошем состоянии — Siemens C65 от известного блогера Maddy MURK и Siemens C75 от моего читателя из Краснодара. А ещё мой читатель @kostett, задарил CX75 в идеальном состоянии, S75 под реставрацию и S68, за что вам всем огромное спасибо!
И C65 и C75 имели определенные аппаратные проблемы — оба девайса не включались и не подавали никаких признаков жизни. Ну что ж, берём в зубы сервис-мануал, схему и идём диагностировать наших красавцев, плавно переходя в практическую часть нашей статьи!
❯ Диагностика
Начнём мы с вами с C75. Визуально девайс был в очень хорошем состоянии, если бы не бич 75-ой серии — крайне хрупкие корпуса. Крепления фронтальных панелек рассыпались прямо на глазах, так что на этапе фотографирования пришлось немного, эээ, выкручиваться :) К сожалению, к моменту написания статьи я так и не нашёл новый (пусть и китайский) корпус на C75 по нормальной цене, зато нашел на S-ки!
Итак, при установке аккумулятора, девайс не реагируетy ни на кнопку включения, ни на зарядное устройство. В первую очередь, нам нужно определить характер неисправности: исправны ли контроллер питания, процессор и флэш-память.
Очевидно что одно без другого работать не может, однако здесь важна поступательность действий: если за кнопку включения и формирование напряжений для остальных модулей отвечает КП, то и начинать нужно с него. Смотрим, присутствует ли на кнопке включения напряжение, близкое к вольтажу часов реального времени (~2.8В).
В нашем случае, питальники были на месте и при замыкании KB_ON_OFF на землю, КП кратковременно поднимал напряжения на процессоре и затем обратно отключался. Смотрим внимательно сервис-мануал и находим Power On Sequence. После старта контроллера питания, процессор должен вычитать из флэш-памяти стартовый код прошивки, проинициализировать ОЗУ и после этого регулярно отправлять «пинг» контроллеру питания, сигнализируя о том, что телефон работает. Если связь с флэш-памятью, ОЗУ или КП утеряна, то модуль WatchDog в КП просто выключит устройство.
Цитата из схемы на A60 на платформе E-Gold, но ASIC'и концептуально очень похожи.
Кроме того, процессор тактируется от 26МГц кварца, идущего с SDR-передатчика. Если он пострадал в следствии воды или падения — телефон также не включится. Проверить наличие старта процессора можно с помощью x65PapuaUtils. Если девайс хотя бы как-то отвечает на нажатие красной кнопки и что-то показывает в логе «папуаса» — значит передатчик, скорее всего, жив. Но для этого, конечно же, нужен дата-кабель.
Самое время глянуть, что у нас под металлическими экранами! Вскрываем их и видим… вот это:
Явные следы попадания влаги, процессор был весь ужарен и во флюсе… кто-то ещё в нулевых пытался его ремонтировать. Берём в зубы строительный фен и сдуваем процессор:
Процессор снялся за 10-15 секунд без нижнего подогрева, что говорит нам о том, что прошлый мастер пытался посадить процессор «на пузо» (т. е. не нанося новые шары припоя) и у него явно не получилось. После этого на девайс забили и отложили в долгий ящик… чтобы спустя 18 лет он попал ко мне! Специально для ремонта этого «симака» я нашёл и купил новый BGA-трафарет, отреболил процессор и поставил обратно:
Помимо перекатки процессора, поскольку девайс «купался», помимо поврежденных шаров процессора помер и фильтр на USB, отвечающий за дата-кабель. Его можно заменить на перемычки, но для этого нужен адекватный микроскоп, которого у меня пока нет. Я пробовал махнуть с 65 серии — не работает.
Тот самый крошечный фильтр на примере C65. Находится в BGA-корпусе, его легко посадить «на пузо».
Подсобрал девайс и… Он включился! Правда, работал только под небольшим изгибом — присмотревшись, я обнаружил следы флюса около флэш-памяти производства Intel, которую тоже сажали на пузо, да ещё и криво. После прогрева, девайс поработал какое-то время и через пару дней отвалился — как раз к моменту подготовки статьи, а у меня как назло не было нужного универсального трафарета :( Поэтому C75 выбывает из сегодняшней статьи, окруженным, но не сломленным :) Трафареты заказаны — ждём, оживляем и я сделаю отдельный пост о его судьбе.
Давайте перейдем ко второму красавцу — Siemens C65. Как я уже говорил ранее, его мне подарил известный блогер Maddy MURK, у которого частенько выходят обзорные ламповые видео о ретро-мобилках. Заслал он мне сразу несколько девайсов под восстановление, одним из которых и был этот C65!
Изначально, у девайса был битый дисплей — это не проблема, у меня такие есть :) Очевидно, что это следствие падения и как это часто бывало на 65'ых/75'ых, заменой дисплея всё не закончилось. Всё дело в том, что в те годы отвал процов и диалогов был типовой болячкой на телефонах Siemens. После перехода на более низкий техпроцесс производства плат (шары уменьшились в размерах, а следовательно и сами контактные площадки), пятачки стали хрупкими и в лучшем случае дело заканчивалось отвалом с необходимостью прогрева или перекатки. А в худшем — пятаки под процессором срывало и приходилось их восстанавливать, тянув перемычки!
К сожалению, конструктивно некоторые Сименсы были не очень продуманы: блок клавиатуры был внешним и пружинился к коннектору на плате, создавая при каждом нажатии нагрузку на плату. Добавить к этому то, что иногда телефоны закручивались фиг пойми какими винтами (после мастерских и т. д.), перекашивая плату, и результат был печальным — спустя пару лет активных нажатий на клавиатуру, девайс переставал включаться…
И причина этому проста — из-за того, что плата подвергается регулярным деформациям (хоть и несерьезным) — со временем может либо оборвать дороги, либо просто отвалиться процессор/флэш/ОЗУ с необходимостью дальнейшей перекатки. Именно поэтому живых CX65 осталось относительно немного.
Девайс определялся в «папуасе», но не мог зайти в сервисный режим из-за ошибки связи с ОЗУ. Тут уже всё стало очевидно и я приготовил фен… ремонт оказался абсолютно таким же, как и в случае с C75! Правда, если вы хотите попробовать оживить свой симак и перекатывать BGA не умеете, то можете просто погреть и покачать процессор с хорошим флюсом, есть шанс, что девайс оживет и ещё порадует вас или, по крайней-мере, позволит скинуть фото на другое устройство.
Обратите внимание на выделенную надпись. Boot not loaded как раз означает то, что телефон ответил на нажатие буткея, но девайс не смог полностью проинициализировать загрузчик.
Дисплей я взял в одном из сименсов, которые купил по 70 рублей «на запчасти».
Включаем девайс и тут тоже всё работает :)
Девайс определяется в папуасе и полностью проходит тест дисплея, кнопок и звука, что означает его полную работоспособность! Подытоживая аппаратный ремонт, рассказываю о некоторых типовых болячках телефонов Siemens:
Телефон едва слышимо пикает при попытке включения: это называется пикофф (отключение телефона с вылетевшим исключением) из-за переполнения раздела с пользовательскими данными. Увы и ах, но его придётся форматировать (хотя перед этим можно посчитать ключи и снять дамп, а потом попытаться поискать фотки в условном binwalk'е). Решается очень легко при наличии дата-кабеля: подключаем телефон к ПК с Windows XP (подойдет и виртуалка), заходим в «папуас», жмём «Service Mode» и кратковременно нажимаем красную кнопку. После того, как девайс зашёл в сервис-мод, форматируем User-раздел в соотвествующей вкладке. Всё, девайс загрузится как новый!
Телефон не стартует, VRTC нет, питаний на тест-поинтах вообще никаких нет: начните с осмотра Dialog, на месте ли обвязка, не калится ли он, приходит ли на него VBat, какое потребление при нажатии на кнопку питания и есть ли реакция на подключение ЗУ. При необходимости перекатать или заменить. Аккумулятор тоже стоит проверить.
Телефон не стартует, но определяется в папуасе: проверьте процессор. При необходимости перекатайте и, если умеете, восстановите пятаки. Вполне возможно, что девайс когда-то прошивали и окирпичили — прошейте последнюю доступную сервисную прошивку (через Winswup). В крайнем случае можно посчитать буткей и залить фуллфлэш с чужого девайса.
Телефон не стартует, напряжения есть и никак не определяется: вполне может быть что и фильтр USB-поврежден, из-за чего папуас не видит телефон. Опять же, катаем проц, если не помогло — то ОЗУ и КП. Стоит глянуть на наличие 26МГц кварца с передатчика.
Телефон пикает и отключается в процессе работы: если есть дата-кабель, то x65PapuaUtils покажет причину пикоффа и ExitString, что поможет понять из-за чего ошибка. Но в основном это следствие кривой прошивки: шьем последнюю официальную и наслаждаемся!
❯ Прошиваем и патчим
Давайте сначала я просвещу вас в терминологию в мире моддинга сименсов:
Патч — хак оригинальной прошивки, который прошивается в флэш-память по определенному адресу. Обычно патчи подменяют графику, реакцию системы на какие либо события (например поиск сети или пропуск проверки SIM-карты) или добавляют новые функции.
Эльфлоадер — загрузчик нативных ELF-программ.
XTask — диспетчер задач, позволяющий переключаться между программами.
Эльфпак — сборка из эльфлоадера и необходимых патчей для его работы.
SWILIB, библиотека функций — Специальная таблица функций, предназначенная для того, чтобы эльфы и патчи могли работать на разных версиях прошивок.
Пришло время пропатчить наши сименсы и посмотреть, на что они способны теперь! Я собрал все необходимые файлы, в том числе папуас, флэшер и патчер, а также прошивки для C65 и SL65 и необходимые патчи в один архив, дабы вам не пришлось ничего искать самим! К сожалению, к моменту подготовки статьи, я так и не смог найти фильтр на C75, да ещё и флэша отвалилась :( Поэтому моддить мы будем только C65 и S75! И в этом нам снова поможет x65PapuaUtils. Для применения патчей нам необходимо разблокировать загрузчик путем расчёта Boot-ключе, которые генерируются на основе связки ESN + Hash. Для устройств 65 серии с низкой версией прошивки, x65PapuaUtils может сам всё сделать одной кнопкой, но для устройств 75 серии придется устанавливать отдельный мидлет и смотреть бут-ключи там.
Мидлет, позволяющий узнать ESN, эксплуатировал интересную уязвимость Java-машины, связанную с реализацией deflate. Благодаря тому, что разработчики оставили ошибку с переполнением, мидлет выходил за границы указателя и инжектил собственный шеллкод, который позволял читать и писать всё адресное пространство устройства :)
После разлочки загрузчика, сгенерируйте VKD-файл в папуасе и ставьте софт одного из самых крутых дядек в моддинг-сцене сименсов: V_KLay от ValeraVi! Это довольно крутая программа, которая оперирует собственным «языком» патчей: каждый патч предполагает указатель на адрес в флэш-памяти, старое значение (для валидации) и новое. По итогу, каждый патч — это просто текстовый файл, в том числе и эльфлоадер!
Пример патча. ValeraVi даже какое-то подобие препроцессора сделал с #if'ами — что вообще улёт :)
Но ставить патчи пока рано, на C65 в чистом виде не было нормального эльфпака, хотя патчей было достаточно. Обычно его перепрошивали в SL65, где была более шустрая Java-машина (вроде даже с поддержкой M3G) и возможность снимать видео! В остальном, девайс был почти аналогичен C65. Сначала телефон нужно «переименовать» в SL65 с помощью утилиты x65Flasher, а затем прошить WinSwup'ом с отключенными галочками проверок.
Девайс откажется стартовать, вылетая с пикоффом (при этом телефон будет жаловаться на Invalid HW). Для обхода этого ограничения, нам необходимо поставить специальный патч на обход проверки железа телефона и адаптации C65 к SL65. Делается это просто: загружаем патч по отдельности, выбираем C65 (Password boot) и подключаем выключенный телефон к ПК. Когда программа начнет искать телефон — кратковременно нажимаем красную кнопочку и программа начнет патчить девайс!
Делать дамп флэши необязательно, достаточно просто нажать пробел (дамп затянется на час-полтора).
После применения патчей, девайс стартует и работает как будто это SL65! Давайте же теперь присмотрим себе прикольные плюшки в базе патчей и накатим что-нить интересное. Например, я поставил «ускоритель Java», «замена значков на C75», «открыть все диски» и «работа без SIM-карты».
Увы, я несколько ночей бился с эльфпаком и заставить работать у меня его не вышло: на C65 эльфпак слишком старый и удален из базы патчей, а на SL65 он банально нерабочий — в комментариях тоже были жалобы на то, что программы банально не работают :(
Накатили эльфпак? Отлично, теперь наш телефон пропатчен, посмотрим как это работало в случае C65, а заодно узнаем, какую информацию он хранит в себе уже почти 20 лет!
❯ Знакомимся с девайсом поближе
Друзья! Эту часть статьи я решил оформить в виде серии относительно небольших видосов, дабы вы могли лучше прочувствовать дух того времени. Для занятых читателей, или просто тех, кто не хочет смотреть видео, я хотел сделать отдельный подраздел, где были бы только скриншоты - но увы, ограничение Pikabu на 25 медиа-элементов в одном посте дают о себе знать :(
Включив девайс, нас встречает такой знакомый звук щелчка включения света и пацаненок в очках на фоне! После установки патча на работу без SIM, девайс сразу грузится в систему и работает стабильно, без каких либо проблем. Эффекты от патчей есть сразу. Разблокируются два скрытых диска с кэшем системы и конфигами, что позволяет чистить их без форматирования устройства, немного меняется верхний статусбар, а Java-машина и StackAttack в ней работают заметно шустрее!
Но самая главная кладезь информации в «симаках» — это, конечно же, раздел файлов! Телефоном пользовалась маленькая девочка лет десяти и здесь, спустя практически 20 лет, сохранилась часть её жизни! На телефоне остались фотографии родственников, а также мультимедийные файлы, которыми она обменивалась со своими друзьями и возможно одноклассниками! На девайсе есть просто куча различных картиночек и гифок, популярные в рунете тех лет. Котики, гифки с девушками, машины — всё, чем делились пацаны класса попадало сюда! Не менее важной была и фонотека каждого телефона! Некоторые MIDI-мелодии на большинстве девайсов и сейчас можно встретить!
Что особенно забавно, девочка, видимо, очень хотела себе Sony Ericsson, так что на телефоне есть заставка с лого «сонерика» и фирменным рингтоном! А может, это отголоски тех лет, когда сонерики считались самыми крутыми и некоторые пытались стилизовать под них свои телефоны? Ведь в начале 2010-х такой тренд тоже был, но с кастомными прошивками в стиле iOS для Android смартфонов!
Осторожно, на фото ниже ламповые бобины, а из-за названия файла начинает играть миди в голове! Кто тут не узнает evropa.mid? На телефоне были самые разные треки, начиная с midi-версий ранних треков Eminem, заканчивая гимном СССР и, конечно же, саундтреками фильмов «Бумер» и сериала «Бригада»!
Но вы ведь, вероятно, ждёте эльфов, дабы узнать что они могли привносить новенького в телефон?
❯ А эльфы? Эльфы где!?
Ну как я мог написать статью про Siemens'ы без эльфов! Как я уже говорил выше, на C65 (который стал SL65) эльфлоадер поставить мне не удалось. Однако, на более популярные модели Siemens, эльфлоадер легко установить и он работает без проблем, разве что перед этим придется прошиться на самую свежую прошивку для вашего девайса!
Изучать эльфы мы будем с вами на примере Siemens S75, который подарил мне читатель! На телефон были установлены патчи для работы без SIM, библиотека функций а также эльфпак. Но для работы эльфов, необходимо закинуть на нулевой диск (т. е. в память) папку ZBin с некоторыми полезными программами типа того же XTask'а. Если у вас нет подходящей флэшки, то это можно сделать через Bluetooth, ИК-порт или дата-кабелем с помощью Mobile Phone Manager (осторожно, он забагованный до жути!).
Ну, а на видео ниже предлагаю вам ознакомиться с тем, что же привносили эльфы в мир телефонов Siemens!
❯ Заключение
И вот, казалось бы, мобильные телефоны Siemens серьёзно сдали позиции в 2004 году и совсем погибли после покупки компанией Benq. Но какая же ирония случилась ближе к концу 2000 годов, когда Nokia на платформе S40 начала использовать… чипсеты Infineon X-Gold, те самые продолжатели сименсовких S-Gold'ов! До этого Nokia использовала собственный процессор UPP (вроде бы, разработанный в сотрудничестве с STMicroelectronics). Помимо Nokia, X-Gold использовали Apple и некоторые другие производители (LG), а старую платформу E-Gold можно было встретить в некоторых бюджетных телефона, по типу Мегафон Минифон. То есть в весьма своеобразной форме, учитывая родственные связи Infineon и Siemens, «сименсы» как бы вернулись обратно на рынок телефонов, только уже в качестве «сердца» телефонов других брендов!
Вот такой была моддинг-сцена эльфов в нулевых годах! Лёгким движением руки, сименсы превращались из обычных кнопочников в почти аналоги современных смартфонов! Казалось бы, прошло практически 20 лет, многие форумы упомянутые в первом разделе статьи уже не существуют, а тот же мотофан стал прибежищем коллекционеров и немногих владельцев «моторов» в наше время. Но как бы не так! Спустя много лет, интерес к кнопочникам снова пробудился у многих участников сообщества того же сименс клаба. Мы чудом обнаруживаем, что база патчей для Siemens, которую ведет Илья kibab всё ещё работает, EXL с мотофана продолжает портировать всякие ништяки на моторы, Azq2 всё ещё пилит эльфы, патчи, а также полноценный аппаратный эмулятор процессора SGold, который способен запустить родную прошивку! У любителей моддинга мобилок из нулевых есть собственный TG-канал siepatch, где обсуждают моддинг под симаки, моторы — всё подряд! Но чатик формально приватный и по инвайтам. Если действительно хотите попасть туда — пишите мне в тг @monobogdan, скину инвайт.
P. S.: Друзья! Время от времени я пишу пост о поиске различных китайских девайсов (подделок, реплик, закосов на айфоны, самсунги, сони, HTC и т. п.) для будущих статей. Однако очень часто читатели пишут «где ж ты был месяц назад, мешок таких выбросил!», поэтому я решил в заключение каждой статьи вставлять объявление о поиске девайсов для контента. Есть желание что-то выкинуть или отправить в чермет? Даже нерабочую «невключайку» или полурабочую? А может, у этих девайсов есть шанс на более интересное существование! Смотрите в соответствующем посте, что я делаю с китайскими подделками на айфоны, самсунги, макбуки и айпады! Да и чего уж там говорить: эта статья уже сама по себе весьма наглядный пример! Найти меня можно в комментариях тут, на Пикабу, и в тг @monobogdan
Понравился материал?
Был у вас Siemens?
Я тут Galaxy S8 прикупил за 800 рублей. Большая часть фотографий в статье сделана именно на него. Норм качество?
Понравилась статья и хотите поддержать меня, дабы новые статьи выходили чаще? Ниже есть формочка с донатами. Всем большое спасибо!
А вам как наши сегодняшние герои? Понравились? Если вдруг интересно, то у меня есть канал в Телеге, куда я публикую бэкстейдж со статей, всякие мысли и советы касательно ремонта и программирования под различные девайсы, а также вовремя публикую ссылки на свои новые статьи. 1-2 поста в день, никакого мусора!
Материал подготовлен при поддержке TimeWeb Cloud. Подписывайтесь на меня и @Timeweb.Cloud, дабы не пропускать новые статьи каждую неделю!
Купил я недавно по случаю хитрый девайс, результат скрещивания планшета и смартфона. Это iScan, портативный ручной сканер PhotoScan 01 черный. Здесь я хочу поделиться с вами своими первыми впечатлениями, а также ознакомить вас с прилагаемой инструкцией для пользователя. Эту инструкцию я отсканировал этим сканером, текст распознал прилагаемым софтом и перевел на русский.
*** Стр.02 Что такое ручной сканер. Зачем и кому нужен ручной сканер. Цена. Основные характеристики. Как у меня появился ручной сканер и что я им сделал в первую очередь. ***
Ручной сканер - немного странный девайс, результат скрещивания обычного планшетного сканера и смартфона.
Отличается низкой ценой около 3700 рублей по состоянию на 27.01.2024 и маленькими размерами (его длина заточена под ширину стандартного листка бумаги и равна примерно 31см).
Портативный ручной сканер PhotoScan будет полезен для мобильных людей, работающих с бумажными документами, и нежелающих использовать свой смартфон для фотографирования документов.
Основные характеристики
Тип сканера - Портативный мобильный сканер; ручной
Тип датчика сканера - CIS
Страна производства - Китай
Разрешение сканера - 900x900 dpi
Автоподача оригиналов для сканирования - нет
Длина упаковки - 31 см
Высота упаковки - 10 см
Ширина упаковки - 5 см
Одной из особенностей модели PhotoScan 01 является возможность работать автономно без подключения к компьютеру или смартфону.
В чехле сканер похож на элегантный маленький дамский зонтик или на маленькую дамскую полицейскую дубинку.
Приобрести этот аппарат меня сподвигло желание попробовать что-то принципиально новенькое - это да, ручной сканер принципиально отличается от планшетных.
*** Стр.03 Комплект поставки. Что там есть. Чего там нет, но требуется. ***
На коробке поставки следующий текст.
Портативный сканер в виде волшебной палочки, очень компактный
Встроенный детектор сканирования в реальном времени, чтобы избежать искажения изображения.
Через встроенный регулятор скорости можно контролировать скорость сканирования.
Две батарейки АА позволяют сканировать более 200 страниц.
Прилагается программное обеспечение оптического распознавания текстов.
Два варианта формата: JPEG/PDF.
Высокое разрешение: МАКС. 900 точек на дюйм.
Чрезвычайно портативный.
После того, как поверхностно разобрались с текстами на коробке, откроем ее и посмотрим внутрь.
Помимо самого девайса (который мы посмотрели выше) и короткой инсрукции (ее по разберем пошагово далее) здесь мы найдем следующие вещи.
Калибровочная карточка - плотная картонка с инструкцией, как проводить эту самую калибровку.
Диск с софтом для распознавания текстов - софт OCR ABBYY FineReader 11. Сразу важное примечание - предупреждение. Сама версия софта бесплатная. Но есть ловушка. Программа предложит произвести обновление. Этого делать не надо. Обновленная версия запросит провести оплату.
Кабель - для соединения с компьютером.
Чехол - для хранения и переноски.
Салфетка - для протирки от пыли и грязи.
Предметы, которых нет в поставке, но которые нужно иметь.
2 батарейки АА - именно от этих батереек дефайс берет энергию. Но в комплект батарейки не входят, видимо из опасения, что они успеют разрядиться прежде чем достигнут покупателя.
Карта памяти 32ГБ - точнее, не более 32-х ГБ.
Тупая иголка - дырки, в которые надо тыкать в девайсе есть, а вот самой тупой иглы почему-то нет. Даю ее изображение, чтобы было совсем понятно, о чем речь. Обычно входит в состав поставки смартфонов. Эта тупая иголка понадобиться для установки времени (1 Time set - Установить время) и форматирования карты (4 Format Button - Кнопка "Формат").
Вообще, очущается странный и стойкий закос под старину. Тут и диск вместо флешки (а у Вас есть устройство для чтения ДВД дисков?), и жесткое ограничение по памяти для карты. Хорошо еще, что пока такие карты есть в продаже.
Итак, теперь нам понятно, что нас ждет в поставке, что надо иметь, можно двигаться дальше.
*** Стр.04 - Стр.10 Инструкция вложенная. ***
Здесь и далее мы будем сканировать инструкцию этим сканером, затем предлагаемым софтом будем производить распознавание текста. И, до кучи, переведем это все на русский.
***** Руководство по портативному сканеру *****
*** 1: Спецификация ***
НОВЫЙ и ПРАКТИЧНЫЙ — цифровой портативный сканер.
Разрешение сканирования: 300/600/900 точек на дюйм.
Сохраняет файл JPG или PDF на карту microSD.
Поддерживает карту Micro SD до 32 ГБ.
2 щелочные батарейки АА.
Примечание. Для MS Windows 10 установка драйвера не требуется. Вообще, сканер работает как самостоятельный дефайс вообще без подключения к компьютеру. Подключение к компьютеру по USB требуется в момент передачи созданных файлов на компьютер.
*** 2. Компонент: ***
NN Компонент Функция
1 Установить время Нажмите эту кнопку, чтобы войти в режим установки времени
2 USB-порт Порт USB 2.0, высокоскоростной
3 SD Card Карта памяти MicroSD
4 Кнопка "Формат" Нажмите эту кнопку, чтобы отформатировать карту Micro SD.
5 Форматы хранения Выберите форматы хранения. На ЖК-дисплее будет отображаться JPG/PDF.
7 Питание/Сканирование Включение/выключение питания: удерживайте эту кнопку в течение 2 секунд, затем включите питание или выключите питание. После включения питания нажмите эту кнопку для сканирования. Затем нажмите эту кнопку, чтобы остановить сканирование.
8 Источник питания 2 батарейки АА
9 Разрешение На ЖК-дисплее отобразится значок режима высокого/среднего/низкого разрешения 900/600/300 точек на дюйм.
Двигая медленно сканер, ваша рука должна оставаться устойчивой, чтобы получить изображение высокого качества.
Нажмите кнопку питания/SCAN, чтобы остановить сканирование.
Примечание. Качество сканирования зависит в основном от правильности движения сканера. А это зависит от твердости вашей руки и от опыта сканирования. Все листы инструкции сделаны с помощью этого сканера. Этой мой первый опыт ручного сканирования. Как вы заметили, качество не очень высокое.
Первые 5 файлов, созданных при помощи этого сканера.
26.01.2024 19:10 525 732 IMAG0003.JPG
26.01.2024 19:07 493 004 IMAG0002.JPG
26.01.2024 19:02 648 931 IMAG0005.JPG
26.01.2024 19:02 90 661 IMAG0004.JPG
26.01.2024 18:49 1 576 408 IMAG0001.JPG
Обратите внимание на маленький размер одного из файлов из этой первой пятерки. Это признак того, что файл получился с некачественным изображением.
Вообще, я думаю, не стоит расстраиваться если у меня или у вас первые файлы получатся с не слишком качественными изображениями. В отличие от привычного планшетного сканера, здесь важное значение имеет твердость руки, т.к. протяжка производится вручную. Нужна тренировка кисти руки!
*** 4. Инструкции по светодиодным сигналам ***
"зеленый" Сигнал включен – сканирование в процессе.
"красный" Сигнал включен - сканирование слишком быстро. Перезапускаем, снова сканируем.
"красный" Сигнал выключен - сканирование нормальное. Продолжайте процесс сканирования.
*** Итоги. Выводы. Пожелания. ***
Если вы любите необычные девайсы, вам нравится процесс сканирования, а рука ваша тверда, то купите этот гаджет хотя бы просто для развлечения.
Если вам предстоит большая работа по сканированию большого количества разных документов, то полагаться на этот маленький сканер не стоит. Лучше приобрести обычный планшетный сканер.
Друзья! Многие ли из вас помнят такой телефон, как Nokia N-Gage? В начале нулевых финская компания сделала смелую попытку ворваться на рынок игровых консолей, создав устройство, которое сочетало в себе сразу две функции: полноценный смартфон на базе аппаратной платформы WD2 с Symbian на борту и игровая консоль с собственными картриджами! Год назад читатель подарил мне N-Gage QD с некоторыми аппаратными проблемами, которую я успешно оживил и подготовил подробную статью, в которой мы: узнаем историю появления N-Gage на свет и на чём он работал «под капотом», отремонтируем устройство и узнаем о самых частых аппаратных «болячках» смартфонов Nokia на платформе WD2, а также посмотрим на местную игровую библиотеку подробнее и выясним особенности разработки игр под Symbian! Интересно? Тогда добро пожаловать под кат!
❯ Что за N-Gage и как он появился?
Пожалуй, в истории мобильного подразделения Nokia, N-Gage один из самых желанных и неоднозначных устройств, когда либо разработанных компанией. Девайс прошёл долгий путь от смартфона, который ругали чуть ли не все, до легендарного устройства, которое ценится некоторыми людьми и сейчас.
По сути, N-Gage является уникальным смартфоном. За всё время существования мобильного рынка, по настоящему игровых телефонов почти и не выходило: можно вспомнить телефоны Sony Ericsson с геймпадом EGB-30,Xperia Play, японские и корейские телефоны, о которых мало кто слышал, да и китайские реплики Nokia с эмулятором NES на борту.
Я писал материал о Xperia Play год назад
В начале нулевых, рынок мобильных игр начинал активно развиваться. С ростом мощностей мобильных девайсов и появлением цветных дисплеев, стали появляться самые разные платформы для запуска мобильных приложений и продажи игр через операторские сети. Например, довольно большим успехом пользовалась перспективная платформа Mophun (Sony Ericsson T310, T610), которая использовала собственный платформо-независимый байткод. Помимо этого, в платформе были уже готовые библиотеки для упрощения разработки игр: вывод 2D спрайтов, 3D графики (программный рендеринг), звука и обработка ввода. Нельзя также не вспомнить о Qualcomm BREW — который использовался во многих CDMA-телефонах в США и была по настоящему нативной, позволяя использовать все ресурсы телефона. Но самой популярной стала, конечно же, J2ME, которая предустанавливалась на большинство телефонов до ~2014 года.
Sony Ericsson T610 - один из девайсов, поддерживающих Mophun
Само собой Nokia не могли упустить момент и не попытаться занять нишу на мобильном рынке игр. У Nokia было две основные платформы: S40, используемая в кнопочных телефонах и S60, платформа основанная на Symbian, которая использовалась в смартфонах компании. Уже в 2003 году, в платформах S40 и S60 была полноценная поддержка J2ME игр и Java показывала себя как достаточно перспективная платформа. Nokia даже реализовали свои собственные расширения для J2ME, дабы игры могли использовать больше возможностей устройства, чем предоставляет MIDP. В целом, телефоны Nokia были очень популярными, благодаря чему почти все J2ME игры имели собственную версию под S40 (а иногда и более навороченные под S60). N-Gage, который должен был объединить телефон и игровую консоль, был анонсирован ещё в ноябре 2002 года, однако вышел в свет 7 октября 2003 года.
Первая версия N-Gage
Однако N-Gage был отнюдь не первым устройством в подобном дизайне. Его предком принято считать Nokia 3300 — смартфон, который в первую очередь был ориентирован для использования в качестве мультимедийного устройства и прослушивания музыки. Тем не менее, устройство тоже поддерживало J2ME и на нём вполне можно было проходить Symbian-годноту из нулевых.
N-Gage был встречен весьма неоднозначно. В устройстве было достаточно много как аппаратных, так и программных недоработок, которые вызывали недовольство среди пользователей. Первая и пожалуй самая главная для игровой консоли — отсутствие возможности горячей смены картриджей с играми. Сами игровые картриджи были реализованы в виде обычных MMC-карт памяти, однако, судя по всему в S60 не было поддержки «горячей» замены карт памяти как таковой, из-за чего для смены игры необходимо было сначала достать аккумулятор, заменить флэшку с игрой, установить аккумулятор, включить устройство и дождаться его загрузки (секунд 15) и только потом уже начинать играть. А учитывая, что это был телефон, то довольно длительное пребывание вне сети устраивало далеко не всех пользователей.
Картриджи были проблемой и для жителей отдаленных регионов. В России, насколько мне известно, картриджи можно было купить только в Москве и СПБ, хотя возможно и ещё в каких-то больших городах. Но вот, например, у меня, жителя Ейска, едва ли была возможность купить картридж «физически» — разве что только под заказ. Другое дело Java игры, которые весили по 50-100 килобайт в те годы и без проблем скачивались даже через мобильный интернет. Впрочем, судя по всему, никакого особого DRM в N-Gage играх не было и после того, как энтузиасты научились сливать игры с MMC-карточек — на N-Gage начало процветать пиратство.
Даже с точки зрения звонков у девайса были свои нарекания. Конструктивно инженеры Nokia решили расположить слуховой динамик не с лицевой части, а с боковой. Из-за этого для разговоров приходилось переворачивать телефон боком. Выглядело это весьма необычно для прохожих, незнакомых с N-Gage. :) Тем не менее, в устройстве были и революционные решения: вспомнить хотя-бы N-Gage Arena, который объединял мобильных игроков в одну сеть с друзьями, таблицами рекордов и т. д.
Чуть меньше чем через год, в мае 2004 года вышла N-Gage QD: исправленная и доработанная версия N-Gage, в которой заметно изменили дизайн, добавили поддержку замены картриджей без выключения девайса и добавили слуховой динамик на переднюю часть корпуса. Именно эта версия N-Gage стала популярной и её чаще всего можно найти на онлайн-барахолках. И хотя N-Gage ругали за недоработки, мобильным игрокам она полюбилась за высокий уровень игр для телефонов тех лет: графика была гораздо лучше чем на GBA и была близка по уровню к PS1, геймплей разнообразнее, чем в Java-версиях, да и сами игры имели довольно большой полноценный сюжет. Это был действительно замах на уровень таких мастодонтов, как Nintendo! Приятным бонусом была полноценная поддержка Java-игр, благодаря чему на телефоне можно было гораздо удобнее проходить уже вышедшие игры для MIDP 1.0, даже если вся библиотека игр N-Gage уже была пройдена!
Не менее интересно девайс устроен и «под капотом». Как я уже говорил выше, N-Gage был построен на базе зарекомендовавшей себя платформы Nokia WD2, которая использовалась в смартфонах 3650, 3300, 3230, 6600 и.т.д. Многие годы смартфоны Nokia работали на базе чипсетов OMAP, в случае WD2 это скорее всего (не точно, есть вероятность что UPP собственной разработки — как и в случае с S40) были специализированные версии OMAP с «перевернутыми» регистрами для предотвращения портирования Linux на устройства Nokia, поскольку OMAP были доступны рядовым энтузиастам.
Характеристики N-Gage были следующими:
Процессор: ARMv4 ядро на частоте 104МГц, что было стандартом для многих телефонов в те годы (например Siemens на платформе S-Gold работали на той же частоте, а E-Gold — вдвое меньшей). Скорее всего, процессор собственной разработки Nokia.
Память: 16Мб SDRAM ОЗУ и 16Мб ПЗУ, раздельно. Иногда флэш-память изнашивалась и в СЦ её нередко меняли. Мои читатели, которые в нулевых работали в СЦ наверняка вспомнят о "бутербродах" на некоторых телефонах :)
Дисплей: 2.1" матрица с разрешением 176x208 и глубиной цвета 12-бит (4096 цветов), выполненная по технологии CSTN (хотя возможно и TN). Для тех лет, диагональ дисплея и его разрешение были оптимальными, круче были только коммуникаторы с 2.4" дисплеями 240x320. Фактически все (или почти все) смартфоны Nokia на Symbian тех лет использовали одну и ту же матрицу, с чуть разной длинной шлейфа (просто где-то её переворачивали вверх-тормашками, как на N70).
ОС: Symbian 6.1
Аудиовыход: 2.5мм джек (моно)
Как видите, ни о каком GPU и речи не шло. Вся отрисовка полагалась исключительно на процессор и результат того, что даже такие крутые 3D-игры как Tony Hawks и Tomb Raider идут на N-Gage — заслуга программистов, которые оптимизировали свои рендереры для работы на 104МГц ядре! А ведь некоторые телефоны тех лет (например, Motorola) использовали отдельные 2D GPU для ускорения отрисовки интерфейса и работы с камерой — ATI Imageon! Благодаря тому, что девайс строился на смартфонной платформе, на нем можно было не только играть, но и слушать музыку, а также смотреть видео и серфить интернет. Весьма и весьма для тех лет!
Даже спустя несколько лет после выхода телефон N-Gage, сам бренд и платформа N-Gage Arena продолжила существование на флагманских смартфонах Symbian, которые уже не имели такой игровой дизайн. Одним из N-Gage 2.0 девайсов была легендарная Nokia N95, которая в плане игровой направленности была гораздо круче, поскольку в устройстве использовался GPU PowerVR MBX Lite. Да, точно такой же, как и в iPhone 2G!
❯ Как он ко мне попал?
Конечно же, рано или поздно я и сам хотел обзавестись собственной N-Gage, с чем мне помог мой читатель, причём всё как я люблю: девайс был полурабочим и требовал некоторого ремонта. Более года назад мне написал подписчик на DTF с никнеймом «Improved white bonkle» и предложил заслать N-Gage QD и ещё одну плату под ремонт с некоторыми аппаратными проблемами: первая плата висела на белом экране, а вторая просто висела на логотипе Nokia без подсветки экрана. Помимо N-Gage, читатель положил «толстую» зарядку и флэшку на 1Гб, за что ему огромное спасибо.
Читатель рассказывал, что девайс он покупал у некого коллекционера «гаг» в России и довольно много играл на ней в эксклюзивные игры для данной платформы. После поломки устройства, девайс лежал у него какое-то время, пока он не заметил мои статьи и не решил заслать устройство под ремонт в хорошие руки. :) Ну что-ж, давайте оживим девайс!
❯ Ремонтируем устройство
Я не зря отметил то, что девайс подарили мне более года назад. Мне удалось сразу продиагностировать N-Gage и обнаружить неисправности, однако фактически отремонтировать устройство у меня не вышло: в то время я откровенно «бомжевал» и у меня даже более-менее адекватной паяльной станции не было. Дабы было понятно: тогда я перепаял коннектор АКБ, сейчас я восстановил BTEMP. На данный момент мне материально активно помогаете вы, мои читатели, поэтому за год я смог обустроить небольшое рабочее место, пригодное для проведения большинства ремонтных работ.
Разбирается девайс очень просто, как и большинство телефонов Nokia тех лет: снимается передняя часть корпуса (панелька), откручиваются винты, снимается пластиковая часть с клавиатурой, дисплей и затем плата из задней части корпуса. Кстати, панельки очень часто любили менять для придания свежего вида устройству: эдакие скины тех лет. :)
Обратите внимание на то, что некоторые детские болячки пользователь и сам мог отремонтировать. Не работает разъём ЗУ, наушники, вибромотор или динамик? Пошёл, купил за 10 рублей на ближайшем радиорынке и сам поменял! Вот уж настоящий right to repair. :)
Визуально осмотрев плату, я пришёл к выводу, что плата скорее всего не копанная китайцами: компаунд UPP'а (процессор) и Mjoelner (радиотракт) был не тронут, флэша с виду тоже в норме, все элементы стояли ровно. Однако около коннектора аккумулятора, я обнаружил следы канифоли: кто-то явно вручную перепаивал коннектор АКБ. Спросив у читателя, я получил утвердительный ответ: он действительно пытался перепаять коннектор аккумулятора с помощью советского паяльника.
Но почему же тогда устройство виснет на заставке Nokia без подсветки? Давайте взглянем на схему:
У коннектора АКБ три контакта: плюс питания, масса и BSI, который уходит напрямую в UEM (контроллер питания). Смартфоны Nokia на платформе WD2 были очень капризны к сопротивлению на BSI и UEM отказывался давать разрешение на старт при установке несовместимого аккумулятора. Казалось бы, BL-4C, BL-5C и BL-5CB по размерам почти одинаковые, но имеют разное сопротивление на BSI.
Однако даже при установке совместимого АКБ, устройство отказывалось включаться. Вывод простой: линия BSI находится в обрыве. Первым делом я сдул коннектор АКБ, перепаял его и девайс наконец-то нормально включился… ненадолго. Произошло падение в «белый экран», как и вторая плата. Причиной этому стала «стекляшка» рядом — токовый датчик LM3820: вероятно, в ходе ремонта коннектора, читатель умудрился неравномерно поплавить шары под стекляхой, из-за чего контакт нарушился. Стекляха среагировала на прогрев с флюсом и девайс снова включился…
Коннектор АКБ уже был, в скажем так, не идеальном состоянии, поэтому для точного исключения влияния коннектора я залудил контакты. Я люблю, когда платы не уколхожены, а весь ремонт близок к заводскому - поэтому коннектор "за кадром" будет заменен на норм.
Но не заряжался. :( При попытке зарядить девайс, система показывала сообщение «не заряжается» и потребление падало в ноль. Ремонт я проводил ещё тогда, когда у меня и станции нормальной не было, из-за чего я умудрился сколоть NTC-термистор прямо под коннектором аккумулятора (обычно он расположен либо с обратной стороны коннектора АКБ, либо с обратной стороны платы), прямо с пятачками.
Я знаю, что иногда меня читают опытные мастера с многолетним опытом, которые уже тянутся написать «Рукожоп! Мы в нулевых в ещё более тяжелых условиях умудрялись мобилки ремонтировать, а ты вон люкей себе не смог купить!». Но я лично считаю, что если косяк нормально исправлен, даже через год — то это не косяк. :) Поэтому лезем в схему и смотрим, куда у нас уходит BTEMP:
BTEMP идёт в UEM через обвязку в виде конденсатора C230, который расположен с обратной стороны платы, около КП. Найти его можно в Component finder'e, который можно найти в самом конце почти любой схемы на телефоны Nokia:
Подпаиваемся, включаем и девайс и… всё снова работает, в том числе и зарядка. :) На этом ремонт устройства закончен.
Отдельное слово хотелось бы сказать о дисплеях: для N-Gage обычно их принято считать достаточно редкими. Однако есть нюанс: практически все смартфоны Nokia на платформе WD2 (и пару на BB5 — например, N70) использовали одну и ту же матрицу с параллельным интерфейсом. Различия были лишь в форме шлейфа. В N70, например, этот дисплей ставился «перевернутым», однако длины шлейфа не хватало для того, чтобы поставить дисплей в N-Gage. Тем не менее, теоретически можно попробовать поставить куда менее редкий дисплей от 6630.
В процессе подготовки материала и изучения схемы, я вывел небольшой мануал по базовой диагностике N-Gage и любого телефона Nokia на платформе WD2:
Белый экран, есть звук включения и реакция кнопок. Чаще всего виноват EMIF-фильтр COM01F2: хрупкая «стекляха», которая повреждается при попадании влаги или падении устройства. Реже — обрыв сигнальных линий дисплея до коннектора дисплея, а то и отвал омапа.
Белый экран, ноль реакции: из-за бага в первых версиях прошивки, при полном заполнении внутренней памяти девайс виснул на белом экране. Реже — проблемы с питанием на OMAP, отвал процессора. Из-за попадания воды может пострадать токовый датчик.
Нет подсветки, лого Nokia: обрыв BSI или неподходящий аккумулятор.
Нет реакции на кнопку включения: замерить напряжение на входе кнопки включения (должно быть близко к VBAT), дальше смотреть в сторону UEM и его обвязки. На некоторых смартфонах Nokia (уже чуть более поздней платформы — например N70) кнопка включения идёт через EMIF-фильтр вместе с клавиатурой, из-за чего убитая стекляха может стать причиной отсутствия напряжения на PWRON.
Нет подсветки, есть изображение: проверить напряжение на C130 — если там есть 13.3В, значит бустер работает нормально. Если напряжение более 13В, то нет фидбека (т. е. катода с подсветки на самом дисплее), необходимо проверить обрыв на коннекторе дисплея. Проверить драйвер подсветки D130, при необходимости заменить (подходит с многих Nokia тех лет, иногда кустарно заменяют на драйверы подсветки с других телефонов).
❯ Знакомимся с девайсом поближе
Как я уже говорил выше, читатель задарил мне ещё и флэшку, на которой было установлено куча игр: как портов игр с других платформ, так и нативных «дампов» с картриджей, а также эмуляторов. Было ли во что поиграть на N-Gage? Давайте узнаем:
Именно на платформу N-Gage вышло не так уж и много игр: всего около 50. Однако среди них всё равно найдется во что поиграть: многие известные издатели решили рискнуть и разработать игры по собственным вселенным для N-Gage. В каких-то случаях это были порты с других платформ (например, Asphalt 2 с PSP, хотя это не совсем верно, поскольку Asphalt изначально мобильная игра), в каких-то уникальные игры, дополняющие ЛОР той или иной вселенной (например, TES Travellers). Не забываем про игры для обычных Symbian-смартфонов, порты и J2ME игры: таким образом, библиотека получается весьма и весьма обширной!
Ну и не стоит забывать и о эмуляторах! С играми для NES и SMD, игровой потенциал N-Gage увеличивается в разы. Ещё бы дисплей был чуть-чуть побольше и хотя-бы классический TN, а не немного блеклый CSTN и было бы вообще идеально.
Помимо игр, на многих Symbian-смартфонах стояли некоторые приложения, которые были must-have для тех лет: например, файловый менеджер X-Plore с диспетчером задач, а также сторонний плеер LCG JukeBox (нормальный плеер с плейлистами появился только в Symbian 8). Иногда диспетчер задач не спасал и девайс приходилось перезагружать.
Давайте же глянем на игры подробнее. Как я уже говорил ранее, все 3D-игры были софтварными: т. е. вся трансформация, обработка освещения и растеризация треугольников с текстурированием и перспективной коррекцией (если была) происходила исключительно на ЦПУ. Поскольку FPU в процессоре не было, использовались fixed-point числа.
Переходим к гоночкам. Тут у нас аж две части Asphalt, ещё тогда, когда серия не стала донатным «фритуплеем». Asphalt 2 весьма занимательная игра с оптимальной производительностью, кое-где конечно бывают просадки, но в целом более чем играбельно. Как это игралось в нулевых? Сравните скриншоты с j2me-версией, которая напоминает гоночные 2.5D игры с SMD и NES (при этом, в ней есть 3D-элементы и игра использует M3G) и версию для Symbian/PSP/NDS, думаю тут всё итак будет понятно:
Однако большинство читателей наверняка интересуют игры в известных вселенных. Взять, например, полноценный порт первой Tomb Raider. Насколько я понимаю, оригинальная TR славилась тем, что изначально разрабатывалась с расчетом на легкое портирование между разными платформами (да чего уж там говорить, игру отреверсили и переписали с нуля как минимум два раза!). Первый Pentium неплохо тянул TR в софтваре, а N-Gage справляется явно не хуже:
Не забываем и про 2D! В некоторых телефонах Motorola, Siemens и Samsung использовались внешние 2D видеоускорители ATI Imageon. В их задачи входила обработка изображения с камеры, функции контроллера дисплея, а также аппаратное ускорение некоторых 2D-операцией: блиттинг, отрисовка линий, прямоугольников и возможно ещё каких-то примитивов. Однако N-Gage, даже без помощи аппаратного блиттинга был способен выдавать приемлемый FPS и уровень графики в 2D играх. Например, в Sonic, где у нас есть параллаксовые фоны с покадровой анимацией:
Ну и нельзя не вспомнить про уникальную игру на N-Gage: TES Travels Shadowkey, которая была разработана специально для N-Gage и поиграть в неё можно только на оригинальном N-Gage, пропатченном Symbian-девайсе или EKA2L1. Вообще, это полноценная RPG от первого лица, расширяющая лор игры в Хаммерфелле и как минимум из-за этого она достойна к ознакомлению. Игра стилистически заметно напоминает Morrowind, графика близка по уровню к PS2. FPS, конечно, колеблется в районе 10, из-за чего игру можно считать пошаговой… но тем не менее, полноценная FPS RPG на мобилках — это многого стоит!
Есть также примеры отличной графики и… очень низкой производительности. Если в TES ещё можно попробовать поиграть в пошаговой манере, то как насчет шутера от первого лица в 5-6 кадров? Речь, конечно же, о Call of Duty. Игра получилась очень красочной (с трушными полигональными ландшафтами и кучей пропов), но крайне медленно работало на желез N-Gage.
❯ А как насчёт хоумбрю?
С разработкой своих приложений под N-Gage дела обстоят сложно. С одной стороны, в Symbian 6.1 ещё не было сертификатов, необходимости делать джейлбрейк и менять дату в устройстве. С другой стороны, для разработки под N-Gage требуется установка оригинального SDK для S60: приложения скомпилированные с помощью более свежих версий SDK работать не будут! Ни о каком Qt и речи не идёт и даже Carbide окажется слишком свежим для нашего устройства. Оригинальный SDK можно скачать здесь.
Кроме того, SDK использует весьма своеобразную систему сборки, написанную на Perl, которая поддерживает только древнюю версию ActiveState Perl 5.6.1 аж от 2001 года и не работает на Windows 7/8/10! С отладкой на реальном устройстве тоже возникнут проблемы: для этого необходим относительно редкий FBus-кабель (который устанавливается вместо аккумулятора и подключается к ПК через RS232-преобразователь), либо использование программатора а-ля UFS HWK. Хотите отлаживать игру на ПК? Тут есть симулятор, прямо как при разработке под iOS: однако этих симуляторов целых два (для Visual C++ 98 и CodeWarrior) и с каждым возникают проблемы при сборке (то линкер крашнется, то разработчики забудут положить часть реализации системных либ для разных симуляторов в разные версии SDK). Хотите разрабатывать игры? С симулятором об этом можно забыть — отрисовка слишком медленная. Готовьтесь писать кроссплатформенный рантайм, который под Windows будет использовать GDI, а под Symbian нативное API для графики! Программа крашнулась на реальном устройстве и инструментов для отладки у вас нет? Ничего подробнее «приложение остановлено» вы не получите!
Ну а вишенкой на торте станет весьма своеобразный сабсет C++, который используется для написания приложений. Сама система полностью построена по принципам ООП, однако ради уменьшения размера выходного кода была полностью убрана поддержка исключений: предполагается, что программист будет вручную помещать объекты на стек (для Stack unwinding'а), полностью убран RAII как концепция с введением NewL и ConstructL, где L — означает Leave (т.е исключение может выбросить только функция-фабрика, а не фактический конструктор) и кодов ошибок, а также полное отсутствие поддержки глобальных переменных (но есть частичная поддержка констант — из преинициализированных данных, судя по всему, поддерживаются только строковые литералы). Да, никакого .data и .bss, что серьёзно усложняет портирование существующих приложений под Symbian. Спасибо что есть пакет для совместимости с POSIX и реализовали часть stdlib.
Почему нет глобальных переменных?
Приложения в Symbian — это, по сути, dll-библиотеки, с которыми общается UI-фреймворк. Ради сохранения памяти, в Symbian решили сделать все загружаемые библиотеки доступными для любых процессов в системе. Поэтому Symbian и не позволяет библиотекам иметь собственную статическую память, зато можно свободно использовать динамический аллокатор. У exe таких ограничений нет, однако там свои сложности при взаимодействии с системным API. Тем не менее, с Quake поступили своеобразным грязным хаком: Приложение в меню лишь «значок», который фактически запускает соответствующий exe-файл на флэшке!
Дело улучшает кастомный SDK для хоумбрю от энтузиаста из Германии. Он портировал SDL2, Lua и адаптировал тулчейн для работы в современных системах. Но лично для меня это не трушно — нужно использовать оригинальный SDK. :)
В целом — это одно из объяснений того, почему N-Gage стала относительно провальной как платформа для игр. Конечно в своё время был жив форум разработчиков Nokia, где были как официальные сэмплы от Nokia, так и мануалы от других разработчиков, однако базовые косяки при проектировании архитектуры платформы портили всю малину. Чего уж стоит обратная совместимость: для быстрой отрисовки графики предполагалось рисовать картинку в обход графического сервера, напрямую получая указатель на фреймбуфер. В начале фреймбуфера лежала структура с описанием разных пиксельформатов, которые были отнюдь нестандартными: 12-битный, 16-битный, 18-битный. Из-за этого, игры для старых версий Symbian могли давать артефакты на 9.x, например.
Написание полноценной, пусть и небольшой игры — материал для отдельной статьи. Есть идея написать кроссплатформенную игрушку, которая работала под разными платформами кнопочных девайсов: от Motorola ROKR на Linux и китайских клонах Nokia (E71 все помнят?), до эльфов на Siemens'ах и Motorola E398. Таким образом, мы рассмотрим особенности разработки под каждую платформу (например, на моторах был 2D-ускоритель ATI Imageon).
❯ Заключение
Вот таким был легендарный N-Gage. Девайс, конечно, действительно весьма своеобразный. С одной стороны это гениальное решение: взять смартфонную платформу и сделать на её базе игровую консоль. С другой стороны, с разработкой игр под N-Gage, или, например, прямыми функциями телефона были свои проблемы. Девайс получился немного сыроватым, но лично я считаю, что концепция имеет право на жизнь, но пока ни у кого не получилось сделать действительно массовый девайс. По моему мнению, нужно сохранить как можно больше N-Gage живыми. Сложно даже представить сколько потенциально оживляемых плат уехало в чермет…
А вам понравился N-Gage?
P. S.: Друзья! Время от времени я пишу пост о поиске различных китайских девайсов (подделок, реплик, закосов на айфоны, самсунги, сони, HTC и т. п.) для будущих статей. Однако очень часто читатели пишут «где ж ты был месяц назад, мешок таких выбросил!», поэтому я решил в заключение каждой статьи вставлять объявление о поиске девайсов для контента. Есть желание что-то выкинуть или отправить в чермет? Даже нерабочую «невключайку» или полурабочую? А может, у этих девайсов есть шанс на более интересное существование! Смотрите в соответствующем посте, что я делаю с китайскими подделками на айфоны, самсунги, макбуки и айпады!
Понравился материал?
Полезная информация относительно ремонта?
У вас был N-Gage?
Понравился материал? У меня есть канал в Телеге, куда я публикую бэкстейдж со статей, всякие мысли и советы касательно ремонта и программирования под различные девайсы, а также вовремя публикую ссылки на свои новые статьи. 1-2 поста в день, никакого мусора!
Материал подготовлен при поддержке TimeWeb Cloud. Подписывайтесь на меня и @Timeweb.Cloud, дабы не пропускать новые статьи каждую неделю!
Многим пользователям смартфонов знакомо такие понятия как «привязка к аккаунту». У различных вендоров смартфонах есть свои механизмы защиты смартфонов от кражи: у Apple — FMI, у Xiaomi — Mi Cloud, а у Google — FRP. Однако у Android есть давняя уязвимость, которая позволяет обходить практически любые смартфоны на «чистой» системе, даже с привязкой к Google-аккаунту. Недавно мне написал известный YouTube-блогер MaddyMurk и предложил задарить смартфон-броневичок AGM H3 на гугл-аккаунте, который он не смог сбросить. Я решил подготовить подробный материал о дырах в защите Android и на практике обойти FRP на смартфоне, который «повис» на активации. Сегодня мы с вами узнаем: почему смартфоны на Android так легко обходить, какие существуют методики и почему подобная практика невозможна на устройствах Apple. Интересно? Жду вас под катом!
❯ Какие бывают «привязки»?
Ещё в нулевых, никакой привязки к аккаунтам у телефонов не существовало. Девайсы крали направо и налево: не уверен насчёт других стран, но в СНГ, к сожалению, эта практика была развита очень хорошо. Девайсы защищались максимум пин-кодом, который телефон мог запросить при смене SIM-карты, но даже его можно было обойти с помощью т.н «мастер-кодов», которые рассчитывались на специальных сайтах в различных СЦ. На некоторых телефонах помогала обычная перепрошивка — и вот, девайс снова отправлялся на БУ рынок для продажи своему новому владельцу, абсолютно чистенький и вероятно, пересобранный в новый китайский корпус. И пофиг, что IMEI-устройства уже давно числится как краденый!
Иногда, своеобразную защиту обеспечивала редкость аппаратной платформы телефона. Например, французские Sagem, которые были довольно популярны в РФ в середине нулевых, практически никто не обслуживал, несмотря на наличие программаторов на рынке. Смена IMEI же зачастую была невозможна — на телефонах Nokia, например, в внутренней памяти хранятся т.н сертификаты для активации радиомодуля и загрузки телефона. Если в процессе кривой прошивки они были повреждены или кто-то пытался их подделать, то телефон больше не включался без генерации нового сертификата за деньги на специальном сайте. Совсем. Единственное известное мне исключение — китайские телефоны на платформе MediaTek (кнопочники Fly, Explay и.т.п) — там IMEI вполне можно поменять на какой-нибудь левый. Хоть из семерок себе сделать :)
Одну из первых и эталонных реализаций привязки смартфона к аккаунту представила Apple с выходом iPhone 4. Помимо входа в обычный аккаунт iCloud, пользователь мог включить функцию Find My iPhone, которая позволяла найти смартфон в случае кражи. Помимо поиска утерянного девайса, включенный FMI запрашивает логин и пароль пользователя при сбросе смартфона до заводских настроек (или перепрошивке). И вот здесь кроется главная фишка реализации «яблочников»: все устройства Apple, вышедшие с конвейера и прошедшие контроль качества, заносятся в некую базу данных, где хранится связка из нескольких аппаратных идентификаторов: уникальный ID процессора, который «прожигается» на заводе и остаётся неизменяемым навсегда, уникальный ID модема (вот здесь я точно не скажу, что является идентификатором — скорее всего IMEI) и вероятно что-то ещё. Если идентификатор хотя-бы одного модуля не соответствует тому, что хранится в базе данных Apple — устройство повиснет на ошибке активации!
С этим даже связана одна занимательная история: iPhone 4/4s страдали отвалами модема, от чего в мастерских приловчились менять их с донорских аппаратов, при этом не перекатывая всю сборку вместе с процессором и памятью. С прилётом какого-то апдейта iOS, Apple ужесточили правила активации и многие полностью исправные айфоны повисли на ошибке активации. Несмотря на эталонную реализацию, FMI обойти можно, если для устройства есть джейлбрейк, который можно сделать до доступа на главный экран (например checkra1n). Однако мобильная сеть и звонки работать не будут — для активации модема нужен уникальный токен, который генерирует сервер активации Apple Albert. Однако, кто-то всё-де смог отреверсить механизм работы сервера активации и завести модем на «байпаснутых» устройствах…
На Android-устройствах ситуация совсем иная: здесь долгое время балом правила открытость смартфонов, которая позволяла модифицировать устройства как угодно — портировать свежие версии Android, делать кастомные прошивки с различными плюшечками и оптимизациями. Долгое время люди знать не знали, что такое секьюрбут (заблокированный загрузчик) и с чем его едят… По причинам тотальной открытости Android-смартфонов, никто особо не замарачивался с серьёзной привязкой к облачным сервисам: устройства с пин-кодом или графическим ключом без проблем обходились сбросом до заводских настроек через рекавери… до выхода Android Lolipop!
В «пятерке», Google предприняли попытку защитить устройства от сброса через рекавери с помощью механизма FRP — Factory Reset Protection, который запрашивает Google-аккаунт, если устройство не было сброшено с помощьюсоответствующего пункта в настройках. Реализована функция была крайне просто, без каких-либо аппаратных привязок: на устройствах MediaTek и Spreadtrum достаточно было забить нулями определенный раздел памяти фирменным прошивальщиком, а иногда вход в аккаунт можно было обойти различными багами операционной системы. На более старых версиях Android, можно было с помощью adb или терминала просто установить свойство, которое отвечает за показ окна активации:
Суть была в том, что Android на этапе активации просто делает шторку неактивной и прячет виртуальные кнопки домой/меню. По факту, приложения могут отсылать любые Intent («действия» в терминологии Android) системе и открывать любые приложения поверх окна активации, без каких либо ограничений. Если перезапустить приложение активации, то появлялась и полноценная кнопка «домой» и «многозадачность». Таким образом, нехитрыми манипуляциями, на смартфонах Samsung (вся A и J серия, до 2017 года) можно было зайти в браузер и затем в настройки с помощью голосового помощника, на смартфонах Asus с помощью умной клавиатуры TouchPal можно было открыть настройки и сбросить устройство до заводских в пару кликов, а в смартфонах Xiaomi была возможность написать в каком-нибудь текстовом поле youtube.com, зажать на нем палец и открыть соответствующее приложение, откуда можно снова попасть в настройки… Вариантов действительно много!
Недавно мне написал известный блогер с YouTube — MaddyMurk и рассказал занимательную историю: он нашёл «броневичок» AGM H3, который валялся в снегу и грязи несколько месяцев, абсолютно никому не нужный. Несмотря на тяжёлые условия, девайс полностью оправдал свой статус бронированного и остался полностью живым и целым! Однако, аппарат висел на графическом ключе и Миша по старой памяти решил скинуть его до заводских настроек, в надежде что владелец не входил в Google-аккаунт. После сброса, девайс повиснул на активации и Миша спросил у меня, что с ним можно сделать. По итогу, он предложил заслать девайс мне: «авось ты сможешь его оживить». Помимо AGM, Михаил прислал мне ещё кучу ништяков: несколько «сименсов» и «сонериков», кучу запчастей на iPhone 4-5, камеру и свою фирменную кассету с музыкой — за что ему спасибо :))
Однако материал был бы неполным, если бы я не показал на практике, как можно обойти абсолютно неизвестный девайс, для которого нет гайдов по обходу активации — и тем самым не показал бы вам, насколько «дырявая» защита от кражи у Android с Google-сервисами… Переходим к практике!
❯ Обходим активацию багами
После включения, система встречает нас с предложением пройти первичную настройку. После подключения к Wi-Fi, нас встречает окно с предложением войти в аккаунт или ввести графических ключ прошлого владельца.
Наша задача: выйти из экрана авторизации в какое-нибудь приложение, откуда можно открыть встроенный в систему браузер. Вариантов масса: на некоторых устройствах, как уже было сказано, можно открывать ссылки, просто выделив их (таким образом, нужно открывать youtube или иной сайт с ассоциированным приложением в системе). Из тех, что я подметил: приложение «Google Фото» и YouTube подходят лучше всего. У моего смартфона нашлась аппаратная кнопка камеры слева, которая сразу же открывала соответствующее приложение. Хоба: фотографируем что-нибудь, нажимаем на превьюшку фотографии и попадаем в Google Фото!
Аппарат активно эксплуатировали до меня и хорошо затерли защитное стекло для камер — поэтому фото такое мутное.
Теперь нам нужно нажать «поделится объектом» и нажать «искать фотографию в Google». Лучше фотографировать что-то конкретное: например, другой смартфон или телевизор. Я снимал коробку от видеокарты и с помощью объектива нашёл обзор на неё на YouTube. Само собой, Google Поиск предложил мне открыть приложение YouTube для его просмотра!
После этого, нам нужно открыть боковое меню, тапнуть на «Настройки» и попытаться открыть какую-нибудь ссылку: например, лицензия на открытый софт. Делать это нужно быстро — иначе YouTube начнёт жаловаться на то, что версия устарела и смартфон придётся обходить по новой! После этого, смартфон предлагает нам открыть полноценный браузер.
Уже бежите качать какой-нибудь лаунчер и открывать настройки? Не тут то было — Google предусмотрели этот нюанс. Вы не сможете ничего установить из скачанного — менеджер пакетов без активации не работает. Совсем. Поэтому, мы заходим в настройки Chrome -> Уведомления и тапаем по значку логотипа приложения. Мы уже в настройках!
Сейчас сбрасывать устройство смысла нет: смартфон снова повиснет на активации (сброс сработает на устройствах с Android до 7 включительно). Однако есть забавный нюанс: если вовремя отключить Google-сервисы, то приложение активации просто начнёт считать, что мы активируем НОВОЕ устройство без СИМ-карты и предложит… пропустить шаг! Как забавно :)
Находим приложения с названиями а-ля «настройка системы» (кроме самого приложения Настройки) и всех их отключаем и снова включаем: у нас появятся все три кнопки навигации снизу и будет доступен диспетчер задач для более удобного процесса активации. Если у вашего устройства есть некое подобие Assistive Touch — оно тоже подойдет.
Теперь отключаем Google-сервисы и переключаемся на настройку системы. Жмём «Далее» и ждём пару секунд, но не дожидаемся ошибки Google-сервисов. Сразу же идём в настройки и включаем гуглосервисы обратно: по итогу, в один момент сервисы будут считать, что мы «оффлайн» и появится заветная кнопка «пропустить вход». Может получится не с первого раза. После этого, аппарат полностью «забудет» данные прошлого владельца и мы сможем без проблем войти в свой аккаунт :)
Если после этого у вас не устанавливаются приложения из обычных APK-пакетов, то тут два варианта решений: еще раз сбросить аппарат до заводских, либо устанавливать приложения с помощью adb — такой вариант тоже вполне работает:
Можно спокойно войти в свой гуглоакк.
Теперь аппарат полностью рабочий! Ретроспективу о нём не сделаешь: девайс относительно свеженький, работает на актуальной версии Android и имеет под капотом весьма неплохое железо:
Чипсет: Helio P22 с GPU PowerVR GE8320, с 8-ядрами Cortex-A53, 4 из которых работают на частоте до 2ГГц, а остальные 4 до 1.5ГГц.
ОЗУ: 4Гб
Память: 64Гб
Дисплей: 5.7 IPS-матрица. Не самая шустрая, конечно, но вполне ничего.
Аккумулятор: 5400мАч. Весьма бодро.
ОС: Android 11
В целом, весьма неплохие характеристики для современного бюджетника с приятным бонусом в виде бронированности. Уж что-что, а «бронежилет» аппарата выдержал явно многое :) Авось кто-то из моих читателей когда-то его потерял?
❯ Заключение
Сегодня мы с вами рассмотрели некоторые базовые принципы защиты различных смартфонов от кражи и угона, а также на практике обошли плохонькую «гуглозащиту». Однако это отнюдь не призыв к действию: обходите таким образом только свои собственные смартфоны, аккаунты от которых вы когда-либо потеряли :)
Это не универсальный гайд и конкретный порядок действий может отличаться от версии Android и даже от версий оболочки. Но я рассказал, почему багами ОС можно обойти активацию и в общих принципах расписал то, почему гугловская защита такая плохая. А вы что думаете на этот счёт?
Материал подготовлен при поддержке TimeWeb Cloud. Подписывайтесь на меня и @Timeweb.Cloud, чтобы не пропускать новые статьи каждую неделю!
А ещё я завёл собственный Tg-канал, куда публикую различный бэкстейдж статей, анонсы новых материалов, опросы и ссылки на статьи в минуту выхода.