Сообщество - TECHNO BROTHER

TECHNO BROTHER

2 086 постов 13 667 подписчиков

Популярные теги в сообществе:

160
TECHNO BROTHER

Исходников нет, но мы не сдадимся: как и зачем я портировал более старый Android, чем стоял «с завода»?

Моддинг-сцена с разработкой и портированием кастомных прошивок для Android-устройств существует вот уже более 10 лет. В основном, энтузиасты пытаются проапгрейдить свои устройства путем портирования более свежих версий Android, чем предлагает производитель девайса. Чего уж говорить, если Galaxy S III, которому уже 12 лет стукнуло, получил неофициальный апгрейд до Android 14. Порой мне в голову приходят различные, весьма странные моддерские мысли: например, почему бы не портировать на старенький смартфон… ещё более старую версию Android, дабы посмотреть «что будет». Казалось бы «портировал и портировал», но в процессе работы я столкнулся с множеством интересных нюансов и особенностей работы Android, о которых хотел бы рассказать и вам — моим читателям! Сегодняшняя статья будет в классическом «научпоп»-стиле без кода, зато с подробными объяснениями одной из техник портирования Android-прошивок путем патчинга скриптов для конфигурации системы и подмены Board-specific библиотек, дабы система «увидела» всё необходимое железо! Интересно? Тогда жду вас под катом!

❯ Мотивация


У меня, как и у многих моих читателей, одной из первых версией Android в жизни была 2.x. Наверное, я уже никогда не смогу забыть первые впечатления от использования своего новенького, пусть и бюджетного и слабого Android-смартфона после простеньких китайских кнопочников. Эти ощущения были прекрасными: вот я разблокирую смартфон, потянув «замочек» вправо, свайпаю рабочие столы и тапаю на значок приложения браузера, выполненный в стиле скевоморфизма, загружаю полноценную страницу Википедии через GPRS-сеть (мой первый смартфон не имел 3G) и плавно скроллю страницу, не забывая смахнуть шторку вниз и проверить статус уведомлений в пока ещё совсем простенькой панели нотификаций… Это были по настоящему ламповые впечатления, которые не смог превзойти ни один современный девайс: ни AOSP, ни MIUI, ни OneUI.

Моим первым смартфоном была китайская реплика Samsung Galaxy S III Mini, купленная в самом начале 2013 года. Возможно, кто-то из вас помнит, как подобные дешевые смартфоны и планшеты «Sumsanc» можно было купить на рыночных развалах, в метро и прочих местах, где допускается торговать несертифицированными гаджетами. Даже с учётом накрутки, эти смартфоны стоили всего 2 000 рублей, что было просто «подарком» для цены абсолютно нового гаджета. Девайс был крайне простым для начала 2013 года и имел следующие характеристики:

  • Процессор: Spreadtrum SC6820. Одно ядро Cortex-A5 на частоте до 1ГГц, Mali400 MP в качестве GPU. Чипсет был крайне высоко-интегрированным для своих лет: в одном корпусе располагалось ARM-ядро, GPU, контроллер питания, GPS, множество периферии (например, DAC), а также Baseband-часть GSM-радиотракта. BT/Wi-Fi реализовывались в отдельном комбочипе разработки RDA.

  • Память: 256Мб DDR1 ОЗУ/256Мб NAND-памяти в одном чипе eMCP от Hynix. Предположительно, эти чипы остались на складах ещё со времен первых Android-смартфонов, но очень быстро потеряли актуальность и их, вероятно, отдавали «за бесценок» что позволило ещё сильнее снизить цену производства таких смартфонов.

  • Дисплей: безоговорочно, TFT, обычно с разрешением не выше 480x320, что для 3" дисплея было нормальным, но для 5" — уже несколько маловато. Тем не менее, сами дисплеи были нормальными и глаза от них не «вытекали». Тачскрин обычно ёмкостной, на 2 касания.

  • Android: 2.2, на некоторых похожих моделях встречался 2.3.

  • Аккумулятор: ~1.500мАч, не больше. По форм-фактору напоминает BP-4L, без проблем подходит от многих S60 смартфонов Nokia тех лет.


Не густо, да? Уже в апреле того же года вышел Galaxy S4 с Snapdragon 600, 2Гб ОЗУ и 32Гб встроенной памяти, а мы тут с одноядерным чипсетом и 256Мб ОЗУ сидим. Но мне, будучи школяром, это было за счастье — чего я на нём только не делал, и на PHP какие-то WAP-сайты динамические пытался писать и на FTP заливать, и даже ADT Bundle скачал, дабы попытаться что-то своё запилить под собственный смартфон! В общем, я был счастлив, несмотря на лаги девайса. Именно того девайса у меня уже давным-давно не осталось… но память я всё ещё храню и стараюсь дать новый дом таким китайчикам, которые в большинстве своем оказались на свалке истории в новом мире современных смартфонов!

Но на самом деле, смартфоны 10+ летней давности могут быть интересны и своим форм-фактором: в современном мире едва ли можно найти хоть какие-то телефоны с полноценной QWERTY-клавиатурой (исключение — смартфоны UniHertz, которые стоят недешево) и уж тем более, боковые слайдеры. Поэтому мой интерес к подобным девайсам очень легко объяснить!

Однако, порой мне самому хочется снова пережить эти эмоции и ещё раз походить с подобным девайсом «на каждый день», даже когда на Android 2.2 особо никакие сервисы уже не работают. Отчасти, я решаю свои проблемы сам и пишу клиенты нужных мне сервисов, если они действительно нужны, дабы рано или поздно всё таки вдохнуть новую жизнь в «старенькие» девайсы. И казалось бы, это можно списать на синдром утёнка и банальную ностальгию, но мои ощущения «ламповости» отнюдь не мимолетны и всё равно меня тянет именно на те смартфоны, с тем самым интерфейсом, которые я когда-то увидел впервые!

Пожалуй, сказать что я решил портировать старый Android на отнюдь не новый смартфон «просто так» было бы ложью. Я всё ещё верю в то, что смогу в одиночку хотя бы частично вдохнуть новую жизнь в эти девайсы и позволить им работать с современными сервисами, дабы они могли приносить пользу не только мне, но и другим людям, которые намеренно занимаются дауншифтингом или вынуждены сидеть на девайсах с старыми версиями Android! Сегодняшним нашим подопытным станет один из представителей подобных noname-смартфонов тех лет, реплика Galaxy S III Mini на том самом железе, на котором работал мой первый смартфон. Однако с завода на нём стоял Android 2.3 — слишком свежая, по моему мнению, версия системы, которую я конечно-же захотел откатить до Android 2.2!

Задача облегчалась тем, что смартфоны на этом чипсете с Android 2.2 уже выходили, что позволило мне портировать прошивку путем несложных патчей скриптов инициализации и копирования Platform-specific файлов, дабы завести все необходимые для смартфона модули. А поскольку о таком простом способе портирования свежих и старых прошивок знают далеко не все мои читатели — я решил написать об этом отдельный подробный материал! Давайте же перейдём к практической части нашей статьи.

❯ Первые шаги


Перед тем, как начать портирование системы, нам необходимо разбираться в том, как вообще происходит процесс загрузки Android и какие процессы при этом загружаются. Вкратце, описать весь процесс загрузки можно так:

  • Загрузчик: при включении смартфона, первичный загрузчик BootROM, аппаратно-прошитый в чипсет ещё на этапе изготовления чипа, инициализирует некоторую периферию, загружает вторичный загрузчик из NAND (коим может быть SPL — Second Program Loader, занимающийся инициализацией контроллера DDR и UART) и передаёт ему управление. Вторичный загрузчик в свою очередь передаёт управление U-Boot — в задачи которого входит также инициализация периферии, обработка устройств постоянной памяти (например, NAND или контроллер SD), загрузка ядра Linux и конфигурация самого процесса загрузки. U-Boot можно считать эдакой альтернативной UEFI/BIOS в мире не-x86 устройств. В смартфонах на базе чипов MediaTek и Qualcomm, роль U-Boot выполняет LK — маленькая ОС, в задачи которой входит инициализация периферии и передача управления ядру Linux с помощью программы aboot.

  • Ядро Linux: после загрузки образа ядра с initrd (небольшая файловая система, которая загружается сразу в память и содержит в себе скрипты для конфигурации всего остального) и передачи управления ядру, Linux начинает выполнение программы с PID 0 — /init, в задачи которой входит выполнение скриптов инициализации userspace-окружения системы в init.rc. При этом смартфон уже фактически готов к работе — в одной из своих статей я показывал, как можно приостановить загрузку Android и выполнять свой код, используя все ресурсы смартфона для своих целей.

  • zygote и app_process: помимо запуска необходимых для работы смартфона служб, динамической загрузки драйверов (с помощью insmod) и определения режима загрузки (например, если телефон подключили выключенным к зарядке — необходимо показать анимацию этой самой зарядки), init.rc запускает две программы, одна из которых необходима для функционирования системы. Первая — это bootanimation, которая проигрывает анимацию включения смартфона и app_process, который в одном из режимов работы превращается в zygote — самый важный процесс для работы Android, который предварительно при старте системы загружает системный Java-байткод, отвечающий за отрисовку интерфейса, проигрывание звука и т. п. из framework.jar и другие системные ресурсы (например темы и изображения), а затем при запуске каждого приложения просто клонирует сам себя (с уже загруженными ресурсами) и начинает выполнение байткода любого запущенного Android-приложения или службы.

    Каждое запущенное приложение или служба — это отдельный app_process, в том числе и лаунчер, и Google-сервисы и клиент любого мессенджера.


Всё выглядит просто и логично, не так ли? Подытожив, можно сказать что для того, чтобы система минимально стартовала, нам необходима подходящее ядро для нашего устройства, рабочий init.rc и адекватно запускающийся init.rc. Кроме того, Android зависит от некоторых платформо-специфичных библиотек: в основном, они находятся в /lib/hardware и без них система может не запуститься или что-то может не работать. Особенно осторожно надо подходить к libhardware.so.

Как я уже сказал выше, прошивку мы будем портировать от другого смартфона на том-же чипсете и что забавно — такую же реплику, просто более-раннюю! «Из коробки», мой смартфон работает на Android 2.3, значительно более стабильной, чем изначальный порт 2.2 на эту платформу. Отличий 2.3 от 2.2 достаточно: например, на 2.2 совсем иной цвет шторки, по умолчанию стоит Light-тема, нельзя закрывать уведомления смахиванием и в целом система несколько отличается внешне. Для работы нам нужно будет два образа прошивки: ту, которую будем портировать и та, которая стоковая. Прошивки в смартфонах на платформе Spreadtrum распространяются в формате pac, однако нет никаких проблем подменить образ раздела в ResearchDownload — фирменной утилите для прошивки смартфонов на этом чипсете.

Я решил взять прошивку от FeiTeng N9300 Mini, родная для моего смартфона — M-Horse 9500 Mini. В случае моего девайса, разметка и список разделов между устройствами никак не отличалась, поэтому изначально я напрямую прошил раздел system.img, дабы посмотреть что будет с устройство. Не забывайте, что ядро и init.rc хранится в образе boot.img — поэтому прошивка раздела system безопасна!

❯ Первый запуск


После прошивки чужого раздела system, смартфон стартовал… однако работал несколько странно: во первых, у нас не было сети, во вторых не работал тачскрин (при родном то ядре), а в третьих, Android ни в какую не видел аккумулятор, вися на 0% и моментально отключаясь, если смартфон не стоит на зарядке, а при попытке воткнуть кабель — смартфон показывал индикацию зарядки, но потребление было на нуле.

Поскольку тачскрина у нас нет, root доступ через adb придется включать «ручками» — для этого нам необходимо перепаковать наш родной раздел boot. Для распаковки и запаковки образов, я пользуюсь MtkImgTool — весьма удобная «кухня» для работы. Вытаскиваем boot.img из pac, закидываем в Unpack/Image/ и распаковываем с помощью Boot -> Unpack -> boot.img

В Unpack/boot/ramdisk/default.prop нам необходимо изменить ro.debuggable на 1, а ro.secure на 0. Это даст возможность отлаживать устройство даже если Android фактически не загрузился.

Теперь у нас есть root-консоль устройства, даже если смартфон висит на заставке. Прошиваем обратно образ, пишем adb shell в консоли и смотрим, что же тут не так… Вообще, драйвер тачскрина обычно статически слинкован с ядром, но в случае устройств Spreadtrum — они вынесены в динамические модули ko, которые можно найти в папке /lib/modules/, либо /sps/. Давайте глянем init.sp6820a.init.3rdparty.rc, который отвечает за специфичную для этой модели смартфона инициализацию.

Ага, видим insmod gt868.ko? Это команда загрузки драйвера тачскрина, в нашем случае — это вышеупомянутый GT868. Иногда встречаются другие модели тачскринов, но главное отличие прошивки 2.2 от 2.3 — разные названия папок с драйверами и некоторые службы. Достаём из родного образа драйвер gt868.ko, используя всё тот-же MtkImgTools, распаковывая его как обычный ext2 раздел:

Пишем в консоли устройства:

adb push / gt868.ko
adb shell
insmod /system/lib/modules/gt868.ko

И наслаждаемся тем, что у нас теперь появился тачскрин! Android сам подхватил новое устройство ввода, поскольку драйвер тачскрина — обычное устройство в /dev/input/. Чтобы драйвер грузился при загрузке, его достаточно добавить в init.sp6820a.3rdparty.rc, предварительно закинув в раздел /system/. Перед этим, раздел нужно перемонтировать для возможности записи:

on boot
insmod /system/gt868.ko

adb shell
busybox mount -o remount,rw /system/
mkdir /lib/modules/
exit
adb push gt868.ko /lib/modules/

После модификации rc-скрипта, нужно обратно запаковать boot.img с помощью MtkImgTools и прошить его с помощью ResearchDownload — тачскрин будет работать даже после перезагрузки!

❯ Поднимаем зарядку и сеть


Переходим к отсутствию связи с аккумулятором и нулевым потреблением АКБ. Здесь мне пришлось несколько покопаться и почитать логи ядра с помощью команды dmesg. Я обратил внимание на то, что некая служба пишет что-то об аккумуляторе, но разобраться было несложно: в папке /system/bin я нашёл программу charge, которая, очевидно, отвечает за настройку КП для старта зарядки. Что она точно делает — мне неизвестно, возможно корректирует какие-то значения в sysfs, возможно с помощью ioctl общается с драйвером КП и даёт разрешение на старт зарядки и обновление информации в sysfs. В любом случае, после замены /system/bin/vcharged на оный из родной прошивки, зарядка заработала.

Для этого мы снова перемонтируем /system/ в режим записи и копируем vcharged, не забыв вернуть обратно необходимые права:

adb push charge /system/bin/
adb shell
chmod 777 /system/bin/charge

Перезагружаем устройство и… зарядка с индикацией появилась!

Вроде всё работает на первый взгляд: и звук, и вибро, и Wi-Fi с Bluetooth… однако сети-то нет! Девайс не определял наличие SIM, а вместо IMEI у нас был null/null:

Чтобы её поднять, нам необходимо разобраться в том, как работает подсистема взаимодействия с радиомодулем в Android, которая называется ril — Radio Interface Library. RIL предоставляет API для системы, дабы оперировать не напрямую AT-командами (которые могут быть проприетарными, а на некоторых чипсетах, как, например, Qualcomm вообще отсутствовать), а удобным набором функций — например о запросе статуса радиомодуля, начале звонка, поиска сети и т. п. RIL состоит из сервиса rild в /system/bin/ и библиотеки libril.so, которую можно найти в папке /system/lib/. При запуске системы, TelephonyManager открывает сокет с rild и опрашивает его состояние. Именно из TelephonyManager система берет информацию о силе сигнала, название оператора, IMEI и другие данные.

Путем ковыряния в dmesg я понял, что система флудит из-за невозможности запустить проприетарный сервис Spreadtrum — sprd_monitor. При попытке позвонить в 112, смартфон бесконечно пытается включить радиомодуль. Я ковырялся в UI-части исходного кода Android, дабы понять логику работы, но проблема крылась как раз в упомянутых выше службах sprd_monitor. Берём их из /system/bin/ оригинальной прошивки, закидываем их в устройство, не забыв установить права и отправляем систему в ребут:

adb push engappclient /system/bin/
adb push engmodemclient /system/bin/
adb shell
chmod 777 /system/bin/engappclient
chmod 777 /system/bin/engmodemclient

Ошибки в dmesg пропали, IMEI появился, но устройство до сих пор не хочет никуда звонить и просто висит на экране звонка. В настройках смартфон говорит о том, что уровень сигнала недоступен, а значит, радиомодуль до сих пор не работает :(

Но и мы так просто не сдаемся! Поковыляв по файловой системе, в директории /system/opl/telephony/bin/ я нашел скрипт, отвечающий за инициализацию радиотракта, который вызывает родной 3rdparty.rc! Запускаем sh-скрипт и обнаруживаем, что сеть появилась и девайс дозвонился в 112, а также увидел SIM-карту!

sh init.tel

Теперь всё полностью работает :) Дабы радиотракт запускался при старте устройства, я перенес часть инита из boot.img от прошивки, которую мы портировали. Для кого-то, казалось бы, это всё достаточно сложно и долго. Но у меня ушел всего один день на полную отладку и запуск такой кастомной прошивки на своем устройстве! Можно сказать, это самый базовый и краткий экскурс в такое нелегкое дело, как моддинг Android-устройств.

Но мы ведь это всё не просто так делали! Давайте глянем, как будет работать такой девайс на Android 2.2 в 2024 году — спустя 14 лет после выхода системы. Всё ли так плохо, как кажется?

❯ Знакомимся с девайсом


Думаю, многие читатели вспомнят этот ламповый интерфейс, обои с одуванчиком и лаунчеры а-ля TouchWiz на тех смартфонах, где интерфейс Samsung был не предусмотрен. А эти «бульк»… их сложно забыть!

Конечно, изначально может показаться, что устройство плохо подходит для выполнения современных задач: браузер не способен загрузить большинство страниц, а из альтернатив есть только Opera Mini, где вообще нет динамического контента, а официальные клиенты ВК, WhatsApp и YouTube уже давно не работают. Опечаленный читатель может подумать, что девайс, как и многие его ровесники уже давно превратились в звонилки…

Но это отнюдь не так! Ведь как я уже говорил, я стараюсь своими силами вдохнуть в подобные девайсы новую жизнь, реализуя на них клиенты нужных мне сервисов сам! Да, пусть примитивно и корявенько, далеко не ынтырпрайз-уровень, но эти приложения выполняют свои функции и что, немаловажно, весят очень мало (до 100Кб) и работают крайне шустро! Клиент ВКшечки просто летает, несмотря на то, что фактически реализован только мессенджер с нотификациями и музыка.

Пожалуй, многие читатели удивятся — но на таких девайсах есть YouTube! Мой самопальный клиент не поддерживает стриминг из сети (да и многие девайсы объективно не потянут), поэтому предварительно загружает видео на MicroSD-флэшку и затем уже их воспроизводит. Как приятный бонус — видео потом можно посмотреть в любой момент в галерее.

Я помню насколько было лампово слушать музыку с таких девайсов. И если претензии к основному динамику не очень актуальны, то к качеству звука в наушниках были придирки — звук был громкий, но ему не хватало низких частот, из-за чего он звучал несколько плоско, хотя мне и этого хватало — ведь я слушал музыку в наушниках по 200-300 рублей с рынка! Я всё ещё помню те времена, как качал mp3-треки по 2-3 мегабайта через 2G-интернет… слушаешь один трек — как раз загрузится другой и так по кругу наполнял свою фонотеку. Эх времена то какие были! Тем не менее, для некоторых базовых мультимедийных возможностей девайс подходит и сейчас, например в машину в качестве BT-хоста с музыкой.
А ещё на таких девайсах порой клёво скачать какой-нибудь Temple Run образца 2011 года и вспомнить самое начало смартфонного гейминга тех лет… ведь далеко не все игры того времени запускаются на свежих версиях Android!

❯ Заключение


В остальном же, подобные девайсы отнюдь не бесперспективны! Несмотря на совсем не новое железо, они всё ещё могут выполнять многие задачи, стоит лишь снова запилить необходимые приложения для них! Мессенджеры, соц. сети, музыкальные сервисы и даже просмотр видео — всё это доступно даже для таких, казалось бы, «устаревших» девайсов, когда есть запал энтузиазма и жгучее желание походить именно с этим конкретным устройством как с основным!

Для кого-то это просто проявление синдрома утенка или картинки «вот кому-то делать не.»… ну а для меня — это крайне интересное, захватывающее и кайфовое времяпровождение: начиная от аппаратного ковыряния с такими девайсами и копания исходников ядер/драйверов, заканчивая написанием оптимизированных клиентских приложений, которые весят не 100-200Мб, а 100-200Кб :)

Друзья, если у вас есть подобные китайчики и вы не разделяете желания пытаться вдохнуть в них жизнь, но выбрасывать их жалко — можете задонатить их мне :) Как сами видите — девайсы попадают в хорошие руки. Из недавнего — я взял нерабочую, утопленную китайскую копию 14 Pro Max из под СЦ в качестве основного смартфона. Также у меня есть канал в Telegram, куда я выкладываю бэкстейджи статей, различные заметки о ремонте, моддинге, программировании и реверс-инжиниринге и свои мысли. Кому интересно — залетайте!

Понравилась ли вам статья? Какими были ваши первые Android-смартфоны? Пишите в комментариях, будет интересно почитать!

Показать полностью 23 2
9

Управляем живым тамагочи с ПК

Запустил трансляцию управляемой жизни тамагочи gyaoppi.
Суть реализации: клавиатура со светодиодами + фоторезисторы + bash скрипт.
В предыдущем видео есть описание реализации.

<!--noindex--><a href="https://pikabu.ru/story/upravlyaem_zhivyim_tamagochi_s_pk_11264065?u=https%3A%2F%2Fwww.youtube.com%2F%40mrVolkYT%2Flive&t=https%3A%2F%2Fwww.youtube.com%2F%40mrVolkYT%2Flive&h=aee2531af0f057532c17b0032398d51222dd6604" title="https://www.youtube.com/@mrVolkYT/live" target="_blank" rel="nofollow noopener">https://www.youtube.com/@mrVolkYT/live</a><!--/noindex-->

https://www.youtube.com/@mrVolkYT/live

28
TECHNO BROTHER

Бюджетный и шустрый ультрабук для работы и сёрфинга: Обзор на Ninkear N14 Pro

Пожалуй, рубрика, связанная с обзором и ремонтом различных ноутбуков уже успела стать одной из самых любимых среди моих читателей. Мы с вами успели рассмотреть множество весьма необычных и диковинных устройств прошлых лет: ноутбуки на базе процессоров Transmeta Crusoe, миниатюрные японские девайсы с графикой PowerVR и даже бюджетные ARM-смартбуки на базе различных Linux-дистрибутивов! Поскольку желание копаться в девайсах, писать код и созидать что-то своё у меня возникает даже в дороге, моё творческое начало постоянно требует дописывать и переписывать черновики будущих статей в редакторе Хабра. Для этих целей, мне нужна была надёжная, портативная рабочая машинка, на которой я мог бы с комфортом заниматься подготовкой будущих статей. И этой машинкой оказался получивший апгрейд Ninkear N14 Pro! Что за девайс мы получаем за 40.000 рублей? Читаем в статье!

Что за девайс и на кого он рассчитан?

Сейчас на рынке представлен довольно широкий выбор различных портативных лэптопов: начиная от лёгких и достаточно шустрых Windows-планшетов с клавиатурой-крэдлом, заканчивая мощными и тяжелыми игровыми девайсами-«печками». Крайне большой популярностью пользуются различные бюджетные ультрабуки на базе «околопланшетной» платформы Intel Celeron J-серии, которые в основном берут для базового серфинга в интернете, работы с документами и даже, в некоторой степени, для старых игр.

Однако производительности девайсов на базе бюджетных Celeron и Pentium может не хватать для достаточно ресурсоёмких задач: например, разработка современных UWP и Android-приложений, развёртывание множества Docker-контейнеров, монтаж видео и обработка звука и тогда приходится искать что-то пошустрее, пусть даже на базе достаточно шустрых процессоров позапрошлого поколения.

Недавно компания Ninkear выпустила апгрейд своей шустрой и компактной рабочей лошадки — модель N14 Pro, предназначенную для тех пользователей, кому нужен достаточно маленький и холодный девайс с достойным железом, адекватным временем жизни от аккумулятора и нормальной IPS-матрицей. Ребята из Ninkear лично предложили мне затестить их новенький девайс и рассказать свои впечатления о нём… ну а я не смог не согласится!

Характеристики тестируемого девайса следующие:

  • Процессор: Intel Core i7-11390h Tiger Lake, работающий на частоте 3.4ГГц (с автоматическим разгоном до 5ГГц в режиме TurboBoost), выполненный по 10нм техпроцессу в конфигурации 4 ядра/8 потоков. Процессор достаточно «горяч» по меркам лэптопа — теплопакет аж в 35Вт, однако производитель обещает довольно продуманное и тихое охлаждение для большинства режимов работы!

  • ОЗУ: 16Гб DDR4 в одноканальном режиме.

  • GPU: Интегрированный GPU Iris XE, работающий на частоте до 1.4ГГц и в качестве видеопамяти использующий некоторый процент основной ОЗУ устройства. Iris, как и UHD Graphics, поддерживает OGL 4.6, Vulkan и DX12. Для большинства современного софта этого более чем достаточно, а вот игры… узнаем чуть позже!

  • Постоянная память: 1Tb NVME SSD, что само по себе уже неплохо, учитывая цену девайса и его мы тоже позже потестируем!

  • Дисплей: 14.1" 1080p шустрая IPS-матрица достойного качества с яркостью 280Нит.

  • Аккумулятор: Li-Ion ёмкостью 4.700мАч. Производитель обещает до 48ч в режиме простоя, 6ч размеренной работы и 8ч проигрывания видео в FHD

  • Толщина и вес: Всего 1.5Кг и тонкий 17мм корпус — весьма компактненько и портативно для такой машинки!

  • Камера: «Вебка» с разрешением 720p для любителей поболтать в видеочатах.

  • Wi-Fi: Современный модуль с поддержкой частот 2.4ГГц и 5ГГц.

  • ОС: Windows 11.



На первый взгляд всё весьма неплохо…

Распаковываем

Девайс пришёл ко мне в двух симпатичных коробочках, одна из которых была с надписью «Notebook». Вероятно, мне прислали ещё предсерийный образец, а дизайн финальной коробки пока ещё не готов.

В первой коробке лежал сам девайс в пленках, а также коврик для мыши, а во второй, которая поменьше — блок питания с кабелем для европейской вилки, а также фирменная беспроводная мышка весьма причудливой формы. Мелочь, а приятно :)

Что мне лично понравилось в первую очередь — так это конструкция и материалы корпуса девайса. Несмотря на то, что поддон ноутбука выполнен из классического пластика, вся верхняя часть устройства и топкейс выполнены из приятного на ощупь алюминия, что, в целом, даёт даже некоторое ощущение премиальности устройства. Девайс мне напоминает макбук, хотя из оригинальных маков у меня только PowerBook G4.

Открывается девайс относительно легко, в таком состоянии мы можем увидеть довольно большой по размерам тачпад с поддержкой мультитача, весьма удобную для девайса таких размеров клавиатуру с подсветкой клавиш, а также хвалёный мной ранее IPS-дисплей. Единственный момент, который мне немного не понравился — яркие статусные светодиоды, которые могут мозолить глаза в полной темноте. Для кого-то может статьи минусом единая с клавиатурой кнопкой включения — но сейчас это тренд.

В целом, по первому впечатлению всё очень даже неплохо, учитывая относительно невысокую цену данного красавца. Предлагаю включить девайс и познакомиться с ним поближе!

Включаем, смотрим и тестируем

Для многих будет приятным тот факт, что несмотря на относительно невысокую цену девайса, на N14 Pro предустановлена лицензионная Win11, а не, например, Debian (впрочем, для многих моих читателей это наоборот минус :)). Девайс достаточно шустро загружается с SSD, холодный старт занимает секунд 5, что весьма приятно.

В меню UEFI настроек довольно много, что не свойственно для большинства ноутбуков, в т.ч и пункты связанные с отладкой. С чем связано — не знаю, возможно у меня предсерийный образец и на него заливали дебаг-UEFI.

После того, как система стартовала и нужный софт был установлен, можно визуально оценить производительность девайса по скорости выполнения базовых задач: сёрфинг в браузере с парой десяток вкладок, встроенный UWP-плеер и редактирование документов — с этим всем девайс, очевидно, справляется замечательно!

Рекурсия

Рекурсия

Но без синтетики глупо судить о производительности девайса, поэтому мы накатываем бенчмарки и смотрим конфигурацию нашего девайса в CPU-Z и GPU-Z. На первый взгляд, всё весьма неплохо:

Запускаем бенчмарк CPU-Z и получаем следующие результаты:

  • 424.5 очка в режиме теста работы в одном потоке, что по «попугаям» равно Ryzen 5 2600, Ryzen 5 3400G и чуть меньше легендарного i7-7700

  • 2327.6 очков в режиме теста работы в несколько потоков, что в целом, немного шустрее i7-7700, равно тому же 3400G и когда-то желаемому многими i7-4790K

Для честности теста, запускаем бенчмарк CPU Queen в AIDA64 и узнаем, что процессор выдаёт 38025 попугаев. Для портативного и не особо дорогого девайса результаты вполне достойные :

В тесте FPU Julia, 11390H выдаёт 23841 попугаев.

Давайте разберем девайс и глянем, что-же у него «под капотом»?

Что под капотом?

В ультрабуке предусмотрен отдельный отсек для быстрой замены и обслуживания ОЗУ и NVMe. К сожалению, как уже было оговорено выше, слот под ОЗУ только один — возможность проапгрейдить оперативку есть, но работать она будет только в одноканальном режиме. NVMe, как и обещано, на 1Тб, одним чипом памяти. Маркировка на плате говорит о том, что потенциально можно попробовать распаять второй чип памяти и получить 2Тб… Может, как-нибудь попробовать? :)

Вообще, это забавно прозвучит, но меня порадовало наличие коннектора АКБ в открытом доступе без необходимости полной разборки ноутбука. Казалось бы, что в этом такого, но иногда меня просят перебрать и обслужить свежие ноуты, а в некоторых моделях АКБ можно отключить только после частичной разборки девайса… что, в общем-то, весьма рискованно. Кроме того, это полезно если вам необходимо на долгое время убрать девайс на полку и вы не хотите, чтобы АКБ ушёл в защиту.

Разбирается девайс очень просто, без необходимости снятия клавиатуры: просто откручиваем поддон, расщёлкиваем клипсы и снимаем его.

Конструктивно девайс весьма неплохо продуман. Охлад состоит из двух кулеров, хаб и процессор с GPU «сидят» на разных тепло-трубках, что обеспечивает достойный уровень охлаждения. Ещё-бы, с достаточно горячим по мобильным меркам процом!

В ноутбуке хоть и классическая, но весьма надежная конструкция петель: с завода девайс хоть и не открывается одной рукой, как макбук, однако петли не вызывают нареканий с точки зрения пользовательского опыта. На 5+ лет активной работы их должно хватать с головой!
Обратите внимание на наличие UART на плате. С учётом того, что в ноутбуке прошита debug-версия UEFI, диагностика аппаратных проблем лэптопа может стать проще:

С пользовательской точки зрения, ноутбук легко обслуживается: весь охлад снимается за пару минут, ОЗУ не распаяна и её без проблем можно заменить, NVMe-диск также легко поддаётся замене. Для рабочей и недорогой машинки — самое то!


Подходит ли девайс для разработчика?

Мой основной стек технологий — это C/C++ (Embedded-разработка и системное программирование), .NET (игры, мобильные приложения) и Java (Android, ну и по малёху J2ME из интереса), поэтому в этом тесте мы будем смотреть, как будет проявлять себя девайс при работе в современных и тяжелых IDE (IDEA-подобная Android Studio, привет!), как шустро девайс сможет справляться с компиляцией больших проектов и работой с тяжелыми системами сборки (Gradle).

Первым у нас будет VS2022 Community Edition. IDE работает достаточно плавно как в маленьких, так и относительно больших проектах. С .NET нет никаких проблем: студия практически моментально собирает и запускает отладчик для любых моих небольших проектов, а также быстро собирает сторонние библиотеки. Время сборки после clean моего самопального 3D-шутера на ~4к строк кода с учетом фреймворка — менее секунды!

Переходим к плюсам. Собирать мы будем 3D движок Urho3D. Накатываем CMake, генерируем проекты VS и переходим к компиляции…

Полное время сборки комплексного проекта с учетом сборки физ. движка, статической библиотеки самого движка и демок — 03:16, что весьма достойно.

Дальше у нас идёт Android Studio, известный своей системой сборки Gradle. Первая сборка всегда довольно долгая, поскольку Android Studio качает необходимую для проекта версию Gradle, однако основным показателем будет являться время Gradle sync и фактическое время сборки проекта после его очистки.

Мой клиент «вкшечки» собирается за 15 секунд, с учётом того, что Gradle уже развёрнут и проводится clean-сборка проекта. Gradle сам по себе неповоротлив до жути, но результат в любом случае неплохой!

Играем

Ну и само собой, самое время погонять девайс в играх! Если честно, я практически не играю в свежие релизы и не вижу особого смысла прогонять бенчмарки условного Cyberpunk 2077 на встройке… Но некоторую классику мы, пожалуй, с вами можем погонять!

Начинаем с GTA V, минимальные настройки графики, но при этом FHD-разрешение. 20-30 нестабильных кадров в портативном режиме. Уже не очень, да?

Black Mesa, релизная Steam-версия, в одной из самых тяжелых сцен с поездкой на «поезде» мы получаем ~30-40FPS на минимальных настройках графики, но в нативном разрешении. Казалось бы, первому Source уже вот-вот 20 лет стукнет, а всё равно лучшая его ветка способна нагрузить даже современные GPU!

Counter-Strike: Source. Не поймите меня неправильно, CS2 девайс тоже вполне тянет и в портативе, однако производительность слишком нестабильная для комфортной игры. Зато CSS — вполне! Кроме того, интеловский драйвер форсирует во всех D3D-приложениях 60FPS и отключить лок в текущей версии софта невозможно :(

Ну и Flatout 2. Здесь всё замечательно, как и в большинстве гоночек тех лет :)



Заключение

Давайте подведем итоги на основе проведенных нами тестов:

  • Игры: Для свежих релизов девайс не подойдет от слова совсем. Iris XE в текущей конфигурации — достаточно слабая встройка, которая с трудом вытягивает игры 5-6 летней давности в 1080p. Но тем не менее, если вы покупаете лэптоп в первую очередь для работы, но время от времени любите погонять в условный New Vegas, или, например, CSS, то почему бы и нет?

  • Разработка: Для целей разработчика девайс подходит весьма неплохо. Шустрый террабайтный NVMe SSD вкупе с не самым плохим i7 11390H позволяют с комфортом работать в IDE, а также собирать и дебажить проекты «на лету». Можно накатить osx86 и будет «почти макбук», учитывая моду на дизайн лэптопов от Apple.

  • Офис и учёба: Подойдёт замечательно. Девайс без проблем можно использовать для подготовки презентаций в поверпоинте, работы с документами, таблицами и т.п.

  • Сёрфинг, просмотр видосов и онлайн-кинотеатров: С этим тоже никаких проблем нет. Девайс легко вывозит с десяток открытых вкладок, при просмотре видео девайс практически не греется — GPU поддерживает аппаратное декодирование VP9 в 2160p.



Если девайс подходит вашим требованиям — можете смело брать на официальном сайте производителя. Склады есть и в РФ, так что проблем с сроком доставки не будет :)

Друзья! Ninkear прислали мне данный ноутбук в обмен на обзор. Но пожалуйста, смотрите на это не с позиции «автор, ты продался», а с позиции того, что ребята заслали мне удобную машинку, которая поможет сделать будущий контент лучше! Мне лишь оставалось расписать свои искренние впечатления касательно девайса и лично я считаю, что ноут вполне можно рассматривать к покупке.

Показать полностью 22 3
110

Фотовторник №46. Polaroid miniportrait

Сегодня у нас вместо советского фотоаппарата буржуинская вундервафля. Polaroid miniportrait - фотоаппарат для студий.

Имеет 4 объектива, селектор режимов и селектор объективов. Можно нажатием спуска делать 1,2,4 фото разом.

Фотовспышка встроенная, имеет шарнир, что позволяет направить свет от нее хоть в лицо, хоть в потолок.

Электронный блок с часами сполз - некачественный клей.

На шильдике серийный номер и название модели - polaroid model 403 camera.

Обратите внимание на наклейку "modified in japan"

Из коллекции Черненко А. Телеграм канал для тех кому удобнее.

Показать полностью 14
294

Ретропонедельник № 141 Странный универсальный инструмент

Сегодня в моем виртуальном музее странный экспонат, про который не известно ничего. Это универсальный инструмент: Молото-шило-стамеско-буравчико-отвертка!

Качество изготовления - фабричное. Либо это производство какой-то артели, либо самоделка человека, имеющего доступ к станкам. Выглядит как молоток, но молот является гайкой на цанге:

В ручке хранятся насадки:

Третья справа - стамеска.

Следы ремонта говорят о том, что корпус ударных нагрузок молотка не выдержал. Странный инструмент. Есть догадки о его происхождении?

Показать полностью 6
88
TECHNO BROTHER

"Сам себе экосистема ч.3" - быть? Хочу услышать ваше мнение!

Друзья! Думаю многие мои давние читатели помнят о цикле статей "сам себе экосистема", где я стараюсь вдохнуть новую жизнь в девайсы 10+ летней давности путем разработки собственных клиентов нужных мне сервисов! Уже вышло две статьи из этой рубрики ( Сам себе экосистема: Как я адаптировал старый смартфон под современные реалии и написал клиенты нужных мне сервисов Не дадим Windows Phone умереть! Как я написал свои клиенты VK, YouTube для Nokia Lumia? Сам себе экосистема ч.2 ). Сейчас, вот, держу несколько своих девайсов на Android 2.2 и потихоньку пилю наработки ещё нескольких нужных мне приложений: клиент Сбера на СМСках (по сути, удобная обертка над 900 с виджетами), актуальная погода на неделю вперед, вьювер карт OpenStreetMap и трекинг посылок. ВКшечка и ютубчик, как мы помним, уже есть. Давайте устроим голосование, не одному ли мне это интересно и быть ли третьей статье из рубрики "сам себе экосистема"?

Быть?
Всего голосов:
Показать полностью 1 1

По следам терактов

К сожалению ЧП происходят всегда. Какие то можно остановить навсегда, например оспа (ладно она то у военных наверно есть), какие-то остановить в принципе нереально (массшутинги). Но человек не был б человеком если не искал всегда противоядия.
Пропаганда? Работа с осведомителями? Контроль средств коммуникации? Это бесполезно против одиночек- психопатов (неважно вещества или телефонные мрази к этому привели) или мотивированных малых групп. Выход конечно предложим.
Первый: уничтожение кормовой базы всякого сорта вербовщиков, в первую очередь массовой роботизацией производств. Это семимильными шагами отрежет необходимость ввоза дешевой рабочей силы, как и повысит уровень благосостояния населения. Желающие рассказать что "так низзя" могут ответить на вопрос: а именно тебе охото идти на завод за 20к точить шестеренку номер 215 до пенсии? Нет? А роботу нормально, если правильно к этоу подвести системами грантов и налогов.

Не считаю себя достаточно осведомленным по всяким там работам спецслужб по выявлению террористов- смертников и прочего (думаю там итак молодцы), поэтому предложу последнюю линию ... уведомлений.

В каждой школе и торговом центре есть охрана, она честно досматривает как может и это хорошо. Но мало. Есть камеры наблюдения, но оператор за всем не уследит (он просто человек). Но все это используется недостаточно (а я авторитет прям ага). Можно добавить в камеры обнаружение оружия в руках, но тогда нападающие его замаскируют.
Нужно улучшить. Давать оружие или выделять дежурный БМП абсолютно бесполезно: у нападающих есть инициатива и охрана просто не успеет применить свои газовые гранаты. Им просто достанутся первые же пули. И это надо использовать (цинично звучит, согласен). То есть в прямом смысле: раздать датчики самочувствия каждому охраннику. Примитивный фитнесс- браслет снимающий сердцебиение, давление, геометку и т.д. Эти браслеты сводятся в группы с передачей данных на узловые роутеры (как точки вай-фай). В случае аномальных показаний датчиков (обоих одновременно) туда сразу переключается внимание оператора камер наблюдения. Ситуаций что двум охранникам вдруг стало плохо - минимум, а нападение на них с газовыми баллонами или автоматами сразу будет обнаружено по реакции организма. Далее отрепетированное уведомление МВД , блокировка входа и эвакуационная тревога... да по вкусу добавьте. Ну и очевидно что трансляция с камер наблюдения на общегородской (или в моде децентрализация?) центр координации силовиков.

Сразу "странно" что не предложены самоходные боевые роботы стреляющие в ответ на стрельбу? Даже если они хранятся в сейфах то сколь этих сейфов надо? На каждый вход? Нереально. А кто отвечает за ошибки? Ладно, про роботов я пробую уже шутить (предупреждение нужное в наше время).

Да, я считаю что шакала-террориста с оружием может остановить только силовик сил света с оружием в руках. Вооруженные гражданские (я за легалайз оружия) если не остановит, то задержат преступника и в бронежилете. А тут и подъедет парочка ППС, а потом и более серьезные ребята. Опасения что у "плохишей" будет упрощен доступ к оружию- смешны. Сколько мы видим что преступник всегда находит инструмент преступления. Но надо сделать много работы по надежности и дублированию, помехозащищенности и кибербезопасности систем, предотвращению халатности и саботированию системы. Само собой эту систему надо делать на своих производствах и своих серверах, в идеале без импорта. И подешевле и масштабируемо уже на местах. Правовая основа и алгоритмы взаимодействия, лицензирование всего, принципиально обсуждаемы. Обязанность носить браслеты всем охранникам и планы установки камер можно прописать в инструкции. Нет, армии для мониторинга оружия массового поражения это не подходит, думайте что у противника всегда есть радиоэлектронная разведка. А вот от старух которые вызывают скорые от скуки "давление померять"- самое то (c привязкой к телефону). Интересно такой мониторинг здоровья поможет охранникам в обнаружении и лечении болезней? И да, я считаю что такие преступления не имеют ни политического, ни религиозного, ни этнического привкуса.
И да, соболезнования тем кто пострадал в террористических атаках, с словами поддержки с вами вся планета.

Показать полностью
23

Взаимодействие Ардуино и Телеграм-бота: простая инструкция

Записал видео, где простым языком, без лишней воды, но при этом достаточно подробно рассказываю как отправлять данные из телеги на ардуино и получать их обратно.

Отличная работа, все прочитано!