Перейти к содержимому

Что можно подключить к смартфону

  • автор:

USB OTG в смартфоні: 6 способів спростити собі життя

Технологія OTG перекладається як «на ходу». Що це, і чому заслуговує на увагу – детально в статті.

Що таке USB OTG

Технологія On-The-Go (у вільному перекладі «в дорозі») дозволяє «пов’язувати» 2 девайса без USB-хоста. При коннекте один гаджет виступає хостом, другий – периферією. Пристрої можуть мінятися ролями – в цьому фішка OTG.

подключение usb otg

Той же фотоапарат можна використовувати як веб-камеру для компа. Підключивши до неї клавіатуру, мильниця стає медіаплеєром.

Більшість смартфонів останнього покоління оснащені такою функцією. Тому вони запросто можуть виступати в невластивих ролях. Наприклад:

  • стати додатковою камерою або мікрофоном для комп’ютера;
  • перетворитися в контент-станцію завдяки Коннект USB-флешок;
  • перевтілитися в ігрову консоль через підключення геймпадов;
  • бути повноцінним міні-офісом через підключення клавіатури, мишки і принтера;
  • дистанційно керувати професійною камерою.

Навіщо це потрібно?

Так зручніше користуватися гаджетами. Любителям селфі- «себяшек» простіше перегортати 10 тисяч фото на клавіатурі і милуватися собою на екрані ТБ, ніж свайпа на мобілці. На флешку можна скидати матеріали безпосередньо, минаючи ПК, – це і швидше, і надійніше, і зручніше.

Які девайси можна підключити через USB OTG: 6 прикладів

Теоретично – будь-який гаджет. На практиці – ні. У деяких девайсів бувають конфлікти ОС або файлових систем: одні не читають інфу, іншим не вистачає потужності. У кожному разі індивідуальна проблема.

подключение жесткого диска и флешки через usb otg

Тому розглянемо найпоширеніші приклади використання технології. У цих випадках коннект відбувається без сучка і задирки. А якщо і трапляються оказії, їх можна вирішити за кілька хвилин.

Флешка або жорсткий диск

Зазвичай різні флешки підключаються без проблем. А ось із зовнішніми жорсткими дисками іноді доводиться мучитися. Якщо накопичувача потрібен зовнішнє джерело живлення, доведеться шукати потужний повербанк або пробувати обхідні шляхи конекту. А там, де передбачений власний внутрішній джерело живлення, в більшості випадків все ОК.

У файлової системи свої бзики:

  • FAT32 коннектітся до мобілці без проблем;
  • а читання NTFS-диска – справжня лотерея: телефон легко прочитає його. Хіба ви не прочитає.

Геймпад

Тепер можна перемагати суперників в «королівської битві» або бігати за рівнем аркади ще швидше!

подключение геймпада через usb otg

Особливості конекту геймерской «руки» – в таблиці:

Клавіатура і миша

Якщо набридло носити ноутбук і хочеться зробити з планшета переносний офіс, слід підключити до нього клавіатуру і мишку. Головне, дивитися в специфікації підключаються девайсів: чи дозволяють вони підключитися до пристроїв на Android.

 подключение клавиатуры и мышки через usb otg

Якщо так – чудово. Якщо немає – ймовірність вдалого підключення 50/50, але спробувати варто. Потрібно лише поставити смартфон або планшет на зручну підставку, підключити до нього клаву + миша – готово. Правда, щоб все добре працювало, доведеться шукати USB-хаб для 2 кабелів або ж брати другий бездротовий пристрій.

Принтер

Флагманські телефони легко підключаються до принтерів. Технологія OTG дозволяє коннектіться навіть до старих моделей без Wi-Fi роутера.

MIDI-контролер

Ця функція безкомпромісно підкорює музикантів. ДО сучасних мобільних телефонів можна підключити практично будь-яку міді-клавіатуру і складати свою музику.
Міді-клавіатура – зменшена версія синтезатора, яка працює тільки при підключенні до інших девайсів. Так що, якщо душа просить творчості, а комп’ютер далеко – підключаємо компактні клавіші до мобільника і складаємо нову П’яту симфонію!

DSLR-камера

Підключившись до DSLR-фотик (до зеркалке) через OTG, можна використовувати телефон як зовнішній монітор або видошукач, поперемінно керуючи камерою.

Для власників Canon завдання спрощується. Більшість цих камер підтримують OTG-коннект. А тим, у кого Nikon і Sony, може не пощастити.

 подключение фотоаппарата к телефону и планшету через usb otg

Щоб знати, чи можна з’єднати конкретну модель фотика з мобілкою, потрібно ознайомитися з інструкцією або загугли працює OTG з такою-то моделлю фотоапарата.

беззеркалка сполучаються практично з будь-яким пристроєм. Але перевірити ще раз інструкцію не завадить.

Які смартфони підтримують OTG

Теоретично OTG підтримують всі мобілки на Android 2.3 і вище. В реальності ж справи йдуть інакше. Деякі виробники блокують цю можливість або не встановлюють необхідне ПЗ. Трапляються моделі, де підключити флешку можна, а вчиняти дії девайсом керування – немає.

Такі трабли трапляються у бюджетників. У більшості середнячків ОТГ працює справно.

Ясна річ, що через USB OTG можна підключати практично все до всього, що під’єднується через USB. Завдяки такому переходнику можна отримати переносний офіс навіть без ноутбука – досить тільки телефону і периферії.

Что такое USB OTG и зачем это нужно?

Что такое USB OTG и зачем это нужно?

Можно ли быстро перекинуть файлы с флэшки на телефон, выложить снимки с фотоаппарата в инстаграм за 10 минут, заставить гореть гирлянду только от смартфона? Благодаря технологии USB OTG ваш смартфон может больше, чем вы думаете.

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

Что такое USB OTG

Технология USB OTG появилась в 2006 году. Изначально она разрабатывалась для того, чтобы не только компьютеры, но и другие устройства могли обмениваться между собой информацией, используя порт USB. Об этом говорит и сама аббревиатура OTG — «On-the-Go», что дословно на русский язык переводится как «На ходу». Подразумевается, что можно использовать устройства, которые буквально помещаются в кармане.

Не удивительно, что в последнее время USB OTG ассоциируется именно со смартфонами и планшетами, так как это самые популярные товары, поддерживающие данную технологию. Хотя на самом деле те же USB-флешки, подключенные автомагнитолам или другим устройствам — та же самая технология USB OTG.

Как это работает

В качестве примера будет рассмотрен стандартный переходник USB OTG с уже постепенно устаревающим разъемом Micro-USB. На схеме выше у Micro-USB отображены пять контактов, и именно при взаимодействии 4-го и 5-го контактов мобильное устройство получает возможность распознать то, что к нему подключено. Тогда как на первый контакт подается питания, без которого работа USB OTG также невозможна.

Какие устройства поддерживают USB OTG

Почти все современные смартфоны и планшеты поддерживают USB OTG. Исключения бывают в основном среди бюджетных моделей с разъемом Micro-USB, хотя иногда встречаются и экземпляры с современным Type-C портом, к которому нельзя подключить ничего кроме кабеля (к примеру, смартфон Noa N1).

Также есть устройства, которые лишь частично поддерживают USB OTG. Например, у пользователя получится подключить USB-флеш-накопитель, мышку, клавиатуру или другой нетребовательный гаджет, а вот что-то сложное вроде компактного тепловизора — уже нет.

Хотя с тепловизором оказалось все не так просто даже при поддержке технологии OTG. В случае с моделью, у которой есть разъем Micro-USB, может получиться так, что камера гаджета будет повернута в сторону пользователя. В этом плане гораздо удобнее тепловизоры с новым разъемом Type-C, которые можно развернуть как угодно.

Обычно операционная система мобильных устройств позволяет подключать гаджеты через USB OTG без совершения дополнительных действий, кроме некоторых случаев, когда требуется установка дополнительного софта, как в примере с тепловизором. Однако у популярной Android OS есть множество измененных версий прошивок, и в китайских смартфонах, на которых установлены фирменные оболочки ColorOS, HiOS и Funtouch OS, перед каждым подключением нужно активировать функцию USB OTG, которая через какое-то время автоматически отключается. Возможно, разработчики так пытаются сделать свои оболочки безопаснее, чтобы не допустить случайного подключения. Или это просто продиктовано вопросом энергопотребления.

Как проверить поддержку USB OTG

Самый верный способ проверки — попробуйте подключить к устройству какой-нибудь гаджет — USB-флешку или что-то другое.

Также есть различные приложения, которые пытаются определить, поддерживается ли устройством «On-the-Go», но информация, отображаемая в таком софте, не всегда является достоверной.

Еще для проверки отлично подойдет любая модель USB-тестера. При подключении к мобильному устройству экран тестера сразу начнет работать, что и будет свидетельствовать о поддержке USB OTG.

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

Какой переходник нужен для работы USB OTG

В некоторых случаях переходник не нужен, так как есть гаджеты, подключаемые к мобильному устройству через его порт — это может быть устаревающий Micro-USB, современный Type-C или, в случае с техникой Apple, — Lightning.

Интересным примером служат флешки, у которых есть сразу несколько разъемов, и которым не нужны переходники для подключения.

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

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

Например, такой кабель пригодится для подключения к смартфону портативного жесткого диска или чего-то аналогичного по потреблению. Кабель можно подключить к сети, компьютеру, или, например, к портативному аккумулятору.

Что еще можно подключить через USB OTG если устройство, к примеру, не поддерживает карты памяти, но информацию с них нужно перенести на смартфон, не используя при этом компьютер, то на помощь могут прийти OTG картридеры. Удобство некоторых моделей в том, что они работают не только с карточками формата microSD, но и с более крупными по размеру SD-картами.

Для пока немногочисленных смартфонов и планшетов, которые поддерживают функцию Display Port, предусмотрены специальные переходники для вывода видео и аудиосигнала на телевизор или монитор.

Различные модели USB-разветвителей помогут подключить к мобильному устройству сразу несколько гаджетов, особенно если разветвитель имеет внешнее питание.

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

Список гаджетов этим не ограничивается — подключиться также можно к принтеру или камере, или вполне реально использовать проводную гарнитуру, требующую дополнительного питания для подсветки. Еще в продаже можно найти модемы, проводные геймпады, ИК-передатчики, USB-вентиляторы, всевозможные датчики, USB-гирлянды и даже USB-увлажнители воздуха или маленькие пылесосы.

Зарядка других устройств

Наличие в устройстве USB OTG дает еще один плюс в виде возможности заряжать другие девайсы и гаджеты. При этом заряжаться будет то устройство, в разъем которого вставляется обычный кабель, а отдает заряд девайс с подключенным переходником USB OTG. Заряжаться могут и аппараты без поддержки «On-the-Go», но вот заряжать что-то у них уже не получится.

Какие устройства можно подключить к телефону через OTG-переходник (прим.: их не менее 10-ка!)

ne-edinyimi-naushnikami-syit-telefonДоброго времени!

Сегодня будет небольшая информационно-познавательная заметка о телефонах. 😉

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

Однако, не одним лишь этим «сыт» современный смартфон. Благодаря OTG-адаптеру к телефону можно подключить десятки самых разных устройств (Зачем? А, например, в случае поломки ПК, или невозможности скинуть данные с телефона на HDD — это может сильно выручить!).

Да, кстати, OTG-адаптеры и переходники можно заказать в обычных комп. магазинах (в т.ч. и для USB Type С варианта. ).

Парочка примеров использования OTG переходника

Парочка примеров использования OTG переходника

Что подключается через OTG

👉 Вариант 1: флешки и жесткие диски

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

Кстати, сейчас в продаже достаточно популярны флешки с 2-мя портами: один классический — USB Type-A, а другой — USB Type-C (т.е. ее можно подкл. и к компьютеру, и к телефону).

OTG-кабель подключен к телефону

OTG-кабель подключен к телефону

👉 Вариант 2: джойстики и геймпады

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

Джойстик подключен через OTG-адаптер к телефону

Джойстик подключен через OTG-адаптер к телефону

👉 Вариант 3: кардридер (а значит и SD-карты)

Если у вас в телефоне нет приемника для SD-карт (либо карта не читается стандартным образом) — то к нему, как и к ПК, можно подключить кардридер. Тоже весьма неплохой вариант быстро скинуть фото с одного устройства на другое.

Универсальный кардридер

👉 Вариант 4: принтер/сканер (МФУ)

Если ваш ПК в данный момент не работает, или не видит принтер (или еще «что. «) — то в большинстве случаев современный смартфон может «самостоятельно» по USB-кабелю отправить документ на печать. О том, как это сделать, см. мою прошлую заметку.

Телефон подключен к принтеру через OTG

Телефон подключен к принтеру через OTG

👉 Вариант 5: вентилятор, ночник и пр. USB-гаджеты

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

Тот же вентилятор или какой-нибудь отпугиватель комаров может быть незаменим в дальней поездке.

Пример вентилятора, фонарика

Пример вентилятора, фонарика

👉 Вариант 6: мышку, клавиатуру, монитор

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

Правда, сразу стоит сказать, что потребуется приобрести спец. док-станцию (обычного OTG-адаптера будет достаточно лишь для мышки или клавиатуры. ).

👉 В помощь!

Как подключить мышку с монитором к телефону (неск. способов) — пошаговая инструкция

К телефону подключена мышка, клавиатура, монитор (использована док-станция UH3236)

К телефону подключена мышка, клавиатура, монитор (использована док-станция UH3236)

👉 Вариант 7: сетевую карту (Ethernet-адаптер)

Это еще один способ, как можно подключить смартфон к интернету. Способ может выручить, когда Wi-Fi не работает (либо попросту нет роутера).

Примечание : всё же, для этих целей удобнее использовать док-станцию, когда к нему можно будет подключить и SD-карту, и монитор, и наушники, и пр. ☝

USB Type-C RJ45 Lan адаптер

USB Type-C RJ45 Lan адаптер

👉 Вариант 8: камеры и фотоаппараты

Соединив смартфон с цифровой зеркалкой — можно добавить некоторые «фишки» в процесс съемки. Например, улучшить фокус на нужном объекте, до-настроить режим HDR, моментально отправить нужный снимок в соц. сети, задействовать приложение для анимации и создания короткометражных фильмов!

Да, впрочем, иногда всё гораздо прозаичнее — на смартфоне нет слота под SD-карту, а фото нужно как-то передать.

То, что на экране зеркалки, видим в смартфоне

То, что на экране зеркалки, видим в смартфоне

👉 Вариант 9: колонки, доп. наушники, микрофон

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

В этом случае, вполне себе вариант, с помощью спец. OTG-переходника подключить классическую гарнитуру с Jack-штекером.

( примечание : актуально для тех случаев, когда на смартфоне нет Jack-разъема, или он пришел в негодность, стал люфтить. )

Пример подключения обычной гарнитуры к смартфону

Пример подключения обычной гарнитуры к смартфону

👉 Вариант 10: другой смартфон

Один смартфон можно подключить к другому! (Либо планшет к смартфону). Что это дает : можно заряжать одно устройство от другого + обмениваться файлами. Весьма удобно где-нибудь в дороге или офисных условиях, когда под-рукой нет ничего другого.

Примечание : для подключения понадобиться спец. кабель — так называемый «USB-C to USB-C». Найти можно на китайских барахолках.

Кабель USB-C-to-USB-C

PS

Разумеется, список не полный. Сюда можно добавить и спец. оборудование: тестеры, градусники, эндоскопы, муз. инструменты, тепловизоры и т.д.

Тепловизор для смартфона

Тепловизор для смартфона

PS 2

Да, кстати, часть из этого оборудования можно подключить к телефону и беспроводным способом (например, по Bluetooth).

Дополнения в комментариях — приветствуются! (кроме фантазии 😉)

15 способов использования OTG-кабеля с вашим Android-устройством ⁠ ⁠

15 способов использования OTG-кабеля с вашим Android-устройством USB, Otg, Смартфон, Периферия, Android, Длиннопост

Второе вытекает из первого – если гаджет распознал USB-флешку, то почему бы не попробовать подключить к нему SD-карту посредством картридера? Результат не заставил себя долго ждать – смартфон с лёгкостью увидел карту памяти, работать с ней можно в любом файловом менеджере.

15 способов использования OTG-кабеля с вашим Android-устройством USB, Otg, Смартфон, Периферия, Android, Длиннопост

Жёсткий диск

Последней разновидностью устройств для мобильного хранения данных (болванки с дискетами опустим) являются внешние жёсткие диски. И если по поводу успешного подключения первых двух пунктов нашего списка особых сомнений не возникало, то насчёт жёсткого диска я начал сомневаться. Мои сомнения оправдались – первый попавшийся под руку Kingston “завёлся”, но смартфоном не распознался. В поисках решения проблемы я остановился на утилите под названием USB OTG Helper – она находит подключённый к устройству жёсткий диск и монтирует его, после чего он отображается в файловом менеджере. Всё было бы замечательно, если бы таким образом подключались абсолютно все внешние жёсткие диски. Например, Seagate объёмом 4 терабайта смог лишь зажечь свой светодиод, а вот питания, чтобы раскрутить свои “блины”, ему не хватило.

15 способов использования OTG-кабеля с вашим Android-устройством USB, Otg, Смартфон, Периферия, Android, Длиннопост

С этого пункта мы начинаем баловство со всевозможной периферией. Опять же, первое, что приходит на ум, – подключение манипулятора типа “мышь”. У Android’а это не вызывает никаких вопросов – после подключения на дисплее сразу же появляется курсор, который безукоризненно реагирует на передвижения мыши. В таком случае, как и на Большом Брате, все программы будут запускаться двойным щелчком.

15 способов использования OTG-кабеля с вашим Android-устройством USB, Otg, Смартфон, Периферия, Android, Длиннопост

Клавиатура

С первого дня появления планшетов не прекращается холивар на тему того, что всевозможные планшеты созданы лишь для потребления контента, но никак не для его создания. Для нас, блогеров, возможностей современных планшетов вполне хватает для создания “полевого контента”: написать заметку в дороге или при временном неимении ноутбука. Однако никто не будет спорить, что текст куда удобнее набирать с помощью физической, а не виртуальной клавиатуры. Благо, Android позволяет без проблем подключать полноценные клавиатуры с помощью того же OTG-кабеля.

15 способов использования OTG-кабеля с вашим Android-устройством USB, Otg, Смартфон, Периферия, Android, Длиннопост

Сегодня на мобильных устройствах появляется всё больше серьезных игр, для управления которыми так и хочется использовать геймпад. Конечно, вы можете воспользоваться специализированными решениями вроде Moga Ace Power или SteelSeries Free Mobile Wireless Controller, которые подключаются к смартфону или планшету посредством Bluetooth. Но есть и другой, куда менее затратный способ – найти свой старенький геймпад для ПК и подключить к девайсу его.

15 способов использования OTG-кабеля с вашим Android-устройством USB, Otg, Смартфон, Периферия, Android, Длиннопост

Почему бы не превратить тот же Android-планшет в подобие рабочей станции с клавиатурой, мышью и, скажем, динамиками. Можно извратиться и так. Берём USB-хаб, подключаем его к нашему гаджету, а всю периферию – к USB-хабу. Признаюсь, в моём случае мышь и клавиатура работали с переменным успехом. То ли USB-хаб у меня слишком мудрёный (кроме нескольких USB-портов в него встроен и нагреватель чашки, но об этом ниже), то ли наоборот – что-то с ним не так, но я знаю людей, у которых получалось провернуть подобный фокус. Пробовали ли вы сделать это? Своим опытом делитесь в комментариях.

15 способов использования OTG-кабеля с вашим Android-устройством USB, Otg, Смартфон, Периферия, Android, Длиннопост

КолонкиПочему бы не подключить к смартфону USB-колонки. В моём случае колонки Dell питались от USB, а звук передавали с помощью мини-джека. Мощности мобильного USB им вполне хватало, музыка воспроизводилась без проблем.

15 способов использования OTG-кабеля с вашим Android-устройством USB, Otg, Смартфон, Периферия, Android, Длиннопост

Гарнитура

Следующей под руку мне попалась гарнитура Siberia V2 Frost Blue. Миниджека у неё нет. И питание, и передачу звука обеспечивает USB-выход, который я и поспешил подключить к OTG-кабелю. К моему удивлению, и динамики, и микрофон, и колёсико регулировки громкости, и даже подсветка гарнитуры сразу же заработали исправно.

15 способов использования OTG-кабеля с вашим Android-устройством USB, Otg, Смартфон, Периферия, Android, Длиннопост

Веб-камера

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

15 способов использования OTG-кабеля с вашим Android-устройством USB, Otg, Смартфон, Периферия, Android, Длиннопост

Следующим устройством, которое я подключил к своему смартфону, стал принтер. Да, сегодня практически все принтеры оборудованы Wi-Fi-модулем, но в тоже время у многих дома стоят не самые свежие модели, которые подобной функцией обделены, вот и приходится подключать их по проводу. К счастью, последние версии Android довольно дружелюбны с принтерами – с помощью нехитрых махинаций у вас получится подключить к своему девайсу принтер как по кабелю, так и по Wi-Fi-сети. Для печати посредством USB я воспользовался приложением PrintHand, которое сразу же увидело мой принтер и предложило распечатать нужный мне документ.

15 способов использования OTG-кабеля с вашим Android-устройством USB, Otg, Смартфон, Периферия, Android, Длиннопост

Популярным среди андроидоводов является подключение преимущественно к Android-планшетам USB-модемов. Действительно, зачем переплачивать за 3G/LTE-модификацию планшета половину его стоимости, если к нему можно подключить копеечный “свисток”. Кто-то назовёт эту логику примитивной, но множество людей поступают именно таким образом. Но вот в чём незадача – подключить USB-модем к Android-устройству можно лишь обходными путями, то есть с помощью прав суперпользователя и соответствующего софта. В большинстве случаев вас выручит довольно таки универсальный PPP Widget 2. Если же “завести” USB-модем с помощью PPP Widget 2 у вас не получилось, то в таком случае ищите счастья на профильных форумах – там вам точно помогут.

15 способов использования OTG-кабеля с вашим Android-устройством USB, Otg, Смартфон, Периферия, Android, Длиннопост

Без проблем к Android-устройству подключаются современные камеры. В таком случае смартфон их распознает как устройство хранения фотографий и видеороликов. Файлы можно просмотреть, скопировать или удалять – в общем, всё то, что мы привыкли делать при подключении камеры к компьютеру. По-моему, отличное применение смартфона для фотографов, так как всевозможные фирменные утилиты для беспроводного подключения камер к смартфонам имеют свойство подводить в самый ответственный момент.

15 способов использования OTG-кабеля с вашим Android-устройством USB, Otg, Смартфон, Периферия, Android, Длиннопост

Android-смартфон

Что случится, если к одному Android-смартфону по USB-кабелю подключить другой Android-смартфон? На самом деле, ничего сверхъестественного не произойдёт. В большинстве случаев второй смартфон начнёт заряжаться от первого, то есть первый выступит таким себе внешним аккумулятором – та “фича”, которую сегодня так активно продвигают производители смартфонов с аккумуляторами на много тысяч миллиампер-часов.

Однако попадаются варианты и поинтереснее. Например, Huawei P6 при подключении к моему смартфону предложил подключиться в качестве камеры, то есть в режиме устройства хранения фотографий и видеороликов.

15 способов использования OTG-кабеля с вашим Android-устройством USB, Otg, Смартфон, Периферия, Android, Длиннопост

Свистелки

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

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

15 способов использования OTG-кабеля с вашим Android-устройством USB, Otg, Смартфон, Периферия, Android, Длиннопост

Сомневаюсь, что автор статьи — мужчина.

Первые 3 пункта можно обееденить в 1 «устройства хранения данных», да и 4,5, 6 тоже в 1:)

p.s. Если у вас есть геймпад dualshock 3 или 4, то не обязательно использовать OTG, на некоторых устройствах с Андроид его можно без лишних ухищрений, для других нужен рут)

SDR-приёмник еще можно воткнуть, например, авиаслужбы слушать возле аэропорта, вместе со споттингом интересно.

Так же можно подключить DVB-T2 тюнер и смотреть телевизор но не каждый будет работать, также старый тюнер формата Т с функией цифрового радио может прослушивать рации.

0609 | 31 events @ 4 min: Немецкая пятилетка⁠ ⁠

0609 | 31 events @ 4 min: Немецкая пятилетка Mozilla, Авиация, Смартфон, Android, Видео, Без звука, Длиннопост

Правозащитники Mozilla Foundation прочитали пользовательские соглашения 25 автопроизводителей. Из них 21 передаёт данные третьим лицам, а 19 продают. Nissan собирает информацию о весе, поведении и интеллекте водителя и пассажиров, а Ford и GM о расе и сексуальной ориентации.

Народные умельцы поставили Firefox и другие Android приложения на Volvo. Без рута, но нужен платный аккаунт разработчика. Скачиваешь исходники программы, меняешь манифест и публикуешь в Play Store как версию для бета-теста. После автомобиль разрешает установку.

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

# Software
▸[4] Баг проводника Windows 11: двойное нажатие F11 [переход и выход из полноэкранного режима] ускоряет отображение и поиск файлов.

▸[5] Апдейт Xbox: добавили стрим в Discord, но не просмотр стримов, и подключение контроллеров без нажатия кнопки на приставке.

▸[6] Релиз бенчмарка Cinebench 2024: вернули тест видеокарт и обновили интерфейс.

▸[7] Апдейт часов и велокомпьютеров Garmin: добавили индекс выносливости, новые тренировки, прогноз погоды и прогноз клёва рыбы на карте.

▸[8] Zoom прокачал нейронку AI Companion: теперь умеет находить файлы, отвечать на вопросы и создавать сводки прошлых встреч. Обещают через месяц научить её отвечать на e-mail письма.

▸[9] Апдейт прошивки материнок MSI с чипсетами Intel 600-й и 700-й серии: исправили ошибку «процессор не поддерживается» при апдейте Windows 11.

▸[10] Дыра Wi-Fi роутеров ASUS RT-AX55, RT-AX56U V2 и RT-AC86U: баг в обработке строк входящих данных. Патч уже доступен.

▸[11] Релиз Android 14 перенесли на 4 октября.

# Hardpron
▸[12] Клавиатура ZSA Voyager: эргономичная механика, низкопрофильная, металлический корпус, съёмные свитчи. Цена 365 $.

0609 | 31 events @ 4 min: Немецкая пятилетка Mozilla, Авиация, Смартфон, Android, Видео, Без звука, Длиннопост

▸[13] Беспроводная зарядка Nomad Base One Max 3-in-1: MagSafe, заряжает три устройства сразу. Цена 170 $.

0609 | 31 events @ 4 min: Немецкая пятилетка Mozilla, Авиация, Смартфон, Android, Видео, Без звука, Длиннопост

▸[14] Камера для квадрокоптеров Sony ILX-LR1: полнокадровая, байонет E, 61 Мп, без дисплея и батарейки, вес 277 г. В продаже с декабря за 2950 $.

0609 | 31 events @ 4 min: Немецкая пятилетка Mozilla, Авиация, Смартфон, Android, Видео, Без звука, Длиннопост

▸[15] Монитор Philips Creator 27E2F7901: 27″ IPS Black, 4K @ 60 Гц, 98% DCI-P3, USB-C. Цена 500 $.

0609 | 31 events @ 4 min: Немецкая пятилетка Mozilla, Авиация, Смартфон, Android, Видео, Без звука, Длиннопост

▸[16] Монитор ViewSonic VG3419C: изогнутый 34″ VA, QHD @ 120 Гц, 0,4 мс, AMD FreeSync. Цены нет.

0609 | 31 events @ 4 min: Немецкая пятилетка Mozilla, Авиация, Смартфон, Android, Видео, Без звука, Длиннопост

▸[17] Мышь + клавиатура Logitech Pebble 2: добавили версию для маков, уменьшили шум, корпус наполовину из переработанного пластика, пять цветов. Цена 60 $.

0609 | 31 events @ 4 min: Немецкая пятилетка Mozilla, Авиация, Смартфон, Android, Видео, Без звука, Длиннопост

▸[18] Bluetooth колонка Ultimate Ears Epicboom: всенаправленный звук, сабвуфер, IP67, батарейка на 17 часов, вес 2 кг. Цена 350 $.

0609 | 31 events @ 4 min: Немецкая пятилетка Mozilla, Авиация, Смартфон, Android, Видео, Без звука, Длиннопост

▸[19] Apple получила патент «Умные очки и жесты управления интерфейсом».

0609 | 31 events @ 4 min: Немецкая пятилетка Mozilla, Авиация, Смартфон, Android, Видео, Без звука, Длиннопост

▸[20] Прототип навигатора Яндекс Pathfinder: подключается к бортовому компьютеру авто и к смартфону. Когда последний теряет GPS, рассчитывает положение по скорости и поворотам руля. Будет ли продаваться неизвестно.

0609 | 31 events @ 4 min: Немецкая пятилетка Mozilla, Авиация, Смартфон, Android, Видео, Без звука, Длиннопост

▸[21] Смартфон Cubot Note 21: 6,6″ IPS HD @ 90 Гц, Unisoc T606, ОЗУ 6 Гб, ПЗУ 128 Гб, камера 50 Мп, Android 13. В продаже через две недели за 140 $.

0609 | 31 events @ 4 min: Немецкая пятилетка Mozilla, Авиация, Смартфон, Android, Видео, Без звука, Длиннопост

# Business
▸[22] Автозавод BMW заказал у Amazon серверы для обработки данных с беспилотных автомобилей.

▸[23] Канцлер Германии придумал закон: «станции техобслуживания автомобилей обязаны установить зарядки для электромобилей». Сейчас в стране 1,2 млн электромобилей и 90 000 зарядок. Канцлер хочет видеть 15 млн авто и 1 млн зарядок к 2030.

▸[24] Конкуренты Meta переманили половину разработчиков языковой модели Llama.

▸[25] Бухгалтеры кинокомпании Warner Bros. прикинули годовую прибыль: от 10,5 до 11 млрд $. Забастовка актёов и сценаристов обойдётся от -300 до -500 млн $ упущенной прибыли.

▸[26] Apple продлила договор с Arm на поставку технологий после 2040. До какого года не уточнила.

▸[27] GoPro делает новую версию камеры Max 360˚. Даты анонса нет.

▸[28] Презентация Microsoft OneDrive пройдёт 3 октября. Покажут нейросеть для поиска файлов.

▸[29] Китай запретил чиновникам iPhone и другие импортные девайсы.

▸[30] SpaceX перенесла стримы запусков с YouTube в X.

Bada — незаслуженно забытая платформа. Какой была «iOS» от Samsung?⁠ ⁠

Bada — незаслуженно забытая платформа. Какой была «iOS» от Samsung? Гаджеты, Смартфон, Покупка, Телефон, Samsung, Galaxy, Bada, Диковинки, Девайс, Статья, Длиннопост, Мобильные телефоны, Android

Мы с вами уже давно привыкли, что при покупке нового смартфона приходится выбирать всего из двух программных платформ — Android и iOS. Большинство читателей едва ли помнит, что дуополия на рынке была далеко не всегда: на заре развития смартфонов как повседневных устройств для всех и каждого, некоторые производители представляли свои собственные платформы. Но если Windows Phone всё ещё вспоминают с теплотой, то о другой системе, которая позиционировалась как конкурент Android, забыли практически полностью. И имя этой системе — bada! Недавно я купил себе парочку полностью рабочих bada-фонов с AMOLED-дисплеями по 300 рублей. Были ли у bada шансы в сравнении с Android и что из себя представляла эта система «под капотом»? Узнаете в статье!

❯ Текст

По сравнению с обычными кнопочными телефонами, современный рынок смартфонов зародился не так уж и давно — всего около 13 лет назад. На стыке нулевых и десятых шла активная борьба за карман и предпочтения пользователя: Android 1.6 потихоньку заменял современный Android 2.0/2.1 Eclair, первые три модели iPhone шли победоносной поступью благодаря наличию джейлбрейка и полной кастомизации системы, да и практически каждый крупный производитель мобильных устройств имел собственную платформу, на которой базировались её устройства.

Bada — незаслуженно забытая платформа. Какой была «iOS» от Samsung? Гаджеты, Смартфон, Покупка, Телефон, Samsung, Galaxy, Bada, Диковинки, Девайс, Статья, Длиннопост, Мобильные телефоны, Android

В середине-конце нулевых, большинство пользователей были не искушены фишками полноценных операционных систем — они привыкли жить без многозадачности (за исключением пользователей Sony Ericsson и S60), без нативных приложений, без плавных анимаций и ускорения 3D-графики. Людей подкупал встроенный функционал телефонов: если там была встроенная читалка RSS и предустановлен клиент популярных в то время соц. сетей (мой мир :)), то обладатель устройства обычно пользовался именно ими. Конечно же, уже тогда были смартфоны, напоминающие нам современные устройства: помимо Apple, свои устройства предлагали Nokia (Symbian), Sony Ericsson (Symbian/Windows Mobile), HTC (Windows Mobile), но цены на них действительно очень «кусались».

Bada — незаслуженно забытая платформа. Какой была «iOS» от Samsung? Гаджеты, Смартфон, Покупка, Телефон, Samsung, Galaxy, Bada, Диковинки, Девайс, Статья, Длиннопост, Мобильные телефоны, Android

Huawei U8500, или Билайн E300 — один из первых реально доступных Android-смартфонов в РФ. Ценник был около 6-7 тысяч рублей в конце 2010 года.

После выхода iPhone, производители потихоньку начинали отказываться от привычных кнопок и выпускать всё больше моделей с тачскрином. А поскольку попробовать новый способ управления хотелось всем, начали появляться относительно недорогиетачфоны— обычные телефоны, обладающие сенсорным дисплеем и кучей сетевых возможностей. Примеры одних из самых популярных тачфонов своих лет, это конечно же Samsung S5230 Star, Samsung S3650 Corby, LG Cookie и LG Cookie Fresh. В те времена, встретить человека с таким телефонов было не просто, а очень просто и в каких-то отдаленных местах это даже был предмет для хвастовства!

Bada — незаслуженно забытая платформа. Какой была «iOS» от Samsung? Гаджеты, Смартфон, Покупка, Телефон, Samsung, Galaxy, Bada, Диковинки, Девайс, Статья, Длиннопост, Мобильные телефоны, Android

Когда уже было очевидно, что полноценные смартфоны в ближайшем будущем станут основным портативным устройством, Samsung решили взять предыдущий опыт и наработки SHP (Samsung Handset Platform — платформы S5230) и влить их в разработку совершенно новой смартфонной платформы, имя которой была —bada(с корейского — море). Новую платформу представили с свежей линейкой смартфонов Samsung Wave, а первым устройством был S8500 — смартфон на базе bada 1.0 с ёмкостным тачскрином и AMOLED-дисплеем. Вышел девайс в том же году, что и первый Android-флагман S-серии — Samsung Galaxy S…

Bada — незаслуженно забытая платформа. Какой была «iOS» от Samsung? Гаджеты, Смартфон, Покупка, Телефон, Samsung, Galaxy, Bada, Диковинки, Девайс, Статья, Длиннопост, Мобильные телефоны, Android

И с этим связан очень интересный казус, ведь «под капотом», S8500 был очень похож на своего Android-собрата: использовался тот же чипсет Exynos 3110 «Hummingbird» (он же использовался и в iPhone 4 как Apple A4 с некоторыми доработками) с тем же радиомодулем. Конечно остальные характеристики были немного скромнее Galaxy S (384мб ОЗУ против 512мб, 8гб ПЗУ вместо 16, AMOLED-матрица немного меньше по диагонали), но и сам смартфон стоил ощутимо дешевле Android-собрата. Немудрено, что энтузиасты начали пытаться портировать Android на S8500 — и у них это получилось, хоть полноценный порт появился примерно через 2 года после выхода устройства на рынок.

Bada — незаслуженно забытая платформа. Какой была «iOS» от Samsung? Гаджеты, Смартфон, Покупка, Телефон, Samsung, Galaxy, Bada, Диковинки, Девайс, Статья, Длиннопост, Мобильные телефоны, Android

Но почему большинство пользователей хотели перепрошить своё устройство на Android и чем была bada? Предлагаю узнать в практической части!

❯ Сегодняшние герои

Недавно я листал онлайн-барахолки в поисках интересных и несколько диковинных смартфонов для будущих статей. Выборка, как обычно для моего блога, стандартная: чем дешевле, тем лучше. И тут я вспомнил, что были когда-то смартфоны на базе bada — я будучи школьников даже успел потыкать Wave 525 у знакомого.

Bada — незаслуженно забытая платформа. Какой была «iOS» от Samsung? Гаджеты, Смартфон, Покупка, Телефон, Samsung, Galaxy, Bada, Диковинки, Девайс, Статья, Длиннопост, Мобильные телефоны, Android

E300 я тоже решил прихватить — за 300 рублей предлагался девайс с родной коробочкой!

Однако не все бадафоны представляли для меня интерес. В первую очередь, меня интересовали смартфоны с GPU, которых не было у самых бюджетных устройств (Wave 525) и одной из главных хотелок был крутейший SuperAMOLED дисплей. После недолгих поисков, я нашёл на юлито интересующие меня девайсы за… 300 и 500 рублей.

Bada — незаслуженно забытая платформа. Какой была «iOS» от Samsung? Гаджеты, Смартфон, Покупка, Телефон, Samsung, Galaxy, Bada, Диковинки, Девайс, Статья, Длиннопост, Мобильные телефоны, Android

«Дефект» первого смартфона заключался в забытом пароле. Это всё обходится буквально за 5 минут установкой свежей прошивки, но мне даже этого делать не пришлось: паролем оказался «1111» 🙂 S7250 работает на базе bada 2.0 — последней версии этой платформы от Samsung, до слияния с Tizen.

Bada — незаслуженно забытая платформа. Какой была «iOS» от Samsung? Гаджеты, Смартфон, Покупка, Телефон, Samsung, Galaxy, Bada, Диковинки, Девайс, Статья, Длиннопост, Мобильные телефоны, Android

Второй смартфон был полностью рабочим и исправным. Ему не требовалось никакого обслуживания совсем, хотя можно найти целые варианты на пароле из 200-300 рублей. Что занимательно — S8500 работал на базе bada 1.0, что даёт нам возможность напрямую сравнить их!

Bada — незаслуженно забытая платформа. Какой была «iOS» от Samsung? Гаджеты, Смартфон, Покупка, Телефон, Samsung, Galaxy, Bada, Диковинки, Девайс, Статья, Длиннопост, Мобильные телефоны, Android

Bada — незаслуженно забытая платформа. Какой была «iOS» от Samsung? Гаджеты, Смартфон, Покупка, Телефон, Samsung, Galaxy, Bada, Диковинки, Девайс, Статья, Длиннопост, Мобильные телефоны, Android

❯ Что у них под капотом?

Я намеренно не называю bada операционной системой. По сути, это лишь программная платформа (если очень условно — лаунчер), которая предоставляет набор API и интерфейс смартфона, но при этом сама может быть запущена на любой ОС — будь это Linux, или собственная RTOS, которая применялась во всех устройствах на базе bada 1.0.

Bada — незаслуженно забытая платформа. Какой была «iOS» от Samsung? Гаджеты, Смартфон, Покупка, Телефон, Samsung, Galaxy, Bada, Диковинки, Девайс, Статья, Длиннопост, Мобильные телефоны, Android

После адаптации ядра Galaxy S к S5800, многие люди переходили именно на Android, несмотря на то, что система от Google была ощутимо прожорливее. Под первый Wave выходили разные прошивки — от 4.1 JellyBean, до 4.4 KitKat, старичок долгое время оставался достаточно актуальным.

Bada — незаслуженно забытая платформа. Какой была «iOS» от Samsung? Гаджеты, Смартфон, Покупка, Телефон, Samsung, Galaxy, Bada, Диковинки, Девайс, Статья, Длиннопост, Мобильные телефоны, Android

Требования платформы были отнюдь невысокими, гораздо ниже оных у Android: bada могла легко работать на смартфонах с <128мб ОЗУ (у Wave 525 завялено 80мб, по факту скорее всего 128, где 48 зарезервировано системой), чипсетом с частотой

200мгц и весьма небольшим объёмом ПЗУ. При этом в отличии от тачфонов, bada предоставляла механизм пакетов и предлагала разрабатывать приложения аж на трёх языках:

Java — в платформе была реализована полноценная поддержка J2ME приложений, что в те годы сразу устраняло недостаток приложений в магазине. При этом, Java-приложения не умели одни из самых важных фишек новой системы: уведомления и (возможно) ускорение 3D-графики. Кроме того, у Samsung не очень удобный джойстик для «кнопочных» игр.

C++ — основным языком для разработки приложений под bada были «плюсы». Платформа сразу выбрала «нативные» рельсы — что само по себе очень хорошо, однако из-за некоторых казусов, это обернулось проблемами. Найти SDK и эмулятор для разработки под bada можно и сейчас — я уже успел немного почитать документацию и посмотреть на сэмплы. И в целом, именно с точки зрения разработки, bada была весьма интересной — эдакой смесью костылей Symbian (нет исключений, полное отсутствие RAII и инициализация отдельно от аллокации) и простоты Java (приятная и удобная библиотека собственных дженериков, абстракций над базовыми типами и приятное API для построения интерфейса с конструктором форм). При этом, поддерживались все остальные фишки плюсов — в том числе и STL.

JavaScript — да, bada решила выбрать концепцию PWA, как одну из основных. При этом в JS было экспортировано часть API самой системы — что позволяло делать интерфейс как на JS, так и с использованием нативного фреймворка.

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

Отсутствие многозадачности — ядро, на которой работала bada, само по себе было многозадачным: в приложениях поддерживались потоки. Однако сами программы, за исключением предустановленных, всегда работали в однозадачном режиме. Почему так — неизвестно, возможно часть оптимизации под совсем слабые устройства типа Wave 525. Полноценная многозадачность появилась уже в bada 2.0.

Отсутствие адаптивности интерфейса — да, это не шутка. Samsung предлагали адаптировать приложение под каждое разрешение экрана отдельно, а всё позиционирование велось в пикселях. Если честно, именно этот шаг мне понятен меньше всего — Android с самого выхода предоставлял очень крутой механизм позиционирования интерфейса, да и в iOS тоже были какие-то инструменты для адаптивного UI. Это была одна из самых главных проблем bada — по сути, мы возвращались в эпоху Java-приложений а-ля 240×320/320×480.

Нестабильность системы — не на всех телефонах фирменная прошивка работала максимально стабильно. На некоторых моторолах ребут не был таким уж редким явлением, а некоторые китайчики могли начать перезагружаться после манипуляций в инженерном меню. Однако ожидать этого от смартфона в 2010 было странно — по некоторым слухам, даже если сторонняя программа вывалится с Access Violation (SIGSEGV), то в ребут уйдет вся система! Возможно, RTOS не умела нормально работать с MMU, однако если все программы действительно работают в «flat»-адресном пространстве, а не с виртуальной памятью, то это создаёт очень серьёзные уязвимости (и потенциал для моддинга прошивки).

Но были у системы и очень вкусные «плюшки», например — из коробки полностью поддерживалось хардварное ускорение 3D-графики (при наличии GPU), причём сразу свежий OpenGLES 2.0 — с поддержкой шейдеров! Благодаря этому, перспективы в новой платформе были и для разработчиков игр — я знаю как минимум несколько полноценных 3D-игр с iOS и Android для ОС от Samsung. Добавляем к этому потенциал реализации 3D-ускорения Java-приложений и получаем действительно годное устройство для прохождения такой годноты, как Galaxy On Fire 2 в 60 FPS! Кроме GPU, bada поддерживала виджеты и т.н «Хаб» — приложение-агрегатор событий из соц. сетей.

Bada — незаслуженно забытая платформа. Какой была «iOS» от Samsung? Гаджеты, Смартфон, Покупка, Телефон, Samsung, Galaxy, Bada, Диковинки, Девайс, Статья, Длиннопост, Мобильные телефоны, Android

Именно на «болячки» жаловались пользователи чаще всего, забывая про положительные стороны устройства. И да, даже во время собственного использования, я встречал баги и сам — но всё ли так плохо, учитывая то, что Samsung действительно работала над своими ошибками и пыталась привлечь как можно сторонних разработчиков к своей платформе? Предлагаю узнать, взяв смартфон в руки самому!

Bada — незаслуженно забытая платформа. Какой была «iOS» от Samsung? Гаджеты, Смартфон, Покупка, Телефон, Samsung, Galaxy, Bada, Диковинки, Девайс, Статья, Длиннопост, Мобильные телефоны, Android

❯ Смотрим на устройства

Первое, на что обращаешь внимание, когда берешь смартфоны начала 2010х в руки — это их компактный размер. Причём компактность здесь отнюдь не в ущерб юзабилити: в своё время, размер дисплея Wave был типичным среднячком — на уровне как 5.5″ сейчас. Но при этом дисплей смартфона действительно очень классный и приятно удивляет и сейчас. Однако, здесь есть нюанс — помимо S8500, выходил так-же S8530 — практически такой же смартфон, но с SC-LCD (Samsung IPS) матрицей. В те годы, корейская компания часто давала выбор между различными типами матриц в пределах одной модели. Да что там говорить, иногда даже серьезные различия в чипсетах были!

На моем экземпляре, к сожалению матрица немного выгорела, в самом проблемно месте — верхней шторке. Увы и ах, но заметно это не так сильно, поэтому я лично обратил на это внимание только на второй день использования. Во всём остальном, я не чувствую никакого дискомфорта от «старых» OLED-дисплеев — могу без проблем юзать их часами. Wave M — устройство попроще и там используется обычная TN-матрица. Но тем не менее, её размер в 2010-2011 году был весьма впечатляющим.

Bada — незаслуженно забытая платформа. Какой была «iOS» от Samsung? Гаджеты, Смартфон, Покупка, Телефон, Samsung, Galaxy, Bada, Диковинки, Девайс, Статья, Длиннопост, Мобильные телефоны, Android

Сам интерфейс системы здесь напоминает Symbian и Android одновременно. Оно в целом и не удивительно: Samsung долгое время была участником Symbian Foundation и разрабатывала обновления для этой ОС, а также выпускала свои смартфоны на базе этой системы. Ко второй версии bada, концепцию UI сильно поменяли в сторону Android, из-за чего Wave M больше похож на смартфон с Android 2.x на борту — и лично по мне, этот интерфейс около-идеален!

Bada — незаслуженно забытая платформа. Какой была «iOS» от Samsung? Гаджеты, Смартфон, Покупка, Телефон, Samsung, Galaxy, Bada, Диковинки, Девайс, Статья, Длиннопост, Мобильные телефоны, Android

Сам девайс работает достаточно плавно. Здесь практически нет 60, или хотя-бы 30 FPS анимаций, но зато сама платформа отнюдь не «лагучая» в отличии от ранних версий Android.

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

Bada — незаслуженно забытая платформа. Какой была «iOS» от Samsung? Гаджеты, Смартфон, Покупка, Телефон, Samsung, Galaxy, Bada, Диковинки, Девайс, Статья, Длиннопост, Мобильные телефоны, Android

Что насчёт юзабилити бадафонов в наше время? Ну, базовые функции они точно смогут выполнять достаточно достойно. С основной функцией «звонилки» корейцы справлялись всегда хорошо — тут и удобная синхронизация контактов с Kies (программа для синхронизации с ПК), и возможность передавать контакты через BT.

Здесь, само собой, есть Wi-Fi и 3G, но ни о каком сёрфинге речи практически не идёт. Почему практически? Потому что Opera Mini 7 всё ещё работает и уходить на покой явно не собирается — а значит прочесть материал или зайти на википедию в экстренной ситуации точно получится. bada 2.0 уже поддерживала в том числе и HTML5, но судя по всему, частично (CSS3 анимации у меня не работали). В целом, если у вас есть большое желание поставить «бадафон» в строй — то можете запилить для себя PWA-приложения, которые реализуют необходимый вам функционал. Так и клиент ВКшечки можно реализовать, и почту листать, и СМСки от банков обрабатывать.

Bada — незаслуженно забытая платформа. Какой была «iOS» от Samsung? Гаджеты, Смартфон, Покупка, Телефон, Samsung, Galaxy, Bada, Диковинки, Девайс, Статья, Длиннопост, Мобильные телефоны, Android

Зато почтовый клиент работает!

Один из самых важных критериев для меня — это наличие в смартфоне годного аудиотракта. У моего BlackBerry Priv качество звука просто отменное, притом что используется встроенный ЦАП в Snapdragon 810. И плеер, и качество звука здесь очень даже ничего. Плеер удобный, есть DLNA для трансляции мультимедиа на телевизор.

Лично у меня сложилось впечатление, что в середине десятых, качество звука через 3.5мм джек заметно просело у смартфонов, по сравнению с народными музыкальными Nokia — как например 5310.

Bada — незаслуженно забытая платформа. Какой была «iOS» от Samsung? Гаджеты, Смартфон, Покупка, Телефон, Samsung, Galaxy, Bada, Диковинки, Девайс, Статья, Длиннопост, Мобильные телефоны, Android

Ну и не забывая про мультимедийную часть смартфона, я проверил камеру — когда-то, у Galaxy S была весьма достойная камера, учитывая его ценовой сегмент. У Wave камера тоже вполне ничего, правда с теми же «болячками», что и у других мобильных камер прошлых лет — крайне плохое качество при съемке в темноте. Ну и автофокус забрали. 🙁

Bada — незаслуженно забытая платформа. Какой была «iOS» от Samsung? Гаджеты, Смартфон, Покупка, Телефон, Samsung, Galaxy, Bada, Диковинки, Девайс, Статья, Длиннопост, Мобильные телефоны, Android

Bada — незаслуженно забытая платформа. Какой была «iOS» от Samsung? Гаджеты, Смартфон, Покупка, Телефон, Samsung, Galaxy, Bada, Диковинки, Девайс, Статья, Длиннопост, Мобильные телефоны, Android

Поскольку у смартфонов был GPU и Samsung всерьез старались привлечь разработчиков игр под свою платформу, на bada выходили и 3D-игры с очень годной, по тем временам, графикой.

В целом, недостаток нативных приложений в какой-то степени компенсируется наличием J2ME, но именно отсутствие нормально поддержки от Samsung и странная политика в отношении безопасности, в конечном итоге добили bada. После того, как превосходство Android стало очевидным, Samsung решили сделать упор в Tizen — идеологическом продолжении MeeGo, мобильной ОС, которая разрабатывалась Intel и Nokia. Компания выпустила сразу несколько устройств на новой платформе — Samsung Z (без Galaxy), после которого вышло ещё несколько смартфонов и Tizen окончательно обосновался на холодильниках/часах/телевизорах. Мобилок на Tizen я пока ещё не видел, хотя покопать их с технической точки зрения и сравнить с N9 было бы интересно — но в РФ они достаточно редкие.

Bada — незаслуженно забытая платформа. Какой была «iOS» от Samsung? Гаджеты, Смартфон, Покупка, Телефон, Samsung, Galaxy, Bada, Диковинки, Девайс, Статья, Длиннопост, Мобильные телефоны, Android

Ну а несколько лет назад, Samsung закрыла магазин приложений Tizen, что формально означает полный провал «вертушки» 🙁

❯ Заключение

Samsung в плане самопальных платформ напоминает Microsoft — те тоже умудрились сделать действительно крутую и необычную Windows Phone, отвоевать какой-то процент рынка и заполучить фанов своей системы, но затем пришли эффективные менеджеры и решили рубить всё на корню.

И даже если команды разработчиков самих этих платформ горят идеей запилить что-то крутое, бабло и желание улучшить отчетность делают своё дело. Но раз в год и палка стреляет — не зря ведь инженеры Nokia основали свою компанию Jolla, которая пилит Sailfish OS. А ведь «Аврора» — прямой наследник Sailfish! 🙂

Но если говорить конкретно о бадафонах — то несмотря на баги и некоторые глупые решения, это были весьма годные девайсы, учитывая действительно низкую цену. Настоящим конкурентом бюджетных бадафонов была лишь Nokia 5228/5230, которая хоть и имела настоящий Symbian, но не была оснащена Wi-Fi, GPS и даже 3G. Но вот с кем bada могла конкурировать в верхнем сегменте рынка?

Сам себе Linux смартфон: Как я выкинул Android и написал свою прошивку с нуля⁠ ⁠

Сам себе Linux смартфон: Как я выкинул Android и написал свою прошивку с нуля Гаджеты, Смартфон, Телефон, Покупка, Китайцы, Fly, Моддинг, Программирование, 2D, Своими руками, Одноплатный компьютер, Raspberry pi, Orange pi, Инженерия, Электроника, Android, Linux, Unix, iPhone, Мобильные телефоны, Видео, Без звука, YouTube, Длиннопост

К огромному сожалению, старые смартфоны всё чаще и чаще находят своё пристанище в мусорном баке. К прошлым, надежным «друзьям» действует исключительно потребительское отношение — чуть устарел и сразу выкинули, словно это ненужный мусор. И ведь люди даже не хотят попытаться придумать какое-либо применение гаджетам прошлых лет! Отчасти, это вина корпораций — Google намеренно тормозит и добивает довольно шустрые девайсы. Отчасти — вина программистов, которые преследуют исключительно бизнес-задачи и не думают об оптимизации приложений совсем. В один день я почувствовал себя Тайлером Дёрденом от мира IT и решил бросить вызов проприетарщине: написать свою прошивку для уже существующего смартфона с нуля. А дабы задачка была ещё интереснее, я выбрал очень распространенную и дешевую модель из 2012 года — Fly IQ245 (цена на барахолках — 200-300 рублей). Кроме того, у этого телефона есть сразу несколько внешних шин, к которым можно подключить компьютер или микроконтроллер, что даёт возможность использовать его в качестве ультрадешевого одноплатника для DIY-проектов. Получилось ли у меня реализовать свои хотелки? Читайте в статье!

Мотивация

Честно сказать, идея попытаться реализовать свою прошивку мне пришла ещё давно. Однако, дабы не завлекать опытного читателя кликбейтом, я сразу поясню, в чём заключается «прошивка с нуля»:

Мы всё ещё используем Linux: в качестве ядра мы продолжаем использовать образ Linux, предоставленный нам производителем. Написание прошивки полностью с нуля заняло бы очень много времени (особенно без схемы на устройство). Однако, мы вообще не загружаем Android никаким образом.

Мы не используем библиотеки AOSP: наша прошивка без необходимости не использует никаких библиотек уже имеющегося образа Android. Вся работа с железом происходит с помощью низкоуровневого API Linux. Это значит, что отрисовка графики, звук, управление ресурсами и питанием ложится полностью на нас.

Прошивка может запускать только нативные программы: да, это тоже камень в сторону Android. Изначально, наша прошивка умеет запускать только нативные программы, написанные на C. Причём она экспортирует собственное C API — дабы приложения могли использовать всю мощь нашего смартфона в виде простого и понятного набора методов.

Сам себе Linux смартфон: Как я выкинул Android и написал свою прошивку с нуля Гаджеты, Смартфон, Телефон, Покупка, Китайцы, Fly, Моддинг, Программирование, 2D, Своими руками, Одноплатный компьютер, Raspberry pi, Orange pi, Инженерия, Электроника, Android, Linux, Unix, iPhone, Мобильные телефоны, Видео, Без звука, YouTube, Длиннопост

Проектов по выкидыванию Android из, собственно, Android-смартфонов как минимум несколько: UBPorts — бывший Ubuntu Touch, FireFox OS и его наследник Kai OS и конечно же, postmarketOS. Отчасти можно сюда отнести и Sailfish OS — но там образы имеются в основном на смартфоны от Sony. Все эти проекты объединяет сложность портирования и невозможность их завести на устройствах без исходного кода ядра. Даже если у вас есть исходный код ядра, но, например, устройство использует ядро 2.6 — навряд-ли вы сможете завести современный дистрибутив на нём.

Другой вопрос в том, что можно использовать полу-baremetal подход, когда от Linux берется практически минимальный функционал. Всё, что мы имеем — busybox, libc и низкоуровневый доступ к железу, благодаря API самого ядра. Как под это всё программировать — я рассказывал впрошлойстатье. Этот же подход мы будем использовать и сейчас — как иллюстрация реального применения подобного способа.

Итак, что наша прошивка должна уметь:

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

Уметь звонить и работать с модемом: общение с модемом происходит посредством AT-команд — общепринятого в индустрии стандарта. Однако в случае нашего устройства, есть м-а-а-а-ленький нюанс, о котором я расскажу позже.

Иметь механизм приложений: мы ведь не будем хардкодить все «экраны» в прошивке в виде кучи стейтов, верно? Для этого у нас должен быть простой и понятный механизм слинкованных с прошивкой приложений.

Обрабатывать ввод: обработка тачскрина и жестов — это задача подсистемы ввода.

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

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

Аппаратная часть

В качестве смартфона для нашего проекта, я выбрал популярную бюджетную модель из 2012 года — Fly IQ245 Wizard. Это простенький китайский смартфон, который работал на базе популярного в прошлом 2G-чипсета: MediaTek MT6573, да и стоил около 2х тысяч рублей новым. Однако вот в чём суть: мне удалось заставить работать «медиатековский» модем и даже позвонить с него на свой основной телефон, но… только ввод и вывод данных из звукового тракта модема происходит через звуковую подсистему Android — к которой доступа у нас нет!

Сам себе Linux смартфон: Как я выкинул Android и написал свою прошивку с нуля Гаджеты, Смартфон, Телефон, Покупка, Китайцы, Fly, Моддинг, Программирование, 2D, Своими руками, Одноплатный компьютер, Raspberry pi, Orange pi, Инженерия, Электроника, Android, Linux, Unix, iPhone, Мобильные телефоны, Видео, Без звука, YouTube, Длиннопост

Именно поэтому, мы идём на очень хитрый и занимательный костыль: мы распаяем внешний модем сами! В качестве радиомодуля у нас выступит модуль SIM800 от компании SIMCOM. И даже он очень близок к нашему смартфону в аппаратном плане: ведь в основе этого модуля лежит популярнейший чипсет из кнопочников тех лет: MediaTek MT6261D. Преимущество SIM800 в его цене — он стоит пару сотен рублей, так что по карману выбор модема не влияет.

Сам себе Linux смартфон: Как я выкинул Android и написал свою прошивку с нуля Гаджеты, Смартфон, Телефон, Покупка, Китайцы, Fly, Моддинг, Программирование, 2D, Своими руками, Одноплатный компьютер, Raspberry pi, Orange pi, Инженерия, Электроника, Android, Linux, Unix, iPhone, Мобильные телефоны, Видео, Без звука, YouTube, Длиннопост

На весу паять крайне неудобно. В финальном варианте перепаяю нормально.

Но как его подключать? SIM800 общается с другими устройствами посредством протокола UART — универсальный асинхронный приемо-передатчик. И вот тут мы включаем смекалочку. Разбираем устройство и видим то, что я пытаюсь долгое время донести до моих читателей — аж два канала UART: один практически посередине, второй справа. Нам нужны пятачки TXD4 и RXD4:

Сам себе Linux смартфон: Как я выкинул Android и написал свою прошивку с нуля Гаджеты, Смартфон, Телефон, Покупка, Китайцы, Fly, Моддинг, Программирование, 2D, Своими руками, Одноплатный компьютер, Raspberry pi, Orange pi, Инженерия, Электроника, Android, Linux, Unix, iPhone, Мобильные телефоны, Видео, Без звука, YouTube, Длиннопост

Обычно на этот канал UART летят логи ядра, которые можно без проблем отключить минорной правкой U-Boot в HEX-редакторе. Впрочем, модем никак не реагирует на «мусор» из консоли и просто отвечает ошибками — хватит лишь очистить буфер сообщений для того, чтобы все работало нормально. Подпаиваемся к UART’у с помощью преобразователя — у меня оным выступает ESP32 с выпаянным чипом.

Сам себе Linux смартфон: Как я выкинул Android и написал свою прошивку с нуля Гаджеты, Смартфон, Телефон, Покупка, Китайцы, Fly, Моддинг, Программирование, 2D, Своими руками, Одноплатный компьютер, Raspberry pi, Orange pi, Инженерия, Электроника, Android, Linux, Unix, iPhone, Мобильные телефоны, Видео, Без звука, YouTube, Длиннопост

Сам себе Linux смартфон: Как я выкинул Android и написал свою прошивку с нуля Гаджеты, Смартфон, Телефон, Покупка, Китайцы, Fly, Моддинг, Программирование, 2D, Своими руками, Одноплатный компьютер, Raspberry pi, Orange pi, Инженерия, Электроника, Android, Linux, Unix, iPhone, Мобильные телефоны, Видео, Без звука, YouTube, Длиннопост

Увидели логи? Замечательно, пора попытаться что-то отправить на ПК и с ПК. UART работают без тактовых сигналов и зависит исключительно от старт/стоп битов и бодрейта, который на устройствах MediaTek равен 921600. TXD4 и RXD4 обнаруживаются в системе на консоли/dev/ttyMT3. Пробуем что-то отправить: всё работает!

Сам себе Linux смартфон: Как я выкинул Android и написал свою прошивку с нуля Гаджеты, Смартфон, Телефон, Покупка, Китайцы, Fly, Моддинг, Программирование, 2D, Своими руками, Одноплатный компьютер, Raspberry pi, Orange pi, Инженерия, Электроника, Android, Linux, Unix, iPhone, Мобильные телефоны, Видео, Без звука, YouTube, Длиннопост

Вот теперь-то можно подключить наш внешний модем и попытаться пообщаться с ним, отправив тестовую командуAT. Модем отвечаетOK! На этот раз я работаю с смартфоном из режимаFactory mode— практически тоже самое, что и режим recovery, но позволяющий, например, получить доступ к камере устройства. Простая и понятная схема, поясняющая что и куда подключать:

Сам себе Linux смартфон: Как я выкинул Android и написал свою прошивку с нуля Гаджеты, Смартфон, Телефон, Покупка, Китайцы, Fly, Моддинг, Программирование, 2D, Своими руками, Одноплатный компьютер, Raspberry pi, Orange pi, Инженерия, Электроника, Android, Linux, Unix, iPhone, Мобильные телефоны, Видео, Без звука, YouTube, Длиннопост

На этом модификация аппаратной частипоказакончена. Пора переходить к реализации софта! Я решил разделить материал на каждый модуль, который я реализовывал — дабы вам был понятен процесс разработки и отладки прошивки!

Заставляем смартфон запускать нашу прошивку

На этот раз я решил загружать смартфон из режима рекавери. Однако никто не мешает в будущем просто прошить раздел recovery вместо boot и получить прямую загрузку прямо в нашу прошивку. Время такой загрузки будет заниматься

3-4 секунды с холодного старта. Очень даже ничего.

Сам себе Linux смартфон: Как я выкинул Android и написал свою прошивку с нуля Гаджеты, Смартфон, Телефон, Покупка, Китайцы, Fly, Моддинг, Программирование, 2D, Своими руками, Одноплатный компьютер, Raspberry pi, Orange pi, Инженерия, Электроника, Android, Linux, Unix, iPhone, Мобильные телефоны, Видео, Без звука, YouTube, Длиннопост

Я взял уже готовый образ TWRP для своего смартфона и пропатчил его, дабы сам рекавери не мешал своим интерфейсом. Для этого я распаковал образ recovery.img с помощью MtkImgTools и убрал в init.rc запуск службы /sbin/recovery. После этого, я залил прошивку обратно на устройство и получил подобную свободу действий — консоль через USB и чистый холст в виде смартфона! Старые смартфоны на чипсетах MediaTek шьются через USB только после замыкания тест-поинта — на моем аппарате его местонахождение очевидно. Замыкаем контакты между собой, подключаем смартфон без АКБ к ПК и ждем прошивки:

Сам себе Linux смартфон: Как я выкинул Android и написал свою прошивку с нуля Гаджеты, Смартфон, Телефон, Покупка, Китайцы, Fly, Моддинг, Программирование, 2D, Своими руками, Одноплатный компьютер, Raspberry pi, Orange pi, Инженерия, Электроника, Android, Linux, Unix, iPhone, Мобильные телефоны, Видео, Без звука, YouTube, Длиннопост

Теперь можно деплоить программы! Важный нюанс: в отличии от Makefile из прошлой статьи, для Android 2.3 параметр -fPIE нужно убрать — иначе динамический линкер (/sbin/linker) будет вылетать в segmentation fault.

Сам себе Linux смартфон: Как я выкинул Android и написал свою прошивку с нуля Гаджеты, Смартфон, Телефон, Покупка, Китайцы, Fly, Моддинг, Программирование, 2D, Своими руками, Одноплатный компьютер, Raspberry pi, Orange pi, Инженерия, Электроника, Android, Linux, Unix, iPhone, Мобильные телефоны, Видео, Без звука, YouTube, Длиннопост

❯ Графическая подсистема

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

Сам себе Linux смартфон: Как я выкинул Android и написал свою прошивку с нуля Гаджеты, Смартфон, Телефон, Покупка, Китайцы, Fly, Моддинг, Программирование, 2D, Своими руками, Одноплатный компьютер, Raspberry pi, Orange pi, Инженерия, Электроника, Android, Linux, Unix, iPhone, Мобильные телефоны, Видео, Без звука, YouTube, Длиннопост

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

В случае с этим устройством (и большинством старых устройств), формат пикселя оказался RGB565 — т. е. 5 бит красный, 6 бит синий, 5 бит зеленый. Конвертация форматов пикселей всегда была занозой в заднице для программных рендереров, поскольку занимает дополнительное время, которое обратно зависимо от размера дисплея. Изначально я решил выделить буфер в том же формате, что и фреймбуфер, но затем решил сделать классический и самый портативный формат — RGB888 (24х-битный цвет), а при копировании кадра на экран, на лету делать преобразования цвета:

Сам себе Linux смартфон: Как я выкинул Android и написал свою прошивку с нуля Гаджеты, Смартфон, Телефон, Покупка, Китайцы, Fly, Моддинг, Программирование, 2D, Своими руками, Одноплатный компьютер, Raspberry pi, Orange pi, Инженерия, Электроника, Android, Linux, Unix, iPhone, Мобильные телефоны, Видео, Без звука, YouTube, Длиннопост

Очень важный нюанс, который я не упомянул в предыдущей статье: на устройствах прошлых лет для обновления фреймбуфера необходимо послать структуру var_screeninfo, где хотя бы что-то изменено, иначе никаких изменений мы не увидим. Этот же костыль используется в родном recovery для отрисовки, а судя по исходникам драйвера fb, «правильный» способ обновить экран — послать драйверу ioctl (который я пока что не пробовал).

После того, как я смог управлять дисплеем, я решил загрузить и отобразить какую-нибудь картинку. Пусть это будут обои для нашей прошивки:

Сам себе Linux смартфон: Как я выкинул Android и написал свою прошивку с нуля Гаджеты, Смартфон, Телефон, Покупка, Китайцы, Fly, Моддинг, Программирование, 2D, Своими руками, Одноплатный компьютер, Raspberry pi, Orange pi, Инженерия, Электроника, Android, Linux, Unix, iPhone, Мобильные телефоны, Видео, Без звука, YouTube, Длиннопост

Загрузчик TGA сильно не поменялся: я таскаю его в неизменном виде из проекта в проект. Он поддерживает любые форматы пикселя, кроме палитровых, но я его искусственн ограничиваю на RGB888 и RGBA8888 — для поддержки обычных картинок и картинок с альфа-каналом. После этого, я написал не очень шустрые, но достаточно универсальные методы для отрисовки картинок. Для больших участков кода, я буду использовать pastebin, поскольку на Пикабу до сих пор не добавили ни подсветки синтаксиса, не нормальный перенос форматирования табов 🙁

PutPixel желательно заинлайнить в будущем. В целом, сама отрисовка работает достаточно быстро, но поскольку рендеринг выполняется на ЦПУ — рано или поздно мы упремся в количество картинок на экране. Есть некоторые оптимизации: например, непрозрачные картинки можно просто коприовать сканлайнами прямо в задний буфер.

Сразу же реализовываем методы для рисования шрифтов: они у нас будут совсем простенькими — только моноширинные (все символы имеют одинаковую ширину) и растровыми (для каждого размера придется «запекать» несколько шрифтов). Для этого я написал маленькую программку, которая рисует виндовые шрифты прямо в наш самопальный формат:

Сам себе Linux смартфон: Как я выкинул Android и написал свою прошивку с нуля Гаджеты, Смартфон, Телефон, Покупка, Китайцы, Fly, Моддинг, Программирование, 2D, Своими руками, Одноплатный компьютер, Raspberry pi, Orange pi, Инженерия, Электроника, Android, Linux, Unix, iPhone, Мобильные телефоны, Видео, Без звука, YouTube, Длиннопост

1 байт говорит нам о размере шрифта и далее идут 255 изображений символов. Да, это не очень эффективно т.к попадают пустые символы из ASCII-таблицы, но в будущем это можно поправить.

Прозрачность в символах обеспечивает фоновый цвет Magena — ярко-розовый. Я не стал делать дополнительный альфа-канал, т. к. иначе будут серьезные лаги при выводе большого количества текста.

Теперь у нас есть отображение картинок и текста! Что с этим можно сделать?

❯ Обработка ввода

Сам себе Linux смартфон: Как я выкинул Android и написал свою прошивку с нуля Гаджеты, Смартфон, Телефон, Покупка, Китайцы, Fly, Моддинг, Программирование, 2D, Своими руками, Одноплатный компьютер, Raspberry pi, Orange pi, Инженерия, Электроника, Android, Linux, Unix, iPhone, Мобильные телефоны, Видео, Без звука, YouTube, Длиннопост

Сам себе Linux смартфон: Как я выкинул Android и написал свою прошивку с нуля Гаджеты, Смартфон, Телефон, Покупка, Китайцы, Fly, Моддинг, Программирование, 2D, Своими руками, Одноплатный компьютер, Raspberry pi, Orange pi, Инженерия, Электроника, Android, Linux, Unix, iPhone, Мобильные телефоны, Видео, Без звука, YouTube, Длиннопост

Пока что здесь не хватает обработки «хардварных» кнопок — домой, меню, назад и т. п. Однако в будущем это всё можно реализовать!

❯ Анимация

Не забыл я и про анимации. Ну кому с такими ресурсами нужен неанимированный топорный интерфейс? Пусть лучше будет анимированный, пусть и примитивный!

Аниматор напоминает оный из ранних версий Android: он имеет фиксированный набор свойств, которые умеет интерполировать в промежутках определенного времени. Если простыми словами: то он оперирует линейными отрезками времени a и b, в промежутке которых мы имеем значение «прогресса» — которое даёт нам результат от 0.0f (начало анимации) до 1.0f (конец анимации). Пока время тикает до необходимого интервала (duration), аниматор интерполирует заранее назначенные ему поля до нужных значений.

Именно так и получается плавность! Похожим образом реализованы анимационные системы во многих играх и мобильных ОС, только там они гораздо более комплексны: есть сериализация/десериализация из файлов, поддержка кейфреймов (несколько последовательных состояний на одном промежутке времени), поддержка кастомных свойств и т. п.

Сам себе Linux смартфон: Как я выкинул Android и написал свою прошивку с нуля Гаджеты, Смартфон, Телефон, Покупка, Китайцы, Fly, Моддинг, Программирование, 2D, Своими руками, Одноплатный компьютер, Raspberry pi, Orange pi, Инженерия, Электроника, Android, Linux, Unix, iPhone, Мобильные телефоны, Видео, Без звука, YouTube, Длиннопост

❯ Модем

Как я уже говорил раннее, работа с модемом происходит посредством AT-команд. Лучше всего обрабатывать ввод-вывод модема из отдельного потока, поскольку он может отвечать довольно медленно и тормозить UI-поток основной программы, вызывая лаги. В SIM800 уже реализован весь GSM-стек, в том числе декодирование и вывод звука через встроенный усилитель с фильтром — остается только подключить динамики и микрофон от нашего телефона. Пока что я подсобрал аудиотракт на том, что было под рукой — микрофон от нерабочего смартфона и динамик от планшета, но для проверки этого хватает:

Сам себе Linux смартфон: Как я выкинул Android и написал свою прошивку с нуля Гаджеты, Смартфон, Телефон, Покупка, Китайцы, Fly, Моддинг, Программирование, 2D, Своими руками, Одноплатный компьютер, Raspberry pi, Orange pi, Инженерия, Электроника, Android, Linux, Unix, iPhone, Мобильные телефоны, Видео, Без звука, YouTube, Длиннопост

Важный нюанс: по умолчанию, tty-устройства в Linux работают по терминальному принципу — т. е. дробят транзакции по символу окончания строки (\n), имеют ограниченный буфер и т. д. Для нормальной работы в условиях модема — когда фактически длина ответа неизвестна, а в сам ответ могут «вклиниваться» Unsolicited-команды (своеобразные флаги о состоянии от модема, которые могут прийти в произвольное время — т. е. при входящем звонке, модем начнёт флудить RING в терминал), необходимо иметь возможность точно прочитать весь буфер до конца и парсить данные «по месту». Для этого используется raw-режим терминала:

(BRKINT | ICRNL | INPCK | ISTRIP | IXON);

tio.c_oflag &=

(OPOST);

tio.c_cflag |= (CS8);

tio.c_lflag &=

(ECHO | ICANON | IEXTEN | ISIG);

tcsetattr(modemFd, TCSAFLUSH, &tio);

После чего можно запросить состояние модема:

Сам себе Linux смартфон: Как я выкинул Android и написал свою прошивку с нуля Гаджеты, Смартфон, Телефон, Покупка, Китайцы, Fly, Моддинг, Программирование, 2D, Своими руками, Одноплатный компьютер, Raspberry pi, Orange pi, Инженерия, Электроника, Android, Linux, Unix, iPhone, Мобильные телефоны, Видео, Без звука, YouTube, Длиннопост

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

Пытаемся позвонить с помощью метода Dial и видим, что всё работает! Это очень круто! А теперь, конечно же, самое время переходить к реализации того, чего вы ждали — пользовательского интерфейса!

❯ Главный экран

К выбору концепции для интерфейса, я поступил максимально просто — «слизал» дизайн первых версий iOS. Как по мне, это одни из самых красивых версий iOS вообще — все эти приятные градиенты и переливания. Конечно, я не так крут, как инженеры Apple, да и мощного UI-фреймворка у меня пока что нет, поэтому я приступил к реализации с «минимальным» функционалом.

Сам себе Linux смартфон: Как я выкинул Android и написал свою прошивку с нуля Гаджеты, Смартфон, Телефон, Покупка, Китайцы, Fly, Моддинг, Программирование, 2D, Своими руками, Одноплатный компьютер, Raspberry pi, Orange pi, Инженерия, Электроника, Android, Linux, Unix, iPhone, Мобильные телефоны, Видео, Без звука, YouTube, Длиннопост

Начал я с разделения главного экрана на модули и продумывания архитектуры основного «лаунчера». У нас есть статусбар, который рисуется поверх всех приложений, полка с приложениями — AppDrawer и сами экраны приложений, унаследованные от суперкласса CScreen.

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

Практически сразу я решил обкатать анимационную «систему» и добавить первые анимашки — выезжающий статусбар и анимация а-ля айфон:

animator = new CAnimator();

animator->SetTranslation(0, -imFiller->Height, 0, 0);

animator->Run();

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

gLauncher->Graphics->DrawImage(imFiller, animator->X, animator->Y);

gLauncher->Graphics->DrawImage(imBattery[(int)gLauncher->PowerManager->GetBatteryLevel()], imFiller->Width — imBattery[0]->Width — 5, animator->Y + 5);

char timeFmt[64];

time_t _time = time(0);

tm* _localTime = localtime(&_time);

strftime((char*)&timeFmt,

sizeof(timeFmt), «%R», _localTime);

gLauncher->Graphics->DrawString(gLauncher->Font, (char*)&timeFmt, 0, 0);

Кроме этого, я сразу же реализовал предварительный механизм приложений в системе — пока что они слинкованы статически с основным лаунчером. Для этого есть структура CAppDesc, которая содержит минимально-необходимую информацию для показа информации о приложении и фабрику для создания его основного экрана.

Обратите внимание на удобство примененного подхода Immediate GUI. Нам понадобился новый элемент интерфейса, который описывает кнопку номеронабирателя? Мы просто реализовываем ещё один метод, который берет за основу стандартную кнопку и дорисовывает к ней текст. Всё крайне просто и понятно, хотя на данный момент слишком захардкожено. 🙂

❯ Звоним!

Пришло время совершить первый звонок с нашей по настоящему кастомной прошивки. Набираем номерок и…

Сам себе Linux смартфон: Как я выкинул Android и написал свою прошивку с нуля Гаджеты, Смартфон, Телефон, Покупка, Китайцы, Fly, Моддинг, Программирование, 2D, Своими руками, Одноплатный компьютер, Raspberry pi, Orange pi, Инженерия, Электроника, Android, Linux, Unix, iPhone, Мобильные телефоны, Видео, Без звука, YouTube, Длиннопост

Да, всё работает и мы без проблем можем дозвониться 🙂

❯ Заключение

Конечно же, это далеко не весь функционал, необходимый любому современному смартфону. Здесь много чего еще нужно реализовать хотя бы для соответствия уровню бюджетных кнопочных телефонов: телефонную книгу, поддержку СМС/ММС, мультимедийный функционал с играми. Однако начало уже положено и самая необходимая часть модулей реализована. Этот проект очень занимательный для меня и я горд, что смог не на словах, а на деле показать вам, моим читателям, возможности моддинга совершенно NoName-устройств, без каких либо опознавательных знаков…

Моя задача заключается в том, чтобы показать вам возможности использования старых телефонов не только в потребительских, но и в гиковских DIY-сферах. Судите сами: огромный классный дисплей, емкостной тачскрин, готовый звук, камера — и всё это за каких-то пару сотен рублей. Главное показать людям, как всю эту мощь использовать в своих целях и делать совершенно новые устройства из существующих, а не выбрасывать их на помойку!
Сейчас смартфоны, подобные Fly из этого поста стоят копейки, а портировать на них прошивку можно без каких-либо трудностей. Я очень надеюсь, что после этого поста читатели попытаются сделать что-то своё из старых смартфонов, благо свои наработки я выкладываю на GitHub!

Исходники закрыты, но мы не сдадимся: Пишем полностью нативное GUI-приложение под No-Name смартфон без Android⁠ ⁠

Исходники закрыты, но мы не сдадимся: Пишем полностью нативное GUI-приложение под No-Name смартфон без Android Гаджеты, Смартфон, Linux, Телефон, IT, Хакеры, Hacking, Программирование, Embedded, C++, Одноплатный компьютер, Nix, Unix, Ядро, Kernel, Android, Длиннопост

Для многих разработчиков приложений далеко не секрет, что экосистема Android не предполагает написание полностью нативных приложений: в этой платформе очень многое завязано на Java и без ART можно запустить только простые службы без какого-либо интерфейса. Однако, есть один способ писать практически под «голый» Linux, не перекомпилируя ядро и при этом пользоваться самыми интересными фишками устройства без оверхеда в виде тяжелого Android: ускорение 3D-графики (OpenGLES), микшер звука, ввод с различных устройств, OTG, Wi-Fi и если очень постараться — даже 3G. Это открывает множество разных интересных применений старым устройствам: «железо» смартфонов зачастую гораздо мощнее современных недорогих одноплатников. Сегодня я покажу вам, как написать и запустить программу, которая полностью написанное на C без Android, на No-Name Android-смартфоне практически без модификаций. Интересно? Жду вас в статье!

❯ Что нам нужно знать?

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

Исходники закрыты, но мы не сдадимся: Пишем полностью нативное GUI-приложение под No-Name смартфон без Android Гаджеты, Смартфон, Linux, Телефон, IT, Хакеры, Hacking, Программирование, Embedded, C++, Одноплатный компьютер, Nix, Unix, Ядро, Kernel, Android, Длиннопост

Но конечно же, есть один способ писать нативные программы, при этом используя все ресурсы смартфона/планшета. Для этого нужно понимание, как работает процесс загрузки на многих Android-гаджетах:

Первичный загрузчик (BootROM) инициализирует какую-то часть периферии и загружает вторичный загрузчик (U-boot/LK).

Вторичный загрузчик, используя определенные аргументы (например зажата ли какая-то кнопка) выбирает, с какого раздела грузить ядро системы.

После загрузки ядра Linux и подключения ramdisk начинается выполнение процессов системы.

Как раз в третьем пункте и лежит ключ к способу, который будем использовать мы. Дело в том, что в смартфоне обычно есть несколько boot-разделов и у каждого свой образ ядра Linux со своим ramdisk. Первый из них — это знакомый моддерамboot.img, который отвечает за загрузку системы и инициализирует железо/монтирует разделы/подготавливает окружение к работе (.rc файлы) и запускает главный процесс Android —zygote. При этом используется собственная реализация init от Android.

Исходники закрыты, но мы не сдадимся: Пишем полностью нативное GUI-приложение под No-Name смартфон без Android Гаджеты, Смартфон, Linux, Телефон, IT, Хакеры, Hacking, Программирование, Embedded, C++, Одноплатный компьютер, Nix, Unix, Ядро, Kernel, Android, Длиннопост

Второй, не менее знакомый многим раздел —recovery, отвечает за так называемый режим восстановления, в котором мы можем сбросить данные до заводских настроек/очистить кэши или прошить кастомную прошивку. Вероятно, многие из вас замечали, насколько быстро ваш девайс загружает этот режим, гораздо быстрее, чем загрузка обычного Android. И именно в его реализацию нам нужнозаглянуть(я намеренно выбрал бранч версии 2.3 — т.е Gingerbread для простоты):

Исходники закрыты, но мы не сдадимся: Пишем полностью нативное GUI-приложение под No-Name смартфон без Android Гаджеты, Смартфон, Linux, Телефон, IT, Хакеры, Hacking, Программирование, Embedded, C++, Одноплатный компьютер, Nix, Unix, Ядро, Kernel, Android, Длиннопост

А recovery оказывается самой обычной нативной программой, написанной на C со своим небольшим фреймворком для работы с графикой и вводом. В процессе загрузки режима recovery, скрипт запускает одноименную программу в /sbin/, благодаря которому мы видим простую и понятную менюшку. Так почему бы не использовать этот раздел в своих целях и не написать какую-нибудь нативную программу самому?

Как я уже говорил выше, в этом режиме доступны многие аппаратные возможности вашего смартфона, за исключением модема. Используя полученную информацию, предлагаю написать наше небольшое приложение под Android-смартфон без Android сами!

❯ Подготавливаем окружение

В первую очередь, хотелось бы отметить, что программы под «голый» смартфон можно писать не только на C/C++. Нам доступен как минимум FPC, который довольно давно умеет компилировать голые бинарники под Android. Кроме того, мы можем портировать маленькие embedded-версии интерпретаторов таких языков, как lua, micropython и duktape (JS).

Однако в случае нативных программ, есть два важных правила, которые необходимо понимать. Во-первых, в Android используется собственную реализацию стандартной библиотеки libc — bionic, в то время как на десктопных дистрибутивах используется glibc. Между собой они не совместимы — именно поэтому вы не можете просто взять и запустить консольную программу для Raspberry Pi, например.

Исходники закрыты, но мы не сдадимся: Пишем полностью нативное GUI-приложение под No-Name смартфон без Android Гаджеты, Смартфон, Linux, Телефон, IT, Хакеры, Hacking, Программирование, Embedded, C++, Одноплатный компьютер, Nix, Unix, Ядро, Kernel, Android, Длиннопост

А второе правило заключается в том, что начиная с версии 4.1, Androidтребует, чтобы все нативные программы были скомпилированы в режиме -fPIE — т. е. выходной код должен не зависеть от адреса загрузки программы в виртуальную память. Для этого достаточно добавить ключ -fPIE, однако учтите, что если вы разрабатываете программу под Android 4.0 и ниже, то fPIE наоборот необходимо убрать — старые версии Androidнеподдерживают такой способ генерации кода и будут вылетать с Segmentation fault.

Для разработки нам понадобится ndk — там есть все необходимые заголовочники и компиляторы для нашей работы. Я используюndk r9c, поскольку в свежих версиях Google регулярно может что-то сломать.
ndk-build, к сожалению, здесь работать не будет, поэтому Makefile придется написать самому. Я составил полностью рабочий Makefile, который без проблем скомпилирует валидную программу, вам остаётся лишь поменять NDK_DIR.

NDK_DIR = D:/android-ndk-r11c/

TOOLCHAIN_DIR = $(NDK_DIR)toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64/bin/

GCC = $(TOOLCHAIN_DIR)arm-linux-androideabi-g++

PLAT_DIR = $(NDK_DIR)platforms/android-17/arch-arm/usr/

LINK_LIBS = -l: libEGL.so -l: libGLESv1_CM.so

OUTPUT_NAME = cmdprog

build:

$(GCC) -I $(PLAT_DIR)include/ -L $(PLAT_DIR)lib/ -fPIE -Wl,-dynamic-linker=/sbin/linker $(LINK_LIBS) -static -o $(OUTPUT_NAME) main.cpp micro2d.cpp

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

❯ Деплоим на устройство

Несмотря на то, что грузиться мы будем в режим recovery, нам всё равно будет доступен adb, через который мы сможем запускать и отлаживать нашу программу. Это очень удобно, однако по умолчанию adb включен только в TWRP, который нужно сначала найти или портировать под ваш девайс (на большинство старых брендовых устройств порты есть, на нонейм придется портировать самому — гайды есть в интернете). Под ваше устройство есть TWRP? Отлично, распаковываете recovery.img с помощью так называемой «кухни» (MTKImgTools как вариант):

Исходники закрыты, но мы не сдадимся: Пишем полностью нативное GUI-приложение под No-Name смартфон без Android Гаджеты, Смартфон, Linux, Телефон, IT, Хакеры, Hacking, Программирование, Embedded, C++, Одноплатный компьютер, Nix, Unix, Ядро, Kernel, Android, Длиннопост

Открываете init.recovery.service.rc и убираете оттуда запуск одноименной службы (можно просто оставить файл пустым).

Исходники закрыты, но мы не сдадимся: Пишем полностью нативное GUI-приложение под No-Name смартфон без Android Гаджеты, Смартфон, Linux, Телефон, IT, Хакеры, Hacking, Программирование, Embedded, C++, Одноплатный компьютер, Nix, Unix, Ядро, Kernel, Android, Длиннопост

Запаковываем образ обратно тем же MTKImgTools и прошиваем флэшером для вашего устройства — в моём случае, это SP Flash Tool (MediaTek):

Исходники закрыты, но мы не сдадимся: Пишем полностью нативное GUI-приложение под No-Name смартфон без Android Гаджеты, Смартфон, Linux, Телефон, IT, Хакеры, Hacking, Программирование, Embedded, C++, Одноплатный компьютер, Nix, Unix, Ядро, Kernel, Android, Длиннопост

Заходим в режим рекавери и видим зависшую заставку устройства и звук подключения устройства к ПК. Если у вас установлены драйвера, то вы сможете без проблем зайти в adb shell и попасть в терминал для управления устройством. Теперь можно закинуть программу — прямо в корень рамдиска (записывается программа в ОЗУ, но при переполнении, телефон уйдет в ребут — осторожнее с этим). Пишем:

adb push cmdprog /: adb shell chmod 777 cmdprog ./cmdprog

И видим результат. Наша программа запускается и работает!

Исходники закрыты, но мы не сдадимся: Пишем полностью нативное GUI-приложение под No-Name смартфон без Android Гаджеты, Смартфон, Linux, Телефон, IT, Хакеры, Hacking, Программирование, Embedded, C++, Одноплатный компьютер, Nix, Unix, Ядро, Kernel, Android, Длиннопост

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

❯ Выводим графику

Для вывода графики без оконных систем, мы будем использовать API фреймбуфера Linux, которое позволяет нам получить прямой доступ к массиву пикселей на экране. Однако учтите, что этот способ полностью программный и может оказаться тормозным для вашего приложения: скорость работы прямо-пропорциональна разрешению дисплея вашего устройства. Чем выше разрешение, тем ниже филлрейт. В моём случае, матрица была с разрешением 960×540, 32млн цветов, IPS — очень недурно, согласны?

Фреймбуфер Linux может работать с самыми разными форматами пикселя, имейте это ввиду. На некоторых устройствах может быть 16-битный формат (262 тысячи цветов, RGB565), на моём же оказался 32х-битный с выравниванием по строкам (имейте это также ввиду). 32х битный формат. Работать с ним легко: открываем устройство /dev/graphics/fb0, получаем параметры (разрешение, формат пикселя), делаем mmap для отображения буфера с пикселями на экране в память нашего процесса и выделяем второй буфер для двойной буферизации дабы избежать неприятных мерцаний.

void m2dAllocFrameBuffer()

<

fbDev = open(PRIMARY_FB, O_RDWR);

fb_var_screeninfo vInfo; fb_fix_screeninfo fInfo;

ioctl(fbDev, FBIOGET_VSCREENINFO, &vInfo);

ioctl(fbDev, FBIOGET_FSCREENINFO, &fInfo); fbDesc.width = vInfo.xres;

fbDesc.height = vInfo.yres;

fbDesc.pixels = (unsigned char*)mmap(0, fInfo.smem_len, PROT_WRITE, MAP_SHARED, fbDev, 0); f

bDesc.length = fInfo.smem_len; fbDesc.lineLength = fInfo.line_length;

backBuffer = (unsigned char*)malloc(fInfo.smem_len); memset(backBuffer, 128, fInfo.smem_len);

printf(«Framebuffer is %s %ix%ix%i\n», (char*)& fInfo.id , fbDesc.width, fbDesc.height, vInfo.bits_per_pixel, fInfo.type);

>

Если не сделать предыдущий шаг и запускать нашу программу параллельно с recovery, то они обе будут пытаться друг друга «перекрыть» — эдакий race condition:

Исходники закрыты, но мы не сдадимся: Пишем полностью нативное GUI-приложение под No-Name смартфон без Android Гаджеты, Смартфон, Linux, Телефон, IT, Хакеры, Hacking, Программирование, Embedded, C++, Одноплатный компьютер, Nix, Unix, Ядро, Kernel, Android, Длиннопост

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

__inline void pixelAt(int x, int y, byte r, byte g, byte b, float alpha)

<

if(x < 0 || y < 0 || x >= fbDesc.width || y >= fbDesc.height) return;

unsigned char* absPtr = &backBuffer[(y * fbDesc.lineLength) + (x * 4)];

if(alpha >= 0.99f)

<

absPtr[0] = b;

absPtr[1] = g;

absPtr[2] = r;

>

else <

absPtr[0] = (byte)(b * alpha + absPtr[0] * (1.0f — alpha));

absPtr[1] = (byte)(g * alpha + absPtr[1] * (1.0f — alpha));

absPtr[2] = (byte)(r * alpha + absPtr[2] * (1.0f — alpha));

> absPtr[3] = 255; >

for(int i = 0; i < image->height; i++)

<

for(int j = 0; j < image->width; j++)

<

byte* ptr = &image->pixels[((image->height — i) * image->width + j) * 3]; pixelAt(x + j, y + i, ptr[0], ptr[1], ptr[2], alpha);

>

>

И загрузчик TGA:

CImage* m2dLoadImage(char* fileName) <

FILE* f = fopen(fileName, «r»);

printf(«m2dLoadImage: Loading %s\n», fileName);

if(!f)

<

printf(«m2dLoadImage: Failed to load %s\n», fileName);

return 0;

>

CTgaHeader hdr;

fread(&hdr, sizeof(hdr), 1, f);

if(hdr.paletteType)

<

printf(«m2dLoadImage: Palette images are unsupported\n»);

return 0;

>

if(hdr.bpp != 24) <

printf(«m2dLoadImage: Unsupported BPP\n»);

return 0;

>

byte* buf = (byte*)malloc(hdr.width * hdr.height * (hdr.bpp / 8));

assert(buf);

fread(buf, hdr.width * hdr.height * (hdr.bpp / 8), 1, f);

fclose(f);

CImage* ret = (CImage*)malloc(sizeof(CImage));

ret->width = hdr.width;

ret->height = hdr.height;

ret->pixels = buf;

printf(«m2dLoadImage: Loaded %s %ix%i\n», fileName, ret->width, ret->height);

return ret;

>

И попробуем вывести картинку:

m2dInit();

test = m2dLoadImage(«test.tga»);

test2 = m2dLoadImage(«habr.tga»);

while(1)

<

m2dClear();

m2dDrawImage(test, 0, 0, 1.0f);

m2dDrawImage(test2, tsX — (test2->width / 2), tsY — (test2->height / 2), 0.5f);

m2dFlush();

>

Исходники закрыты, но мы не сдадимся: Пишем полностью нативное GUI-приложение под No-Name смартфон без Android Гаджеты, Смартфон, Linux, Телефон, IT, Хакеры, Hacking, Программирование, Embedded, C++, Одноплатный компьютер, Nix, Unix, Ядро, Kernel, Android, Длиннопост

Не забываем про порядок пикселей в TGA (BGR, вместо RGB), меняем канали b и r местами в pixelAt и наслаждаемся картинкой на большом и классном IPS-дисплее:

Исходники закрыты, но мы не сдадимся: Пишем полностью нативное GUI-приложение под No-Name смартфон без Android Гаджеты, Смартфон, Linux, Телефон, IT, Хакеры, Hacking, Программирование, Embedded, C++, Одноплатный компьютер, Nix, Unix, Ядро, Kernel, Android, Длиннопост

Исходники закрыты, но мы не сдадимся: Пишем полностью нативное GUI-приложение под No-Name смартфон без Android Гаджеты, Смартфон, Linux, Телефон, IT, Хакеры, Hacking, Программирование, Embedded, C++, Одноплатный компьютер, Nix, Unix, Ядро, Kernel, Android, Длиннопост

Производительность отрисовки не очень высокая, однако если оптимизировать код (копировать непрозрачные картинки сразу сканлайнами и убрать проверки в инлайнах), то будет немного шустрее. Google для подобных целей сделали собственный простенький софтрендер —libpixelflinger.

Есть вариант для быстрой и динамичной графики: использовать GLES, который без проблем доступен и из recovery. Однако, насколько мне известно (в исходники драйверов посмотреть не могу), указать фреймбуфер в качестве окна не получится, поэтому в качестве Surface для рендертаргета у нас будет служить Pixmap (так называемый off-screen rendering), которому нужно задать правильный формат пикселя (см. документацию EGL). Рисуем туда картинку с аппаратным ускорением и затем просто копируем в фреймбуфер с помощью memcpy.

❯ Обработка нажатий

Однако, ни о каких GUI-программах не идёт речь, если мы не умеет обрабатывать нажатия на экране с полноценным мультитачем! Благо, даже механизм обработки событий в Linux очень простой и приятный: мы точно также открываем устройство и просто читаем из него события в фиксированную структуру. Эта черта мне очень нравится в архитектуре Linux!

Каждое устройство, которое может передавать данные о нажатиях, находится в папке /dev/input/ и имеет имя вида event. Как узнать нужный нам event? Нам нужен mtk-tpd — реализация драйвера тачскрина от MediaTek (у вашего чипсета может быть по своему), для этого загружаемся в Android и пишем getevent. Он покажет доступные в системе устройства ввода — в моём случае, это event2:

Исходники закрыты, но мы не сдадимся: Пишем полностью нативное GUI-приложение под No-Name смартфон без Android Гаджеты, Смартфон, Linux, Телефон, IT, Хакеры, Hacking, Программирование, Embedded, C++, Одноплатный компьютер, Nix, Unix, Ядро, Kernel, Android, Длиннопост

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

// Open input device evDev = open(INPUT_EVENT_TPD, O_RDWR | O_NONBLOCK);

После этого, читаем события с помощью read и обрабатываем их. На устройствах с резистивным тачскрином, передается просто ABS_POSITION_X, на устройствах с поддержкой нескольких касаний — используетсяпротокол MT. Когда пользователь нажал на экран, посылается нажатие BTN_TOUCH с значением 1, а когда отпускает — соответственно BTN_TOUCH с значением 0. Разные драйверы тачскрина используют разные координатные системы (насколько я понял), в случае MediaTek — это абсолютные координаты на дисплее (вплоть до ширины и высоты). На данный момент, я реализовал поддержку только одного касания, но при желании можно добавить трекинг нескольких нажатий:

void m2dUpdateInput()

<

input_event ev;

int ret = 0;

while((ret = read(evDev, &ev, sizeof(input_event)) != -1))

<

if(ev.code == ABS_MT_POSITION_X) tsState.x = ev.value;

if(ev.code == ABS_MT_POSITION_Y) tsState.y = ev.value;

if(ev.code == BTN_TOUCH) tsState.isPressed = ev.value == 1;

>

tsState.cb(tsState.isPressed, tsState.x, tsState.y); >

Теперь мы можем «возить» логотип Хабра по всему экрану:

void onTouchUpdate(bool isTouching, int x, int y) <

if(isTouching)

int main(int argc, char** argv) <

printf(«Test\n»);

m2dInit();

test = m2dLoadImage(«test.tga»);

test2 = m2dLoadImage(«habr.tga»);

printf(«Volume: %i %i\n», vol, muteState);

m2dAttachTouchCallback(&onTouchUpdate);

while(1) <

m2dUpdateInput();

m2dClear();

m2dDrawImage(test, 0, 0, 1.0f);

m2dDrawImage(test2, tsX — (test2->width / 2), tsY — (test2->height / 2), 0.5f);

m2dFlush();

>

return 0;

>

Исходники закрыты, но мы не сдадимся: Пишем полностью нативное GUI-приложение под No-Name смартфон без Android Гаджеты, Смартфон, Linux, Телефон, IT, Хакеры, Hacking, Программирование, Embedded, C++, Одноплатный компьютер, Nix, Unix, Ядро, Kernel, Android, Длиннопост

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

❯ Звук, модем и другие возможности

Для звука нам придётся использовать ALSA — поскольку эта подсистема звука сейчас используется в большинстве устройств на Linux. Судя по всему, тут есть режим эмуляции старого и удобного OSS, поскольку устройства /dev/snd/dsp присутствует. Однако, вывод в него какого либо PCM-потока не даёт ничего, поэтому нам пригодится ALSA-lib.

Другой вопрос касается модема и сети. И если Wi-Fi ещё можно поднять (wpa_supplicant можно взять из раздела /system/), то с модемом будут проблемы — нет единого протокола по общению с ним и кое-где, чтобы его заставить работать, нужно будет немного попотеть. Не стесняйтесь изучать исходники ядра (MediaTek охотно делится реализацией вообще всего — там и RIL, и драйвер общения с модемом) и смотреть интересующие вас фишки!

❯ Заключение

Как мы с вами видим, у старых девайсов все еще есть перспективы стать полезными в какой-либо сфере даже без Android на борту. На тех устройствах, где нет порта Ubuntu или обычного десктопного Linux, всё равно сохраняется возможность писать нативные программы и попытаться приносить пользу.

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

Мы сделали вам плату, а дальше вы сами: Доводим дешевый одноплатник за "косарь" до ума!⁠ ⁠

Мы сделали вам плату, а дальше вы сами: Доводим дешевый одноплатник за "косарь" до ума! Гаджеты, Смартфон, Программирование, IT, Orange Pi, Одноплатный компьютер, Linux, Android, Raspberry pi, Минипк, Дешево, Покупка, Моддинг, Своими руками, Embedded, Длиннопост, Авторская неделя на Пикабу

В прошлой статье, мы с вами рассмотрели на что способен одноплатный компьютер, который стоит всего 1.000 рублей. Как мы выяснили, перспективы у данного девайса весьма неплохие, однако по факту, Orange Pi продаёт практически голую железку, которую нужно дорабатывать самому. Да, тут есть Ubuntu/Fedora, да, тут выведена гребенка с I2C/SPI — однако из коробки это всё работает криво-косо, либо не работает совсем. Даже обещанные шины SPI/I2C фактически не доступны в системе «из коробки». Материалов о доработке этого одноплатника в сети мало, поэтому я решил довести его до ума сам и поделится с вами — в том числе, готовыми бинарными образами! Интересно, на что способен доработанный одноплатник по цене ящика пива? 🙂

Над чем будем работать

В прошлой статье, мы с вами определились с потенциальными перспективами такого устройства. По цене 3х ESP32, производитель предлагает нам два полноценных вычислительных ARM-ядра, 256 мегабайт оперативной памяти, 512 мегабайт встроенной NAND-памяти, контроллер питания с возможностью работы от литий-ионных АКБ и 3G модем. Но в бочке меда нашлась ложка дегтя: никто не собирался это всё поддерживать и Orange Pi практически сразу «забили» на поддержку устройства, ограничившись портом Debian/Ubuntun на устройство.

Мы сделали вам плату, а дальше вы сами: Доводим дешевый одноплатник за "косарь" до ума! Гаджеты, Смартфон, Программирование, IT, Orange Pi, Одноплатный компьютер, Linux, Android, Raspberry pi, Минипк, Дешево, Покупка, Моддинг, Своими руками, Embedded, Длиннопост, Авторская неделя на Пикабу

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

Ко всему прочему, в Linux не работает GSM-стек. Да, совсем. Производитель даже не стал кооперироваться с MediaTek, чтобы попытаться реализовать работу с модемом на уровне системы. А ведь фактически, вся работа с модемом происходит лишь на уровне AT-команд. Так в чем же проблема была?

Мы сделали вам плату, а дальше вы сами: Доводим дешевый одноплатник за "косарь" до ума! Гаджеты, Смартфон, Программирование, IT, Orange Pi, Одноплатный компьютер, Linux, Android, Raspberry pi, Минипк, Дешево, Покупка, Моддинг, Своими руками, Embedded, Длиннопост, Авторская неделя на Пикабу

Со всем этим мне и предстоит разобраться! Клонируем репозиторий с исходниками ядра и бежим собирать!

Собираем ядро. I2C и SPI.

Вместо типичного Buildroot, Orange Pi использует свою собственную простую систему сборки на shell-скриптах: в качестве тулчейна используется уже готовый linaro. Отчасти, это связано с самими чипами, на которых работают их устройства — MediaTek, например, не использует Mainline ядро и в процессе сборке имеет ещё кучу шагов для подготовки финального образа. Там даже menuconfig не работает и все изменения приходится делать в уже сгенерированной когда-то конфигурации.

Клонируем репозиторий с системой сборки и запускаем скрипт:

Мы сделали вам плату, а дальше вы сами: Доводим дешевый одноплатник за "косарь" до ума! Гаджеты, Смартфон, Программирование, IT, Orange Pi, Одноплатный компьютер, Linux, Android, Raspberry pi, Минипк, Дешево, Покупка, Моддинг, Своими руками, Embedded, Длиннопост, Авторская неделя на Пикабу

Выбираем нашу плату — 3G IoT и ждем, пока система сборки фактически скачает все необходимое для сборки — исходный код ядра, папки external (драйвера, загрузчик и порт linux MediaTek). Обратите внимание, OrangePi даже систему сборки завязали на конкретной версии системы: только Ubuntu 18.04, но на самом деле, ядро соберется без проблем практически где угодно. После того, как все было скачано, переходим в папку с скриптом сборки и запускаем скрипт сборки:

А нет, не запускаем — скрипт жалуется на то, что не может поставить некоторые пакеты. Не беда — ставим bsdtar и python minimal вручную и идем править код скрипта. Находится в он scripts/ general.sh : убираем оттуда устаревшие имена пакетов.

Мы сделали вам плату, а дальше вы сами: Доводим дешевый одноплатник за "косарь" до ума! Гаджеты, Смартфон, Программирование, IT, Orange Pi, Одноплатный компьютер, Linux, Android, Raspberry pi, Минипк, Дешево, Покупка, Моддинг, Своими руками, Embedded, Длиннопост, Авторская неделя на Пикабу

После этого, компиляция ядра должна пройти успешно. Обратите внимание на версию вашей платы — те, что продают сейчас — именно A. Если пытаться подкинуть им ядро для B, то они будут уходить в kernel panic из-за отсутствия eMMC.

Мы сделали вам плату, а дальше вы сами: Доводим дешевый одноплатник за "косарь" до ума! Гаджеты, Смартфон, Программирование, IT, Orange Pi, Одноплатный компьютер, Linux, Android, Raspberry pi, Минипк, Дешево, Покупка, Моддинг, Своими руками, Embedded, Длиннопост, Авторская неделя на Пикабу

Если mkbootimg будет жаловаться на libstdc++6, то ставим его x86 версию из репозиториев.

Готовое ядро будет лежать вoutput/kernel/boot.img, которое можно прошить на устройство. С одним маленьким нюансом — оно рассчитано на загрузку из внутренней памяти, которой критически мало для дистрибутива Linux! У нас нет boot_sd.img, который есть в оригинальном дистрибутиве. Попытка разобрать образ стандартным AndImgTool не увенчалась успехом — рамдиск встроен прямо в образ zImage, а не отдельно, как это обычно бывает у Android-образов.

Мы сделали вам плату, а дальше вы сами: Доводим дешевый одноплатник за "косарь" до ума! Гаджеты, Смартфон, Программирование, IT, Orange Pi, Одноплатный компьютер, Linux, Android, Raspberry pi, Минипк, Дешево, Покупка, Моддинг, Своими руками, Embedded, Длиннопост, Авторская неделя на Пикабу

Покопавшись в скриптах сборки, я так и не понял логику создания boot_sd, ничего связанного с sd я не нашел даже grep’ом по всей папке. Ну что-ж, тогда попробуем обходным путем: скомпилируем нужные драйвера в виде загружаемых модулей (ko). Идём в наш конфиг, расположенный в linux/arch/arm/configs/3giot_defconfig и меняем CONFIG_I2C_CHARDEV и CONFIG_SPI_SPIDEV на m. Пояснение: y заставит систему сборки скомпоновать драйвер статически с ядром, а m выделит его в виде отдельного модуля ko, который затем можно загрузить черезinsmod.

Мы сделали вам плату, а дальше вы сами: Доводим дешевый одноплатник за "косарь" до ума! Гаджеты, Смартфон, Программирование, IT, Orange Pi, Одноплатный компьютер, Linux, Android, Raspberry pi, Минипк, Дешево, Покупка, Моддинг, Своими руками, Embedded, Длиннопост, Авторская неделя на Пикабу

Снова собираем ядро, на этот раз компиляция занимает не больше минуты. Нужные нам файлы появятся в linux/drivers/spi/spidev.ko и linux/drivers/i2c/i2c-d-ev.ko. Переносим их на хост-пк, а затем и на само устройство с помощью SSH:

Мы сделали вам плату, а дальше вы сами: Доводим дешевый одноплатник за "косарь" до ума! Гаджеты, Смартфон, Программирование, IT, Orange Pi, Одноплатный компьютер, Linux, Android, Raspberry pi, Минипк, Дешево, Покупка, Моддинг, Своими руками, Embedded, Длиннопост, Авторская неделя на Пикабу

Загружаем модули ядра:

insmod i2c-dev.ko

И та-дам! Целых две i2c шины появилось в системе (/dev/i2c-0, /dev/i2c-1). Устанавливаем i2c-tools и идем проверять с помощью i2cdetect: первая шина полностью свободна под наши проекты, а на второй по некоторым адресам висит периферия (FM-радио как вариант):

Мы сделали вам плату, а дальше вы сами: Доводим дешевый одноплатник за "косарь" до ума! Гаджеты, Смартфон, Программирование, IT, Orange Pi, Одноплатный компьютер, Linux, Android, Raspberry pi, Минипк, Дешево, Покупка, Моддинг, Своими руками, Embedded, Длиннопост, Авторская неделя на Пикабу

I2C теперь точно работает! Но как насчет SPI?

insmod spidev.ko
Device or resource busy.

Увы! spidev нельзя подгружать динамически, только статически линковать с ядром, чего мы сделать пока не можем. Однако техническая возможность заставить работать SPI есть: например, написать свой драйвер, который транслирует команды из юзерспейса в SPI API, которое работает на уровне ядра.

В прошлой статье, я вкратце рассказал, как работать с gpio из user-space на уровне терминала. Однако, большинство разработчиков потенциально будет пользоваться нативным API для GPIO — ну не всерьез же им парсить вывод состояния в консоль? Поэтому я решил написать крошечную библиотеку для работы с GPIO, такую же простую, как и DigitalWrite/DigitalRead!

Давайте сначала разберемся, как именно работать с драйвером GPIO. Для этого открываем исходники ядра и смотрим внимательно, что нам предлагает драйвер: в нашем случае, это вызовы IOCTL, да еще и простые и понятные. Это просто отлично! Я написал single-header библиотеку минут за 10: без проверки ошибок, но работоспособная.

void gpioInit();

void gpioSetDir(int num, byte dir);

byte gpioGetDir(int num);

void gpioWrite(int num, byte value);

byte gpioGetState(int num); byte gpioRead(int num);

void gpioSetPullState(int num, byte enabled, byte up);

Пример использования (141 — крайний пин на гребенке):

#define GPIO_IMPL

#include «gpio.h»

#include <stdio.h>

void testPin(int pin)

<

printf(«Pin state %i is %i\n», pin, gpioGetState(pin));

gpioSetDir(pin, 1);

gpioWrite(pin, 0);

printf(«Pin state %i is %i\n», pin, gpioGetState(pin));

gpioWrite(pin, 1);

printf(«Pin state %i is %i\n», pin, gpioGetState(pin));

>

int main(int argc, char** argv) <

gpioInit();

testPin(141);

>

Мы сделали вам плату, а дальше вы сами: Доводим дешевый одноплатник за "косарь" до ума! Гаджеты, Смартфон, Программирование, IT, Orange Pi, Одноплатный компьютер, Linux, Android, Raspberry pi, Минипк, Дешево, Покупка, Моддинг, Своими руками, Embedded, Длиннопост, Авторская неделя на Пикабу

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

В устройствах MediaTek, драйвер для общения с GPS, A-GPS и модемом один — ccci, судя по всему cross chip communication interface. Именно ccci создает устройства, с в которые поступает вход с микрофона и выход на динамики, а также он создает управляющие интерфейсы для общения с различными модулями этого SoC.

При старте ядра, ccci создаёт много устройств — ccci_ioctl, ccci_ipc, ccci_fs и самое нужное нам —ttyC0/ttyC1/ttyC2— в зависимости от количества СИМ-карт в системе. Кроме ccci, в системе есть некий 6620_launcher — бинарник, который загружает прошивку Wi-Fi и gsm0710muxd — специальный сервис, который позволяет в GPRS-сетях одновременно разговаривать и сидеть в интернете.

На смартфонах MTK есть factory mode — так называемый тестовый режим, который гоняют на заводах. Вы, вероятно, когда-то видели китайские меню похожее на рекавери — это и есть factory mode. Из этого режима можно дозвонится в 911 и активировать модем без запуска Android и RIL. Как это работает? Идём читать исходники ядра!

В factory-режиме, для каждого теста, программа активирует модем заново. Для этого есть функции тестового режима для работы с AT-командами и для инициализации модема. Сначала, она открывает терминал /dev/ttyC0 — именно там происходит общение с модемом с помощью AT-команд:

Мы сделали вам плату, а дальше вы сами: Доводим дешевый одноплатник за "косарь" до ума! Гаджеты, Смартфон, Программирование, IT, Orange Pi, Одноплатный компьютер, Linux, Android, Raspberry pi, Минипк, Дешево, Покупка, Моддинг, Своими руками, Embedded, Длиннопост, Авторская неделя на Пикабу

После этого, программа выводит модем из режима сна с помощью команды «AT+ESLP=0», инициализирует СИМ-карту с помощью команды «AT+ESIMS» и задает режим работы с помощью «AT+EFUN=1» и «AT+CREG=1». После этого, модем начинает искать сеть и доступен для обычного общения с помощью AT-команд. Однако, написав тестовую софтину для общения с модемом из под Debian, я получал ошибки вида Device not found. Почему? Пока не знаю. Однако я продолжаю изучать данный вопрос!

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

К счастью, довести гаджет до ума мы смогли своими силами. Весьма странно, что такой крупный и уважаемый производитель как Orange Pi, банально решил «забить» на поддержку собственного устройства. И я лично считаю, что не стоит закидывать в долгий ящик их тем читателям, которые купили когда-то себе подобный девайс и забили, смирившись с отсутствием гайдов.

Немного энтузиазма, опыта и видения будущего проекта — и все получится 🙂

Nokia N9 — уникальный Linux-смартфон, опередивший своё время на много лет вперед⁠ ⁠

Nokia N9 — уникальный Linux-смартфон, опередивший своё время на много лет вперед Гаджеты, Смартфон, Разработка, Linux, Android, Nokia, Meego, Nix, Unix, Мобильные телефоны, Операционная система, Железо, Microsoft, Windows Phone, Nokia Lumia, Видео, Вертикальное видео, Длиннопост

Многие из нас помнят компанию Nokia, как одного из лидеров мобильного рынка и производителя самых разных, необычных устройств, которые опережали свое время на много лет вперед! К сожалению, нынешняя Nokia — это уже совсем не та компания, которую мы любили и которой отдавали предпочтение при выборе мобильного девайса. Однако ещё во времена перехода под крыло Microsoft, практически под самый закат, финны сделали шедевральное устройство на десктопном Linux, которое до сих пор находит отголоски в современном мире смартфонов. И имя этому шедевру — Nokia N9! Недавно мне написал почётный хабровчанинdlinyjи предложил подарить этого красавца мне: причём с полным комплектом! Почему он оказался прорывным и что общего имеет с Lumia 800? Читайте подробнее в статье!

❯ Что за гаджет?

Когда-то у Nokia было две основных платформы, на базе которых они выпускали свои портативные гаджеты: S40, на которой работали функциональные Java-телефоны, сейчас их называют «фичефонами», и S60 — версия Symbian, на которой работало большинство смартфонов этой компании. Финская корпорация смогла занять серьезный процент практически в каждом сегменте рынка: бюджетники (1110, 1202 «фонарик», 2700c), средний класс (5310 XpressMusic, 5230/5228, 6300), флагманы (N95, N91, N72/N73) и, конечно же, бизнес-сегмент (8800 Arte/Luna, E90, в каком-то смысле Vertu).

Однако помимо выпуска девайсов на стандартных платформах была у Nokia и команда разработчиков, отвечавшая за гиковские устройства, которые были предназначены исключительно для энтузиастов. Началось всё с выпуска одного из первых устройств в классе «интернет-планшетов», имя которому было Nokia 770 Internet Tablet. Устройство, вышедшее за 5 лет до появления iPad, предоставляло обычному пользователю почти все возможности портативного компьютера тех лет: серфинг интернета через Wi-Fi, прослушивания музыки и просмотр видео с флэшек RS-MMC, а также работа с документами.

Nokia N9 — уникальный Linux-смартфон, опередивший своё время на много лет вперед Гаджеты, Смартфон, Разработка, Linux, Android, Nokia, Meego, Nix, Unix, Мобильные телефоны, Операционная система, Железо, Microsoft, Windows Phone, Nokia Lumia, Видео, Вертикальное видео, Длиннопост

Но это если смотреть с точки зрения обычного пользователя. На самом же деле устройство обладало огромными возможностями для разработчиков благодаря тому, что работало на базе ОС Maemo — адаптации десктопного окружения Linux под мобильные устройства. Nokia не просто выпустили на рынок занимательный продукт: они полностью открыли исходный код всей системы, позволяя кастомизировать прошивку как угодно, реализовали «магазин приложений» в виде репозитория с различными пакетами и позволяли запускать абсолютно любое Linux приложение, скомпилированное под ARMv5.

Nokia N9 — уникальный Linux-смартфон, опередивший своё время на много лет вперед Гаджеты, Смартфон, Разработка, Linux, Android, Nokia, Meego, Nix, Unix, Мобильные телефоны, Операционная система, Железо, Microsoft, Windows Phone, Nokia Lumia, Видео, Вертикальное видео, Длиннопост

В то время это было как глоток свежего воздуха. Конечно же, уже существовали КПК на базе Windows Mobile, где пользователи вовсю кастомизировали прошивки: подменяли драйвера из устройства в устройство, делали патчи и твики реестра/ядра, русифицировали и подменяли встроенные программы. Однако WinMobile оставалась проприетарной операционной системой, где хоть и был доступ к исходному коду ядра для любого желающего (Platform Builder), без BSP (Board Support Package — порт системы на определенную материнскую плату) в этом практически не было смысла. Другое дело — пользователи планшетов от Nokia: там была полная свобода во всем!

Nokia N9 — уникальный Linux-смартфон, опередивший своё время на много лет вперед Гаджеты, Смартфон, Разработка, Linux, Android, Nokia, Meego, Nix, Unix, Мобильные телефоны, Операционная система, Железо, Microsoft, Windows Phone, Nokia Lumia, Видео, Вертикальное видео, Длиннопост

Отдельной особенностью Maemo оставалось то, что даже пользовательский интерфейс строился по принципам обычного ПК и на базе тех же библиотек. В качестве официальной библиотеки интерфейса, Nokia предлагала GTK с набором виджетов для построения общего Look&Feel системы, но никто не мешал использовать Qt, или, например, wxWidgets.

И вот так, из года в год, выходили всё новые и новые устройств на базе Maemo. После 770 был успешный N800, а позднее в том же году появился и N810 с QWERTY-клавиатурой. В репозиториях появлялось всё больше и больше софта и, хотя едва ли обычный пацаненок с района мог увидеть у кого-то в руках такое устройство, именно они, в паре с КПК, стали прообразами современных смартфонов. Но был ещё один важный нюанс: ни один из интернет-планшетов от Nokia не имел радиомодуля. Выходить в интернет предлагалось с помощью Wi-Fi или через Bluetooth. Таким образом, эти девайсы нельзя было назвать полноценными коммуникаторами и смартфонами…

Nokia N9 — уникальный Linux-смартфон, опередивший своё время на много лет вперед Гаджеты, Смартфон, Разработка, Linux, Android, Nokia, Meego, Nix, Unix, Мобильные телефоны, Операционная система, Железо, Microsoft, Windows Phone, Nokia Lumia, Видео, Вертикальное видео, Длиннопост

До 2009 года. Ведь именно в этом году Nokia представляет коммуникатор N900 с QWERTY-клавиатурой, который снабдили радиомодулем, благодаря которому он оказался способен как звонить, так и выходить в интернет через 3G. Кроме того, у N900 были все характеристики современного смартфона: достаточно мощный ARM-чипсет TI OMAP с частотой 600мгц, способный запустить Linux; 256 мегабайт оперативной памяти (топовые коммуникаторы имели 128мб); GPU PowerVR SGX530 (что вообще было редкостью в мобильниках тех лет и только Qualcomm встраивали Adreno вообще во все свои чипы); магазин приложений и, конечно же, тачскрин, пусть и резистивный! Подробнее про N900 читайте в моей соответствующей статье.

В 2010-2011 годах Android уже начал идти победоносной поступью, будучи предустановленным на самые разные гаджеты: от телефонов и планшетов до тв-боксов и электронных книг. iPhone уже успел полностью согнуть свою линию и доказать, что за гаджетами с емкостными тачскринами и мощным железом будущее. Symbian уже было тяжело конкурировать с мастодонтами рынка: не помогал даже Qt, а о нативном API системы говорить вообще не стоит (оно неплохое, но своеобразное), нужно было думать, куда двигаться дальше. Сделать свой Android смартфон? Продолжать работу над Maemo? Microsoft уже начали потихоньку потирать руки и пытаться прибрать мобильное подразделение Nokia к себе: сначала поставили в кресло CEO Стивена Элопа, а затем сменили курс компании с Symbian/Maemo на Windows Phone.

Nokia N9 — уникальный Linux-смартфон, опередивший своё время на много лет вперед Гаджеты, Смартфон, Разработка, Linux, Android, Nokia, Meego, Nix, Unix, Мобильные телефоны, Операционная система, Железо, Microsoft, Windows Phone, Nokia Lumia, Видео, Вертикальное видео, Длиннопост

Symbian развивали и поддерживали до последнего, до 2012 года, когда Nokia совсем сдалась и прекратила выпускать серьезные апдейты, коим стал Symbian Bella. Nokia уже успела выпустить первые смартфоны линейки Lumia на базе Windows Phone и пыталась удержаться на плаву. Но у компании припасен ещё один козырь за пазухой. О котором знали в Microsoft, который действительно имел все шансы перевернуть мобильный рынок с ног на голову, и который развивали вместе с Intel. И имя ему — MeeGo!

Nokia N9 — уникальный Linux-смартфон, опередивший своё время на много лет вперед Гаджеты, Смартфон, Разработка, Linux, Android, Nokia, Meego, Nix, Unix, Мобильные телефоны, Операционная система, Железо, Microsoft, Windows Phone, Nokia Lumia, Видео, Вертикальное видео, Длиннопост

Nokia действительно могла перевернуть мобильный мир, если бы ей не мешала Microsoft. И не нужны были бы ей смартфоны на Android, когда у них самих была такая классная система. И ведь кто-то подумает «ну было и было», ан-нет, отголоски MeeGo раздаются и сейчас. Часть инженеров Nokia ушли развивать MeeGo в виде отдельной компании Jolla с смартфонами на базе Sailfish OS — дальнейшее развитие перспективной системы от Nokia. И как бы необычно это не звучало, сейчас Sailfish развивают в… России! Ростелеком выкупил контрольный пакет акций Jolla, что позволило реализовать свой форк под знакомым многим из вас названием Aurora OS! Я даже рискнул оставить заявку на закрытое бета-тестирование, авось и я смогу подержать в руках устройство на Авроре и даже что-то запилить на него, например, 3D-игрушку! 🙂

Nokia N9 — уникальный Linux-смартфон, опередивший своё время на много лет вперед Гаджеты, Смартфон, Разработка, Linux, Android, Nokia, Meego, Nix, Unix, Мобильные телефоны, Операционная система, Железо, Microsoft, Windows Phone, Nokia Lumia, Видео, Вертикальное видео, Длиннопост

Nokia N9 стал первым и последним гаджетом на базе MeeGo, на который будет крайне интересно взглянуть и… понять, что мы пришли ко всему тому, что Nokia реализовала много лет назад! N9 мне подарил мой читатель, наставник авторского дела и просто крутой мужик Сергей «@dlinyj» Долин! Этот человек сыграл довольно большую роль в становлении меня, как автора: давал советы касательно фотографий, стилистики текста, кое-где поправлял меня. И в один день он скинул фотографию N9 в родной коробочке со словами «хочешь же?))», заранее зная мой ответ! Сергей и сам успел поработать над Авророй, поэтому наличие у него N9 не вызывает вопросов.
Этот материал я решил подготовить на круглую и праздничную для меня дату — день рождения моего блога! Ровно год назад, 16 июля 2022 года, я написал свою первую статью — обзор на Samsung X450. 🙂

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

Поставлялся девайс в большой коробочке, фирменного синего цвета и с гравировкой логотипа, как и свойственно всем флагманам Nokia. В N900 на коробке гравировали даже кнопки QWERTY-клавиатуры на силуэте устройства — даже над дизайном такой мелочи поработали знатно. Нас сразу встречает заветная надпись: Nokia N Series!

Nokia N9 — уникальный Linux-смартфон, опередивший своё время на много лет вперед Гаджеты, Смартфон, Разработка, Linux, Android, Nokia, Meego, Nix, Unix, Мобильные телефоны, Операционная система, Железо, Microsoft, Windows Phone, Nokia Lumia, Видео, Вертикальное видео, Длиннопост

Открываем коробочку и видим там комплект из: смартфона, буклетов, наушников и ЗУ. Всё весьма компактно и в чем то даже напоминает стиль iPhone.

Nokia N9 — уникальный Linux-смартфон, опередивший своё время на много лет вперед Гаджеты, Смартфон, Разработка, Linux, Android, Nokia, Meego, Nix, Unix, Мобильные телефоны, Операционная система, Железо, Microsoft, Windows Phone, Nokia Lumia, Видео, Вертикальное видео, Длиннопост

Основные интерфейсные разъемы устройства расположены сверху: там и слот под SIM, и разъем для ЗУ, причем на магнитах (!).

Что самое интересное — у N9 был параллельный «собрат» на Windows Phone в виде Lumia 800. Несмотря на то, что работают они на совершенно разных чипсетах и имеет немного отличающийся тачскрин, у этих девайсов очень похожий дизайн корпуса, конструкция, полностью совместимые дисплеи с немного разной диагональю, у них даже есть некоторые сходства в разводке материнской платы.

Характеристики нашего устройства такие:

Чипсет: TI OMAP 3630, одно ядро Cortex A8 на частоте 1ггц.

GPU: PowerVR SGX530. Весьма неплохое видеоядро по тем годам, немного более мощное использовалось, например, в первом iPad. Есть поддержка OpenGL ES 2.0.

ОЗУ: 1гб. Очень серьёзный объем по тем временам, некоторые флагманы комплектовались лишь 512мб ОЗУ, что было стандартом индустрии в 2012-2013 годах.

ПЗУ: 16 или 64гб. По тем временам, очень серьезный объем памяти.

Камера: 8мп фотокамера с оптикой от Carl Zeiss. Данная оптика стала стандартом и визитной карточкой многих камерафонов от Nokia. Помимо съемки фото, смартфон способен записывать видео в 720p при 30 кадрах в секунду.

Дисплей: 3.9″ AMOLED матрица 854×480.

Nokia N9 — уникальный Linux-смартфон, опередивший своё время на много лет вперед Гаджеты, Смартфон, Разработка, Linux, Android, Nokia, Meego, Nix, Unix, Мобильные телефоны, Операционная система, Железо, Microsoft, Windows Phone, Nokia Lumia, Видео, Вертикальное видео, Длиннопост

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

❯ Патчим в программном плане

Поскольку MeeGo — это по сути, полноценный десктопный Linux, адаптированный под мобильные платформы, он точно также, как и Maemo, использует менеджер пакетов dpkg. Все приложения для этих систем распространяются в виде знакомым большинству линуксоидов пакетов .deb.

Однако есть целых два важных нюанса: в устройстве нет предустановленного файлового менеджера, откуда можно было бы установить минимально-необходимые программы, и устройство не всегда может установить «левые» dpkg даже после включения установки приложений из сторонних источников в настройках.

Nokia N9 — уникальный Linux-смартфон, опередивший своё время на много лет вперед Гаджеты, Смартфон, Разработка, Linux, Android, Nokia, Meego, Nix, Unix, Мобильные телефоны, Операционная система, Железо, Microsoft, Windows Phone, Nokia Lumia, Видео, Вертикальное видео, Длиннопост

Установить файловый менеджер можно скачав соответствующий .deb и скинув его через Bluetooth. Я выбрал FileBox. Затем его можно установить в списке переданных файлов обычным тапом. Обратите внимание, что пакеты для MeeGo имеют подпись а-ля Symbian, поэтому если у вас не устанавливается ничего — проверьте дату и время.

Nokia N9 — уникальный Linux-смартфон, опередивший своё время на много лет вперед Гаджеты, Смартфон, Разработка, Linux, Android, Nokia, Meego, Nix, Unix, Мобильные телефоны, Операционная система, Железо, Microsoft, Windows Phone, Nokia Lumia, Видео, Вертикальное видео, Длиннопост

Некоторые программы можно установить только в терминале, вручную вызвав dpkg -i с необходимым пакетом .deb. Для активации режима разработчика, который добавляет возможность связи с ПК и эмулятор терминала, нам нужно сначала обновить зеркала репозиториев с пакетами, установивэтот .debи затем активировать девмод в настройках. Смартфон докачает и установит нужные пакеты, перезагрузится, и мы сможем свободно пользоваться терминалом.

Nokia N9 — уникальный Linux-смартфон, опередивший своё время на много лет вперед Гаджеты, Смартфон, Разработка, Linux, Android, Nokia, Meego, Nix, Unix, Мобильные телефоны, Операционная система, Железо, Microsoft, Windows Phone, Nokia Lumia, Видео, Вертикальное видео, Длиннопост

Теперь гаджет полностью работает и может оказаться весьма полезным. Так в чем же N9 оказалась шедевральна? Какие её концепции до сих пор заимствуют?

❯ Смотрим на MeeGo

В первую очередь, MeeGo ещё в 2011 году вводила концепцию полного управления системой жестами. Здесь вообще нет никаких кнопок «домой», «назад», «диспетчер приложений» — все это инженеры Nokia посчитали не нужным и реализовали всё взаимодействие благодаря простым и понятным свайпам. Обратите внимание, ничего не напоминает? Неужто кто-то с выходом десятки полностью позаимствовал фишку финского гиганта?

Кроме того, Nokia посчитали, что мобильной системе не нужен рабочий стол в его классическом виде. Схожий подход, где на домашнем экране сразу расположены все приложения, уже реализовала Apple еще в первом айфоне. Однако в айфоне домашний экран поделен на страницы, в то время как в MeeGo это список с возможностью создания подпапок. Причем рабочий стол с виджетами был до этого в Maemo, но Nokia решили не переносить его в MeeGo.

Nokia N9 — уникальный Linux-смартфон, опередивший своё время на много лет вперед Гаджеты, Смартфон, Разработка, Linux, Android, Nokia, Meego, Nix, Unix, Мобильные телефоны, Операционная система, Железо, Microsoft, Windows Phone, Nokia Lumia, Видео, Вертикальное видео, Длиннопост

UX системы вообще очень необычный. Он пытается сочетать все лучшее из iOS, WP и отчасти Android. Да, здесь есть шторка уведомлений, но выглядит она максимально минималистично и единственная настройка — громкость звука. Да, часть параметров приложений можно найти в настройках — прямо как в iOS. Да, здесь уже был относительно строгий полу-Flat стиль, немного напоминающий стиль iOS 7 (который вышел на 2 года позже MeeGo). Даже меню опций нет, лишь значки действий снизу — как и в N8 на Symbian.

Nokia N9 — уникальный Linux-смартфон, опередивший своё время на много лет вперед Гаджеты, Смартфон, Разработка, Linux, Android, Nokia, Meego, Nix, Unix, Мобильные телефоны, Операционная система, Железо, Microsoft, Windows Phone, Nokia Lumia, Видео, Вертикальное видео, Длиннопост

Кроме того, здесь довольно удобно реализован диспетчер задач. В Android он только-только появился в 3.0 Honeycomb, а в iOS он был реализован жутко неудобно. Однако, судя по всему, MeeGo не умеет сама закрывать или отправлять в сон приложения, как это делает Android и iOS — такова нативная линуксовая натура системы. Из-за этого, если открыть слишком много приложений, можно наблюдать небольшие лаги. Вообще, система действительно не сказать что работает уж очень плавно: яблочки тех лет работали гораздо шустрее и плавнее, однако по тем временам плавность системы достаточно приемлема.

Nokia N9 — уникальный Linux-смартфон, опередивший своё время на много лет вперед Гаджеты, Смартфон, Разработка, Linux, Android, Nokia, Meego, Nix, Unix, Мобильные телефоны, Операционная система, Железо, Microsoft, Windows Phone, Nokia Lumia, Видео, Вертикальное видео, Длиннопост

Я решил установить некоторые приложения и использовать N9 в современном мире. И в целом, для каких-то базовых действий он отлично подойдёт и сегодня!

В системе есть браузер на базе WebKit — тот самый браузерный движок, что используется и в Safari на iOS, и долгое время использовался в стандартном браузере Android. Благодаря дисплею, страницы выглядят очень сочно, но только те, которые загрузятся 🙂 И дело даже не в веб-стандартах, большинство страниц браузер сможет худо-бедно переварить. Однако встает проблема с сертификатами — браузер их не умеет игнорировать, если они просрочены, и вываливается в ошибку, отказываясь загружать сайт. Кроме того, браузер не поддерживает SSL 1.2, который использует большинство сайтов на данный момент.

Nokia N9 — уникальный Linux-смартфон, опередивший своё время на много лет вперед Гаджеты, Смартфон, Разработка, Linux, Android, Nokia, Meego, Nix, Unix, Мобильные телефоны, Операционная система, Железо, Microsoft, Windows Phone, Nokia Lumia, Видео, Вертикальное видео, Длиннопост

Зато в системе полностью функционирует почтовый клиент, причем довольно удобный. И здесь открывается еще одна фишка системы: один менеджер для всех аккаунтов на устройстве. Подобную концепцию имеет Android почти с самого начала, но в MeeGo она выделена в отдельное приложение. Не исключено, что в будущем туда хотели добавить и менеджер паролей — было бы весьма удобно!

Что же касается самого клиента почты, то его без проблем можно настроить на Яндекс почту, и на gmail — только не забываем включить SSL (по умолчанию отключен) и использовать одноразовые пароли — двухэтапную аутентификацию большинство старых гаджетов не поддерживает.

Nokia N9 — уникальный Linux-смартфон, опередивший своё время на много лет вперед Гаджеты, Смартфон, Разработка, Linux, Android, Nokia, Meego, Nix, Unix, Мобильные телефоны, Операционная система, Железо, Microsoft, Windows Phone, Nokia Lumia, Видео, Вертикальное видео, Длиннопост

Nokia N9 — уникальный Linux-смартфон, опередивший своё время на много лет вперед Гаджеты, Смартфон, Разработка, Linux, Android, Nokia, Meego, Nix, Unix, Мобильные телефоны, Операционная система, Железо, Microsoft, Windows Phone, Nokia Lumia, Видео, Вертикальное видео, Длиннопост

И, конечно же, девайс подойдет для прямого применения — звонков. Помимо весьма удобного приложения номеронабирателя, N9 полностью поддерживает Nokia PC Sync и без проблем позволяет синхронизировать как контакты из vcf/outlook, так и фото/видео/музыку. Есть поддержка и CalDAV и некоторых других сервисов для синхронизации по сети.

Помимо всего прочего, у девайса отличный аудиотракт. Музыка в наушниках звучит отлично, кроме того, есть улучшалки от Dolby, благодаря чему девайс вполне можно юзать как плеер. Сергей похоже так и юзал его, судя по трекам в плейлисте. Само приложение не менее удобное и создавалось для взаимодействие с Ovi Music — аналогом iTunes от Nokia. Уже потом, музыкальный сервис от Nokia начали использовать в устройствах на WP.

Nokia N9 — уникальный Linux-смартфон, опередивший своё время на много лет вперед Гаджеты, Смартфон, Разработка, Linux, Android, Nokia, Meego, Nix, Unix, Мобильные телефоны, Операционная система, Железо, Microsoft, Windows Phone, Nokia Lumia, Видео, Вертикальное видео, Длиннопост

А ещё устройство неплохо подойдет в качестве камеры. На 2011 год качество снимков весьма на уровне! Как уже сказано выше, девайс умеет записывать и видео в 720p при 30 FPS.

Nokia N9 — уникальный Linux-смартфон, опередивший своё время на много лет вперед Гаджеты, Смартфон, Разработка, Linux, Android, Nokia, Meego, Nix, Unix, Мобильные телефоны, Операционная система, Железо, Microsoft, Windows Phone, Nokia Lumia, Видео, Вертикальное видео, Длиннопост

Nokia N9 — уникальный Linux-смартфон, опередивший своё время на много лет вперед Гаджеты, Смартфон, Разработка, Linux, Android, Nokia, Meego, Nix, Unix, Мобильные телефоны, Операционная система, Железо, Microsoft, Windows Phone, Nokia Lumia, Видео, Вертикальное видео, Длиннопост

Полный фотосет есть на imgur.

А ещё смартфон сможет статьи отличной платформой для прохождения отличных мобильных игр — без доната и таймеров!

Nokia N9 — уникальный Linux-смартфон, опередивший своё время на много лет вперед Гаджеты, Смартфон, Разработка, Linux, Android, Nokia, Meego, Nix, Unix, Мобильные телефоны, Операционная система, Железо, Microsoft, Windows Phone, Nokia Lumia, Видео, Вертикальное видео, Длиннопост

❯ Заключение

N9 получился первым гиковским устройством, которое могли без проблем использовать и обычные пользователи. Nokia вложили много сил и времени для того, чтобы привнести в N9 революционные по тем временам идеи, да так, что некоторые фишки потом у неё «позаимствовали» сами гиганты индустрии!

И очень хорошо, что история MeeGo не закончилась на этом. Кто знает, быть может эта система когда-нибудь сделает камбэк и скинет обросший кучу легаси Android? А вы как считаете? Жду ваше мнение в комментариях!

Заголовок съел журавль⁠ ⁠

Заголовок съел журавль Телефон, Смартфон, iPhone, Android, Nokia, Картинка с текстом, Повтор, Nokia 3310, Комиксы

Редчайший прозрачный смартфон на FireFox OS — прошиваем и смотрим на LG Fx0 2014 года выпуска⁠ ⁠

Редчайший прозрачный смартфон на FireFox OS — прошиваем и смотрим на LG Fx0 2014 года выпуска Гаджеты, Смартфон, Покупка, Редкость, Диковинка, Android, LG, Firefox, Гик, Моддинг, Кастомизация, Телефон, Мобильные телефоны, Длиннопост

Друзья! Много ли гиковских серийных смартфонов вы знаете на текущее время? PinePhone, Pixel, Nothing Phone, да даже AYYA — выбор не так уж и велик. В 2014 году компания LG представила смартфон для гиков на базе FireFox OS эксклюзивно для рынка Японии — Fx0, который был интересен не только своей системой, но и прозрачным стильным дизайном, под которым можно было рассмотреть некоторые внутренности смартфона. Кроме того, это был самый мощный серийный смартфон на FireFox OS из когда-либо выпущенных. Несколько месяцев назад мне написал читатель с Хабра, предложив подарить такой девайс и попросил написать подробную инструкцию о перепрошивке на Android. Предлагаю сегодня посмотреть на этот уникальный и коллекционный смартфон поближе!

❯ Что за гаджет и почему FireFox OS?

Вероятно, многие читатели вообще никогда не слышали про такую систему, как FireFox OS, но вполне возможно, продолжают использовать её потомка и сейчас. Ещё в начале десятых Mozilla решила выйти на мобильной рынок, припася несколько тузов в кармане:

Тотальная открытость. Вся операционная система должна была быть открытой и свободной для модификации, а не только AOSP — как в случае с Android (маркет, сервисы — всё ещё закрытые и проприетарные продукты Google).

Низкие системные требования. Android по первой вполне неплохо работал и с устройствами с 256мб ОЗУ и одноядерными ARMv6 чипсетами частотой

600мгц. Но FF OS умудрялась чуть ли не летать при таких характеристиках.

Веб-приложения. Концепция системы заключалась в том, что все приложения должны быть написаны с использованием HTML5 + JS. Если очень условно, то это аналог современных PWA приложений (только на FFOS было доступно больше API). А благодаря Cordova, приложения с FFOS можно было бы легко портировать на iOS/Android.

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

Редчайший прозрачный смартфон на FireFox OS — прошиваем и смотрим на LG Fx0 2014 года выпуска Гаджеты, Смартфон, Покупка, Редкость, Диковинка, Android, LG, Firefox, Гик, Моддинг, Кастомизация, Телефон, Мобильные телефоны, Длиннопост

И некоторые производители поддержали молодую систему, выпустив один или несколько аппаратов на различных версиях. Так или иначе, почти все эти устройства были в бюджетном классе и предназначались в первую очередь для гиков и веб-разработчиков, которые могли бы разрабатывать новые приложения для развивающейся системы. Кроме того, в основную версию FireFox на ПК был введен отдельный режим, где разрабы могли бы запускать и отлаживать свои приложения в эдаком симуляторе.

Редчайший прозрачный смартфон на FireFox OS — прошиваем и смотрим на LG Fx0 2014 года выпуска Гаджеты, Смартфон, Покупка, Редкость, Диковинка, Android, LG, Firefox, Гик, Моддинг, Кастомизация, Телефон, Мобильные телефоны, Длиннопост

Как уже было сказано выше, все приложения под эту систему пишутся на связке HTML5 + JS. Однако немногие знают, что большая часть системы и интерфейса тоже написаны на JS, в том числе некоторые сервисы. Приложениям предоставляются упрощенные, но типичные для мобильных систем API в виде доступа к базе данных мультимедиа/контактов, API для файлов, диалогов и т. п. При этом, несмотря на «веб» корни интерфейса, работает он очень шустро даже на слабых девайсах и имеет некоторую многозадачность.

Редчайший прозрачный смартфон на FireFox OS — прошиваем и смотрим на LG Fx0 2014 года выпуска Гаджеты, Смартфон, Покупка, Редкость, Диковинка, Android, LG, Firefox, Гик, Моддинг, Кастомизация, Телефон, Мобильные телефоны, Длиннопост

Из самых известных моделей на FFOS, можно вспомнить ZTE Open, Alcatel Fire E, про который я уже писали конечно же Fx0! Девайс был выпущен эксклюзивно для рынка Японии в 2014 году, под местного оператора au (KDDI), лого которого красуется и на нашем девайсе. В первую очередь интерес к устройству вызывает его прозрачный дизайн, наводящий некоторые мысли о киберпанке. LG видимо хотели подчеркнуть гиковскую составляющую своего нового устройств.

Редчайший прозрачный смартфон на FireFox OS — прошиваем и смотрим на LG Fx0 2014 года выпуска Гаджеты, Смартфон, Покупка, Редкость, Диковинка, Android, LG, Firefox, Гик, Моддинг, Кастомизация, Телефон, Мобильные телефоны, Длиннопост

Сама прозрачность корпуса даёт нам разглядеть светодиоды подсветки дисплея, подключенные шлейфы, АКБ, слоты под сим и строение кнопки домой. Кроме того, задняя крышка покрыта интересным рельефом, приятным на ощупь. Кому-то этот дизайн кажется отталкивающим, но как по мне — он классный. Не менее интересна и железная начинка девайса:

Процессор: 2-х ядерный Qualcomm Snapdragon 400 с видео-ускорителем Adreno 305.

Оперативная память: 1.5гб ОЗУ.

Дисплей: 4.7″ IPS матрица с HD-разрешением.

Камера: 8мп/2мп.

ОС: FireFox OS 2.

Для 2014 года это вполне неплохие характеристики для средне-бюджетного аппарата. Похожими хар-ками обладает, например, Galaxy S4 Mini.

Редчайший прозрачный смартфон на FireFox OS — прошиваем и смотрим на LG Fx0 2014 года выпуска Гаджеты, Смартфон, Покупка, Редкость, Диковинка, Android, LG, Firefox, Гик, Моддинг, Кастомизация, Телефон, Мобильные телефоны, Длиннопост

Fx0 подарил мне мой читатель Артём с Хабра. Несколько месяцев назад он написал мне и предложил прислать два таких девайса: один в качестве подарка для статьи, другой для того, чтобы я перепрошил его на Android и отправил обратно. Под Fx0 уже был готовый порт CyanogenMod, поэтому в процессе прошивки ничего сложного нет, но Артёму нужна была подробная инструкция, дабы не убить девайсы. У него их оказалось несколько: в своё время он купил по вкусной цене и так они у него лежат новыми, а некоторые даже не распакованы!

Редчайший прозрачный смартфон на FireFox OS — прошиваем и смотрим на LG Fx0 2014 года выпуска Гаджеты, Смартфон, Покупка, Редкость, Диковинка, Android, LG, Firefox, Гик, Моддинг, Кастомизация, Телефон, Мобильные телефоны, Длиннопост

Конкретно про опыт использования FireFox OS в 2023 году я писал в статье про Alcatel Fire E. В этом материале давайте прошьём наш Fx0 и посмотрим, на что он способен сейчас!

❯ Прошиваем

Собственно, в этом нет ничего сложного. Работы буквально на 15 минут, благо уже есть готовая и рабочая прошивка CyanogenMod под наше устройство.

Первым делом качаем саму прошивку и TWRP — раздел recovery. Пригодятся драйверы и adb/fastboot.

Теперь нам нужно включить режим разработчика. Идём в настройки -> О телефоне -> Больше информации и включаем галочку режима разработчика. Теперь идем в соответствующее меню для разработчиков и выбираем режим работы USB — нам нужен режим adb.

Подключаем устройство к ПК и открываем командную строку (cmd.exe). Переходим в папку с скачанным adb (например, C:/adb/) и запускаем терминал:

adb shell su

Редчайший прозрачный смартфон на FireFox OS — прошиваем и смотрим на LG Fx0 2014 года выпуска Гаджеты, Смартфон, Покупка, Редкость, Диковинка, Android, LG, Firefox, Гик, Моддинг, Кастомизация, Телефон, Мобильные телефоны, Длиннопост

После этого нам нужно сдампить три важных раздела — с специальным режимом обновления lg и настройками модема. Пишем:

dd if=/dev/block/platform/msm_sdcc.1/by-name/laf of=/sdcard/laf.bin
dd if=/dev/block/platform/msm_sdcc.1/by-name/modemst1 of=/sdcard/modem0.bin
dd if=/dev/block/platform/msm_sdcc.1/by-name/modemst2 of=/sdcard/modem1.bin

И затем загружаем их к себе на ПК из памяти телефона:

exit
exit
adb pull /sdcard/laf.bin
adb pull /sdcard/modem0.bin
adb pull /sdcard/modem1.bin

Редчайший прозрачный смартфон на FireFox OS — прошиваем и смотрим на LG Fx0 2014 года выпуска Гаджеты, Смартфон, Покупка, Редкость, Диковинка, Android, LG, Firefox, Гик, Моддинг, Кастомизация, Телефон, Мобильные телефоны, Длиннопост

Далее в папке с adb появятся наши бэкапы. Это важно! Можно и систему забэкапить, если хотите потом вернутся на FireFox OS (раздел system). Теперь нам нужно получить доступ к fastboot, дабы загрузить кастомное рекавери. У устройства изначально разблокирован загрузчик, поэтому заморачиваться с разблокировкой не нужно. Однако для того, чтобы войти в него, нужно затереть раздел с режимом обновления LG — тот самый laf. Почему так? Загрузчик LG, при переходе в режим прошивки фирменным софтом, пытается загрузить специальный образ ядра и системы из раздела laf. Если он его не находит — то «сваливается» в обычный режим fastboot. Это работает и на некоторых других устройствах LG тех лет. Снова идем в командную строку:

adb shell su dd if=/dev/zero of=/dev/block/platform/msm_sdcc.1/by-name/laf

Готово! Варнинги в консоли — это нормально.

Редчайший прозрачный смартфон на FireFox OS — прошиваем и смотрим на LG Fx0 2014 года выпуска Гаджеты, Смартфон, Покупка, Редкость, Диковинка, Android, LG, Firefox, Гик, Моддинг, Кастомизация, Телефон, Мобильные телефоны, Длиннопост

Теперь пишем в консоли reboot и выполняем команду, одновременно зажав громкость вверх, устройство перейдет в режим fastboot. Теперь нам нужно загрузить recovery, пишем:

fastboot boot twrp_302-madai01.img

Устройство загрузится в режим recovery. Свайпаем ползунок и попадаем в главное меню.

Редчайший прозрачный смартфон на FireFox OS — прошиваем и смотрим на LG Fx0 2014 года выпуска Гаджеты, Смартфон, Покупка, Редкость, Диковинка, Android, LG, Firefox, Гик, Моддинг, Кастомизация, Телефон, Мобильные телефоны, Длиннопост

Теперь у нас два варианта: закинуть прошивку на MicroSD флэшку и вставить её в устройство (судя по всему, девайс поддерживает горячую замену), либо загрузить прошивку вообще не прибегая к MicroSD. Я выбрал второй вариант: заходим в Advanced -> Sideload и свайпаем полузнок. После этого, устройство «переподключится» к ПК и мы можем просто написать:

Готово! Теперь девайс прошьется сам. Можно сделать вайпы и перезагрузится в систему. Вероятно, кто-то спросит, почему всё так легко и откуда тут даже разметка памяти под Android? Потому что изначально FireFox и использует стандартную разметку андроида, что и позволяет легко портировать их на устройства под управлением каждой из них.

Если мы хотим вернуться на FFOS, то можно взять образ /system/ вот тут. Прошить можно из под TWRP через adb с помощью команды:

dd if=/sdcard/jp-system.img of=/dev/block/platform/msm-sdcc.1/by-name/system

Делаем вайпы и ребут. Дальше всё как обычно — настраиваем язык, подключаемся к сети и т. п.

❯ Юзаем девайс

Ну что ж. Устройство прошито и теперь работает на базе чистого Android 4.4 — никаких гугл-сервисов, ничего лишнего. Как оно работает теперь? Давайте узнаем!

Редчайший прозрачный смартфон на FireFox OS — прошиваем и смотрим на LG Fx0 2014 года выпуска Гаджеты, Смартфон, Покупка, Редкость, Диковинка, Android, LG, Firefox, Гик, Моддинг, Кастомизация, Телефон, Мобильные телефоны, Длиннопост

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

Редчайший прозрачный смартфон на FireFox OS — прошиваем и смотрим на LG Fx0 2014 года выпуска Гаджеты, Смартфон, Покупка, Редкость, Диковинка, Android, LG, Firefox, Гик, Моддинг, Кастомизация, Телефон, Мобильные телефоны, Длиннопост

Редчайший прозрачный смартфон на FireFox OS — прошиваем и смотрим на LG Fx0 2014 года выпуска Гаджеты, Смартфон, Покупка, Редкость, Диковинка, Android, LG, Firefox, Гик, Моддинг, Кастомизация, Телефон, Мобильные телефоны, Длиннопост

Например, здесь все еще работает клиент ВК Kate Mobile, через который можно посидеть не только в ВКшечке, но и послушать музыку через местный стриминговый сервис. Однако могут возникать проблемы при воспроизведении видео, причем только некоторых. Работает и Telegram, который пока ещё поддерживает все устройства с Android 4.2 и выше.

Редчайший прозрачный смартфон на FireFox OS — прошиваем и смотрим на LG Fx0 2014 года выпуска Гаджеты, Смартфон, Покупка, Редкость, Диковинка, Android, LG, Firefox, Гик, Моддинг, Кастомизация, Телефон, Мобильные телефоны, Длиннопост

Стандартный браузер уже сильно устарел и едва ли открывает современные страницы. Поэтому накатываем последнюю версию Chrome для 4.4 — 81. Он пока еще может открывать большинство сайтов, но на Pikabu/DTF уже ломается верстка.

Редчайший прозрачный смартфон на FireFox OS — прошиваем и смотрим на LG Fx0 2014 года выпуска Гаджеты, Смартфон, Покупка, Редкость, Диковинка, Android, LG, Firefox, Гик, Моддинг, Кастомизация, Телефон, Мобильные телефоны, Длиннопост

Редчайший прозрачный смартфон на FireFox OS — прошиваем и смотрим на LG Fx0 2014 года выпуска Гаджеты, Смартфон, Покупка, Редкость, Диковинка, Android, LG, Firefox, Гик, Моддинг, Кастомизация, Телефон, Мобильные телефоны, Длиннопост

Без каких либо проблем работает и встроенный клиент почты. Тут уж я не перестану хвалить почтовый клиент Android — он в разы лучше и Gmail, и любых других сервисов как по мне. Работает без проблем, только не забываем про одноразовые пароли и ставить SSL с одобрением всех сертификатов.

Редчайший прозрачный смартфон на FireFox OS — прошиваем и смотрим на LG Fx0 2014 года выпуска Гаджеты, Смартфон, Покупка, Редкость, Диковинка, Android, LG, Firefox, Гик, Моддинг, Кастомизация, Телефон, Мобильные телефоны, Длиннопост

Кроме того, здесь очень неплохая камера для своих лет. 8мп матрица выдает достойную картинку, на уровне флагманского Galaxy S4 2013 года выпуска. Однако есть важный нюанс: в предпросмотре кадра картинка получается мыльная, но сами фотографии сохраняются вполне неплохими. Оцените сами:

Редчайший прозрачный смартфон на FireFox OS — прошиваем и смотрим на LG Fx0 2014 года выпуска Гаджеты, Смартфон, Покупка, Редкость, Диковинка, Android, LG, Firefox, Гик, Моддинг, Кастомизация, Телефон, Мобильные телефоны, Длиннопост

Редчайший прозрачный смартфон на FireFox OS — прошиваем и смотрим на LG Fx0 2014 года выпуска Гаджеты, Смартфон, Покупка, Редкость, Диковинка, Android, LG, Firefox, Гик, Моддинг, Кастомизация, Телефон, Мобильные телефоны, Длиннопост

Редчайший прозрачный смартфон на FireFox OS — прошиваем и смотрим на LG Fx0 2014 года выпуска Гаджеты, Смартфон, Покупка, Редкость, Диковинка, Android, LG, Firefox, Гик, Моддинг, Кастомизация, Телефон, Мобильные телефоны, Длиннопост

Редчайший прозрачный смартфон на FireFox OS — прошиваем и смотрим на LG Fx0 2014 года выпуска Гаджеты, Смартфон, Покупка, Редкость, Диковинка, Android, LG, Firefox, Гик, Моддинг, Кастомизация, Телефон, Мобильные телефоны, Длиннопост

Редчайший прозрачный смартфон на FireFox OS — прошиваем и смотрим на LG Fx0 2014 года выпуска Гаджеты, Смартфон, Покупка, Редкость, Диковинка, Android, LG, Firefox, Гик, Моддинг, Кастомизация, Телефон, Мобильные телефоны, Длиннопост

Ну и конечно же игры! Как раз отличная возможность вспомнить 2012-2014 годы в мобильном гейминга и поиграть в годноту тех лет. Балдеж!

❯ Заключение

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

Но увы, LG уже более года назад закрыли свое мобильное подразделение и ушли с рынка мобилок. А жаль, ведь зачастую у них выходили очень годные девайсы — абы какую компанию к работе над Nexus не привлекут! А вы как считаете? Жду ваше мнение в комментариях!

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

Как на Озоне продают всякий треш⁠ ⁠

Нужда заставила задуматься о приобретении нового современного смартфона, я решил посмотреть во сколько обойдется карта памяти в 1 Тб к нему. И О! Мое удивление! Озон предлагает карты памяти от китайских продавцов всего за 1800+ рублей. При том, что в ДНС я карты подобного объема видел по цене от 10к+.

Что-то тут не то, подумал я и изучил вопрос конкретнее, обойдя все релевантные для себя магазины.

Карта памяти microSD 1Tb

DNS 11990 15990, 18990

Яндекс.Маркет 10690, 17991, 19000

МВидео какой-то печальный, там нет таких карт памяти в принципе

Ситилинк предлагает аж целую одну за 6990

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

А теперь смотрим на ОЗОН

1855, 1840, 1933, 2150. была одна за 618 рублей, но я не успел заскринить, видимо нашлись доверчивые люди, чтобы выкупить весь остаток, заведенный на склад и карточка товара исчезла.

Производитель таких карт описан в стиле «Xinhuanji» и прочие в подобном роде. Made in China, доставка из Китая.

Все бы ничего, только есть один нюанс. Вероятнее всего там карта памяти размером 1Гб, перепрошитая до 1Тб. Возможно больше, но Вы не успеете это заметить, если не начнете сразу заливать до 800 Гб информации (помним про двоичную систему, где 1Тб не равняется 1000Гб реальной памяти). А когда Вы поймете, что карта вовсе не 1 Тб, а 64Гб или вообще 1Гб — там или султан или ишак сдохнет.

Всем спасибо за внимание. У меня все.

Как на Озоне продают всякий треш Смартфон, Мобильные телефоны, Android, iPhone, OZON, Китайские товары, Длиннопост, Негатив

Как на Озоне продают всякий треш Смартфон, Мобильные телефоны, Android, iPhone, OZON, Китайские товары, Длиннопост, Негатив

Как на Озоне продают всякий треш Смартфон, Мобильные телефоны, Android, iPhone, OZON, Китайские товары, Длиннопост, Негатив

Как на Озоне продают всякий треш Смартфон, Мобильные телефоны, Android, iPhone, OZON, Китайские товары, Длиннопост, Негатив

Как на Озоне продают всякий треш Смартфон, Мобильные телефоны, Android, iPhone, OZON, Китайские товары, Длиннопост, Негатив

С 2024 года все смартфоны должны быть с USB-C⁠ ⁠

Новый закон вступит в силу осенью 2024 года и распространится даже на iPhone.

С 2024 года все смартфоны должны быть с USB-C Экология, Мусор, Техника, Смартфон, Гаджеты, USB, Стандарты

Европейский Союз достиг соглашения в законодательстве, согласно которому все будущие смартфоны, продаваемые в ЕС, включая iPhone от Apple, будут оснащены универсальным разъемом USB-C. Это правило также будет применяться к другим электронным устройствам — планшетам, цифровым камерам, наушникам, игровым приставкам и электронным книгам. Ноутбуки должны будут соответствовать этому правилу позднее.

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

В пресс-релизе Европарламента указано, что закон вступит в силу к осени 2024 года. К этой дате все устройства, подпадающие под действие закона и продаваемые в ЕС, должны будут использовать USB-C для проводной зарядки.

Введение «общего зарядного устройства» — это попытка ЕС сократить количество электронных отходов и облегчить жизнь потребителей. Законодатели надеются, что в будущем гаджеты не должны будут поставляться с зарядным устройством в комплекте, поскольку у покупателей уже есть соответствующие аксессуары дома.

По оценкам ЕС, законодательство может сэкономить потребителям 250 миллионов евро в год на «ненужных покупках зарядных устройств» и сократить примерно 11 000 тонн электронных отходов ежегодно.

Соглашение окажет наибольшее влияние на Apple, которая является единственным крупным производителем смартфонов и до сих пор использует другой разъем. В 2021 году Apple продала 241 миллион айфонов.

Apple всегда выступала против попыток ЕС навязать USB-C на своих устройствах. Компания утверждает, что принудительный переход на USB-C приведет к созданию электронных отходов, а не к их сокращению, поскольку сделает существующую экосистему аксессуаров Lightning избыточной.

Евросоюз всё-таки принудит производителей смартфонов использовать единый зарядник⁠ ⁠

Компания Apple недовольна развитием событий

Евросоюз всё-таки принудит производителей смартфонов использовать единый зарядник USB, Lightning, Apple, Android, Европа, Евросоюз, Еврокомиссия, Политика

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

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

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

Попытки унификации зарядных устройств в Евросоюзе начались ещё в 2009 году, когда многие производители со всего мира подписали меморандум о намерениях, договорившись, что большая часть новых телефонов, которые будут рекламироваться и продаваться в Евросоюзе, будут соответствовать рекомендациям. Меморандум подписали Apple, LG, Motorola, NEC, Nokia, Qualcomm, RIM, Samsung, Sony Ericsson, Texas Instruments, Atmel, Emblaze Mobile, Huawei Technologies и TCT Mobile (Alcatel).

В 2010-м Еврокомиссия разработала стандарт IEC 62684:2011, а в 2012 году истёк срок меморандума. Часть компаний подписали его продолжение, продлив его работу до 2014 года, и большинство компаний перешло на разъём micro-B. Apple отказалась подписывать продолжение и представила собственный вариант кабеля и разъёма, Lightning.

В 2020 году Европейский парламент принял резолюцию, согласно которой Еврокомиссия должна была принять правила, принуждающие производителей использовать одинаковые зарядники, не позднее июля 2020 года. Принятие правил было отложено из-за пандемии.

Конкурирующие с продукцией Apple производители смартфонов с ОС Android используют разъёмы USB-C и USB micro-B. Согласно исследованию Еврокомиссии от 2019 года, у половины проданных в 2018 году зарядных устройств был коннектор USB micro-B, у 29% — USB-C, у 21% — Lightning.

Замена разъема питания на Nokia 5 TA-1053 (и подобных)⁠ ⁠

Всем привет! Поменять разъем питания — задача несложная, но на подобных аппаратах она с подвохом. Чтобы добраться до нижней платы с разъемом необходимо отклеить дисплейный модуль. Расскажу и покажу, что да как 🙂

Дисклеймер: данный пост не является идеальным способом и инструкцией по замене разъема, а лишь демонстрацией одного из вариантов по его замене.

Я использую сепаратор, но можно нагревать и феном.

Замена разъема питания на Nokia 5 TA-1053 (и подобных) Ремонт, Смартфон, Nokia 5, Разъем, Ремонт телефона, Пайка, USB, Длиннопост

Нагреваем сепаратор до 80 градусов и кладем телефон на 2-3 минуты, этого будет достаточно.

Замена разъема питания на Nokia 5 TA-1053 (и подобных) Ремонт, Смартфон, Nokia 5, Разъем, Ремонт телефона, Пайка, USB, Длиннопост

Дисплейный модуль приклеен на двусторонний скотч, но не такой железобетонный как на Samsung-ах. Отклеивание начинаю с верхней стороны с помощью присоски. Далее с помощью пластиковой карты и изопропилового спирта продвигаемся вниз. Уточню, что я не наливаю спирт на края, как это принято делать, а «промачиваю» карту в спирте и аккуратно провожу по краям. Так я избегаю попадание излишек спирта в подсветку, дабы не появились пятна. Также нижнюю часть и края можно отклеить с помощью фена, постепенно грея и продвигаясь. На этом моменте хочу предостеречь тех, кто не имеет опыта в подобных операциях, дабы не напороться на замену дисплейного модуля. Подготовил для вас маленькую шпаргалку.

Замена разъема питания на Nokia 5 TA-1053 (и подобных) Ремонт, Смартфон, Nokia 5, Разъем, Ремонт телефона, Пайка, USB, Длиннопост

Дойдя до нижней части будьте аккуратны и не порвите два шлейфа — тачскрина и подсветки. Красным отмечены места, в которых надо быть особенно аккуратным. При успешном отклеивании, остальное — ерунда 🙂

Замена разъема питания на Nokia 5 TA-1053 (и подобных) Ремонт, Смартфон, Nokia 5, Разъем, Ремонт телефона, Пайка, USB, Длиннопост

Откручиваем винт крышки АКБ и шлейфа дисплея и обесточиваем плату.

Замена разъема питания на Nokia 5 TA-1053 (и подобных) Ремонт, Смартфон, Nokia 5, Разъем, Ремонт телефона, Пайка, USB, Длиннопост

Выкручиваем все винты и снимаем среднюю часть. Очищаем и оттираем её от заводского скотча.

Замена разъема питания на Nokia 5 TA-1053 (и подобных) Ремонт, Смартфон, Nokia 5, Разъем, Ремонт телефона, Пайка, USB, Длиннопост

Меняем разъем microUSB

Замена разъема питания на Nokia 5 TA-1053 (и подобных) Ремонт, Смартфон, Nokia 5, Разъем, Ремонт телефона, Пайка, USB, Длиннопост

И заклеиваем дисплейный модуль обратно.

Замена разъема питания на Nokia 5 TA-1053 (и подобных) Ремонт, Смартфон, Nokia 5, Разъем, Ремонт телефона, Пайка, USB, Длиннопост

Даем высохнуть несколько часов.

Замена разъема питания на Nokia 5 TA-1053 (и подобных) Ремонт, Смартфон, Nokia 5, Разъем, Ремонт телефона, Пайка, USB, Длиннопост

И можно отдавать готовый аппарат его владельцу!

Всем спасибо за внимание! Удачных ремонтов 🙂

Эргономика должна быть эргономной!⁠ ⁠

Эргономика должна быть эргономной! Телефон, Смартфон, Зарядка, USB, Nokia, Картинка с текстом, Юмор, Nokia 3310

Лайфхак на случай, когда в разъеме microUSB перестал держаться кабель⁠ ⁠

Тот самый случай, когда в разъеме microUSB перестал нормально держаться кабель, вы перепробовали пачку других и уже подумываете о замене разъема. Однако в 90% случаев проблема решается за две минуты.

Лайфхак на случай, когда в разъеме microUSB перестал держаться кабель Смартфон, Зарядка, USB, Длиннопост, Лайфхак

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

В большинстве случаев причина в его засорении пылью. Особенно это касается тех, кто носит смартфон в кармане штанов! А скорее всего, только их одних. Пылинки попадают внутрь разъема и затем утрамбовываются вставляющимся туда штекером. В итоге спрессованная пыль уменьшает его глубину на 1-2 миллиметра, и в таком разъеме уже ничего держаться не будет, поскольку фиксаторы на штекере перестают доставать до пазов.

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

Лайфхак на случай, когда в разъеме microUSB перестал держаться кабель Смартфон, Зарядка, USB, Длиннопост, Лайфхак

А когда ее достаешь, она еще распушается. Наверное специально, чтобы можно было сделать ужасающее фото. Ну а вот так выглядит чистое гнездо.

Лайфхак на случай, когда в разъеме microUSB перестал держаться кабель Смартфон, Зарядка, USB, Длиннопост, Лайфхак

Тест 9 microUSB-кабелей: как вдвое сократить время зарядки смартфона⁠ ⁠

Тест 9 microUSB-кабелей: как вдвое сократить время зарядки смартфона USB, Смартфон, Зарядка, Экспресс-обзор, Длиннопост

Думали, что все кабели одинаковые и отличаются лишь надежностью разъемов? А вот и нет. Провода в некоторых из них делают из дешевого металла с высоким сопротивлением, из-за чего на них сильно падает напряжение и смартфоны включают более медленные режимы зарядки. В итоге процесс идет ровно вдвое дольше.

Ради эксперимента я купил шесть microUSB-кабелей на Aliexpress и сравнил их между собой с помощью переходника, мультиметра и тарированной токовой нагрузки в 1 А. Плюс добавил к ним из любопытства результаты еще трех кабелей, что шли в комплекте с некоторыми смартфонами.

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

В качестве тестового оборудования я использовал блок питания от смартфона Huawei P9 Lite. Это качественная модель, которая под нагрузкой 1А выдает ровно столько же, причем напряжение на нем не опускается ниже 5 В. Ему аккомпанировали: USB-мультиметр, блок нагрузки на 1 и 2 А и переходник microUSB-USB. Все это добро можно купить на Алиэкспрессе за сущие копейки.

Тест 9 microUSB-кабелей: как вдвое сократить время зарядки смартфона USB, Смартфон, Зарядка, Экспресс-обзор, Длиннопост

Главный вопрос, на который хотелось получить ответ, — какова минимальная цена более-менее приличного кабеля. При этом кабели дороже 200 рублей за штуку не рассматривались в принципе (я еще пока в своем уме, чтобы платить за столь простой аксессуар сколь-нибудь заметные деньги). В итоге заказал шесть штук в диапазоне от 36 до 150 рублей. Старался выбирать сколь-нибудь брендовые, чтобы их потом можно было легко найти в продаже и получить минимальную гарантию того, что через неделю там будет продаваться именно такие же по качеству, а не что-то другое. Впрочем, с этим оказалось не все гладко, о чем ниже.

Тесты со статической нагрузкой

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

Тест 9 microUSB-кабелей: как вдвое сократить время зарядки смартфона USB, Смартфон, Зарядка, Экспресс-обзор, Длиннопост

Хотите подробностей, вот вам некое подобие таблички:

Название — В / A / Вт / цена, руб.

— без кабеля — 5,07 / 1 / 5,07

Кабели с Aliexpress

(1) Noname (плоский) — 4,2 / 0,76 / 3,19 / 36

(2) Noname (мягкий) — 4,34 / 0,83 / 3,60 / 79

(6) Pushingbest — 4,55 / 0,86 / 3,96 / 83

(3) Twitch (пятнистый) — 4,58 / 0,87 / 3,98 / 104

(4) MyGeek — 4,59 / 0,89 / 4,09 / 138

(5) Voenxee — 4,62 / 0,91 / 4,20 / 150

Прочие кабели, что были под рукой

Samsung G Nexus — 4,04 / 0,76 / 3,07

Nokia CA-101 — 4,31 / 0,82 / 3,53

Huawei — 4,69 / 0,87 / 4,08

Из алиэкспрессовских кабелей все, что дешевле 80-100 рублей, оказались средненькими. А самый дешевый из них &ndash; практически негодным. На нем теряется примерно 36% энергии, в то время как на самом лучшем лишь около 15%.

В теории это означает, что процесс зарядки будет протекать примерно на четверть дольше. Однако на практике из-за слишком низкого напряжения на выходе многие смартфоны будут включать режимы зарядки с более низкими токами, что уже заметно затянет процесс. Например раза в два. Подробнее об этом вот в этом моем посте на GeekTimes ( https://geektimes.ru/post/286974/ ).

Из прочих кабелей сразил наповал комплектный «шнурок» от Google Galaxy Nexus (Samsung Galaxy Nexus GT-I9250). Это худший кабель из всех протестированных. Также барахлом можно признать старенький кабель Nokia CA-101. Правда, он изначально предназначался не для зарядки, а для обмена данными с ПК.

Еще любопытно, что в рейтинге кабели выстроились ровно в соответствии с ценой!

Ниже — общее фото кабелей, где они пронумерованы. Плюс немного комментариев.

Тест 9 microUSB-кабелей: как вдвое сократить время зарядки смартфона USB, Смартфон, Зарядка, Экспресс-обзор, Длиннопост

1 — Самый дешевый кабель. И самый худший. Этими кабелями набиты все ларьки с периферией. Распознать его легко — он цветной и плоский (цвета бывают разные). Зарядка с ним будет идти вдвое дольше. Почему? Читайте ниже в разделе «Тестов со смартфоном». Вдобавок у многих он быстро переламывается около штекеров.

2 — Середнячок. Если хочется сэкономить на покупке, то можно и взять. Но при нагрузке в 1А напряжение через него падает до 4,34 В, что маловато. Хорошо бы чтобы оно было не менее 4,45 — 4,5В. Так как это позволит безукоризненно соблюсти все требования по напряжению и токам в процессе зарядки. Хотите узнать больше деталей по зарядке и эксплуатации Li-ion — вам сюда ( http://www.wikidacha.ru/articles/?id=436 ).

3 — Вполне нормальный кабель в достаточно жесткой оплетке.

4 — Еще один хороший кабель, но в мягком пластиковом &laquo;панцире&raquo;.

5 — Лучший кабель из всех алиэкспрессовских в этом тесте. В комплекте идет кожаный хомут на кнопке.

6 — Еще один неплохой кабель в достаточно жесткой оплетке.

Тесты со смартфоном

Все литий-ионные аккумуляторы заряжаются по сложной схеме. Сначала подается фиксированный ток при постепенно нарастающем напряжении, а во второй фазе напряжение фиксируется на максимальном для аккумулятора уровне, а ток постепенно убавляется. Управляет этим процессом встроенный контроллер заряда. Первым делом он проверяет качество источника, чтобы не перегрузить его. Один из способов проверки — дать нагрузку и посмотреть, насколько просядет напряжение. На некачественных кабелях напряжение уже изначально низкое, потому по результату проверки контроллер будет брать из источника не 1А, а меньше. Например 0,7 или 0,5А. Хотите подробностей — они все в той же моей статье на GeekTimes ( https://geektimes.ru/post/286974/ ).

В итоге практика показала, что с копеечным плоским шнурком имеющиеся под рукой смартфоны отказывались нагружать источник питания более чем на 0,6А, в то время как с остальными кабелями смело брали положенный 1А. Также в черный список попал кабель от Samsung, но он уже старенький. Возможно, что время и неаккуратная эксплуатация сделали свое черное дело.

Если кратко, то метровые кабели дешевле 100 рублей, скорее всего, окажутся сомнительной покупкой. С худшим из них ваш смартфон будет заряжаться вдвое дольше. И при этом режим заряда может не соответствовать требуемому стандарту из-за слишком низкого напряжения, что негативно скажется на ресурсе аккумулятора.

Что касается брендов и доступности, то это отдельная история. В начале лета я выбирал из того, что наиболее часто мелькало по запросу «micro USB cable». А спустя три месяца из этого ассортимента остались только кабели MyGeek ( https://ru.aliexpress.com/item/MyGeek-Micro-USB-Cable-1m-pin. ) и Twitch ( https://ru.aliexpress.com/item/Crouch-Micro-USB-Cable-Braide. ). При этом в категории USB-кабелей для телефонов ( https://ru.aliexpress.com/af/category/202001970.html ) напрочь исчезли любые метровые варианты дешевле 70 рублей, которых там была просто тьма.

Похоже, придется делать новые тесты. Впрочем, из того, что осталось проверенного — MyGeek вполне нормальный вариант.

P.S. ранее я делал тест автомобильных USB-зарядок с Aliexpress. Его можно найти по этой ссылке: http://dacha.news/usb-car-charger/ Примечательно в нем то, что половина из протестированных оказались практически непригодными.

Зарядка гаджетов через USB.⁠ ⁠

Проблемы с зарядкой по USB обычно появляются при использовании постороннего (не родного) зарядного устройства. Гаджет может заряжаться медленно, не полностью, а может и вовсе отказаться заряжаться. Собственно, этой проблеме и посвящена сия статья. Но сперва я должен высказать несколько важных замечаний касаемо зарядки по USB вообще.

Как это ни странно, некоторые мобильные устройства не поддерживают зарядку через гнездо USB mini/micro, хоть и оборудованы им. К примеру, некоторые планшеты снабжены отдельным (круглым) гнездом для подключения зарядного устройства (ЗУ).

При зарядке устройства от USB компьютера следует понимать, что порт USB способен выдать ток не более 0,5 ампера (USB 2.0) или не более 0,9 ампера (USB 3.0). И если для заряда устройства требуется больший ток (1÷2 ампера), то время заряда может оказаться мучительно долгим, вплоть до бесконечности. Придётся искать ЗУ подходящей мощности.

Итак, вы подключили гаджет к левому/самодельному зарядному устройству, а он не заряжается, да ещё и пишет, что зарядное устройство не поддерживается. Это связано с тем, что перед тем как позволить себе заряжаться, некоторые мобильные устройства замеряют напряжения на 2 и 3 контактах USB и по этим напряжениям определяет тип зарядного порта. А некоторые — просто проверяют наличие перемычки между контактами 2 и 3 или ещё и контролируют потенциал этой связки. Если гаджет не рассчитан на подключение к данному типу зарядного порта или тип порта не определён, то зарядное устройство будет отвергнуто.

Практическая сторона вопроса заключается в том, чтобы гаджет увидел нужные ему напряжения на контактах 2 и 3, а это обеспечивается подключением различных сопротивлений между контактами USB зарядного устройства. В конце статьи приводится чертёж различных типов зарядного порта (без привязки к моделям гаджетов) с указанием напряжений на контактах 2 и 3. Там же указано, какими сопротивлениями этого можно добиться. А прямо сейчас мы посмотрим, чего ждут определённые модели гаджетов от порта зарядного устройства.

Nokia, Philips, LG, старый Samsung, HTC, Explay, Dell Venue и многие другие устройства признают зарядное устройство только если контакты Data+ и Data- (2-й и 3-й) будут закорочены или замкнуты резистором не более 200 Ом. Закоротить контакты 2 и 3 можно в гнезде USB_AF зарядного устройства и спокойно заряжать свой телефон через стандартный дата-кабель. Эту же схему поддерживает планшет Freelander PD10 Typhoon, но кроме этого ему требуется повышенное напряжение заряда, а именно — 5,3 вольта.

Зарядка гаджетов через USB. Зарядка, Гаджеты, USB, Otg, Распиновка, Ремонт техники, Длиннопост

Если же зарядное устройство уже обладает выходным шнуром (вместо выходного гнезда), и вам нужно припаять к нему штекер mini/micro USB, то не забудьте соединить 2 и 3 контакты в самом mini/micro USB. При этом плюс паяете на 1 контакт, а минус — на 5-й (последний).

Зарядка гаджетов через USB. Зарядка, Гаджеты, USB, Otg, Распиновка, Ремонт техники, Длиннопост

Тип зарядного порта для iPhone и прочей продукции «Apple». От этого же порта охотно заряжается планшет Freelander PX1.

Зарядка гаджетов через USB. Зарядка, Гаджеты, USB, Otg, Распиновка, Ремонт техники, Длиннопост

USB Data кабель iPhone iPod распайка, распиновка разъемов.

Если вы случайно перепутаете местами Белую и Зеленую жилу, то ничего страшного не произойдет. Windows скажет что USB устройство неопознано. Просто поменяйте их местами.

Если вы перепутаете их с Красной жилой — попадание +5V на чип управления данными (при допустимых 2,8V) может привести к сгоранию чипа как на iДевайсе, так и на компьютере. Либо к сгоранию USB разъема в целом на компьютере или в iДевайсе.

А может и вся материнская плата потухнуть.

Зарядка гаджетов через USB. Зарядка, Гаджеты, USB, Otg, Распиновка, Ремонт техники, Длиннопост

Зарядка гаджетов через USB. Зарядка, Гаджеты, USB, Otg, Распиновка, Ремонт техники, Длиннопост

Разъемы состоят из двух склеенных пластиковых половинок. Внутри располагается 4-х жильный кабель (жилы обычно Красного, Белого, Зеленого и Синего, либо Черного цвета) и сам разъем. В домашних условиях при наличии инструмента не составляет труда аккуратно вскрыть разъем и произвести пайку.. После обе половинки склеиваются суперклеем.

Вилка кабеля, подключаемая к iPhone/iPod.

С левой стороны разъема видим 3 контакта друг за другом, и один контакт посередине. Итак, слева направо:

Зеленый (Green, D-)

Красный (Red, V BUS, +5V)

Синий, либо Черный (Blue/Black, GND земля)

Вилка USB тип А, подключаемая к компьютеру. Слева направо:

Синий либо Черный (Blue/Black, GND земля)

Зеленый (Green, D-)

Красный (Red, V BUS, +5V)

Хочу обратить ваше внимание на то, что по спецификации USB (тип А) Белая и Зеленая жилы на вилке типа А обычно следуют наоборот. (Зеленый D+, Белый D-. )

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

Еще совет: каждая жила внутри кабеля — многожильная. Чем больше проводков вы сохраните при зачистке кабеля, тем меньше будет глючить iTunes, синхронизация, перенос покупок, резервная копия и рестор.

Motorola «требует» резистор 200 кОм между 4 и 5 контактами штекера USB micro-BM. Без резистора аппарат заряжается не до полной победы.

Зарядка гаджетов через USB. Зарядка, Гаджеты, USB, Otg, Распиновка, Ремонт техники, Длиннопост

Для заряда Samsung Galaxy в штекере USB micro-BM должен быть установлен резистор 200 кОм между 4 и 5 контактами и перемычка между 2 и 3 контактами.

Зарядка гаджетов через USB. Зарядка, Гаджеты, USB, Otg, Распиновка, Ремонт техники, Длиннопост

Для более полного и «гуманного» заряда планшета Samsung Galaxy Tab рекомендуют другую схему: два резистора: 33 кОм между +5 и перемычкой D-D+; 10 кОм между GND и перемычкой D-D+.

Зарядка гаджетов через USB. Зарядка, Гаджеты, USB, Otg, Распиновка, Ремонт техники, Длиннопост

Зарядка гаджетов через USB. Зарядка, Гаджеты, USB, Otg, Распиновка, Ремонт техники, Длиннопост

Аппарат E-ten («Енот») не интересуется состоянием этих контактов, и поддержит даже простое зарядное устройство. Но у него есть интересное требование к зарядному кабелю — «Енот» заряжается только если в штекере mini-USB закорочены контакты 4 и 5.

Зарядка гаджетов через USB. Зарядка, Гаджеты, USB, Otg, Распиновка, Ремонт техники, Длиннопост

Если нет желания возиться с паяльником, можно купить кабель USB-OTG — у него в штекере mini-USB контакты 4 и 5 уже замкнуты. Но тогда ещё потребуется переходник USB AM-AM, то есть, «папа»-«папа».

Зарядка гаджетов через USB. Зарядка, Гаджеты, USB, Otg, Распиновка, Ремонт техники, Длиннопост

Распайка OTG переходника.

Зарядка гаджетов через USB. Зарядка, Гаджеты, USB, Otg, Распиновка, Ремонт техники, Длиннопост

На рисунке выше показаны отличия обычного кабеля (вверху) от кабеля OTG (внизу). Нумерация сигналов на коннекторах miniUSB и microUSB следующая:

Вывод 2: сигнал данных D-

Вывод 3: сигнал данных D+

Вывод 4: не подключен / не используется

Вывод 5: ground (общий провод, земля)

Зарядка гаджетов через USB. Зарядка, Гаджеты, USB, Otg, Распиновка, Ремонт техники, Длиннопост

Чтобы перевести телефон в режим OTG, нужно замкнуть контакты 4 и 5. Вы можете их соединить навсегда, спаяв вместе, или подключить к ним 2 провода, вывести их наружу и подсоединить к микровыключателю. С использованием выключателя можно переключать кабель из обычного состояния в режим OTG, когда это нужно. В этом случае на противоположной стороне кабеля нужно параллельно коннектору Type A Male запаять коннектор Type A Female. Можно также сделать маленький переходник с двумя коннекторами Type A Female, чтобы его можно было подключить на противоположной стороне кабеля. Если Вы решили замкнуть контакты 4 и 5 постоянно, то нужно на противоположной стороне заменить коннектор Type A Male на коннектор Type A Female, чтобы он подходил для подключения устройства USB. Коннектор Type A Female можно взять от планки расширения портов USB, которая устанавливается на заднюю стенку корпуса компьютера PC. Если Вам повезет, и Вы найдете коннекторы в магазине радиотоваров, то самодельный кабель можно изготовить по цене порядка 1 доллара.

Ещё распайка OTG — зарядка.

Зарядка гаджетов через USB. Зарядка, Гаджеты, USB, Otg, Распиновка, Ремонт техники, Длиннопост

Претендующее на универсальность автомобильное зарядное устройство «Ginzzu GR-4415U» и его аналоги оборудованы двумя выходными гнёздами: «HTC/Samsung» и «Apple» или «iPhone». Распиновка этих гнёзд приведена ниже.

Зарядка гаджетов через USB. Зарядка, Гаджеты, USB, Otg, Распиновка, Ремонт техники, Длиннопост

Для питания или заряда навигатора Garmin требуется особый дата-кабель. Просто для питания навигатора через дата-кабель нужно в штекере mini-USB закоротить 4 и 5 контакты. Для подзаряда нужно соединить 4 и 5 контакты через резистор 18 кОм:

Зарядка гаджетов через USB. Зарядка, Гаджеты, USB, Otg, Распиновка, Ремонт техники, Длиннопост

Отдельная тема — зарядка планшетов. Как правило, планшету для заряда требуется приличный ток (1÷1,5 ампер), и заряд через гнездо mini/micro-USB во многих планшетах просто не предусмотрен производителем. Ведь даже USB 3.0 не даст более 0,9 ампер.

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

На Ютубе один парень предлагает установить в планшете 3Q перемычку между первым контактом гнезда mini/micro-USB (это +5 В) и плюсовым (центральным) контактом круглого (коаксиального) зарядного гнезда. Дескать, тока от USB этому планшету хватает, просто + гнезда USB не подключен к контроллеру заряда аккумулятора. После установки перемычки планшет якобы заряжается. В принципе, это выход, если само круглое зарядное гнездо уже раздолбано.

Напротив, если круглое гнездо в порядке, но по какой-то причине вам хочется брать питание для заряда именно от USB компьютера или зарядного устройства с таким разъёмом, то можно сделать такой переходник:

Зарядка гаджетов через USB. Зарядка, Гаджеты, USB, Otg, Распиновка, Ремонт техники, Длиннопост

Типы зарядных портов.

Здесь же приведу сводную схему напряжений на контактах USB с указанием номинала резисторов, позволяющих те или иные напряжения получить. Там, где указано сопротивление 200 Ом нужно ставить перемычку, сопротивление которой не должно превышать те самые 200 Ом.

Зарядка гаджетов через USB. Зарядка, Гаджеты, USB, Otg, Распиновка, Ремонт техники, Длиннопост

Итак, если вы хотите переделать обычное ЗУ в USB-зарядку для телефона:

удостоверьтесь, что устройство выдаёт около 5 вольт постоянного напряжения

узнайте, способно ли это ЗУ дать ток не менее 500 мА

внесите необходимые изменения в коммутацию гнезда USB-AF или штекера USB-mini/micro

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

1. Блок питания зарядки выдает слишком маленькую мощность. Причина первая по списку, но последняя по вероятности, если только не пользоваться какими-то уж совсем запредельными кетайцами за полбакса 🙂 А так, любая «нормальная» зарядка, на которой написано про 2 ампера тока, уж хотя бы 1.5А да как-нибудь выдаст — и почти всегда этого окажется достаточно.

2. На контактах данных USB разъема неверная «сигнатура», не подходящая для включения «быстрой» зарядки конкретного гаджета — это наиболее вероятная причина. Кстати, обращаю особое внимание на то, что эта самая «сигнатура» (т.е. некоторая коммутация контактов данных USB в комбинации с резисторами) может быть расположена как в самой зарядке, так и в проводе, соединяющем зарядку и гаджет!

3. Micro (и Mini) USB разъемы содержат 5 контактов, тогда как «классический» USB 2.0 и предыдущие, содержит 4 контакта (два контакта питания и два передачи данных). У некоторых производителей этот 5-й контакт также задействован для идентификации зарядки. Здесь чаще это спрятано внутри провода питания.

В принципе, это почти все возможные случаи отсутствующей/медленной зарядки, разве что еще можно добавить один…

4. Плохие провода/контакты, вызывающие слишком большое падение напряжения. Это применимо и к контактам данных (гаджет не может правильно прочитать «сигнатуру» зарядки) и к контактам питания (слишком уменьшается ток в цепи). Чем менее качественные разъемы/провода, и чем длиннее провод, ведущий от зарядки к гаджету, тем выше вероятность этого случая.

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

Родные и неродные зарядки для смартфонов.

Увидел вопрос — почему смартфон Samsung от родной зарядки заряжается значительно быстрее, чем от неродной, хотя параметры на них написаны одинаковые: 5 В, 2,1 А?

Краткий ответ: потому что неродная не заточена спаявшим её китайцем на информирование смартфона о своих параметрах.

Исторически USB придумали во времена, когда смартфонов ещё не было, телефоны заряжались каждый от своего собственного фирменного зарядника, а с компьютером соединялись либо по дико медленному и неудобному инфракрасному порту, либо через фирменный кабель в COM-порт (позже, когда появились USB-кабели, долгое время они просто имели внутри микросхему транслятора USB-RS232). Впрочем, чаще всего телефоны тогда с компьютером вообще не соединялись, да.

Соответственно, правила подключения нагрузки к USB исходили из того, что эта нагрузка потребляет мощность для какой-то своей текущей, сиюминутной деятельности. То есть, как только её отключили — эта деятельность прекратилась; ни о какой зарядке аккумуляторов речи не шло. Соответственно, не было и такой сущности, как блок питания с разъёмом USB — у вас же нет блоков питания с разъёмом COM, LPT или PS/2, так? В результате, согласно спецификациям USB, подключение устройства должно происходить так:

Пока шина USB не активирована — устройство потребляет не более 2,5 мА;

После активации шины (обнаружения хостом устройства и начала обмена данными) устройство имеет право потреблять до 100 мА

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

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

bMaxPower — это один байт, единица измерения потребления — 2 мА, соответственно, устройство теоретически могло попросить до 510 мА. В спецификациях USB прописалось число 500 мА.

Для нас здесь важны два пункта:

Устройство не может легально получить в своё распоряжение более 500 мА

Даже для получения 500 мА, согласно спецификациям, требуется обмен данными с хостом

Потом появились смартфоны, телефоны, плееры, планшеты и чёрт в ступе с разъёмом USB, от которого всё это многообразие логично было и заряжать. Для зарядки нам не надо в общем-то ничего, кроме напряжения, поэтому далее появились блоки питания с разъёмом USB, такую зарядку обеспечивающие. Но тут возникла проблема: как устройство поймёт, что оно подключено к блоку питания? Просто по наличию напряжения — нельзя: тогда оно будет считать таким же блоком питания и порт USB в компьютере, и будет потреблять от него свои 500 мА, даже не получив на это разрешения (понятно, что на практике многие устройства так и делали, но вообще-то это — нарушение спецификаций USB). Вставлять в каждый зарядник микроконтроллер, который будет проводить полную инициализацию подключённого устройства? Дорого.

Решение было простое: зарядное устройство (ЗУ) должно подавать на ненужные ему сигнальные линии D+ и D– USB-разъёма что-нибудь такое, чего USB-хост туда не подаёт. Например, можно закоротить эти линии друг на друга или на «плюс» питания (в USB-хосте они через резисторы притянуты к «земле»), а заряжаемое устройство, потыкавшись в них, сможет отличить ЗУ от настоящего хоста. И если видит ЗУ — то врубает зарядку без раздумий, если видит хост — начинает процедуру инициализации.

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

Мощности устройств и ёмкости их аккумуляторов росли, соответственно, зарядка током 500 мА стала занимать всё больше времени. Ток захотелось поднять. Со стороны ЗУ это сделать несложно — разъём USB физически способен выдержать до 5 А. Но, опять же, как устройство будет понимать, что от этого ЗУ можно брать больше 500 мА? Потому что если не будет — то оно просто будет перегружать (вплоть до выхода из строя) все ЗУ, рассчитанные на 500 мА максимум (а таковых в тот момент было подавляющее большинство).

Решение, опять же, было простым: с контактами D+ и D– в ЗУ можно сделать много такого, чего с ними никогда точно не сделает хост, и по этим их разным состояниям научить устройство определять, к какому ЗУ оно подключено. Например, если на D+ и D– напряжение +5 В, то устройство считает, что его включили в зарядник с током 500 мА, а если +5 В и 2,5 В — что в зарядник с током 1000 мА. Ну и так далее, и тому подобное.

К сожалению, никакого общепринятого стандарта на способ кодирования нагрузочной способности ЗУ не существует по сию пору. Из этого следует, что у разных производителей способы кодирования отличаются, и техника одного производителя может не понимать ЗУ другого. В лёгком (и наиболее частом) случае устройство, не опознавшее мощность ЗУ, просто будет заряжаться от него в безопасном режиме — 500 мА, и время зарядки значительно увеличится по сравнению с родным ЗУ, которое опознаётся правильно. В тяжёлом случае устройство вообще не поймёт, что перед ним ЗУ, и будет пытаться инициализировать порт так, как будто оно воткнуто в полноценный USB-хост (т.к. ему никто не ответит — зарядка просто не пойдёт). В смешном случае устройство решит, что ваше ЗУ способно на большее, чем оно способно на самом деле, и либо убьёт его, либо вгонит в защиту.

Соответственно, если вы покупаете либо родное ЗУ, либо ЗУ пристойного производителя, официально заявленное как совместимое с вашим смартфоном (плеером, планшетом, Tesla Model S или что у вас там будет заряжаться), то вы получаете гарантированную зарядку на той скорости, которую физически может позволить ЗУ и устройство. Если вы покупаете ЗУ, предназначенное для другого устройства, или китайское изделие, предназначенное неизвестно для чего, то во многих случаях вы получаете зарядку током 500 мА независимо от того, что написано на этикетке ЗУ.

Короткий вывод: хотите гарантированной работы — покупайте аксессуары, для которых работа гарантируется!

В настоящее время существует стандарт USB Battery Charging Specification 1.2, описывающий три типа USB-портов — обычный, для зарядки с передачей данных и только для зарядки, а также стандартизированные способы их определения.

К сожалению, хотя он официально разрешает порты зарядки с током до 1,5 А, в объективной реальности он мало что меняет. Во-первых, там по-прежнему нет способов узнать, какую именно мощность умеет отдавать конкретное ЗУ (например, хотя порты типа DCP — Dedicated Charging Port, только для зарядки, без передачи данных — соответствующие USB BC 1.2, обязаны выдавать ток до 1,5 А, но напряжение на них при этом имеет право проседать до 2,0 В), во-вторых, и это ещё важнее, переход на USB BC ломает обратную совместимость ЗУ и устройств у производителей, которые уже использовали свои схемы определения типа ЗУ, причём ломает иногда совсем неприятно для пользователя — в стандарте нет способа определить, соответствует ли ему собственно ЗУ. Поэтому, если вы возьмёте устройство, соответствующее USB BC 1.2 (ток потребления до 1,5 А), и воткнёте в зарядку 5В/1А, у которой закорочены D+ и D– (самый распространённый способ сообщения устройству, что перед ним ЗУ, а не полноценный хост), то оно посчитает, что перед ним USB BC-совместимая зарядка, и начнёт честно жрать из неё свои 1,5 А. Зарядка либо сгорит, либо выключится. В результате производителям и устройств, и зарядок пока что нет никакого резона переходить на стандарт USB Battery Charging — удобнее для всех, включая пользователей, спокойно соблюдать статус кво.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *