Горячее
Лучшее
Свежее
Подписки
Сообщества
Блоги
Эксперты
Войти
Забыли пароль?
или продолжите с
Создать аккаунт
Я хочу получать рассылки с лучшими постами за неделю
или
Восстановление пароля
Восстановление пароля
Получить код в Telegram
Войти с Яндекс ID Войти через VK ID
Создавая аккаунт, я соглашаюсь с правилами Пикабу и даю согласие на обработку персональных данных.
ПромокодыРаботаКурсыРекламаИгрыПополнение Steam
Пикабу Игры +1000 бесплатных онлайн игр
Грибные блоки - красочная головоломка, в которой вам предстоит передвигать блоки и заполнять ряды, чтобы собирать грибочки в корзину! Попробуйте продержаться как можно дольше!

Грибные блоки

Головоломки, Расслабляющая, Пазлы

Играть

Топ прошлой недели

  • AlexKud AlexKud 38 постов
  • SergeyKorsun SergeyKorsun 12 постов
  • SupportHuaport SupportHuaport 5 постов
Посмотреть весь топ

Лучшие посты недели

Рассылка Пикабу: отправляем самые рейтинговые материалы за 7 дней 🔥

Нажимая кнопку «Подписаться на рассылку», я соглашаюсь с Правилами Пикабу и даю согласие на обработку персональных данных.

Спасибо, что подписались!
Пожалуйста, проверьте почту 😊

Помощь Кодекс Пикабу Команда Пикабу Моб. приложение
Правила соцсети О рекомендациях О компании
Промокоды Биг Гик Промокоды Lamoda Промокоды МВидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня

Linux + Смартфон

С этим тегом используют

Windows IT Программирование Ubuntu IT юмор Компьютер Программист Телефон Android Мобильные телефоны Гаджеты Вертикальное видео iPhone Электроника Все
31 пост сначала свежее
1245
monobogdan
monobogdan
Посты о ремонте и моддинге ретрогаджетов.
TECHNO BROTHER
1 месяц назад

Пишем один «exe», который работает на 3-х разных ОС без перекомпиляции⁠⁠

Пишем один «exe», который работает на 3-х разных ОС без перекомпиляции Смартфон, Телефон, Покупка, Гаджеты, Программирование, Моддинг, Эльфы, Linux, Unix, Операционная система, Реверс-инжиниринг, Siemens, Моторола, Ностальгия, Длиннопост

Нет, это не шутка и не кликбейт. Такое действительно возможно - правда через небольшой хак.

Недавно я задался вопросом: а возможно ли написать для ARM нативную программу, которая будет бесшовно работать сразу на 4-х операционных системах без необходимости перекомпиляции для разных платформ и ABI. Мне очень хотелось реализовать возможность писать кроссплатформенные эльфы для мобильных телефонов из нулевых и попытаться портировать на них эмуляторы ретро-консолей. Погрузившись в документацию на исполняемые форматы, я пришёл к выводу, что да - это возможно и смог реализовать такую программу на практике без читерства по типу VM! Всех гиков приглашаю под кат!

❯ Зачем и почему?

Давным-давно, в далёком 2001 году, мир увидел легендарный японский телефон - Sony CMD-J70. Ещё до создания совместного подразделения с Ericsson, Sony выпускала достаточно занимательные девайсы, которые привлекали внимание не только рядовых пользователей, но и моддеров всех мастей. Уже через пару лет после выхода, в программном плане телефон копали все кому не лень: кто-то менял графику, кто-то писал патчи, а со временем написали даже бинлоадер (PRGLoader) - загрузчик внешних "экзешников", позволявший запускать на телефоне произвольный софт, написанный на ассемблере!

Пишем один «exe», который работает на 3-х разных ОС без перекомпиляции Смартфон, Телефон, Покупка, Гаджеты, Программирование, Моддинг, Эльфы, Linux, Unix, Операционная система, Реверс-инжиниринг, Siemens, Моторола, Ностальгия, Длиннопост

Сейчас сложно себе представить, но в те годы это был нереальный отвал башки: на большинстве телефонов были доступны разве что Java/Mophun-приложения, которые обладали ограниченным функционалом и уж тем более не позволяли лезть в дебри прошивки телефона, а здесь были программы которые буквально позволяли делать с телефоном всё что захочешь: светомузыку из подсветки, кастомные игры, обои на главный экран... всё это было доступно только на куда более дорогих смартфонах с Symbian и Windows Mobile на борту!

Пишем один «exe», который работает на 3-х разных ОС без перекомпиляции Смартфон, Телефон, Покупка, Гаджеты, Программирование, Моддинг, Эльфы, Linux, Unix, Операционная система, Реверс-инжиниринг, Siemens, Моторола, Ностальгия, Длиннопост

Недавно мы с вами вспоминали о легендарном Siemens M55 и узнали, что у него находится под капотом. Несмотря на диковинную архитектуру Infineon C166, даже под этот телефон делались патчи и была написана как минимум одна кастомная игра. Но рассвет моддинг-сцены Siemens произошёл с выходом платформы S-Gold на базе стандартного ядра ARM926EJ-S, когда в ~2004 году энтузиасты полностью взломали алгоритм генерации BootKEY для загрузчика, а затем в 2006 году реализовали полноценный эльфлоадер, который позволял загружать программы написанные на C и скомпилированные самым обычным компилятором ADS. В отличии от бинлоадера для CMD-J70, "эльфятник" позволял угонять функции RTOS для создания потоков и привносил в бюджетные телефоны полноценную вытесняющую многозадачность с настоящим диспетчером задач и возможностью запуска несколько программ одновременно:

Пишем один «exe», который работает на 3-х разных ОС без перекомпиляции Смартфон, Телефон, Покупка, Гаджеты, Программирование, Моддинг, Эльфы, Linux, Unix, Операционная система, Реверс-инжиниринг, Siemens, Моторола, Ностальгия, Длиннопост

Единицы читателей поймут, что происходит на данной фотографии...

Энтузиасты раскапывали прошивку в дизассемблере, изучали её и пытались понять как работают разные её подсистемы. Результатом стало появление нативного клиента почты с предком пуш-уведомлений, аськи (NatICQ), порты самых разных эмуляторов ретро-консолей и даже полная программная поддержка MP3 в тех телефонах, где её отродясь не было! И представьте себе, почти все эти программы можно было свернуть и продолжить работу в браузере или, например, Card Explorer'е! Одним из эльфописателей был Хабровчанин @ilya_ZX

Пишем один «exe», который работает на 3-х разных ОС без перекомпиляции Смартфон, Телефон, Покупка, Гаджеты, Программирование, Моддинг, Эльфы, Linux, Unix, Операционная система, Реверс-инжиниринг, Siemens, Моторола, Ностальгия, Длиннопост

Но если вы думаете что одними телефонами Siemens энтузиасты были едины, то вы ошибаетесь - ведь круче были только "моторолки"! В 2004-году, недорогая Motorola E398 с двумя громкими динамиками, светомузыкой и поддержкой MicroSD-флэшек, стала настоящим бестселлером и привлекла к себе не меньше энтузиастов, чем Siemens. Ребята сплотились на форуме MotoFan, нашли уязвимость в загрузчике и хакнули верификацию RSA-подписи у прошивок, позволив не только модифицировать Seem'ы (что-то типа NVRAM), но и создавать для телефона кастомные прошивки - монстрпаки, которые прибавляли громкость и без того не самым тихим динамикам и в различных аспектах изменяли главное меню устройства. Со временем, @Andy51 и ещё несколько энтузиастов реализовали эльфлоадер (EP1) для E398, раскопали прошивку и написали много полезного софта, время от времени переключаясь на Linux-телефоны от Motorola...

Пишем один «exe», который работает на 3-х разных ОС без перекомпиляции Смартфон, Телефон, Покупка, Гаджеты, Программирование, Моддинг, Эльфы, Linux, Unix, Операционная система, Реверс-инжиниринг, Siemens, Моторола, Ностальгия, Длиннопост

Вероятно многие читатели подумают мол "было и было, мой айфон/сяоми может запускать любой произвольный софт и эти ухищрения давным-давно неактуальны...". Но как бы не так: про моторолки и сименсы не просто всё чаще вспоминают, у них есть до сих пор активное моддерское коммьюнити, которое продолжает пилить для них кастомный софт и далее колупать прошивку. Всё тот же @EXL портировал крутой софтрендер для E398 и в 2025 году наконец-то взломал C350, @Azq2 пилит аппаратный эмулятор Infineon S-Gold и многие другие делают свой вклад в моддинг сцену уже не таких мейнстримных, но отнюдь не устаревших устройств!

Пишем один «exe», который работает на 3-х разных ОС без перекомпиляции Смартфон, Телефон, Покупка, Гаджеты, Программирование, Моддинг, Эльфы, Linux, Unix, Операционная система, Реверс-инжиниринг, Siemens, Моторола, Ностальгия, Длиннопост

Однако порог вхождения для написания эльфов достаточно высокий: нет никакой отладки кроме printf, любая ошибка в приложении приводит к зависанию или ребуту телефона (на сименсах с характерным "пик"), а API напрямую импортируется из прошивки телефона и может быть достаточно комплексным - ни о каких кроссплатформенных эльфах и речи не идет. Поэтому в какой-то момент мне стало интересно: а возможно ли написать такой эльфлоадер, который за своим рантаймом будет прятать детали реализации работы с аппаратной начинкой телефона и при этом загружать один и тот же бинарник на всех поддерживаемых платформах без особых патчей и изменений? Принявшись за изучение ABI ARM и спецификации Elf, я начал дизассемблировать и изучать самые маленькие тестовые программы...

Пишем один «exe», который работает на 3-х разных ОС без перекомпиляции Смартфон, Телефон, Покупка, Гаджеты, Программирование, Моддинг, Эльфы, Linux, Unix, Операционная система, Реверс-инжиниринг, Siemens, Моторола, Ностальгия, Длиннопост

❯ Формат ELF, ABI ARM и тулчейн

Начнём с самого простого: что же такое эти самые эльфы? Elf - формат исполняемых файлов, широко применяемый как в мире Unix-систем, так и в embedded-устройствах. Самые распространенные тулчейны - GCC и clang/llvm, по умолчанию собирают программы именно в этом формате и по своей сути, это прямой аналог .exe (PE) файлов из Windows. Помимо кода, Elf также содержит в себе множество секций и различных данных, при этом разработчики формата старались сделать его настолько гибким, чтобы его можно было использовать на любых архитектурах: от x86, до risc-v.

Пишем один «exe», который работает на 3-х разных ОС без перекомпиляции Смартфон, Телефон, Покупка, Гаджеты, Программирование, Моддинг, Эльфы, Linux, Unix, Операционная система, Реверс-инжиниринг, Siemens, Моторола, Ностальгия, Длиннопост

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

.text - хранит в себе код программы и обычно записывается в память с флагами MMU R X (чтение и выполнение)

.data - преинициализированные данные, имеет флаги R W (чтение и запись). Например, заполненная структура в C:

int a[] = { 1, 2, 3 };

.bss - не инициализированные данные, иными словами глобальные переменные, которые при старте программы должны быть забиты нулями. Имеет те же флаги, что и .data.

.rodata - различные константы: строковые, const-преинициализированные массивы, а также структуры и т.п, имеет только флаг R и на системах с MMU попытка запись в эту секцию повлечет SIGSEGV.

За загрузку всех этих секций отвечает загрузчик Elf в ядре ОС. Однако это справедливо только для простых программ, которые загружаются в фиксированный адрес виртуальной памяти и которые не используют внешние библиотеки (.so, аналог в Windows - .dll). Поскольку адрес загрузки для всех библиотек предсказать невозможно, разработчики ABI придумали позиционно-независимый код (PIC и его производное - PIE), который может загружаться в любую область памяти и оттуда выполняться.

Реализация PIC может достигаться тремя разными способами:

  • Первый способ заключается в использовании глобальной таблицы смещений (GOT) и релокаций. Релокации - специальные данные в Elf, которые позволяют переместить программу в другой адрес путём патчинга адресов в секции .got "на лету": иными словами, сам код (.text) остаётся позиционно-независимым (дабы библиотеку можно было загрузить один раз и использовать во множестве процессов) и обращается к GOT относительно PC, но в самом GOT (который представляет из себя массив void* addresses[]) указатели на остальные сегменты находятся так, будто программа загружается по смещению 0x0. Задача динамического линкера - посчитать абсолютный адрес для всех указателей в GOT: в простейшем случае, это got[address] += baseAddress.
    Релокации могут затрагивать сразу literal pools в обход GOT, если архитектура предусматривает их наличие.

Пишем один «exe», который работает на 3-х разных ОС без перекомпиляции Смартфон, Телефон, Покупка, Гаджеты, Программирование, Моддинг, Эльфы, Linux, Unix, Операционная система, Реверс-инжиниринг, Siemens, Моторола, Ностальгия, Длиннопост
  • Релокацией занимается динамический линкер или интерпретатор в мире Unix (тот самый ld.so, что часто "not found" :) ), а самих релокаций есть много разных видов в зависимости от архитектуры процессора. В ARM чаще всего встречается R_ARM_REL32

  • Второй способ заключается в том, что мы компилируем программу так, будто она должна загружаться по фиксированному адресу 0x0 - то есть без PIC, однако просим линкер (--emit-relocs) создать информацию о всех обращениях к памяти в виде всё тех же релокаций. Вместо R_ARM_REL32, линкер создаёт релокации R_ARM_ABS32, которые можно разрешить обычным сложением.
    С таким подходом количество релокаций кратно увеличивается, однако из-за отсутствия GOT немного повышается быстродействие программы (вместо трёх LDR для загрузки слова из памяти нужно всего два: из Literal pool в регистр и затем из фактической памяти).

Пишем один «exe», который работает на 3-х разных ОС без перекомпиляции Смартфон, Телефон, Покупка, Гаджеты, Программирование, Моддинг, Эльфы, Linux, Unix, Операционная система, Реверс-инжиниринг, Siemens, Моторола, Ностальгия, Длиннопост

Пример релокаций для эмулятора NES

Третий способ поддерживается не везде, но в ARM он является одним из самых распространенных в embedded-среде: код собирается с флагами /rwpi и /ropi полностью не зависит ни от GOT, ни имеет каких либо релокаций. Вместо этого, для адресации базового адреса программы он использует выделенный регистр R9, который загрузчик должен заполнить адресом, куда он загрузил программу (mov r9, textSectionBase). Такой подход теоретически чуточку быстрее, чем GOT, но медленнее второго подхода из-за необходимости добавлять сложение регистра с PC перед каждым фетчем из памяти.

Пишем один «exe», который работает на 3-х разных ОС без перекомпиляции Смартфон, Телефон, Покупка, Гаджеты, Программирование, Моддинг, Эльфы, Linux, Unix, Операционная система, Реверс-инжиниринг, Siemens, Моторола, Ностальгия, Длиннопост

Поскольку в телефонах MMU обычно не используется, эльфлоадеры загружают программы по тому адресу, что им выделяет системный аллокатор памяти и вынуждены использовать PIC. Чаще всего используются релокации (как минимум на Siemens и Motorola), на некоторых платформах используется второй подход с использованием регистра R9.

Для большей гибкости, я решил выбрать второй подход и построить свой эльфлоадер поверх уже существующих загрузчиков, обернув API прошивок в ряд собственных стандартизированных функций: работа с дисплеем, вводом, файлами, а также звуком. При этом эльфы должны собираться современным компилятором clang с поддержкой C99, чтобы была возможность легко портировать современные single-header программы по типу эмуляторов, да и в целом не писать код на манер Ansi C, когда переменную нигде нельзя объявить кроме начала блока.

Пишем один «exe», который работает на 3-х разных ОС без перекомпиляции Смартфон, Телефон, Покупка, Гаджеты, Программирование, Моддинг, Эльфы, Linux, Unix, Операционная система, Реверс-инжиниринг, Siemens, Моторола, Ностальгия, Длиннопост

Далее я сутками игрался с компиляторами и пытался заставить выдать их подходящий для моих целей код и по итогу написал скрипт для линкера, который для простоты загрузки файла объединяет все секции в один .text (таким образом остаётся всего один Program Header):

OUTPUT_FORMAT("elf32-littlearm")
SECTIONS
{
. = 0x0;
.text : {
*(.r9ptr)
*(.text*)
*(.data*)
*(.bss*)
*(.rodata*)
*(.functions)
}

.rel : {
*(.rel*)
}

/DISCARD/ : {
*(.ARM.*)
}

}

И следующий набор опций для компилятора, который устанавливает архитектуру и целевой процессор, ABI для FPU, включает генерацию релокаций и отключает выравнивание в линкере для выходного файла (иначе файлы забиты нулями и весят целых 64Кб:

CLANGFLAGS = -mno-unaligned-access -O3 -ffast-math -ffixed-r9 -T ld.script -target armv5e-none-eabi -nostartfiles -fno-exceptions -fno-rtti -mfloat-abi=soft -I$(ELFROOT) -Ilibnesemu/
LDDFLAGS = -Wl,-zmax-page-size=1,--emit-relocs

Когда компилятор наконец-то начал выдавать корректный код, я принялся писать сам эльфлоадер. За качество кода и отсутствие нормальной структуры не ругайте - это эмбеддед, тут можно ;))

На входе лоадеру поступает адрес загруженного в память эльфа и его длина. Задача эльфятника - верифицировать заголовок и убедится что он собран с подходящими параметрами:

// Read and verify ELF header
Elf32_Ehdr* hdr = (Elf32_Ehdr*)data;

PRINT("Loading ELF...");
if(hdr->e_machine != EM_ARM)
{
PRINT("Not an EM_ARM executable");

return 0;
}

if(hdr->e_ident[EI_DATA] != PLATFORM_ELF_ENDIANESS)
{
PRINT("Endianess mismatch");

return 0; // Wrong endianess
}

Проанализировать таблицу заголовков с служебной информацией о том, что находится по тому или иному смещению в файле: загружаемая секция, таблица символов или строк, а затем загрузить все секции в участок памяти, который нам выдал аллокатор. На MMU-системах адрес должен быть выровнен по размеру страницы, иначе система не даст выдать страницам флаг EXEC!

ret = (ExecInfo*)ExecAlloc(sizeof(ExecInfo));

sections = (Elf32_Phdr*)(&data[hdr->e_phoff]);
sh = (Elf32_Shdr*)&data[hdr->e_shoff];
symSectionIndex = hdr->e_shstrndx;
codeSize = 0x0;

PRINT("Processing program headers");
// Process program headers and determine total size
for(i = 0; i < hdr->e_phnum; i++) {
Elf32_Phdr hdr = sections[i];

if(hdr.p_type == PT_LOAD) {
if(hdr.p_offset == 0x0)
continue;

codeSize += hdr.p_memsz;
}
}

PRINT("Allocating memory for .text");

textSection = (char*)ExecAlloc(codeSize);
textOffset = textSection;

ret->CodeSection = textSection;

if(!textSection)
{
free(ret);
PRINT("Failed to allocate .text section");

return 0;
}

Далее найти секцию с таблицей символов и с строками, где содержатся имена символов:

PRINT("Analyzing section table");
for(i = 0; i < hdr->e_shnum; i++)
{
Elf32_Shdr sec = sh[i];

if(sec.sh_type == SHT_STRTAB && i != hdr->e_shstrndx && strTable == 0)
{
strTable = &data[sec.sh_offset];
PRINT("Found string table");
}

if(sec.sh_type == SHT_SYMTAB)
{
PRINT("Found symbol table");
symbols = (Elf32_Sym*)&data[sec.sh_offset];
symNum = sec.sh_size / sizeof(Elf32_Sym);
}

if(sec.sh_type == SHT_REL && relocs == 0)
{
UtilPrint("Found relocations");
relocs = (Elf32_Rel*)&data[sec.sh_offset];
relNum = sec.sh_size / sizeof(Elf32_Rel);
}

if(sec.sh_type == SHT_RELA)
{
PRINT("Found unsupported relocation types");
return 0;
}
}

if(!strTable || !symbols)
{
free(ret);
PRINT(".strtab or .symtab not found");

return 0;
}

А затем найти функцию ElfMain, которая служит точкой входа и пропатчить таблицу импортированных функций! На этом, загрузка эльфа завершена - можно устанавливать регистр R9 и вызывать Main!

PRINT("Relocation fix-up");
for(i = 0; i < relNum; i++)
{
Elf32_Rel rel = relocs[i];
int sym = ELF32_R_SYM(rel.r_info);

switch(ELF32_R_TYPE(rel.r_info))
{
case R_ARM_ABS32:
*((unsigned int*)&textSection[rel.r_offset]) += (unsigned int)textSection;
break;
case R_ARM_JUMP24:
break;
case R_ARM_CALL:
break;
default:
PRINT("Unsupported relocation type");
}
}

PRINT("Patching import table");

// Analyze symbol table and patch all imported function pointers to real counterparts
for(i = 0; i < symNum; i++)
{
Elf32_Sym sym = symbols[i];
uint8_t* symName = &strTable[sym.st_name];

int symType = ELF32_ST_TYPE(sym.st_info);

if(symType == STT_OBJECT && strstr((const char*)symName, "SYS_"))
{
int funcNumber = ExecFindFunction(symName);

if(funcNumber == -1)
{
PRINT("Failed to import function: ");
UtilPrint((char*)symName);
PRINT("");

continue;
}

//drawDebug(FuncExportTable[funcNumber].Pointer == 0 ? "Not OK" : "OK");

*((unsigned int*)&textSection[sym.st_value]) = (unsigned int)FuncExportTable[funcNumber].Pointer;
}

if(symType == STT_FUNC && strstr((const char*)symName, "ElfMain"))
{
PRINT("ElfMain function is found");

ret->Main = (ExecMainFunction)&textSection[sym.st_value];
}

В Elf уже есть механизм импорта функций из сторонних библиотек, называется Platform Linkage Table. Для импорта функций прошивки, эльфлоадер Siemens использует SWI (сисколлы, что-то типа программных прерываний в x86 - int 10h и т.п.), Motorola же патчит thunk-функции на лету, которые сами вызывают настоящую функцию:

Пишем один «exe», который работает на 3-х разных ОС без перекомпиляции Смартфон, Телефон, Покупка, Гаджеты, Программирование, Моддинг, Эльфы, Linux, Unix, Операционная система, Реверс-инжиниринг, Siemens, Моторола, Ностальгия, Длиннопост

А я решил поступить несколько изящнее. В моем эльфятнике, функции импортируются с помощью специального макроса, который создаёт переменную-указатель на функцию, который изначально располагается в секции .functions. При этом с помощью ключевого слова asm, символу присваивается иное имя - с префиксом SYS_, которое означает то, что загрузчик эльфа должен пропатчить адреса функций на реальные (которые предварительно зарегистрированы в рантайме) в процессе загрузки программ и таким образом, избежать thunk-функций и позволить оптимизатору легко выкидывать указатели на неиспользуемые функции:

#ifndef LOADER
#define IMPORT(name, ret, ...) __attribute__ ((section(".functions"))) ret (* name )( __VA_ARGS__ ) asm( "SYS_" #name )
#define IMPORTNOARGS(name, ret) __attribute__ ((section(".functions"))) ret (* name )() asm( "SYS_" #name )
#else
#define IMPORT(name, ret, ...) ret name( __VA_ARGS__ )
#define IMPORTNOARGS(name, ret) ret name()
#endif

Что самое забавное, лучший способ отладить эльфлоадер - в QEMU с GDB под Linux. Однако я решил время не терять и отлаживал его сразу на смартфоне с Windows Mobile. А раз WM стал первой поддерживаемой платформой - на нем мы с вами и реализуем рантайм.

Пишем один «exe», который работает на 3-х разных ОС без перекомпиляции Смартфон, Телефон, Покупка, Гаджеты, Программирование, Моддинг, Эльфы, Linux, Unix, Операционная система, Реверс-инжиниринг, Siemens, Моторола, Ностальгия, Длиннопост

❯ Портируем на Windows Mobile (CE)

Поскольку всю жизнь я сижу в основном на Windows, а WinAPI в CE практически полностью копирует десктопную версию, никаких проблем с портированием рантайма не возникло. Единственный выбор который передо мной встал: стоит ли прокидывать stdlib из хост-системы в "эльфятник", или же воспользоваться реализацией newlib в clang/gcc. В процессе портирования на другие платформы выяснилось, что нормально libc реализован, по сути, только на Windows, во все остальных реализациях были лишь самые основные функции по типу malloc, free, memcpy, strcmp и т.п. Поэтому я решил не городить велосипеды и прокинул из хост-системы лишь аллокатор - т.е malloc и free:

// stdlib
IMPORT(elf_malloc, void*, int size);
IMPORT(elf_free, void, void* ptr);
/*IMPORT(elf_strcmp, int, char* str1, char* str2);
IMPORT(elf_strcpy, char*, char* dst, char* src);
IMPORT(elf_strlen, int, char* str);
IMPORT(elf_strstr, char*, char* string, char* substring);
IMPORTNOARGS(elf_rand, int);
IMPORT(elf_memcpy, void*, void* dst, const void* src, uint32_t length);
IMPORT(elf_memset, void*, void* dst, int what, uint32_t length);
IMPORT(elf_memmove, void*, void* dst, void* src, uint32_t length);*/

Далее я сразу решил, что платформозависимые функции для работы с дисплеем использовать не буду и из хост-системы мне нужен будет лишь указатель на фреймбуфер, а блиттинг, рисование текста и прочие операции я реализую сам. На первый взгляд может показаться что это единственное верное решение, однако на практике в некоторых телефонах (Motorola E398, Razr V3) активно использовались 2D GPU от ATI и Nvidia, которые рисуют (BitBLT) изображение значительно быстрее любой программной реализации.

Ниже представлена черновая реализация без преобразования пиксельформатов (поскольку на подавляющем числе телефонов использовался 565) и поддержки прозрачности через колоркей. Её можно оптимизировать до быстрого копирования по сканлайнам через memcpy:

for(i = 0; i < bitmap->Height; i++)
{
for(j = 0; j < bitmap->Width; j++)
{
LCD_PLOT_565(clamp(x + j, 0, lcd->Width), clamp(y + i, 0, lcd->Height), bmp[i * bitmap->Width + j]);
}
}

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

__inline int LcdDrawChar(LcdInfo* lcd, char chr, uint32_t x, uint32_t y, uint16_t color)
{
if(x >= 0 && y >= 0 && x + FONT_WIDTH < lcd->Width && y + FONT_HEIGHT < lcd->Height)
{
int i, j;
unsigned char* glyph = &embedded_font[chr * 8];

for(i = 0; i < FONT_HEIGHT; i++)
{
short* fb = &((short*)lcd->Pixels)[(y + i) * lcd->Width + x];

for(j = 0; j < FONT_WIDTH; j++)
{
if((*glyph >> (FONT_WIDTH - j)) & 0x1)
*fb = color;

fb++;
}

glyph++;
}

return true;
}

return false;
}

void LcdDrawString(LcdInfo* lcd, char* str, uint32_t x, uint32_t y, uint16_t color)
{
SWITCH_CONTEXT;
if(lcd && x >= 0 && y >= 0)
{
unsigned int i;

for(i = 0; i < strlen(str); i++)
{
if(!LcdDrawChar(lcd, str[i], x, y, color))
return; // Out of screen

x += FONT_WIDTH;
}
}
END_CONTEXT;
}

Отладив эльфлоадер, я написал небольшую тестовую программу для вывода картинки и текста:

#include <system.h>

int ElfMain(void* ptr)
{
LcdInfo* lcd = lcdInit();

lcdDrawBitmap(lcd, bitmap, 0, 0);
lcdDrawString(lcd, "Test", 0, 0, COLOR_BLUE)

return 100;
}

И получил следующий результат:

Пишем один «exe», который работает на 3-х разных ОС без перекомпиляции Смартфон, Телефон, Покупка, Гаджеты, Программирование, Моддинг, Эльфы, Linux, Unix, Операционная система, Реверс-инжиниринг, Siemens, Моторола, Ностальгия, Длиннопост

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

❯ Портируем на MRP/MRE

И имя этой платформе, вернее даже двумя платформам - MRP и WRE. Эти платформы использовались на бюджетных китайских телефонах с 2007 по 2016 год. Встретить их можно было везде: легендарная Nokla TV E71/E72, клоны 6700, бюджетные телефоны Fly/Explay/DEXP и даже в оригинальных телефонах Nokia на платформе S30+ (например 230)!

Пишем один «exe», который работает на 3-х разных ОС без перекомпиляции Смартфон, Телефон, Покупка, Гаджеты, Программирование, Моддинг, Эльфы, Linux, Unix, Операционная система, Реверс-инжиниринг, Siemens, Моторола, Ностальгия, Длиннопост

Легендарная "нокла"!

И хотя люди часто считали такие устройства бесполезными в плане установки сторонних приложений, многие ранние "нонейм"-телефоны поддерживали запуск нативных программ через небольшой костыль - установку специального "загрузчика" dsm_gm.mrp и ввод комбинации *#220807# в номеронабиратель. Конечно, знали об этом костыле единицы и в 2010 году MediaTek решила сделать свою платформу под названием MRE (MAUI Runtime Environment), приложения для которой можно было запускать прямо из проводника без установки! SDK для обеих платформ сейчас свободно лежит в сети.

Обе платформы, по сути, занимаются тем же самым, что и мой эльфятник - прокидывают нативные функции MMI (оболочка телефона) в приложения и для загрузки позиционно-независимых программ используют третий подход с регистром R9, который обязательно необходимо где-то хранить и восстанавливать. Изначально мой эльфятник использовал такой же подход, из-за чего я написал отдельный костыль для "свичнга" контекстов, причем восстановление R9 я делал в отдельной функции из-за бага ассемблера в ADS:

#define SWITCH_CONTEXT unsigned int staticBase; __asm { MOV staticBase, sb;
LDR r0, [sb];
MOV sb, r0 }

#define ELF_CONTEXT(ptr) unsigned int staticBase; void* elfStaticBase = ptr; __asm { MOV staticBase, sb; \
MOV r9, elfStaticBase }

#define END_CONTEXT RestoreSB(staticBase);

Но я не учел то, что MMI хоть и построены по event-based принципу, в них нельзя так просто взять и сделать while(true) {}, а необходимо использовать таймеры, что влечет за собой постоянные костыли с свичингом контекстов что по итогу только снижает производительность. По итогу я перешел на релокации и реализовал проброс таймеров.

Пишем один «exe», который работает на 3-х разных ОС без перекомпиляции Смартфон, Телефон, Покупка, Гаджеты, Программирование, Моддинг, Эльфы, Linux, Unix, Операционная система, Реверс-инжиниринг, Siemens, Моторола, Ностальгия, Длиннопост

Никаких отладчиков, программа что-то записала не туда? Ребут и сиди, отлаживай с printf!

Во всем остальном, MRP и MRE простые как табуретка, никаких проблем с пробросом ввода и графики не возникло:

LcdInfo* LcdInit()
{
LcdInfo* ret;
ret = (LcdInfo*)malloc(sizeof(LcdInfo));
ret->Width = screenInfo.width;
ret->Height = screenInfo.height;
ret->Pixels = (void*)w_getScreenBuffer();

return ret;
}

void LcdFree()
{

}

void LcdLock(LcdInfo* info)
{

}

void LcdFlush(LcdInfo* info)
{
mrc_refreshScreen(0, 0, 240, 320);
}

И вот, наша программа уже запускается на двух совершенно разных ОС без каких либо проблем!

Пишем один «exe», который работает на 3-х разных ОС без перекомпиляции Смартфон, Телефон, Покупка, Гаджеты, Программирование, Моддинг, Эльфы, Linux, Unix, Операционная система, Реверс-инжиниринг, Siemens, Моторола, Ностальгия, Длиннопост

❯ А если что-то посложнее Hello, world?

Наверняка у читателя возникнет вопрос мол "окей, твой эльфятник может и способен запускать простые программы, но как насчет чего-то посложнее?". И конечно-же, для тестов я решил портировать не абы что, а целый эмулятор NES! В конце-концов, одна из целей разработки такого эльфятника - возможность запускать Java-игр и эмуляторов на многих кнопочных телефонах из нулевых.

Какое то время назад, я обнаружил весьма шустрый эмулятор NES от неизвестного разработчика из Китая. Код был неважного качества, никаких копирайтов в нём не было. Но поскольку сам эмулятор был быстрый (быстрее, наверное, только vNesC, который является прямым source-портом Java-эмулятора vNes на C), я отвязал его от целевой платформы и превратил в небольшую библиотеку для легкого портирования на любые платформы путем вызова всего нескольких функций:

typedef struct {
uint16_t* FrameBuffer;
uint8_t* JoyState;
} emuContext;

emuContext* emuInitialize();
uint8_t emuLoadROM(void* rom, int length);
void emuReset();
void emuDoFrame();
void emuShutdown();

И, соответственно, базовый порт на наш эльфятник выглядит примерно так:

#include <string.h>

#define FUNC_PROTOTYPES
#include <system.h>

#include <nes.h>
#include "nes_rom.h"

emu_context* ctx;
LcdInfo* lcdInfo;

void EmuTick()
{
emuDoFrame();

LcdLock(lcdInfo);
short* pixels = (short*)lcdInfo->Pixels;

for(int i = 0; i < EMU_FRAMEBUFFER_HEIGHT; i++)
{
memcpy(&pixels[i * lcdInfo->Width], &ctx->FrameBuffer[i * EMU_FRAMEBUFFER_WIDTH], lcdInfo->Width * 2);
}

LcdFlush(lcdInfo);

}

void EmuSetupTimer()
{
TimerAttach(1, EmuTick); // As fast as possible
}

void EmuSetupRegularLoop()
{
while(true)
EmuTick(); // TODO: If elfloader port will be usable on Android, add FPS limit :)
}

int ElfMain(unsigned int* basePtr, void* test)
{
lcdInfo = LcdInit();

ctx = emuInitialize();
if(!emuLoadROM(nes_rom, sizeof(nes_rom)))
{
UtilPrint("Failed to load ROM");
return 100;
}

emuReset();

switch(GetMainLoopType())
{
case PLATFORM_LOOP_MMI_TIMER:
EmuSetupTimer();
break;
case PLATFORM_LOOP_REGULAR:
EmuSetupRegularLoop();
break;
}

return 100;
}

А вот и результат:

Пишем один «exe», который работает на 3-х разных ОС без перекомпиляции Смартфон, Телефон, Покупка, Гаджеты, Программирование, Моддинг, Эльфы, Linux, Unix, Операционная система, Реверс-инжиниринг, Siemens, Моторола, Ностальгия, Длиннопост
Пишем один «exe», который работает на 3-х разных ОС без перекомпиляции Смартфон, Телефон, Покупка, Гаджеты, Программирование, Моддинг, Эльфы, Linux, Unix, Операционная система, Реверс-инжиниринг, Siemens, Моторола, Ностальгия, Длиннопост
Пишем один «exe», который работает на 3-х разных ОС без перекомпиляции Смартфон, Телефон, Покупка, Гаджеты, Программирование, Моддинг, Эльфы, Linux, Unix, Операционная система, Реверс-инжиниринг, Siemens, Моторола, Ностальгия, Длиннопост

❯ Заключение

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

А если вам интересна тематика ремонта, моддинга и программирования для гаджетов прошлых лет — подписывайтесь на мой Telegram-канал «Клуб фанатов балдежа», куда я выкладываю бэкстейджи статей, ссылки на новые статьи и видео, а также иногда выкладываю полезные посты и щитпостю. А ролики (не всегда дублирующие статью) можно найти на моём YouTube канале.

Очень важно! Разыскиваются девайсы для будущих статей!

Друзья! Если вам понравилась сегодняшняя статья про разработку эльфов, то спешу объявить: для подготовки будущих материалов с разработкой самопальных игрушек под необычные устройства, объявляется розыск телефонов и консолей! В 2000-х годах, китайцы часто делали дешевые телефоны с игровым уклоном — обычно у них было подобие геймпада (джойстика) или хотя бы две кнопки с верхней части устройства, выполняющие функцию A/B, а также предустановлены эмуляторы NES/Sega. Фишка в том, что на таких телефонах можно выполнять нативный код и портировать на них новые эмуляторы, чем я сейчас занимаюсь, а затем написать об этом подробную статью и записать видео! Если у вас есть телефон подобного формата и вы готовы его задонатить или продать, пожалуйста напишите мне в Telegram (@monobogdan) или в комментарии. Также интересуют смартфоны-консоли на Android (на рынке РФ точно была Func Much-01), там будет контент чуточку другого формата :)

Пишем один «exe», который работает на 3-х разных ОС без перекомпиляции Смартфон, Телефон, Покупка, Гаджеты, Программирование, Моддинг, Эльфы, Linux, Unix, Операционная система, Реверс-инжиниринг, Siemens, Моторола, Ностальгия, Длиннопост

А также я ищу старые (2010-2014) подделки на брендовые смартфоны Samsung, Apple и т. п. Они зачастую работают на весьма интересных чипсетах и поддаются хорошему моддингу, парочку статей уже вышло, но у меня ещё есть идеи по их моддингу! Также может у кого-то остались самые первые смартфоны Xiaomi (серии Mi), Meizu (ещё на Exynos) или телефоны на Linux (например Motorola EM30, RAZR V8, ROKR Z6, ROKR E2, ROKR E5, ZINE ZN5 и т. п., о них я хотел бы подготовить специальную статью и видео т. к. на самом деле они работали на очень мощных для своих лет процессорах, поддавались серьезному моддингу и были способны запустить даже Quake!). Всем большое спасибо за донаты!

Пишем один «exe», который работает на 3-х разных ОС без перекомпиляции Смартфон, Телефон, Покупка, Гаджеты, Программирование, Моддинг, Эльфы, Linux, Unix, Операционная система, Реверс-инжиниринг, Siemens, Моторола, Ностальгия, Длиннопост
Пишем один «exe», который работает на 3-х разных ОС без перекомпиляции Смартфон, Телефон, Покупка, Гаджеты, Программирование, Моддинг, Эльфы, Linux, Unix, Операционная система, Реверс-инжиниринг, Siemens, Моторола, Ностальгия, Длиннопост
Показать полностью 25
[моё] Смартфон Телефон Покупка Гаджеты Программирование Моддинг Эльфы Linux Unix Операционная система Реверс-инжиниринг Siemens Моторола Ностальгия Длиннопост
135
155
monobogdan
monobogdan
Посты о ремонте и моддинге ретрогаджетов.
TECHNO BROTHER
2 месяца назад

Жизнь после отвала eMMC. Часть 3: оживляем уникальный QWERTY-смартфон и загружаем Android с MicroSD⁠⁠

Жизнь после отвала eMMC. Часть 3: оживляем уникальный QWERTY-смартфон и загружаем Android с MicroSD Опрос, Телефон, Смартфон, Гаджеты, Подарки, Донат, Samsung, Galaxy, Qwerty, Прошивка, Моддинг, Microsd, Linux, Android, Samsung Galaxy, Видео, Без звука, Короткие видео, Длиннопост

Есть у меня страсть к коллекционированию и ремонту интересных смартфонов прошлых лет. Недавно подписчик подарил мне весьма диковинный и необычный гаджет 2011 года: бюджетный QWERTY-смартфон Samsung Galaxy Y Pro с чипсетом от Broadcom. Помимо самого факта того, что смартфон обладал QWERTY-клавиатурой, меня также заинтересовало его кровное братство с Raspberry Pi первого поколения. Но вот незадача, смартфон не включался и просто висел на логотипе. Если вам интересен необычный кейс "отвала" eMMC и переноса Android на MicroSD-флэшку - жду вас под катом!

❯ Теория

Проблема "отваливающейся" памяти преследует смартфоны и планшеты с начала 2010х-годов. После массового перехода с NAND-накопителей на eMMC, многие смартфоны начали страдать от того, что в один прекрасный день зависали и затем больше не включались... или же включались, но бесконечно висели на заставке. Обычный пользователь нёс смартфон в сервисный центр, более продвинутый шёл на профильные ресурсы и скачивал прошивку... чтобы с грустью обнаружить, что ничего не помогает и смартфон всё так же висит на логотипе.

Жизнь после отвала eMMC. Часть 3: оживляем уникальный QWERTY-смартфон и загружаем Android с MicroSD Опрос, Телефон, Смартфон, Гаджеты, Подарки, Донат, Samsung, Galaxy, Qwerty, Прошивка, Моддинг, Microsd, Linux, Android, Samsung Galaxy, Видео, Без звука, Короткие видео, Длиннопост

Происходит это из-за того, что для загрузки системе необходим доступ как минимум к трём разделам: system для чтения, а также data и cache для чтения и записи. У eMMC и современной UFS-памяти есть свой собственный контроллер в чипе, который по своим собственным параметрам определяет S.M.A.R.T накопителя и, если по его мнению, флэшка уже близка к "кончине", просто переводит её в режим Read only, из-за чего данные пользователя остаются на месте, но смартфон уже больше никогда не загрузится без вмешательства специалиста.

Жизнь после отвала eMMC. Часть 3: оживляем уникальный QWERTY-смартфон и загружаем Android с MicroSD Опрос, Телефон, Смартфон, Гаджеты, Подарки, Донат, Samsung, Galaxy, Qwerty, Прошивка, Моддинг, Microsd, Linux, Android, Samsung Galaxy, Видео, Без звука, Короткие видео, Длиннопост

В теории всё замечательно: данные на месте, в сервисе просто вычитают дамп старой флэшки, подберут такой же или совместимый по корпусу новый чип, а затем запишут на него дамп и восстановят все данные без потери. Но на практике бывают определенные казусы: например, у некоторых чипов Samsung 2012-2014 года был баг в прошивке, из-за чего они полностью умирали с потерей всех данных, после чего смартфон вообще не подавал никаких признаков жизни (примеры: Galaxy S4 Mini в 9008, S4 Zoom, Note N8000), иногда eMMC просто уходила в полный ReadOnly (HTC Desire SV и некоторые другие HTC'шки 2011-2012 годов), а иногда чип уходил в ReadOnly лишь частично - операции записи просто заканчивались неудачей (предположительно из-за того, что бэды ремаппить уже просто некуда) и смартфон даже мог загрузится... правда все приложения постоянно крашились, а настройки телефон не сохранял.

Жизнь после отвала eMMC. Часть 3: оживляем уникальный QWERTY-смартфон и загружаем Android с MicroSD Опрос, Телефон, Смартфон, Гаджеты, Подарки, Донат, Samsung, Galaxy, Qwerty, Прошивка, Моддинг, Microsd, Linux, Android, Samsung Galaxy, Видео, Без звука, Короткие видео, Длиннопост

Примерно так вышло и в моём случае. В январе, подписчик Андрей предложил подарить мне весьма необычный смартфон - Samsung Galaxy Y Pro. Читатель попытался его перепрошить, однако смартфон всё так же продолжал висеть на заставке. Конечно я согласился, причём мне из принципа хотелось разобраться в платформе и при возможности перенести всю систему на MicroSD-флэшку.

Жизнь после отвала eMMC. Часть 3: оживляем уникальный QWERTY-смартфон и загружаем Android с MicroSD Опрос, Телефон, Смартфон, Гаджеты, Подарки, Донат, Samsung, Galaxy, Qwerty, Прошивка, Моддинг, Microsd, Linux, Android, Samsung Galaxy, Видео, Без звука, Короткие видео, Длиннопост

❯ Переносим на MicroSD

После того как смартфон приехал ко мне, я убедился в том, что он действительно висит в бутлупе и никак не реагирует ни на сброс до заводских настроек через рекавери, ни на прошивку. Смартфон всё также продолжал висеть на бутанимации - а значит мы можем сделать вывод, что ядро Linux уже загрузилось и сам смартфон перешёл в последнюю фазу загрузки - запуск zygote и "отпочковывание" от него app_process.

Жизнь после отвала eMMC. Часть 3: оживляем уникальный QWERTY-смартфон и загружаем Android с MicroSD Опрос, Телефон, Смартфон, Гаджеты, Подарки, Донат, Samsung, Galaxy, Qwerty, Прошивка, Моддинг, Microsd, Linux, Android, Samsung Galaxy, Видео, Без звука, Короткие видео, Длиннопост

Чтобы понять, что всё это значит - давайте вкратце рассмотрим процесс загрузки Android:

  1. Старт BootROM, SPL и загрузчика: После включения смартфона или подключения ЗУ, контроллер питания даёт разрешение на запитывание всех модулей устройства. После этого, процессор начинает выполнять код загрузчика, однако поскольку ни NAND, ни eMMC не поддерживают XIP (eXecute In Place - возможность подключить флэшку прямо в шину процессора, на манер ROM в спектруме), первым делом процессор выполняет код из BootROM - небольшого, физически прожженного в небольшую ROM-память на заводе загрузчика, в задачи которого входит экстренный режим восстановления при окирпичивании устройства (MTK USB Port на MediaTek, 9008 на Qualcomm, FEL на AllWinner) и загрузка вторичного загрузчика из eMMC/NAND - SPL (на MediaTek называется Preloader). В его задачи входит инициализация ОЗУ и передача управления вторичному загрузчику - тот самый, который вы, возможно, захотите разблокировать и который загружает ядро Linux.

    Но вот нюанс, на чипсетах Broadcom BootROM'а нет: там запуском ARM-ядер занимается GPU VideoCore, который по своей натуре - векторный DSP! Так что Y Pro интересен ещё и этой малозначимой, но забавной деталью :)

  2. Linux: Обычно ядро хранится не в сыром виде, а в специальном разделе boot/recovery и представляет из себя образ zImage + рамдиск. На этом рамдиске хранятся минимально-необходимые для старта устройства программы: init, busybox (не всегда) и... всё!

    Формат таких образов условно стандартизирован и их можно разобрать и собрать с помощью специальных программ. Например, AndImgTool!

  3. init: Далее самая главная программа с PID 0 - init, запускает набор скриптов в корне рамдиска с расширением .rc. В скриптах содержатся обработчики событий (early-boot, boot, late-boot и т.п), а также список служб для запуска. В скриптах идёт монтирование разделов, запуск служб если это нужно, создание ссылок, загрузка динамических модулей и конфигурация драйверов/ядра, а также режима USB и adb. Помимо этого, init отвечает за properties - свойства в build.prop, а также default.prop, которые позволяют включить adb даже если устройство не загружается. Это нам позже пригодится.

  4. app_process: После того, как раздел system примонтирован, RIL запущен и другие важные операции выполнены - rc-скрипт запускает наконец-то app_process с параметром zygote. Это самый важный процесс в Android, его краш ведет к "мягкой перезагрузке" - т.е появлению анимации загрузки и появлению рабочего стола. app_process - это как-бы Java-машина Dalvik (или ART в Android 5.1+), аналог java.exe, только размножается она методом почкования - с помощью системного вызова fork.

  5. Ну и когда все службы работают - устройство показывает рабочий стол и вызывается событие ON_BOOT_COMPLETE.

Да, всё вот так просто. Итак, основываясь на сказанном выше, как мы можем перенести Android на MicroSD? Правильно, пропатчив скрипты загрузки так, чтобы они монтировали систему и раздел data с cache не с внутреннего накопителя, а с флэшки. Но для патча необходимо чтобы eMMC была хоть сколь-либо перезаписываема.

Сначала я попытался установить кастомную прошивку с помощью CWM (он здесь не перепрошивается навсегда, а запускается с помощью бага в update.zip) и заметил, что поведение смартфона поменялось: он просто висел на первичном логотипе и не загружал даже бутанимацию. А значит какие-то операции перезаписи завершились ошибкой и init либо не может примонтировать system, либо там у нас там творится бардак. Но что-то ведь всё таки перезаписалось, а после перепрошивки родной системы смартфон снова начинал показывать бутанимацию... значит, флэшка не полностью в readonly?

Жизнь после отвала eMMC. Часть 3: оживляем уникальный QWERTY-смартфон и загружаем Android с MicroSD Опрос, Телефон, Смартфон, Гаджеты, Подарки, Донат, Samsung, Galaxy, Qwerty, Прошивка, Моддинг, Microsd, Linux, Android, Samsung Galaxy, Видео, Без звука, Короткие видео, Длиннопост

Я решил пропатчить boot.img, активировав в нём режим отладки через USB, дабы посмотреть что творится у нас в dmesg. Для этого я распаковал образ с помощью AndImgTool, открыл файл default.prop и заменил свойства ro.secure = 0, ro.debuggable = 1, а также persist.service.adb.enable = 1

Жизнь после отвала eMMC. Часть 3: оживляем уникальный QWERTY-смартфон и загружаем Android с MicroSD Опрос, Телефон, Смартфон, Гаджеты, Подарки, Донат, Samsung, Galaxy, Qwerty, Прошивка, Моддинг, Microsd, Linux, Android, Samsung Galaxy, Видео, Без звука, Короткие видео, Длиннопост

Samsung в те годы ещё не блокировал загрузчики и прошить произвольный раздел можно было фирменным флэшером. Для этого необходимо было создать tar-архив, куда положить образ (например boot.img), выбрать его в программе и нажать "Start".

Жизнь после отвала eMMC. Часть 3: оживляем уникальный QWERTY-смартфон и загружаем Android с MicroSD Опрос, Телефон, Смартфон, Гаджеты, Подарки, Донат, Samsung, Galaxy, Qwerty, Прошивка, Моддинг, Microsd, Linux, Android, Samsung Galaxy, Видео, Без звука, Короткие видео, Длиннопост

После прошивки, смартфон всё также висел на заставке... но определился в диспетчере устройств и команда adb devices показала, что смартфон подключен. Значит, раздел перезаписался и только часть eMMC ушла в readonly! Те разделы, которые никогда не перезаписываются (куда входит system, boot, recovery и SPL) - в норме?

Жизнь после отвала eMMC. Часть 3: оживляем уникальный QWERTY-смартфон и загружаем Android с MicroSD Опрос, Телефон, Смартфон, Гаджеты, Подарки, Донат, Samsung, Galaxy, Qwerty, Прошивка, Моддинг, Microsd, Linux, Android, Samsung Galaxy, Видео, Без звука, Короткие видео, Длиннопост

Пишем dmesg и... видим как драйвер eMMC флудит в printk об ошибках перезаписи в раздел /data/. А ведь я говорил о том, что Android для загрузки этот раздел обязательно нужен!

Жизнь после отвала eMMC. Часть 3: оживляем уникальный QWERTY-смартфон и загружаем Android с MicroSD Опрос, Телефон, Смартфон, Гаджеты, Подарки, Донат, Samsung, Galaxy, Qwerty, Прошивка, Моддинг, Microsd, Linux, Android, Samsung Galaxy, Видео, Без звука, Короткие видео, Длиннопост

Но что же за stl11, если в Linux принято называть eMMC-устройства mmcblk? Давайте посмотрим в init.rc:

Жизнь после отвала eMMC. Часть 3: оживляем уникальный QWERTY-смартфон и загружаем Android с MicroSD Опрос, Телефон, Смартфон, Гаджеты, Подарки, Донат, Samsung, Galaxy, Qwerty, Прошивка, Моддинг, Microsd, Linux, Android, Samsung Galaxy, Видео, Без звука, Короткие видео, Длиннопост

Разделы используют какую-то самопальную файловую систему RFS (что-то проприетарное от Samsung), а также J4FS, вместо общепринятых YAFFS или EXT4. Давайте сделаем логический вывод: если раздел system и efs (с настройками модема) у нас в норме и никогда не перезаписывается, а после загрузки ядра, Android нужны для перезаписи data и cache... значит можно просто перенести эти разделы на MicroSD, а init.rc заставить монтировать разделы именно оттуда!

Жизнь после отвала eMMC. Часть 3: оживляем уникальный QWERTY-смартфон и загружаем Android с MicroSD Опрос, Телефон, Смартфон, Гаджеты, Подарки, Донат, Samsung, Galaxy, Qwerty, Прошивка, Моддинг, Microsd, Linux, Android, Samsung Galaxy, Видео, Без звука, Короткие видео, Длиннопост

Для этого мы берём MicroSD-флэшку и с помощью fdisk бьём её на три раздела: один будет для /data/ (30% от ёмкости MicroSD - или хотя-бы 256Мб), второй для /cache/ около 64Мб и третий для обычных файлов. Затем форматируем первый и второй разделы в ext2 с помощью программы mke2fs, а третий - в обычный FAT32 (или тоже ext2, по желанию).

Жизнь после отвала eMMC. Часть 3: оживляем уникальный QWERTY-смартфон и загружаем Android с MicroSD Опрос, Телефон, Смартфон, Гаджеты, Подарки, Донат, Samsung, Galaxy, Qwerty, Прошивка, Моддинг, Microsd, Linux, Android, Samsung Galaxy, Видео, Без звука, Короткие видео, Длиннопост

Далее прописываем новые точки монтирования в init.rc, собираем boot.img и прошиваем в смартфон:

Жизнь после отвала eMMC. Часть 3: оживляем уникальный QWERTY-смартфон и загружаем Android с MicroSD Опрос, Телефон, Смартфон, Гаджеты, Подарки, Донат, Samsung, Galaxy, Qwerty, Прошивка, Моддинг, Microsd, Linux, Android, Samsung Galaxy, Видео, Без звука, Короткие видео, Длиннопост

И, спустя пару минут загрузки... нас встречает рабочий стол! Радости нет предела :) Но некоторые читатели могут усомнится в юзабельности всей этой затеи, ведь MicroSD как минимум в десять раз медленнее eMMC... Но всё ли так плохо? Давайте посмотрим на практике!

❯ Тестируем

Поскольку смартфон у нас с QWERTY-клавиатурой и горизонтальным дисплеем, здесь лаунчер подогнан под частичное управление с кнопок, при этом стоить иметь ввиду, что далеко не каждое приложение адаптировано для такого DPI. Тачскрин тоже есть, причём емкостной, что не может не радовать. Дисплей выполнен по технологии TN, разрешение - всего 240x320, что в целом совсем немного для смартфона, но вполне нормально для QWERTY-бюджетника тех лет.

Жизнь после отвала eMMC. Часть 3: оживляем уникальный QWERTY-смартфон и загружаем Android с MicroSD Опрос, Телефон, Смартфон, Гаджеты, Подарки, Донат, Samsung, Galaxy, Qwerty, Прошивка, Моддинг, Microsd, Linux, Android, Samsung Galaxy, Видео, Без звука, Короткие видео, Длиннопост

Под капотом скрывается чипсет от Broadcom - BCM21553 с одним ядром ARM1136, работающем на частоте 832МГц. И да, это ARMv6 ядро, что значительно сужает круг поддерживаемых игр и приложений. Когда-то на 4pda даже был отдельный клуб владельцев смартфонов на этом чипсете, где люди жаловались на отсутствие поддержки ARMv7! Также в смартфоне установлено 384Мб DDR2 ОЗУ и 512Мб постоянной памяти.

Жизнь после отвала eMMC. Часть 3: оживляем уникальный QWERTY-смартфон и загружаем Android с MicroSD Опрос, Телефон, Смартфон, Гаджеты, Подарки, Донат, Samsung, Galaxy, Qwerty, Прошивка, Моддинг, Microsd, Linux, Android, Samsung Galaxy, Видео, Без звука, Короткие видео, Длиннопост

В качестве GPU используется ядро собственной разработки Broadcom - VideoCore IV. И оно тоже было предметом критики на профильных форумах. Все дело в том, что как и у GPU от Samsung - FIMG, у VC IV были плохие драйвера для GLES - что было критично для игр тех лет. Поскольку большинство релизов оптимизировалось на Qualcomm Adreno и Mali, во многих играх на Y Pro были белые текстуры, или же графические артефакты.

Жизнь после отвала eMMC. Часть 3: оживляем уникальный QWERTY-смартфон и загружаем Android с MicroSD Опрос, Телефон, Смартфон, Гаджеты, Подарки, Донат, Samsung, Galaxy, Qwerty, Прошивка, Моддинг, Microsd, Linux, Android, Samsung Galaxy, Видео, Без звука, Короткие видео, Длиннопост

Для сравнения: Raspberry Pi Model A и B - братья данного смартфона, которые в аппаратной части похожи почти во всем. Теперь мы с вами выяснили, что смартфон представляет определенный коллекционный интерес для любителей гаджетов на необычных процессорах!

Производительность смартфона после переноса части системы на MicroSD упала лишь немного. Девайс всё ещё продолжает относительно плавно работать, нет каких-то явно медленных подгрузок и тормозов. Многие приложения работают хорошо, однако лаги не исключены:

Но можно ли назвать смартфон бесполезным в наше время? Я думаю, что нет, определенный набор задач он все еще способен выполнять. Например, серфинг в сети - самый базовый просмотр страниц всё ещё можно осуществить с помощью Opera Mini 7, которая до сих пор продолжает работать спустя 10+ лет после релиза. Многие страницы отображаются некорректно, ни о каких сайтах с интерактивом и речи не идет... но почитать Википедию или Хабр всё равно можно!

Жизнь после отвала eMMC. Часть 3: оживляем уникальный QWERTY-смартфон и загружаем Android с MicroSD Опрос, Телефон, Смартфон, Гаджеты, Подарки, Донат, Samsung, Galaxy, Qwerty, Прошивка, Моддинг, Microsd, Linux, Android, Samsung Galaxy, Видео, Без звука, Короткие видео, Длиннопост

При условии отключения проверки сертификатов (Защита -> "SSL (Принимать все)") и использования одноразовых паролей, можно использовать почтовый клиент. Работает шустро, однако пуши не поддерживает, поэтому сообщения будут проверяться с интервалом в ~5мин.

Жизнь после отвала eMMC. Часть 3: оживляем уникальный QWERTY-смартфон и загружаем Android с MicroSD Опрос, Телефон, Смартфон, Гаджеты, Подарки, Донат, Samsung, Galaxy, Qwerty, Прошивка, Моддинг, Microsd, Linux, Android, Samsung Galaxy, Видео, Без звука, Короткие видео, Длиннопост

Также можно посидеть в мессенджерах. Я писал клиенты ВК и ТГ (работает через прокси) для смартфонов с Android 1.5+ и запускал их даже на первом серийном Android-смартфоне в мире и они здесь работают вполне неплохо. Об официальных клиентах и речи не идет - Android 2.3 слишком сильно устарел по мнению большинства разработчиков.

Жизнь после отвала eMMC. Часть 3: оживляем уникальный QWERTY-смартфон и загружаем Android с MicroSD Опрос, Телефон, Смартфон, Гаджеты, Подарки, Донат, Samsung, Galaxy, Qwerty, Прошивка, Моддинг, Microsd, Linux, Android, Samsung Galaxy, Видео, Без звука, Короткие видео, Длиннопост

И конечно можно поиграть. Начиная от Java-игр, в которые играть вполне удобно благодаря наличию аппаратных кнопок, заканчивая эмуляторами консолей, которые в большинстве своём здесь летают и нативными играми. Таким образом, старенький смартфон превращается в миниатюрную портативную консоль. Единственный нюанс - VC IV совсем уж слабенький GPU, когда заходит вопрос запуска 3D-игр. Даже Raging Thunder 2 со своим замечательно оптимизированным рендером здесь иногда чуточку подтормаживает, при том что она же идеально работает на Adreno 200 (ATI Z430), Mali-300 и даже Vivante GC-600!

Жизнь после отвала eMMC. Часть 3: оживляем уникальный QWERTY-смартфон и загружаем Android с MicroSD Опрос, Телефон, Смартфон, Гаджеты, Подарки, Донат, Samsung, Galaxy, Qwerty, Прошивка, Моддинг, Microsd, Linux, Android, Samsung Galaxy, Видео, Без звука, Короткие видео, Длиннопост

Пусть круг задач и не слишком широкий, но смартфон всё равно очень интересный и крутой :)

❯ Заключение

Вот такая статья о восстановлении необычного смартфона из 2011 года у нас с вами получилось. Надеюсь, вам было интересно и полученные знания вам пригодятся. Ну а если будут какие-то вопросы по поводу возможности переделки смартфона на загрузку с MicroSD - не стесняйтесь спрашивать в комментариях!

Что думаете насчет переноса Android на MicroSD?
Всего голосов:

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

Очень важно! Разыскиваются девайсы для будущих статей!

Друзья! Для подготовки статей с разработкой самопальных игрушек под необычные устройства, объявляется розыск телефонов и консолей! В 2000-х годах, китайцы часто делали дешевые телефоны с игровым уклоном — обычно у них было подобие геймпада (джойстика) или хотя бы две кнопки с верхней части устройства, выполняющие функцию A/B, а также предустановлены эмуляторы NES/Sega. Фишка в том, что на таких телефонах можно выполнять нативный код и портировать на них новые эмуляторы, чем я и хочу заняться и написать об этом подробную статью и записать видео! Если у вас есть телефон подобного формата и вы готовы его задонатить или продать, пожалуйста напишите мне в Telegram (@monobogdan) или в комментарии. Также интересуют смартфоны-консоли на Android (на рынке РФ точно была Func Much-01), там будет контент чуточку другого формата :)

Жизнь после отвала eMMC. Часть 3: оживляем уникальный QWERTY-смартфон и загружаем Android с MicroSD Опрос, Телефон, Смартфон, Гаджеты, Подарки, Донат, Samsung, Galaxy, Qwerty, Прошивка, Моддинг, Microsd, Linux, Android, Samsung Galaxy, Видео, Без звука, Короткие видео, Длиннопост

А также я ищу старые (2010-2014) подделки на брендовые смартфоны Samsung, Apple и т. п. Они зачастую работают на весьма интересных чипсетах и поддаются хорошему моддингу, парочку статей уже вышло, но у меня ещё есть идеи по их моддингу! Также может у кого-то остались самые первые смартфоны Xiaomi (серии Mi), Meizu (ещё на Exynos) или телефоны Motorola на Linux (например, EM30, RAZR V8, ROKR Z6, ROKR E2, ROKR E5, ZINE ZN5 и т. п., о них я хотел бы подготовить специальную статью и видео т. к. на самом деле они работали на очень мощных для своих лет процессорах, поддавались серьезному моддингу и были способны запустить даже Quake!). Всем большое спасибо за донаты!

Жизнь после отвала eMMC. Часть 3: оживляем уникальный QWERTY-смартфон и загружаем Android с MicroSD Опрос, Телефон, Смартфон, Гаджеты, Подарки, Донат, Samsung, Galaxy, Qwerty, Прошивка, Моддинг, Microsd, Linux, Android, Samsung Galaxy, Видео, Без звука, Короткие видео, Длиннопост

А ещё я держу все свои мобилы в одной корзине при себе (в смысле, все проекты у одного облачного провайдера) — Timeweb. Потому нагло рекомендую то, чем пользуюсь сам — вэлкам.

Показать полностью 24 1 1
[моё] Опрос Телефон Смартфон Гаджеты Подарки Донат Samsung Galaxy Qwerty Прошивка Моддинг Microsd Linux Android Samsung Galaxy Видео Без звука Короткие видео Длиннопост
34
Вопрос из ленты «Эксперты»
Burinis
5 месяцев назад
Компьютер это просто

Посоветуйте мне, пожалуйста, нормальный рабочий опдс-менеджер для андроид 14⁠⁠

Есть программа OPDS Viewer, но она больше года не обновляется, да и есть несколько неисправленных багов (у меня части интерфейса после перехода по разделам "перемешиваются"). Есть читалка fbreader со встроенным opds-менеджером, но там поиск по флибусте не работает (в других читалках этой проблемы нет).

Какой мне менеджер opds вы мне посоветуете?

Linux Приложение Программа Android Книги Электронные книги Андроид ТВ Смартфон Планшет Вопрос Спроси Пикабу Текст
6
Партнёрский материал Реклама
specials
specials

Только каждый третий пикабушник доходит до конца⁠⁠

А сможете ли вы уложить теплый пол, как супермонтажник?

Проверить

Ремонт Теплый пол Текст
104
monobogdan
monobogdan
Посты о ремонте и моддинге ретрогаджетов.
TECHNO BROTHER
7 месяцев назад

Ремонтируем уникальный ARM-нетбук из 2011 года — Toshiba AC-100⁠⁠

Ремонтируем уникальный ARM-нетбук из 2011 года — Toshiba AC-100 Опрос, Android, Смартфон, Покупка, Гаджеты, Ноутбук, Нетбук, Toshiba, Япония, Диковинка, Девайс, Arm, Nvidia, Linux, Ремонт, Длиннопост

Мои давние читатели наверняка знают о том, насколько сильно я люблю необычные нетбуки с диковинными процессорами и необычными операционными системами на борту. Один из таких девайсов сегодня попал ко мне на стол: Toshiba AC-100, который вышел как нетбук для серфинга интернета за 200$ в далеком 2011 году и отличался тем, что работал на крайне диковинной платформе - ARM-чипсет NVidia Tegra 2 вкупе с десктопным мультиконтроллером и Android в качестве ОС. Но вот беда: в устройстве не работала подсветка дисплея. В сегодняшней статьей мы с вами: узнаем предысторию нетбуков и как появился AC-100, отремонтируем шлейф подручными средствами и посмотрим на такого замечательного красавца на практике. Интересно? Тогда жду вас под катом!

❯ Предыстория

Пожалуй, начать можно с того, для кого и зачем позиционировался такой интересный девайс, как ARM-нетбук, да ещё и на Android. Сейчас ноутбуком на чипсете Qualcomm никого не удивишь, многие известные вендоры активно выпускают собственные девайсы на чипсетах X-Elite и полноценной Win10 For ARM на борту, а Apple вот уже несколько лет успешно использует чипы серии M даже в топовых макбуках.

Ремонтируем уникальный ARM-нетбук из 2011 года — Toshiba AC-100 Опрос, Android, Смартфон, Покупка, Гаджеты, Ноутбук, Нетбук, Toshiba, Япония, Диковинка, Девайс, Arm, Nvidia, Linux, Ремонт, Длиннопост

История бюджетных нетбуков (компактные ноутбуки выходили и в 90-х, но стоили очень дорого, поэтому я подчеркнул бюджетные) начинается в 2007 году, с выходом Asus EEEPC, который стал первым действительно массовым и доступным компактным портативным ПК. Первые модели EEEPC разбирали как горячие пирожки на вокзале и многие производители, наблюдая успех новинки, рванулись делать свои собственные нетбуки. Однако первый EEEPC использовал весьма интересный процессор — Celeron M ULV 353 (также использовавшийся в UMPC), который был не слишком производительным (примерно на уровне Pentium III, и при этом наследует его же архитектуру, как и все современные процессоры Intel), но всё же альтернатив по сути и не было, кроме AMD Geode, который берёт корни от Cyrix MediaGX 1997 года выпуска. Очевидно, что нужен был новый процессор, разработанный специально для ноутбуков и планшетов...

Ремонтируем уникальный ARM-нетбук из 2011 года — Toshiba AC-100 Опрос, Android, Смартфон, Покупка, Гаджеты, Ноутбук, Нетбук, Toshiba, Япония, Диковинка, Девайс, Arm, Nvidia, Linux, Ремонт, Длиннопост

В 2008 году Intel представила новую линейку процессоров Atom — не слишком мощных, но зато экономичных и относительно холодных, построенных как x86-совместимые, но при этом не наследующие микроархитектуру своих «больших» десктопных собратьев (вышеупомянутый Celeron M использовал архитектуру Dothan, являющуюся прямым потомком Pentium III). В серии Atom, Intel экспериментировала не только с тепловыделением и энергопотреблением, но и с использованием необычных GPU в качестве встроенных — например основой GMA 3600 стала мобильная графика PowerVR SGX 545, являющаяся близким братом видеоускорителя первого iPad и показывающая себя вполне неплохо в играх начала 2000-х годов.

Ремонтируем уникальный ARM-нетбук из 2011 года — Toshiba AC-100 Опрос, Android, Смартфон, Покупка, Гаджеты, Ноутбук, Нетбук, Toshiba, Япония, Диковинка, Девайс, Arm, Nvidia, Linux, Ремонт, Длиннопост

После выхода Atom, многие производители ринулись делать свои собственные нетбуки, их производительность росла, число форм-факторов увеличивалось (у меня, например, есть EEEPC-трансформер с резистивным тачскрином!) и до массового появления недорогих Android-планшетов, нетбуки оставались крайне популярными устройствами для потребления контента в сети. Однако один из главных конкурентов Intel на мобильном поприще, а именно ARM, не спали и в 2007 году представили ядро Cortex-A9, реализующее набор инструкций ARMv7 и способное работать на частоте выше 1ГГц. В начале 2010 года, компания NVidia представила второе поколение чипсетов Tegra, построенное на базе ядра Cortex-A9.

Компания Toshiba, будучи ветераном на рынке ноутбуков, тоже производила свои собственные нетбуки, однако в 2011 году решилась на весьма интересный шаг, а именно выпуск нетбука не на привычной x86-платформе, а на свеженьком ARM-чипсете Tegra 2. Причём в качестве ОС была выбрана не Windows (которая в те годы хоть и умела работать на ARM устройствах, но ARM-версия в свет пока ещё не вышла), не Linux-дистрибутивы как на гиковских Sharp Zaurus, а... Android! Причём версии 2.1, совершенно не адаптированной не только для нетбуков, но даже для планшетов!

Я очень большой фанат нетбуков на необычных архитектурах и с необычными процессорами. Обожаю устройства и на MIPS, и на ARM, и на SH3/SH4, хотя их очень сложно находить на барахолках (хотя иногда мне помогают подписчики, а время от времени даже дарят для будущего контента!). Год назад читатель с Хабра под ником @inkvizitor68slподарил мне AC-100, которому я посвятил одну из своих статей и даже чуть-чуть видео, за что ему огромное спасибо. Недавно подписчик Андрей написал, что ищет интересные и необычные Android-устройства к себе в коллекцию, на что я ему посоветовал купить себе AC-100.

Ремонтируем уникальный ARM-нетбук из 2011 года — Toshiba AC-100 Опрос, Android, Смартфон, Покупка, Гаджеты, Ноутбук, Нетбук, Toshiba, Япония, Диковинка, Девайс, Arm, Nvidia, Linux, Ремонт, Длиннопост

Читатель купил его на вторичке за 1800 рублей. Но вот незадача, по приезду оказалось что подсветка девайса не работает от слова совсем! Я решил помочь подписчику и разобраться в чем дело, а вот как происходил процесс ремонта — давайте с вами и узнаем!

❯ Ремонтируем

Сначала девайс необходимо разобрать. Для разборки дисплейного модуля необязательно разбирать нетбук полностью, но я обещал вам показать кое-что очень интересное под его капотом!

Ремонтируем уникальный ARM-нетбук из 2011 года — Toshiba AC-100 Опрос, Android, Смартфон, Покупка, Гаджеты, Ноутбук, Нетбук, Toshiba, Япония, Диковинка, Девайс, Arm, Nvidia, Linux, Ремонт, Длиннопост

Разборка нижней части начинается с выкручивания винтов с обратной стороны устройства (не забываем потайные винты по бокам отсека АКБ) и снятия клавиатуры путем аккуратного нажатия на «язычки» плоской отверткой. После откручивания винтов можно снять топкейс и увидеть материнскую плату устройства.

Ремонтируем уникальный ARM-нетбук из 2011 года — Toshiba AC-100 Опрос, Android, Смартфон, Покупка, Гаджеты, Ноутбук, Нетбук, Toshiba, Япония, Диковинка, Девайс, Arm, Nvidia, Linux, Ремонт, Длиннопост

Как мы с вами видим, основная плата здесь очень компактная, а в качестве маркировки красуется LA-xx, означающая что ноутбук разработан и произведен компанией Compal (один из крупных OEM-производителей ноутбуков). В первую очередь, в глаза бросается чип ENE, представляющий из себя мультиконтроллер: он отвечает за обработку кнопки включения и внешних GPIO, светодиоды, общение с аккумулятором через шину SMBus, а также являющийся контроллером клавиатуры. И вот здесь опытные читатели могли озадачится: ведь мультиконтроллеры свойственны для классических x86-ноутбуков (где изначально в процессоре особо нет ни GPIO, ни контроллера клавиатуры), ARM-устройства их никогда не использовали, поскольку всё необходимое обычно уже включено в сам чипсет устройства!

Ремонтируем уникальный ARM-нетбук из 2011 года — Toshiba AC-100 Опрос, Android, Смартфон, Покупка, Гаджеты, Ноутбук, Нетбук, Toshiba, Япония, Диковинка, Девайс, Arm, Nvidia, Linux, Ремонт, Длиннопост

Именно «полудесктопная» платформа и отличает AC-100 от других ARM-нетбуков и делает его уникальным. Например здесь разведен Mini PCI-e слот и используется некий чип Texas Instruments, являющийся эдаким контроллером питания, но который скорее всего выполняет также и роль чарджера.

Ремонтируем уникальный ARM-нетбук из 2011 года — Toshiba AC-100 Опрос, Android, Смартфон, Покупка, Гаджеты, Ноутбук, Нетбук, Toshiba, Япония, Диковинка, Девайс, Arm, Nvidia, Linux, Ремонт, Длиннопост

Посмотрим же на сердце устройства, а именно чипсет NVidia Tegra 2. В нём расположились два ядра ARM Cortex-A9, работающие на частоте 1ГГц, графический ускоритель GeForce ULP, видео-декодеры и DSP и контроллер дисплея. Расположен он под термопрокладкой и охлаждается пассивно за счет металлической части топкейса, а именно подложки клавиатуры и в процессе работы почти не греется! Вспоминаем среднебюджетные ноутбуки с горяченными Turion 64 X2, которые при наличии серьезного охлаждения и не очень продуманного теплоотвода вполне могли обжечь руку...

Ремонтируем уникальный ARM-нетбук из 2011 года — Toshiba AC-100 Опрос, Android, Смартфон, Покупка, Гаджеты, Ноутбук, Нетбук, Toshiba, Япония, Диковинка, Девайс, Arm, Nvidia, Linux, Ремонт, Длиннопост

Далее мы видим две банки DDR2 ОЗУ, по 256Мб каждая, образующие в сумме 512Мб. Объём памяти считался однгим из главных недостатков AC-100, поскольку по мнению некоторых пользователей её было мало, однако не стоит забывать что в те годы, в топовые планшеты и смартфоны ставили максимум 1Гб. Так что такой объём не так уж и плох для бюджетного нетбука, да и Android 2.1 кушал далеко не так много ресурсов, как Android 4.x например. Снизу расположился чип флэш-памяти Toshiba на целых 32Гб. Информации о том, eMMC ли это или обычный NAND у меня нет, но подключался он напрямую к контроллеру флэш-памяти в чипсете и его вполне можно назвать SSD-накопителем. Здесь AC-100, однако, был далеко не первым — ещё в 2007 году вышел первый Asus EEEPC, где в качестве флэш-памяти использовалась NAND-флэшка на 4Гб.

Ремонтируем уникальный ARM-нетбук из 2011 года — Toshiba AC-100 Опрос, Android, Смартфон, Покупка, Гаджеты, Ноутбук, Нетбук, Toshiba, Япония, Диковинка, Девайс, Arm, Nvidia, Linux, Ремонт, Длиннопост

Обратите внимание на площадку для TSOP-48 NAND флэшки

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

Ремонтируем уникальный ARM-нетбук из 2011 года — Toshiba AC-100 Опрос, Android, Смартфон, Покупка, Гаджеты, Ноутбук, Нетбук, Toshiba, Япония, Диковинка, Девайс, Arm, Nvidia, Linux, Ремонт, Длиннопост

Ищи себя в техноавторах Хабра!

Затем откручиваем винты от самого дисплея, вынимаем его, отключаем шлейф и отклеиваем черный изолирующий скотч. Важно понимать, что в отличии от смартфонов и планшетов, на ноутбучных матрицах питание подсветки формируется с помощью бустера на плате дешифратора (т. е. на самой матрице), а не на материнской плате устройства, поэтому при отсутсттвии подсветки в первую очередь стоит смотреть присутствие сигнала BLEN (может также называться BKOFF и т.п, отвечает за включение бустера подсветки) и наличие ШИМа на PWM - это регулировка яркости дисплея. Если оба сигнала присутствуют — значит можно переходить к диагностике платы дисплея, а в нашем случае — к осмотру шлейфа подсветки.

Ремонтируем уникальный ARM-нетбук из 2011 года — Toshiba AC-100 Опрос, Android, Смартфон, Покупка, Гаджеты, Ноутбук, Нетбук, Toshiba, Япония, Диковинка, Девайс, Arm, Nvidia, Linux, Ремонт, Длиннопост

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

Ремонтируем уникальный ARM-нетбук из 2011 года — Toshiba AC-100 Опрос, Android, Смартфон, Покупка, Гаджеты, Ноутбук, Нетбук, Toshiba, Япония, Диковинка, Девайс, Arm, Nvidia, Linux, Ремонт, Длиннопост

После того как мы залудили дорожки на шлейфе, нам необходимо припаять к обеим его сторонам перемычки в виде тонких жилок (я использую специальную проволоку для восстановления дорожек). В моем случае получилось некрасиво из-за того, что на другой стороне шлейфа оказался вонючий пластиковый-изолятор, который испортил всю красивую картину и создал ощущение будто у меня грязное жалко с кучей нагара :( Как я его не счищал — всё равно немного пластика осталось и испортило изначально красивую картину :)

Ремонтируем уникальный ARM-нетбук из 2011 года — Toshiba AC-100 Опрос, Android, Смартфон, Покупка, Гаджеты, Ноутбук, Нетбук, Toshiba, Япония, Диковинка, Девайс, Arm, Nvidia, Linux, Ремонт, Длиннопост

Как нам правильно зафиксировать наши перемычки и заодно заизолировать их? Правильно, с помощью специальной УФ-маски, которая выполняет роль компаунда. Подключаем обратно шлейф, загибая под нужным углом, наливаем немного компаунда и светим УФ-фонариком. Через время он застывает и не только изолирует проводники, но и предотвращает дальнейший разрыв шлейфа подсветки.

Ремонтируем уникальный ARM-нетбук из 2011 года — Toshiba AC-100 Опрос, Android, Смартфон, Покупка, Гаджеты, Ноутбук, Нетбук, Toshiba, Япония, Диковинка, Девайс, Arm, Nvidia, Linux, Ремонт, Длиннопост

Теперь можно подключить шлейф обратно и проверить работоспособность устройства. И о чудо, подсветка появилась!

Ремонтируем уникальный ARM-нетбук из 2011 года — Toshiba AC-100 Опрос, Android, Смартфон, Покупка, Гаджеты, Ноутбук, Нетбук, Toshiba, Япония, Диковинка, Девайс, Arm, Nvidia, Linux, Ремонт, Длиннопост

Собираем девайс обратно и видим что все работает нормально, а значит процедура ремонта прошла успешно!

❯ Знакомимся поближе

В прошлой статье с участием AC-100 я рассказывал о накатывании Ubuntu и опыте её использования на этом устройстве. Однако Андрей хотел, чтобы на устройстве оставалась официальная Android 2.1, поэтому смотреть в сегодняшней статье мы будем именно на неё. Изначально в устройстве была установлена CyanogenMod на базе Android 4.2 — но кастом работал очень криво, не было нормального режима сна, нетбук быстро разряжался и сильно грелся, поэтому было принято решение прошиваться на сток, благо торрент с образами разделов всё ещё доступен.

На стоковой прошивке девайс выглядит как минимум необычно. Видно что лаунчер Toshiba допиливала своими руками, но всё равно остается ощущение что интерфейс планшетный.

Ремонтируем уникальный ARM-нетбук из 2011 года — Toshiba AC-100 Опрос, Android, Смартфон, Покупка, Гаджеты, Ноутбук, Нетбук, Toshiba, Япония, Диковинка, Девайс, Arm, Nvidia, Linux, Ремонт, Длиннопост
Ремонтируем уникальный ARM-нетбук из 2011 года — Toshiba AC-100 Опрос, Android, Смартфон, Покупка, Гаджеты, Ноутбук, Нетбук, Toshiba, Япония, Диковинка, Девайс, Arm, Nvidia, Linux, Ремонт, Длиннопост

Поскольку девайс был ориентирован на серфинг сети, просмотр фильмов, работу с документами и конечно же игры, в нём есть браузер. Сейчас Opera Mobile (та самая, с Presto) уже едва ли открывает Хабр и Пикабу, все стили вообще не работают... но для кого-то это даже плюс, больше текста на экране :)

Ремонтируем уникальный ARM-нетбук из 2011 года — Toshiba AC-100 Опрос, Android, Смартфон, Покупка, Гаджеты, Ноутбук, Нетбук, Toshiba, Япония, Диковинка, Девайс, Arm, Nvidia, Linux, Ремонт, Длиннопост


Благодаря довольно шустрому Tegra 2, девайс отлично справляется с эмуляторами, причём благодаря наличию полноценного USB-разъема, можно без проблем подключить геймпады и гонять в классику. Дисплей хорошего качества, также есть и HDMI, так что девайс вполне можно использовать для ретро-гейминга в дороге. Родной аккумулятор как в моей AC-100, так и в герое нашей статьи вполне держит даже спустя 13 лет после выхода — так что с этим проблем не будет.

Ремонтируем уникальный ARM-нетбук из 2011 года — Toshiba AC-100 Опрос, Android, Смартфон, Покупка, Гаджеты, Ноутбук, Нетбук, Toshiba, Япония, Диковинка, Девайс, Arm, Nvidia, Linux, Ремонт, Длиннопост
Ремонтируем уникальный ARM-нетбук из 2011 года — Toshiba AC-100 Опрос, Android, Смартфон, Покупка, Гаджеты, Ноутбук, Нетбук, Toshiba, Япония, Диковинка, Девайс, Arm, Nvidia, Linux, Ремонт, Длиннопост

Также девайс тянет нативные игры. Quake 2 в OpenGL-рендерере и в HD? Вообще легко! Правда наверняка читатели спросят мол «отлично, а в софтрендере HD потянет?» :)

Ремонтируем уникальный ARM-нетбук из 2011 года — Toshiba AC-100 Опрос, Android, Смартфон, Покупка, Гаджеты, Ноутбук, Нетбук, Toshiba, Япония, Диковинка, Девайс, Arm, Nvidia, Linux, Ремонт, Длиннопост

Но с некоторыми играми есть и проблемы. GeForce ULP был довольно свежим GPU и игры под него адаптировались, поэтому в Angry Birds, например, есть проблемы.

Ремонтируем уникальный ARM-нетбук из 2011 года — Toshiba AC-100 Опрос, Android, Смартфон, Покупка, Гаджеты, Ноутбук, Нетбук, Toshiba, Япония, Диковинка, Девайс, Arm, Nvidia, Linux, Ремонт, Длиннопост

Но в целом вот такой крутой и вполне полезный в наше время девайсик получился. Конкретно этот АС-100 отправится в коллекцию Андрея, который будет его время от времени включать и наслаждаться выглядящим диковинно в наше время Android 2.1, восхищаясь инженерами Toshiba (или Compal?). А я продолжу искать нетбуки на необычных процессорах, чтобы писать про них новые статьи, даже нерабочие — ведь восстановление крутых ретро-девайсов это всегда интересно!

❯ Заключение

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

А как вам AC-100? Интересный нетбук? Пишите своё мнение в комментариях! Также у меня есть Telegram-канал «Клуб фанатов балдежа», куда я публикую различные мысли связанные с ремонтом, моддингом и программированием под различные девайсы прошлых лет. Если интересно — подписывайтесь!

Кстати, если у кого-то из читателей есть ненужные устройства (в том числе с косяками) или дешевые китайские подделки на айфоны/айпады/макбуки и другие брендовые девайсы будучи нерабочими, тормозящими, или окирпиченными и вам не хотелось бы выкидывать их на свалку, а наоборот, отдать их в хорошие руки и увидеть про них статью — пишите мне в Telegram или в комментах! Готов в том числе и купить их. Особенно ищу донора дисплея на китайскую реплику iPhone 11 Pro Max: мой ударник, контроллер дисплея калится и изображения нет :( Было бы интересно поколупать и КПК самого начала нулевых годов (PPC2002, а то и WinCE или PalmOS) — пишите, если таковые есть.

Ремонтируем уникальный ARM-нетбук из 2011 года — Toshiba AC-100 Опрос, Android, Смартфон, Покупка, Гаджеты, Ноутбук, Нетбук, Toshiba, Япония, Диковинка, Девайс, Arm, Nvidia, Linux, Ремонт, Длиннопост
Понравилась статья?
Всего голосов:
Знали ли вы о AC-100?
Всего голосов:
Недавно несколько читателей сказали мне, что я скатился и мои статьи тоже. Так ли это?
Всего голосов:

А ещё я держу все свои мобилы в одной корзине при себе (в смысле, все проекты у одного облачного провайдера) — Timeweb. Потому нагло рекомендую то, чем пользуюсь сам — вэлкам

Показать полностью 25 3
[моё] Опрос Android Смартфон Покупка Гаджеты Ноутбук Нетбук Toshiba Япония Диковинка Девайс Arm Nvidia Linux Ремонт Длиннопост
23
502
monobogdan
monobogdan
Посты о ремонте и моддинге ретрогаджетов.
TECHNO BROTHER
8 месяцев назад

Честно и по делу: смотрим на F+ R570E с российской системой на борту⁠⁠

Честно и по делу: смотрим на F+ R570E с российской системой на борту Опрос, Android, Гаджеты, Смартфон, Ос Аврора, F+, Linux, Unix, Приложение, Мобильные телефоны, Обзор, Ништяки, Длиннопост

Я большой фанат Linux на мобильных системах и давно слежу за такими проектами, как Meego, Maemo и конечно же, Sailfish-подобными ОС. Недавно я самолично написал в компанию F+ и попросил какой-нибудь смартфон на «Авроре» для статьи и на моё удивление, представители компании согласились! Что из себя представляет R570E, какова «Аврора» с точки зрения обычного пользователя, какие проблемы могут возникнуть у разработчика и есть ли у этой системы перспективы? Читайте в сегодняшней статье!

❯ Предисловие

Пожалуй сейчас Linux'ом на смартфонах и мобильных системах никого не удивить. Ядро Linux используется в ОС Android, благодаря чему хотя бы одно устройство с пингвином на борту можно найти почти в каждом доме. Однако Android использует именно само ядро Linux, выстраивая вокруг него собственное пользовательское окружение (или более корректно — userspace): подсистема абстракции от железа (HAL), оконная система и фреймворк для приложений. На десктопных же системах используется стек, известный как GNU/Linux, предоставляющий этакое знакомое нам unix-окружение со стандартным набором программ, glibc и компилятором GCC. При этом Android абсолютно не совместим с программами, собранными для обычных GNU/Linux систем как раз таки из-за преусловутой glibc (вместо неё в Android используется bionic и свой собственный динамический линкер), и поэтому многие гики хотят запустить полноценный дистрибутив на мобильном устройстве.

Честно и по делу: смотрим на F+ R570E с российской системой на борту Опрос, Android, Гаджеты, Смартфон, Ос Аврора, F+, Linux, Unix, Приложение, Мобильные телефоны, Обзор, Ништяки, Длиннопост

Но благодаря тому, что ядро Linux распространяется по лицензии GPL3, производители смартфонов обязаны открывать исходный код своих модификаций ядра под собственные устройства. И пока развивалась моддинг-сцена Android с такими кастомами, как CyanogenMod или, например, MIUI, на некоторые устройства выходили такие диковинные системы, как Ubuntu Touch, pmOS и, конечно же, Sailfish OS.

Linux на мобильных устройствах берёт своё начало ещё с середины 2000-х годов. Именно в это время компания Motorola решила использовать в своих продвинутых устройствах ядро Linux, а если более конкретно — построить собственную оболочку Motorola EZX на базе MontaVista Linux. Немудрено, что систему быстро хакнули и наделали для неё кастомного софта, патчей и других примочек. Примерно в тоже самое время компания Nokia начала развивать линейку собственных интернет-планшетов на базе дистрибутива Linux под названием Maemo.

Честно и по делу: смотрим на F+ R570E с российской системой на борту Опрос, Android, Гаджеты, Смартфон, Ос Аврора, F+, Linux, Unix, Приложение, Мобильные телефоны, Обзор, Ништяки, Длиннопост

Сын (Nokia N900), батя (Nokia N800, ещё планшет) и племянник на фоне

В 2007 году на свет появился первый полностью открытый смартфон (в том числе и с аппаратной точки зрения — то есть принципиальная схема, разведенная плата и иные необходимые для постановки устройства на конвейер документы) Neo 1973, построенный на базе хакнутого проектом OsmocomBB модема TI Calypso и ОС OpenMoko, который получил умеренный успех среди Linux-гиков. А в 2009 году вышел легендарный Linux-смартфон Nokia N900, который до сих пор считается одним из самых удачных и успешных гиковских смартфонов из когда-либо выпущенных.

Честно и по делу: смотрим на F+ R570E с российской системой на борту Опрос, Android, Гаджеты, Смартфон, Ос Аврора, F+, Linux, Unix, Приложение, Мобильные телефоны, Обзор, Ништяки, Длиннопост

И вот в 2011 году Nokia, почти полностью перешедшая на Windows Phone и остановившая развитие Symbian, выпускает свой последний гиковский смартфон — Nokia N9, который в некоторых аспектах стал «батей» многих фишек в современных смартфонах. Несмотря на популярное заблуждение, N9 работает не на Meego, а на Maemo со значительно доработанным пользовательским интерфейсом. И как раз UI устройства был крайне необычным и на своё время прорывным: управление системой жестами, наличие двух всегда доступных страниц, своё видение шторки уведомлений и очень плавная работа. Когда стало ясно, что Nokia больше не будет выпускать Linux-смартфоны, несколько инженеров компании основали свою собственную фирму Jolla и продолжили развивать Meego для полноценного запуска на Nokia N9. Результатом их работы стала новая система — Sailfish OS.

Честно и по делу: смотрим на F+ R570E с российской системой на борту Опрос, Android, Гаджеты, Смартфон, Ос Аврора, F+, Linux, Unix, Приложение, Мобильные телефоны, Обзор, Ништяки, Длиннопост

Такие разные: N9 вышел флагманским смартфоном в 2011 году, в то время как R570E корпоративным и относительно бюджетным в ~2023. Но всё же в R570E есть частичка работы инженеров той самой Nokia, причём довольно большая.

Честно и по делу: смотрим на F+ R570E с российской системой на борту Опрос, Android, Гаджеты, Смартфон, Ос Аврора, F+, Linux, Unix, Приложение, Мобильные телефоны, Обзор, Ништяки, Длиннопост

Тот самый Neo, только это уже FreeRunner.

Основной фишкой системы было наличие инкрементальных обновлений, возможность разработки приложений с использованием Qt (т. е в отличии от Android, все приложения и подсистемы полностью нативные, а не написаны на Java), и довольно неплохая совместимость с обычным ARM-софтом для других дистрибутивов Linux. Со временем Ростелеком увидел перспективы в Sailfish OS и выкупил долю в компании, начав работу над своим собственным форком этой системы — ОС «Аврора». С годами «Аврора» полностью отделилась от материнского проекта и начала развитие в другом направлении: если Sailfish OS была системой для гиков и просто пользователей, то «Аврора» больше нацелена на Enterprise-сегмент (т. е. «госка»), на гиков и только потом на конечных пользователей.

И мне, как фанату Linux на мобильных устройствах, очень хотелось пощупать и заполучить свой собственный девайс на этой ОС. Набравшись смелости, я написал в PR-отдел F+ и через пару недель получил положительный ответ. Радости моей не было предела! Но когда девайс пришёл ко мне, начались определенные трудности...

Честно и по делу: смотрим на F+ R570E с российской системой на борту Опрос, Android, Гаджеты, Смартфон, Ос Аврора, F+, Linux, Unix, Приложение, Мобильные телефоны, Обзор, Ништяки, Длиннопост

Прикладывать скриншоты деловой переписки -- плохой тон, однако в случае с F+ всё было максимально приятно: ребята поняли, что девайс поедет к гику и дали свободу воли и перо в руки автору, т. е. мне :)

❯ Распаковка

Начать стоит с распаковки девайса. Ко мне смартфон пришёл «не новым», его уже распаковали и накатили на него некоторые тестовые приложения для внутренних нужд PR-отдела. Кроме того, у меня стоит «особенная» версия Авроры 5.1, доступная пока ещё не всем пользователям.

Честно и по делу: смотрим на F+ R570E с российской системой на борту Опрос, Android, Гаджеты, Смартфон, Ос Аврора, F+, Linux, Unix, Приложение, Мобильные телефоны, Обзор, Ништяки, Длиннопост

В коробке нас встречает сам девайс, защитное стекло (девайс всё таки защищенный) на дисплей, краткий мануал по использованию «Авроры» (в кои-то веки он нужен!), а также скрепка, Type-C кабель и 5В/2А блок питания. В рознице к девайсу прилагаются ещё и TWS-наушники.

Честно и по делу: смотрим на F+ R570E с российской системой на борту Опрос, Android, Гаджеты, Смартфон, Ос Аврора, F+, Linux, Unix, Приложение, Мобильные телефоны, Обзор, Ништяки, Длиннопост

Поскольку смартфон предполагается защищенным по стандарту IP68 (пыленепроницаемый и способен выдержать погружение в воду на длительное время), он выполнен в прорезиненном корпусе с небольшой выемкой для дисплея. В руке лежит хорошо, хоть и полноват.

Честно и по делу: смотрим на F+ R570E с российской системой на борту Опрос, Android, Гаджеты, Смартфон, Ос Аврора, F+, Linux, Unix, Приложение, Мобильные телефоны, Обзор, Ништяки, Длиннопост

После включения нас встречает логотип «Авроры», а затем и предложение ввода пин-кода (есть также сканер отпечатков пальца). Enterprise-направленность девайса видна сразу: MDM-политики, возможность удаленного бана украденного устройства по ключу активации системы и возможность добавления своих репозиториев с софтом помимо возможности установки RPM и использования стандартных репозиториев ОМП.

Честно и по делу: смотрим на F+ R570E с российской системой на борту Опрос, Android, Гаджеты, Смартфон, Ос Аврора, F+, Linux, Unix, Приложение, Мобильные телефоны, Обзор, Ништяки, Длиннопост

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

  • Процессор: MediaTek Helio A25. 2020 год, 8 ядер Cortex-A53 на частоте от 1.5 до 1.8ГГц (пламенный привет MT6753 в любимых мной китайских айфонах). В целом, это довольно бодрый по меркам бюджетника чипсет, именно A25 сейчас частый гость на смартфонах до 5-6 тысяч рублей.

  • GPU: PowerVR GE8320 на частоте 600МГц. В целом, GPU можно назвать гордостью девайса: и если с 3D-играми на Авроре и Sailfish вяло, то для эмуляторов даже относительно тяжелых консолей он подойдет замечательно.

  • Память: eMCP «бутерброд» с 4Гб предположительно LPDDR4 оперативной памяти и 64Гб eMMC 5.1 постоянной памяти. UFS-флэшки чипсет не поддерживает в силу своей бюджетности.

  • Дисплей: 5.7" IPS HD+ матрица. Вполне годная, очень похожа на матрицу моего китайского айфона, есть ощущение что на современных бюджетниках используется +- похожие дисплеи.

  • Звук: есть 3.5мм джек! Это настолько редкость сейчас, что я выделил эту фичу в отдельный пункт.

  • Сеть: Wi-Fi a/b/g/n ac, Bluetooth 5.0, 2G, 3G, LTE. Стандартный минимальный набор.

  • Камера: 13Мп + 2Мп

  • Аккумулятор: 5080мАч, литий-полимерный. Для броневика ёмкость средненькая.

В целом, аппаратно R570E - больше классический китайский OEM-смартфон на привычной MediaTek'овской платформе. Мне говорили, что есть какие-то изменения в плате "под капотом", однако девайс я пока не разбирал. Если F+ выложит в общий доступ схему устройства, то смартфон сможет похвастаться ещё и повышенной ремонтопригодностью, что очень актуально как для шаловливых энтузиастких ручек, так и для компаний, закупивших девайс для бизнеса. В целом, как по мне, — характеристики вполне неплохие, но стоит иметь в виду, что я почти всю жизнь пользовался бюджетными девайсами и выжимал из них все соки, так что мне привычно доводить девайс до идеала и после покупки.

Но в случае R570E, самое важное в девайсе — это «Аврора». И на её пользовательские качества мы сейчас с вами и посмотрим.

❯ Знакомимся поближе

Сначала предлагаю взглянуть на «пользовательскую» часть системы. Недавно пользователям начали прилетать апдейты с «РуСтором» на борту (в бета-ветке), однако мой смартфончик пока что обделен этим обновлением. Об этом чуть позже.

Как и «батя» в лице Sailfish OS, «Аврора» управляется полностью жестами. Некоторые обзорщики сравнивают UI Авроры как «украденный у Android и iOS», однако это не так: корни интерфейса уходят в Nokia N9, из которого как раз все всё и позаимствовали спустя почти 10 лет. Несмотря на бюджетный 4-х летний чипсет, девайс работает очень плавно и у него есть адекватная многозадачность.

Честно и по делу: смотрим на F+ R570E с российской системой на борту Опрос, Android, Гаджеты, Смартфон, Ос Аврора, F+, Linux, Unix, Приложение, Мобильные телефоны, Обзор, Ништяки, Длиннопост

По умолчанию в системе предустановлен классический набор приложений, плюс ярлыки PWA можно выносить на рабочий стол. К слову о браузере — здесь используется Firefox 78 (2020 год) с самопальным интерфейсом, который всё ещё открывает большинство сайтов, но стремительно теряет актуальность. С апдейтами обещали обновить и WebView, едва-ли 78'ой останется актуальным в 2025 году.

Честно и по делу: смотрим на F+ R570E с российской системой на борту Опрос, Android, Гаджеты, Смартфон, Ос Аврора, F+, Linux, Unix, Приложение, Мобильные телефоны, Обзор, Ништяки, Длиннопост

R570E неплохо подходит и по основному предназначению (т. е. как телефон): номеронабиратель удобный, есть импорт контактов из Exchange, vcf-файлов и других телефонов. Что ещё, собственно, нужно? Приложение для обмена SMS самое обычное, ничего примечательного.

Честно и по делу: смотрим на F+ R570E с российской системой на борту Опрос, Android, Гаджеты, Смартфон, Ос Аврора, F+, Linux, Unix, Приложение, Мобильные телефоны, Обзор, Ништяки, Длиннопост

Само собой есть встроенный плеер для прослушивания музыки. Из-за броненаправленности смартфона, мне не удалось нормально подключить мои основные полноразмерные наушники, но в целом качество ЦАПа... на уровне остальных смартфонов с MTK на борту: нормально, но после флагманских BlackBerry с ЦАП'ом Wolfson, смартфонов Sony или ZTE Axon с аж двумя отдельными аудиотрактами (!) хочется вернуться всё же к флагманам: А вот что в плеере не понравилось, так это отсутствие эквалайзера: плеер совсем простенький.

Честно и по делу: смотрим на F+ R570E с российской системой на борту Опрос, Android, Гаджеты, Смартфон, Ос Аврора, F+, Linux, Unix, Приложение, Мобильные телефоны, Обзор, Ништяки, Длиннопост

В целом, понравился клиент почты. Есть интеграция с российскими сервисами, плюс поддержка POP3/IMAP-ящиков. Сам клиент шустрый и удобный. Единственный момент - не работает поиск по всему ящику, только по синхронизированным сообщениям и не сразу заработал SMTP gmail'а.

Честно и по делу: смотрим на F+ R570E с российской системой на борту Опрос, Android, Гаджеты, Смартфон, Ос Аврора, F+, Linux, Unix, Приложение, Мобильные телефоны, Обзор, Ништяки, Длиннопост

Поговорим о камере. Модуль здесь бюджетный, на уровне флагманских смартфонов эдак года 2013-2014. По качеству выдает картинку близкую к Galaxy S2-S3, но немного не хватает цветокоррекции. Макро тоже у смартфона получается "с трудом", по крайней мере в авторежиме. Правда всё это можно объяснить тем, что для камеры у MTK есть куча блобов с различными алгоритмами для улучшения изображения, и эти блобы разработаны для использования с Android и возможно Аврора использует лишь самый простой вариант захвата изображения с камеры:

Честно и по делу: смотрим на F+ R570E с российской системой на борту Опрос, Android, Гаджеты, Смартфон, Ос Аврора, F+, Linux, Unix, Приложение, Мобильные телефоны, Обзор, Ништяки, Длиннопост
Честно и по делу: смотрим на F+ R570E с российской системой на борту Опрос, Android, Гаджеты, Смартфон, Ос Аврора, F+, Linux, Unix, Приложение, Мобильные телефоны, Обзор, Ништяки, Длиннопост

Также я накатил клиент Telegram «Tavro» на базе библиотеки TDlib, который вполне неплох... однако его полная версия платная. Впрочем, подразумевается что полная версия «Тавро» предназначена для бизнеса. Если будет наблюдатся тенденция с платным жизненноважным софтом на «Авроре» — то система точно не станет популяряной у обычных пользователей. А ещё Тавро лагучий и если пару дней не открывать Telegram, то синхронизация большого числа изменений может занять пару минут, а интерфейс будет висеть.

Честно и по делу: смотрим на F+ R570E с российской системой на борту Опрос, Android, Гаджеты, Смартфон, Ос Аврора, F+, Linux, Unix, Приложение, Мобильные телефоны, Обзор, Ништяки, Длиннопост

Также я хотел написать вторую статью о разработке небольшой 3D-аркады с нуля под «Аврору», однако возникли определенные трудности о которых я и говорил в начале статьи. Дело в том, что на мой смартфон установлена немножко «особенная» версия ОС, где режим разработчика (отладчик и ещё некоторые фичи) просто сломан. Пакет (сломанный) уже установлен, однако не удаляется, не обновляется и не устанавливается. В моём случае можно только сделать бэкап и прошить дамп чистой системы с 4pda, благо такая возможность есть.

Честно и по делу: смотрим на F+ R570E с российской системой на борту Опрос, Android, Гаджеты, Смартфон, Ос Аврора, F+, Linux, Unix, Приложение, Мобильные телефоны, Обзор, Ништяки, Длиннопост

Тем не менее, даже несмотря на «поломанность», есть возможность установки сторонних приложений. Просто включаем соответствующую галку в настройках — и вот, мы можем ставить сторонние rpm-пакеты прям как apk в Android.

В целом, «Аврору» можно назвать достаточно открытой для моддинга и разработки собственных программ системой. За деплой приложений не нужно ничего платить, есть неплохая документация и можно делать с системой всё что угодно из терминала: благо root-доступ есть из коробки для всех. Я немного общался с @chuvilin(техдир в ОМП), а он когда-то сам хоумбрю приложения для Maemo (Nokia N900) писал, так что вполне очевидно что даже сами разработчики держат вектор на открытость системы для гиков.

❯ Есть ли перспективы?

Пожалуй, наличие перспектив у «Авроры» зависит от того, зачем вам нужен девайс с ней на борту. Если говорить о Enterprise-секторе и гос-организациях, то система со временем может занять довольно большой процент рынка и так или иначе, у вас будет шанс пощупать её на промышленном устройстве. В целом, её интеграцией в бизнес уже сейчас активно занимается компания «Марвел» (владелец бренда F+).

Также у «Авроры» есть хорошие перспективы среди гиков: существуют тематические каналы в Telegram, а также люди активно обсуждают систему на 4pda. Аврора очень интересная «под капотом» и достаточно дружелюбная по отношению к разработчикам, так что гики — определенно одна из ЦА этой системы.

Есть ли перспективы среди обычных пользователей? Тут сказать сложно. Дело в том, что основная проблема «Авроры», Sailfish OS, Meego и Maemo — относительно малое количество софта, которым можно пользоваться «из коробки». И если гикам часть приложений можно запилить самому (например, клиент банка на СМСках), то что делать простым пользователям? Правильно, ждать появления нужного софта в магазинах, а до этого использовать веб-версии в FireFox. Будем честны, такой вариант устраивает далеко не всех.

❯ Заключение

Вот такой материал об «Авроре» и F+ R570E у нас с вами сегодня получился. А как вам данный смартфон? Есть ли у него перспективы? Пишите своё мнение в комментариях!

P.S: Я не получил от F+ ни копейки за статью, кроме самого девайса. Все впечатления — мои личные, а меня довольно легко впечатлить (достаточно чтобы на девайсе был Linux :) ) Поэтому, надеюсь, даже те читатели, которые не питают симпатию к Авроре», останутся довольны после прочтения статьи.

Также у меня есть Telegram-канал "Клуб фанатов балдежа", куда я публикую ссылки на новые статьи, видео, а также мысли по программированию, ремонту и моддингу различных гаджетов, а также немного щитпоста. Подписывайтесь, если интересно. Недавно я начал вести ещё и паблик в ВК, там в основном репосты видосов с ютуба для тех, кто не хочет юзать VPN, но кому интересны мои видосы. Также туда публируется часть постов из телеги.

Нравится R570E?
Всего голосов:
Пользовались бы смартфоном на Авроре «на постоянке»?
Всего голосов:

Статья подготовлена при поддержке TimeWeb Cloud. Подписывайтесь на меня и @Timeweb.Cloud чтобы не пропускать новые статьи каждую неделю!

Показать полностью 20 2
[моё] Опрос Android Гаджеты Смартфон Ос Аврора F+ Linux Unix Приложение Мобильные телефоны Обзор Ништяки Длиннопост
242
Nikalai931
10 месяцев назад

Apple iphone 16 pro max камера iPhone 16 Pro Max:⁠⁠

Apple iphone 16 pro max камера iPhone 16 Pro Max: Игровой ПК, Электроника, Nvidia, Компьютерное железо, Гаджеты, Смартфон, Apple, Видеокарта, Сборка компьютера, Android, Компьютерная помощь, Телефон, Материнская плата, Ноутбук, Windows, Linux, Ремонт ноутбуков, Текст, Длиннопост

Сверхусовершенствованная камера iPhone 16 Pro Max: Все, что нужно знать

Согласно информации от Digital Chat Station, ожидается, что iPhone 16 Pro Max станет флагманом изображения с выдающимся качеством фото- и видеосъёмки. Основные улучшения включают:

Камера и датчик изображения

- Улучшенные функции: Возможно наличие 14-битного аналого-цифрового преобразователя (ADC) и DCG для повышения динамического диапазона и снижения уровня шумов.

- Увеличенный размер сенсора: На 12% больше, чем у предыдущих моделей iPhone 14 Pro и iPhone 15 Pro. Это должно привести к повышению качества изображения, особенно в условиях плохого освещения.

Улучшенные возможности

- Динамический диапазон и размытие фона: Ожидается, что увеличение размера сенсора существенно повлияет на эти характеристики, сделав фотографии еще более реалистичными.

- Эффективность при слабом освещении: Благодаря новому датчику и улучшениям, iPhone 16 Pro Max будет способен делать качественные снимки даже при низкой освещенности.

Дизайн и дисплей

- Легкие изгибы: По слухам, iPhone 16 Pro и Pro Max могут получить слегка изогнутые экраны, соответствуя тренду модели iPhone 15 Pro и Pro Max.

С учетом всех этих обновлений, iPhone 16 Pro Max обещает впечатляющую камеру и улучшенный опыт фотографирования для пользователей. Будем ждать официального анонса компании Apple для подтверждения этих спекуляций.

Показать полностью 1
Игровой ПК Электроника Nvidia Компьютерное железо Гаджеты Смартфон Apple Видеокарта Сборка компьютера Android Компьютерная помощь Телефон Материнская плата Ноутбук Windows Linux Ремонт ноутбуков Текст Длиннопост
1
138
monobogdan
monobogdan
Посты о ремонте и моддинге ретрогаджетов.
TECHNO BROTHER
1 год назад

Автостарт Android-устройств — это просто! Реверсим, патчим загрузчик и заставляем смартфон включаться самому⁠⁠

Автостарт Android-устройств — это просто! Реверсим, патчим загрузчик и заставляем смартфон включаться самому Опрос, Android, Смартфон, Гаджеты, Покупка, Своими руками, Моддинг, Unix, Linux, Микроконтроллеры, Длиннопост

Обычно Android-устройства принято считать "бесполезными" через 5-10 лет после выхода. Особенно, это касается бюджетных моделей, которые "не тянут" современные сервисы или те девайсы, которые по каким-то причинам физически пострадали в процессе своей жизни. Но пока одни выкидывают смартфоны и планшеты, считая их электронным хламом и засоряя мир, другие стараются найти применение всему подряд и оказывается, что Android-устройства ещё вполне себе могут оказаться полезными. Однако порой необходимо реализовать автоматическое включение устройства при подключения к зарядке и вот здесь многие впадают в ступор - ведь замкнуть кнопку включения зачастую недостаточно! В сегодняшнем материале я расскажу свои кейсы запитывания устройств от блоков питания, а также реализацию автовключения на разных чипсетах. Интересно? Тогда добро пожаловать под кат!

❯ Как и зачем?

Вероятно, читатель спросит мол "зачем 10-летние Android устройства могут быть нужны?". И если немного призадуматься, то можно прийти к выводу, что действительно гаджеты прошлых лет могут быть достаточно полезными во многих сферах, причём не только планшеты, но и Android-смартфоны. И помимо реализации чего-то "стандартного" на манер красивых Android-часов с будильником или, например, мультимедиа станции а-ля iPod, есть ещё множество интереснейших кейсов, в которых можно использовать такие устройства. Я лично собрал для себя несколько:

  • HMI-панель: это умные программируемые дисплейные модули, которые могут выводить ту или иную информацию с микроконтроллеров или любых других устройств на экран. Благодаря 10-дюймовому планшету можно сделать очень удобное переключение режимов работы каких-то устройств, либо сделать показ информации с различных датчиков в помещении в реальном времени. Никто не мешает и в машину такой планшет поставить для сбора информации о двигателе.

    У Android-устройств перед классическими HMI-дисплеями есть огромное преимущество: наличие 3D-ускорителя и возможность выводить красивые визуалиации и графики, а также анимацию. В будущем проекте со своей машиной - "ВАЗ 2110", я покажу как использовать планшет в таких целях на практике.

  • Сбор данных: у микроконтроллеров слишком маленький объем встроенной Flash-памяти, чтобы хранить какие-то большие датасеты и строить из них статистику. Конечно можно подключить MicroSD... но ведь ко всем сразу не будешь по отдельной флэшке подключать, да и MicroSD отнюдь невечные при постоянной перезаписи данных - и здесь приходит на помощь такой планшет. eMMC обычно значительно более выносливая через MicroSD, с неё можно достать данные (при отсутствии шифрования), а мощный процессор планшета вполне может ещё и обрабатывать приходимые данные и куда-то отправлять. Вполне полезно!

  • Использование как одноплатника: я писал об этом недавно статью. Во многих бюджетных планшетах разведен UART на плате, к которому есть доступ из пользовательского окружения и даже Java-приложений! Таким образом, можно общаться с микроконтроллерами по проводному интерфейсу, или напрямую дергать ножками микроконтроллера реализовав прошивку-прослойку для МК.

  • Нестандартные применения: ну, тут я просто хотел похвастаться своим проектом с превращением планшета в игровую консоль с помощью внешнего микроконтроллера :)

Так что, как мы с вами видим, устройства прошлых лет отнюдь не бесполезны и при определенной смекалке мы можем им дать вторую жизнь и приспособить для работы на каком-нибудь объекте. Понятное дело что что-то серьёзное на них никто вешать не будет, но например панель заказа нямки в чебуречной или что-то на манер ГУ в машине - почему бы и нет?

Однако порой возникает задача реализовать авто-старт устройства при подключении смартфона к зарядке или вообще реализация автономной схемы питания. Автономная схема питания реализуется относительно легко: порой можно кинуть 5В от блока питания на VBat (плюсовой и минусовой контакт АКБ) напрямую. КП у MediaTek, имеют пороговое напряжение на аккумуляторе до 5.5-5.6В и не выгорают. Но это рискованно, если БП плохой и произойдет скачок - есть шанс того, что окажется пробитой обвязка/КП/ключи (вход со стороны USB обычно защищен от такого). Лучше всего использовать DC-DC преоразователь на ~4.2В с током от 1.5-2А.

Автостарт Android-устройств — это просто! Реверсим, патчим загрузчик и заставляем смартфон включаться самому Опрос, Android, Смартфон, Гаджеты, Покупка, Своими руками, Моддинг, Unix, Linux, Микроконтроллеры, Длиннопост

А вот с авто-стартом вопрос интереснее. Всё зависит от реализации этой самой кнопки включения и от чипсета: например, на смартфонах Sony с чипами Qualcomm иногда достаточно лишь сдуть кнопку включения и замкнуть её контакты перемычкой: всё будет работать без каких-либо проблем. Но на некоторых смартфонах, зажатая кнопка включения будет уводить устройство в циклический ребут каждые 10 секунд, что может быть неприемлемо.

Автостарт Android-устройств — это просто! Реверсим, патчим загрузчик и заставляем смартфон включаться самому Опрос, Android, Смартфон, Гаджеты, Покупка, Своими руками, Моддинг, Unix, Linux, Микроконтроллеры, Длиннопост

Несколько месяцев назад, читатель под ником @A1f подогнал мне китайский iPhone 7 Plus на Android - всё как я и люблю :) Девайс был рабочий, однако после того, как читатель отдал его в сервис, у него по каким-то причинам потерялось пару винтов, оказалась сломана кнопка включения на шлейфе, а смартфон не заряжался...

Автостарт Android-устройств — это просто! Реверсим, патчим загрузчик и заставляем смартфон включаться самому Опрос, Android, Смартфон, Гаджеты, Покупка, Своими руками, Моддинг, Unix, Linux, Микроконтроллеры, Длиннопост

Ну, с зарядкой вопрос я решил быстро: китайские айфоны иногда используют свои "Lighting'и", несовместимые с оригиналом и которые не могут заряжатьоригинальный айфон. Благо в комплекте был пожухлый оригинальный кабель, который я разобрал и припаял всё обратно. Теперь и USB, и зарядка работают нормально!

Автостарт Android-устройств — это просто! Реверсим, патчим загрузчик и заставляем смартфон включаться самому Опрос, Android, Смартфон, Гаджеты, Покупка, Своими руками, Моддинг, Unix, Linux, Микроконтроллеры, Длиннопост
Автостарт Android-устройств — это просто! Реверсим, патчим загрузчик и заставляем смартфон включаться самому Опрос, Android, Смартфон, Гаджеты, Покупка, Своими руками, Моддинг, Unix, Linux, Микроконтроллеры, Длиннопост
Автостарт Android-устройств — это просто! Реверсим, патчим загрузчик и заставляем смартфон включаться самому Опрос, Android, Смартфон, Гаджеты, Покупка, Своими руками, Моддинг, Unix, Linux, Микроконтроллеры, Длиннопост

С кнопкой вопрос был интереснее: хотя найти такую на шлейфе и кинуть с неё перемычки - дело 5 минут, я лёгких путей не искал и решил сделать автостарт при подключении к зарядке - как и на оригинальном айфоне :)

Автостарт Android-устройств — это просто! Реверсим, патчим загрузчик и заставляем смартфон включаться самому Опрос, Android, Смартфон, Гаджеты, Покупка, Своими руками, Моддинг, Unix, Linux, Микроконтроллеры, Длиннопост

И, как вы уже поняли, просто так поставить перемычку на контакте Power и массу не получится - смартфон будет постоянно уходить в ребут. Поэтому я сдампил загрузчик с помощью SP Flash Tool и начал ковырять его в IDA Pro, благо устройство не требует разблокировки этого самого загручзика. Способ рабочий для многих устройств на MediaTek, в том числе и некоторых 67xx (возможно придется разблокировать загрузчик), а на устройствах с другими чипсетами алгоритм может быть +- похожим, но если нет возможности напрямую вмешаться в загрузчик, можно сделать авто-загрузку патчем boot.img.

❯ Реверсим и патчим

Для реализации автозагрузки, необходимо пропатчить загрузчик. В устройствах на чипсетах MediaTek их два - первый Preloader, который занимается первичной инициализацией периферии и ОЗУ, а второй - lk, который инициализирует дисплей, грузит ядро Linux и передаёт ему управление. В сети уже давно лежат слитый исходный код и Preloader, и lk, так что с их изучением проблем не возникнет, идея общая у всех устройств.

Итак, что-же происходит при включении смартфона? lk определяет так называемый режим загрузки, в зависимости от которого меняется раздел, с которого грузится ядро (boot или recovery), а также параметры передаются ядру (atags). В процессе работы lk и перед загрузкой ядра, перед тем как показать анимацию зарядки, загрузчик проверяет нажата ли кнопка включения - и если да, то быстренько перезагружает устройство в обычный режим.

Автостарт Android-устройств — это просто! Реверсим, патчим загрузчик и заставляем смартфон включаться самому Опрос, Android, Смартфон, Гаджеты, Покупка, Своими руками, Моддинг, Unix, Linux, Микроконтроллеры, Длиннопост

Да, всё так легко! Таким образом, нам остаётся лишь пропатчить условие с проверкой кнопки включения, дабы смартфон считал что кнопка нажата тогда, когда она по факту не нажата. В IDA Pro, lk загружается с смещением памяти в 0x0, а найти нужную инструкцию нам поможет зацепка в виде отладочной строки. IDA Pro сразу строит все xref'ы и обращения к строкам, так что найти нужные данные не составит труда. Ищем "[%s] PowerKey Pressed in Kernel Charging Mode Before Jumping to Kernel, Reboot Os" и смотрим все обращения к адресу памяти, с которого начинается строка.

Автостарт Android-устройств — это просто! Реверсим, патчим загрузчик и заставляем смартфон включаться самому Опрос, Android, Смартфон, Гаджеты, Покупка, Своими руками, Моддинг, Unix, Linux, Микроконтроллеры, Длиннопост

Чуть выше метода вызова printf, можно найти наше условие, которое начинается с инструкции CMP R0, #0. Сразу после него идёт инструкция BNE, которая бранчит код и продолжает загрузку системы в режиме "зарядки". Нам остаётся лишь заменить её на NOP в hex-редакторе в той-же IDA Pro и система сразу после попытки включится в режиме зарядки уйдет в ребут и перезагрузится в обычном режиме, будто мы просто включили смартфон с кнопки!

Автостарт Android-устройств — это просто! Реверсим, патчим загрузчик и заставляем смартфон включаться самому Опрос, Android, Смартфон, Гаджеты, Покупка, Своими руками, Моддинг, Unix, Linux, Микроконтроллеры, Длиннопост

Прошиваем наш новый lk:

Автостарт Android-устройств — это просто! Реверсим, патчим загрузчик и заставляем смартфон включаться самому Опрос, Android, Смартфон, Гаджеты, Покупка, Своими руками, Моддинг, Unix, Linux, Микроконтроллеры, Длиннопост

И видим, что всё работает! :)

❯ Второй способ

Если возможности пропатчить загрузчик нет, в дело вступает второй способ, заключающийся в патче boot.img - раздела с ядром устройства и ramdisk'ом, в котором содержаться скрипты для инициализации устройства (*.rc). Всё дело в том, что даже при зарядке смартфон загружает ядро Linux, первоначальный рамдиск и в зависимости от режима загрузки запускает либо app_process (главныйй процесс в Android), стартуя загрузку системы, либо специальную программу, которая часто называется charger и находится в /system/bin/ (иногда в самом boot.img).

На смартфонах с разными чипсетами реализация этого способа может сильно отличаться, однако приведу пример с смартфонами Sony Erisson из 2011 года (у меня есть Xperia Play с сломанной кнопкой включения). Там устройство начинает выполнение скрипта init.rc, тот в свою очередь запускает init.semc.rc и на этапе инициализации запускает программу chargemon, которая выводит анимацию зарядки, отключает смартфон, если кабель вытащили и слушает нажатие кнопки включения, продолжая процесс загрузки, если пользвоатель зажал кнопку включения. Соответственно, весь фикс - закомментировать эту строку :)

#exec /system/bin/chargemon

В случае MTK, можно попробовать ещё пропатчить init.rc, дабы он продолжал загрузку системы даже в случае подключения кабеля в режиме зарядки. Способов много, главное проявить смекалку и не бояться разбираться в чём-то непонтяном :)

❯ Заключение

Как видите, ничего сложного в реализации автоматического старта устройства нет. Где-то можно обойтись перемычкой на кнопку включения, где-то патчем boot.img, а где-то и патчем загрузчика. Но тем не менее, это вполне возможно на практике и позволяет делать такие приколюхи, как я со своим китайским айфоном :)

Автостарт Android-устройств — это просто! Реверсим, патчим загрузчик и заставляем смартфон включаться самому Опрос, Android, Смартфон, Гаджеты, Покупка, Своими руками, Моддинг, Unix, Linux, Микроконтроллеры, Длиннопост

Надеюсь, материал вам был интересен и полезен! Пишите, нужно ли вам было реализовать что-то подобное и как это делали в комментариях!

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

Автостарт Android-устройств — это просто! Реверсим, патчим загрузчик и заставляем смартфон включаться самому Опрос, Android, Смартфон, Гаджеты, Покупка, Своими руками, Моддинг, Unix, Linux, Микроконтроллеры, Длиннопост
Интересный материал?
Всего голосов:
Если вы постоянный читатель, смотрите ли вы мой YouTube-канал?
Всего голосов:

Статья подготовлена при поддержке TimeWeb Cloud. Подписывайтесь на меня и @Timeweb.Cloud, чтобы не пропускать новые статьи каждую неделю!

Показать полностью 13 2
[моё] Опрос Android Смартфон Гаджеты Покупка Своими руками Моддинг Unix Linux Микроконтроллеры Длиннопост
16

Попробовать мобильный офис

Перейти
Партнёрский материал Реклама
specials
specials

Мобильный офис до 100 тысяч рублей⁠⁠

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

Протестировали TECNO MEGABOOK K15S вместе со смартфоном TECNO CAMON 40 и наушниками TECNO в рабочих и бытовых сценариях от Zoom-звонков до перелета, а теперь рассказываем, как себя показала техника.

Первое впечатление от дизайна ноутбука

Первое, что заметно — это вес. При диагонали 15,6 дюйма и полностью металлическом корпусе K15S весит всего 1,7 кг. Это примерно на 15% меньше, чем аналоги. Устройство не обременяет ни в офисе, ни в такси. Ноутбук поместился в стандартный городской рюкзак, было удобно достать его в кафе за завтраком и по дороге в такси, чтобы быстро отработать клиентские правки.

1/4

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

Шарнир работает мягко: чтобы открыть крышку даже одной рукой, не нужно придерживать корпус. Чтобы показать коллеге или клиенту презентацию, достаточно раскрыть экран на 180°. Это удобно и для работы лежа, и для подставок, которые требуют определенного угла обзора.

Также отметим 9 портов: USB-A, USB-C, HDMI, слот для карты памяти — можно забыть о переходниках.

В TECNO MEGABOOK K15S предустановлен Windows 11. Ноутбук готов к работе сразу после включения. Никаких лишних установок и обновлений. Все настроено и оптимизировано для вашей многозадачности.

Экран: яркая картинка и комфорт ночью

Экран — 15,6 дюйма, IPS-матрица с разрешением Full HD. Углы обзора отличные: изображение остается четким, даже если смотреть сбоку, цвета не искажаются. Есть антибликовое покрытие. Тестировали ноутбук при разном освещении: можно спокойно работать у окна. Когда солнце бьет прямо в экран, текст по-прежнему остается читаемым, картинки не искажаются. Это редкость в бюджетных моделях.

1/2

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

Стеклокерамический крупный тачпад — 15 см. Он не залипает, не промахивается, срабатывает с первого касания. Не возникает дискомфорта, даже если несколько часов редактировать документы без мышки. После перехода с других устройств немного непривычно, что тачпад работает в двух направлениях: нижняя часть отзывается нажатием, верхняя — касанием.

В кнопку питания встроен сканер отпечатка пальцев. К нему можно быстро привыкнуть, особенно если сидишь в опенспейсе или работаешь в дороге. Один легкий тап пускает в систему даже с мокрыми руками. Безопасно, удобно и не нужно постоянно вводить пароли.

Производительность: рендерим видео, открываем вкладки

Ноутбук работает на AMD Ryzen 7 5825U (опционально можно выбрать версию техники Intel Core i5-13420H). Восьмиядерный AMD с поддержкой 16 потоков подходит для ресурсоемких операций вроде рендеринга или работы с большими массивами данных. Встроенная графика Radeon справляется с редактированием видео в Full HD или играми.

1/4

Во время монтажа 30-минутного ролика в DaVinci Resolve и параллельной работе в Photoshop с несколькими большими PSD-файлами система сохраняла стабильность. Не было ни зависаний, ни заметного падения производительности. Ноутбук уверенно держит в фоне 10 приложений одновременно. Если запущены браузер с 20 вкладками, видеозвонок в Telegram, Excel с объемной таблицей и софт для монтажа, система не тормозит и не перегревается. Переход между окнами остается плавным, ничего не «проседает», даже при одновременном скачивании файлов и редактировании видео.

Базовая комплектация включает 16 ГБ оперативной памяти в двух слотах. При необходимости можно легко увеличить этот показатель до 32 ГБ, заменив стандартные модули на более емкие. Помимо установленного SSD на 1 ТБ предусмотрен дополнительный слот, поддерживающий диски объемом до 2 ТБ.

Чтобы во время нагрузки системы охлаждения не выходили из строя, в ноутбук встроен эффективный вентилятор, способный рассеивать до 35 Вт тепла. Устройство не греется, его спокойно можно держать на коленях. Это решение дополнено тремя режимами работы, которые переключаются простой комбинацией клавиш Ctrl+Alt+T. Тихий режим идеален для работы ночью или в общественных местах, сбалансированный подходит для повседневных задач. Производительный, на котором запускали рендеринг видео и игры, практически не шумит.

Автономность: 15 часов без подзарядки

Протестили автономность MEGABOOK K15S в условиях, знакомых каждому деловому путешественнику. Утром перед вылетом зарядили ноутбук до 100% и взяли его в рейс Москва — Калининград. В зале ожидания провели созвон, потом три часа смотрели сериал и в дороге до отеля редактировали документы. К моменту приезда оставалось 40% заряда: хватило бы еще на пару часов продуктивной работы.

1/3

MEGABOOK K15S может автономно работать до 15 часов и позволяет не оглядываться на индикатор заряда. Заявленное время достигается при типичном офисном использовании: одновременная работа с документами в Word и Excel, ведение переписки, видеоконференции, веб-серфинг.

Если все же понадобится, за  час восполняется до 70% батареи. Компактный адаптер мощностью 65 Вт на базе нитрида галлия поместился даже в карман пиджака. Один блок питания заряжает и ноутбук, и смартфон, и наушники. Экономия места: не нужно никаких дополнительных проводов.

Звук, который реально слышно

В TECNO MEGABOOK K15S установлены два мощных динамика по 2.5 Вт. Звук с глубокими низами, без пластикового дребезжания, объемный. Благодаря DTS можно смотреть видео даже в шумном помещении. В тестах специально включали сцены с шагами и выстрелами: локализация настолько точная, что в наушниках нет необходимости.

Та же стабильность и в микрофоне. Благодаря AI-шумоподавлению голос передается чисто. Во время тестовых звонков из оживленного кафе собеседник не услышал ни разговоры за соседним столом, ни городской шум. И все это — на расстоянии до пяти метров.

Кстати, о созвонах. В ноутбуке встроена обновленная камера. Она отслеживает положение лица, а еще есть физическая шторка приватности. Например, можно закрыть шторку для комфортных видеоконференций.

Для тех, кто предпочитает гарнитуру, идеально подойдут беспроводные наушники TECNO FreeHear 1 из экосистемы бренда. Когда не хотелось делиться разговорами с окружающими, подключали их. Чистый звук с акцентом на средние частоты, 11-мм драйверы, которые выдают неожиданную детализацию. Музыку слушать приятно: и фоновый плейлист на телефоне, и вечерний сериал на ноутбуке. Автономно работают наушники 6 часов, с кейсом — до 30 часов. 

1/2

Bluetooth 5.4 обеспечивает стабильное соединение на расстоянии до 10 метров. Удобная C-образная форма разработана специально для длительного ношения — после восьмичасового рабочего дня в ушах не возникает дискомфорта. Наушники поддерживают одновременное подключение к ноутбуку и смартфону. Переключение между устройствами происходит быстро и без заминок.

Через фирменное приложение Welife можно выбрать один из четырех эквалайзеров и отследить местоположение гарнитуры в случае утери. А еще кастомизировать виджет для управления наушниками. Функция настройки персонализированного дизайна доступна для устройств на Android и позволяет гибко изменить внешний вид окна подключения: вплоть до установки фоновой картинки или собственного фото.

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

Бесшовная синхронизация со смартфоном

Благодаря функции OneLeap ноутбук синхронизируется со смартфоном TECNO. Подключение происходит за пару секунд: достаточно один раз подтвердить сопряжение. После этого открывается доступ к бесшовному переключению между устройствами — объединенному буферу обмена, дублированию экранов и передаче файлов без кабелей и пересылок в мессенджерах.

Функция выручила, когда нужно было открыть приложение, у которого нет веб-версии. Удобно работает и буфер обмена: скопировал текст на одном устройстве — вставил на другом. Например, код, полученный в сообщении на телефоне, вводится в браузере на ноутбуке. Экономит минуты, а иногда и нервы. А когда в дороге пропал Wi-Fi, ноутбук сам подключился к мобильному интернету через смартфон.

1/2

TECNO CAMON 40 и сам по себе — мощный рабочий инструмент.  Смартфон выделяется камерой высокого качества 50 Мп, ярким AMOLED-экраном 120 Гц и множеством функций, которые упрощают процесс мобильной съёмки и использование искусственного интеллекта TECNO AI.

Телефон работает на HIOS 15.0.1 на базе Android 15.В фирменную оболочку встроен искусственный интеллект:

  • Голосовой помощник Ella. Отвечает на вопросы, помогает с задачами и управлением устройством.

  • Решение задач. Наводите камеру на задачу, ИИ решает ее.

  • AI Редактор фотографий. Интеллектуальная обработка в одно касание.

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

Технические характеристики

  • Процессор и память. 8 ядер, 16 потоков, Кэш L3 16 МБ, частота до 4.5 ГГц Графический процессор AMD Radeon™ graphics SSD 512 ГБ или 1 ТБ, М.2, 2280, PCle 3.0 Nvme DDR4 16 ГБ, 3200 МГц.

  • Дисплей. 15.6", TFT, Full HD (1920×1080), 16:9, 280нит, 45% NTSC, 16.7 млн цветов, 60 Гц, 141 ррі.

  • Веб-камера. 1 Мп, шторка приватности.

  • Порты. 9 портов: 1*TF Card (microSD), 1*HDMI 1.4, 1*USB-A 3.1,

    1*USB-A 3.2, 1*3.5mm аудиовход, *Ethernet RJ45 до 1 Гбит, 2*Туре-С (Full Function), 1*слот для замка Kensington.

  • Другое. Сканер отпечатка пальца в кнопке питания. Клавиатура с подсветкой (4 уровня яркости). Тачпад с поддержкой одновременно 4 касаний.

  • Батарея. 70 Вт∙ч (6150 мА∙ч), Li-Pol, 11.55 B 65 Вт Type-C GaN, 20 В, 3.25 А, кабель 1.8 м (Туре-С-Type-C).

  • Габариты. 17.3 мм (высота), 359.5 мм (ширина), 236 мм (глубина).

  • Вес. 1,7 кг.


Если хотите создать собственную экосистему, в которой технологии подстроятся под ритм дня, попробуйте технику TECNO. Мощный ноутбук, быстрый смартфон и наушники соединяются в единое пространство. Быстрое переключение между устройствами, синхронизация файлов и стабильное соединение без лишних настроек.

КУПИТЬ НОУТБУК TECNO

Реклама TECNO Mobile Limited, Юридический адрес: Flat N, 16/F., Block B, Универсальный промышленный центр, 19-25 Shan MeiStreet, Fotan, New Territories, Гонконг

Показать полностью 17
Электроника Гаджеты Ноутбук Длиннопост
DELETED
1 год назад
Серия Смартфоны

Почему на Snapdragon так мало прошивок для SM-G9650, по сравнению с Exynos?⁠⁠

Существует несколько причин, по которым для смартфона SM-G9650 на базе Snapdragon доступно меньше прошивок, чем для его эквивалента на Exynos:

1. Ограниченная доступность: Модель SM-G9650 с Snapdragon официально продается в меньшем количестве регионов, чем версия Exynos. Это приводит к меньшей пользовательской базе и, следовательно, к меньшему интересу разработчиков прошивок к созданию ПО для неё.

2. Сложность разработки: Разработка прошивок для Snapdragon может быть более сложной, чем для Exynos. Это связано с архитектурными отличиями чипсетов и необходимостью адаптировать код прошивки к специфике Snapdragon.

3. Отсутствие поддержки производителя: Samsung, как правило, предоставляет меньше поддержки для моделей Snapdragon, чем для Exynos. Это означает, что разработчикам прошивок приходится полагаться на сторонние ресурсы и инструменты, что может затруднить процесс разработки.

4. Меньшее сообщество: Сообщество пользователей Snapdragon SM-G9650, как правило, меньше, чем сообщество Exynos. Это означает, что меньше людей тестируют и используют прошивки, что может привести к меньшей мотивации для разработчиков создавать новое ПО.

Несмотря на эти трудности, существует несколько активных сообществ разработчиков, которые создают прошивки для SM-G9650 на Snapdragon.

Вот несколько ресурсов, где можно найти прошивки для вашего устройства:

  • XDA Developers: https://www.xda-developers.com/

  • SamMobile: https://www.sammobile.com/

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

В целом, меньшее количество прошивок для SM-G9650 на Snapdragon обусловлено ограниченной доступностью устройства, сложностью разработки, отсутствием поддержки производителя и меньшим сообществом пользователей.

Однако, при наличии энтузиазма и желания, вы все же можете найти прошивки для вашего устройства и улучшить его функциональность.

А также вы сможете сами портировать прошивки и это не так и сложно, но это уже совсем для другого поста.

Показать полностью
Смартфон Linux Текст
0
Посты не найдены
О нас
О Пикабу Контакты Реклама Сообщить об ошибке Сообщить о нарушении законодательства Отзывы и предложения Новости Пикабу Мобильное приложение RSS
Информация
Помощь Кодекс Пикабу Команда Пикабу Конфиденциальность Правила соцсети О рекомендациях О компании
Наши проекты
Блоги Работа Промокоды Игры Курсы
Партнёры
Промокоды Биг Гик Промокоды Lamoda Промокоды Мвидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии