Практически каждое поколение портативных устройств производители чипов на архитектуре ARM пытаются втиснуться в рынок полноценных десктопных компьютеров и получить себе место под солнцем в качестве рабочих станций, серверов, а то и простых мультимедийных ПК. Последний десяток лет им это удаётся особенно хорошо, и в первую очередь — благодаря выходу чипа Apple M1. Даже Qualcomm, в сотрудничестве с Microsoft, выпустили нетбуки на полноценной Windows 10 For ARM с эмулятором x86, который и игрушки неплохо тянет. Однако яблочные устройства стоят огромных денег: 100+ тысяч рублей может потратить далеко не каждый энтузиаст, который хотел бы себе портативный компьютер на ARM. А вот 500-2.500 рублей вполне! Предлагаю в этой статье глянуть на ARM-смартбуки прошлых лет и оценить их перспективы тогда и сейчас!
❯ Предыстория
На самом деле, эра портативных ПК на ARM началась не с выхода M1, как кто-то может считать, а ещё с самого начала нулевых. Параллельно обычной версии Windows для x86-совместимых систем, Microsoft разрабатывала и успешно продвигала Windows CE — версию ОС для встраиваемых систем, для которой характерны различные архитектуры (MIPS, PPC, ARM) и ограниченные ресурсы (от 5 МБ ОЗУ для запуска GUI окружения, для CLI можно и меньше). Портативная версия системы от Microsoft могла похвастаться интерфейсом а-ля десктопной Windows, идентичным форматом exe и возможностью загрузки динамических библиотек, поддержкой «ООП на уровне системы» — т.е COM и ActiveX, и API, которое очень напоминало обычное WinAPI с некоторыми особенностями (выкинули ANSI версии функций, выкинули слои совместимости с 16-ти битными приложениями). Чуть позже даже подвезли почти полную поддержку .NET Compact Framework — т.е. под встраиваемые системы была возможность писать на C# и VB.NET, а приложения, спроектированные с учетом особенностей CE, могли работать без изменений и на обычных ПК!
Скорее всего, Вы хоть раз встречали в своей жизни WinCE: её повсеместно использовали в автомобильных навигаторах (помним звук «блюм»?), терминалах самообслуживания (POS), станках управления ЧПУ, телефонах (коммуникаторы на базе Windows Mobile), КПК или даже планшетах! Система действительно имела хорошую популярность, и в не последнюю очередь благодаря уже наработанной базе разработчиков, знакомых с API обычной Windows. Благодаря этому, в разные времена выходили разные устройства, которые были призваны играть роль портативных ПК, на которых можно было бы выполнять различные задачи: просматривать и редактировать документы, слушать музыку, выходить в сеть, использовать программы, написанные сторонними разработчиками. Как вам, например, планшет на WinCE из 2003 года?
EB2000:
Одним из самых популярных классов подобных устройств были карманные персональные компьютеры — т.е КПК. Их название говорило само за себя. Такое устройство могло было выполнять довольно обширный круг задач обычного ПК: слушать музыку, заниматься теми же самыми документами, играть, сёрфить ранний WEB2.0, а иногда и выводить картинку на телевизор. А ещё можно было всегда держать связь с «большим братом» — т.е обычным ПК, и синхронизировать всю работу, выполненную на устройстве.
Сталкерам привет!
Тем не менее, «под капотом» Windows NT и CE сильно отличались: CE была написана так, чтобы её легко можно было портировать между любыми устройствами, где нет чёткой спецификации «что и как должно работать», как это происходит на обычных x86 ПК. Если на обычных компьютерах у нас гарантированно есть BIOS, который может предоставить функции для работы с дисками/флоппиками/cd-rom и что-то вывести на экран, есть стандартизированный способ общения с видеокартой и вывода 2D изображения (VESA), есть четко фиксированные порты ввода-вывода для работы с клавиатурой и мышкой, то на портативных устройствах у вас есть только голое железо, под которое вы сами должны написать Board Support Package (BSP) и адаптировать систему под конкретно эту плату/платформу — сделать опрос физических кнопок, выводить картинку на экран, обрабатывать ввод с тачскрина и т.п. Этим и обеспечивался большой парк поддерживаемых устройств.
Почти Win95!
Кроме WinCE, были и другие системы для embedded устройств: QNX (BlackBerry OS), Palm, Symbian (EKA) и они тоже использовались на весьма обширном числе устройств, но Symbian в первую очередь была предназначена для смартфонов, Palm — для КПК и, позже, коммуникаторов, но была однозадачной, а QNX была проприетарной. Поглазеть исходники WinCE мог любой: Platform Builder с полным исходным кодом как UI, так и ядра, можно было скачать свободно, но чтобы использовать в коммерческих целях, нужно было платить…
Но что насчёт чего-то свободного? Тут приходит Linux, который вполне неплохо работал на ARM уже тогда. Вспомнить только Sharp Zaurus, или серию интернет-планшетов от Nokia а-ля N810, которые не просто работали на Linux как Android, но и использовали типичное *nix окружение в виде glibc/xorg. А ещё всё это было полностью свободным, производитель обязан был выпустить исходный код ядра устройства, благодаря чему моддить его мог кто угодно!
Шло время, в КПК стали появляться радиомодули, что превращало их в коммуникаторы, а у коммуникаторов росли дисплеи и становилось меньше хардварных кнопок, что превращало их в смартфоны и планшеты. Чипсеты портативных ПК серьезно нарастили свою мощь: уже в 2010 году, в мобильном мире, чипы с частотой 600 мгц-1 ггц и мобильным GPU были вполне себе нормой, и они практически не выделяли тепло, а потребляли сравнительно мало. С момента выхода первого iPad, интернет-планшеты потихоньку начали заменять некоторым людям нетбуки, а благодаря китайским производителям и чипмейкерам, через год-два цены уже упали ниже 200$ за полноценный Android-планшет в кармане, который может запустить что-то вроде Asphalt 6.
Примерно в тоже время, как выходили первые интернет планшеты, производители решили поэкспериментировать и выпустить небольшие ARM-смартбуки! Это эдакие предшественники хромбуков, только ориентировались они не на веб, а на мобильные приложения. Уже тогда у Android была довольно большая база приложений, а сама система поддерживала мышку с клавиатурой в качестве устройств ввода. Перспективы были большими, ведь ARM-чипы стоили в разы дешевле, однако разные производители пошли разными путями…
❯ Кто на что горазд
Один из самых популярных смартбуков своих лет, Toshiba AC-100, работал на базе мощнейшего, по своим годам, чипсета Nvidia Tegra, имел 512 МБ ОЗУ (что было неплохо по меркам планшета, но мало по меркам десктопа) и 8 ГБ ПЗУ. Всё это удовольствие стоило около 150$ в розницу — или ~4.000 рублей по тем деньгам. Очень недорого, согласитесь? EEEPC на x86 стоил не меньше 8-9 тысяч, или 280$, а тут смартбук с весьма годным железом, которое гораздо лучше справляется с мультимедийными задачами, стоит почти в два раза дешевле!
Так уж получилось, что AC-100 мне подарил читатель с хабра под ником — inkvizitor68sl и именно поэтому, данный девайс станет первым из тех, что будут участвовать в нашем сравнении.
С завода смартбук работал на базе Android 2.1, а вышел в конце 2010 года — прошло почти 13 лет с момента его выхода! Благодаря низкой цене и массовости (в своё время, на форуме linux.org.ru люди строили большие планы на подобные девайсы), а также относительной лояльности Nvidia к open-source (исходники ядра были открыты, но драйвера на видео и, вероятно, другие мультимедийные модули, были в виде «блобов»), на смартбук довольно быстро портировали обычную Ubuntu. Причём разработчики порта откровенно жаловались на Nvidia, объясняя их решения примерно как «накидали всё подряд, чтобы работало как-то, а нам разгребать». Глюков в свое время было куча — то звук отвалится или хрипит, то с видео проблемы. Nv стабильно держала планку касательно поддержки Linux.
Вторыми по популярности стали китайские смартбуки на чипе WonderMedia WM8650. Тут уж китайцы перепрыгнули сами себя: полноценный девайс с клавиатурой, дисплеем, тачпадом, Ethernet, Wi-Fi, аккумулятором и USB-хабом стоили всего ~1.500 рублей, что равняется ~50-60$. 50 БАКСОВ ЗА НЕТБУК, КАРЛ! Это был эдакий ответ на OLPC, производился очень долго (примерно до 2014-2015 года, по некоторым данным — до 2018), а работать мог на 3-х разных ОС, две из которых предоставлял производитель: Windows CE (стоковый), Android 2.1 (тоже от производителя) и обычный Linux.
Фотка выглядит конечно странно, но какой-то шарм в ней есть :)
Судя по референсной схеме, WonderMedia сама проектировала и планшеты, и нетбуки, отдавая готовые схемы производителям на производство. Спроектировали устройство в конце 2010 года. Первый чипсет компании — WM8505, увидел свет в конце 2009 года и имел много общего с 8650 — это были ARMv5 одноядерные процессоры на частоте 600мгц, которые похожи на процессоры для обычных КПК. Из-за того, что WinCE был популярнее Android в 2009-2010 году, изначально вендор портировал именно её.
Чипсет не имел встроенного GPU, поэтому Android на нём работал весьма медленно, однако в нём был модуль для декодирования видео в h264, позволявший смотреть кино с комфортом. Кроме того, устройство относительно адекватно переваривало веб тех лет, что делало из него отличную машинку для серфинга, или, например, сисадминам по объекту бегать. В целом, причина их популярности понятна сразу: дешево, кастомизируемо, доступно (они очень часто светились на главной странице китайских магазинов).
Нетбуков на базе чипсетов WonderMedia у меня целых два: второй из них на WM8880, который я купил почти новым, с родной коробочкой. Через несколько лет после выхода подобных ультрабуков, WonderMedia активно метила в рынок ультрадешевых планшетов и даже добилась некоторых успехов, но основной рынок занял AllWinner/RockChip, а затем пальму первенства перехватил MediaTek.
В сравнение можно было бы добавить популярные в прошлом «планшеты с клавиатурами» от китайцев — эдакие трансформеры по 2 тыщи, — но это будет не совсем честно: мы ведь смотрим на полноценные смартбуки!
Итак, у нас есть аж три девайса, которые мы будем сравнивать, но по каким критериям? В 2023 году, нам нужны будут как минимум три вещи:
- Мультимедийные возможности — просмотр кино, прослушивание музыки, опционально — DLNA сервер
- Серфинг — сможет ли устройство выйти в сеть и насколько хорошо у него это получится. Одно дело linux.org.ru листать, другое «тяжелый» Хабр читать
- Возможности администрирования — поскольку мои статьи всегда были с уклоном в техническую часть, весьма немалый процент моих читателей — потенциальные сисадмины, которые могут рассматривать подобное устройство к покупке. Попытаемся узнать, можно ли подключиться по VNC к серверу, или админить сервак с SSH
- Удобство использования — сюда я причисляю такие характеристики, как качество дисплея, качество динамиков, плавность работы, время жизни от аккумулятора. Тут уже моя личная субъективщина — для кого-то TN матрицы после Galaxy S22 вырвиглазные, а мне норм!
Такие устройства сейчас можно найти на барахолках за копейки. В среднем, их цена 500-1.500 рублей (не забываем про торг! Можно попытаться сбить ещё ниже), но иногда продавцы наглеют и просят больше цены нового (!). Т.е., условно, AC-100 стоил 4.000 рублей новым по тому курсу 13 лет назад, а сейчас её пытаются впаривать за 5.000. Тоже самое с ноутами на вондермедии: они стоили 1.500 рублей, а кто-то пытается впарить за 2.000 рублей. Но цену можно легко скинуть, если указать продавцам на цену нового девайса 10 лет назад: обычно люди соглашаются.
❯ Обслуживание
Первым делом, мы обслужим нетбук на WM8650, благо требовал он только замену АКБ и перепрошивку. Предыдущий владелец успел установить тормозной кастом с кучей софта: благо с прошивками тут всё хорошо. Поскольку эти смартбуки были почти идентичным в хардварном плане (дисплеи — TTL, тачскринов не было, контроллеры тачпада/клавиатуры — идентичные), то подходит одна единая прошивка «для всего». Прошить их очень легко: кидаем прошивку на заранее отформатированную в FAT SD-флэшку, вставляем в смартбук и включаем его. Дальше он сделает всё сам!
Под «капотом» всё работает достаточно просто: в качестве загрузчика используется обычный U-Boot (записанный в SPI-памяти), который выполняет роль BIOS. При старте он ищет скрипт wmt_scriptcmd в корне флэшки, и если находит, то начинает исполнять команды из него. Скрипт очень простой: по сути, он напрямую загружает файлы в память (стандартные образы nb0) и записывает их в внутреннюю память. Затем u-boot запускает свежую, но ещё чистую систему, копирует все программы во внутреннюю память и отправляет систему в ребут. Благодаря такой свободе действий, можно напрямую грузить систему с SD-флэшек/USB-флэшек, да хоть по сети, если такая поддержка есть в U-Boot. А исходники U-Boot ведь доступны любому!
Теперь время разобрать смартбук и заменить АКБ. После разборки я немного удивился: обычно в подобных лэптопах используется стандартная 3.7В аккумулятор, но в этом смартбуке было два элемента 7.4В, связанных изолентой в «динамитную шашку» :). Поскольку места в «поддоне» много, я решил заменить их на довольно ёмкие аккумуляторы от битых телефонов.
Сделать АКБ «по заводу» своими руками не выйдет, поэтому я вынес плату контроллера отдельно (выглядит не очень, т.к не хотел ничего клеить, да и тканевого скотча под рукой не оказалось). Осторожнее с полярностью, контроллер не уйдет в защиту при переполюсовке! Если после подключения АКБ у вас отсутствует напряжение на выводах, то отверткой можно аккуратно позамыкать все ножки у контроллера АКБ, и он начнёт работать (справедливо для любых аккумуляторов).
За кадром я привел хаос из проводов в порядок.
Давайте посмотрим на плату устройства поближе. По сути, основная плата с чипсетом, памятью и всей обвязкой, припаяна к дополнительной плате с контроллером сети, аудиокодеком, USB-хабом и.т.п. Сделано это, скорее всего, для удешевления: заведомо рабочие «чипсетные модули» при бракованных платах можно будет просто перепаять, а ещё эти модули могли продавать и другим разработчикам железа, например, ЧПУ станков.
На плате очень много подписанных (!) диагностических пятачков, благодаря чему можно подпаяться к UART и общаться с нетбуком через COM-порт в WinCE, или попробовать подключить внешние девайсы к шине SPI/I2C (насчёт их использования в юзермоде WinCE я не уверен). Для самоделок, такой нетбук может оказаться просто незаменимой панелью управления!
Его более «свежий» брат на WM8880 (произведенный аж в 2018 году) уже работал исключительно на Android 4.4 KitKat и был скорее планшетом без тачскрина и с клавиатурой. Он не требовал никакого обслуживания, кроме замены АКБ, которая тут была пухлой как батон! Благо, она съёмная — что несомненный плюсик производителю.
Этот нетбук уже ценный тем, что работает от обычного 3.7В АКБ и потребляет не очень много энергии, что при небольшом моддинге позволяет вынести мощный аккумулятор за корпус и получить автономный девайс. Пятачки у них обычно тоже подписаны, и с условной Arduino/ESP32 можно попытаться «общаться» через UART. Кроме того, он довольно ремонтопригоден: например, дисплей тут универсальный, 7-дюймовый, с TTL-интерфейсом от планшетов и стоит по 200-300 рублей.
AC-100 же требовал только переустановки ОС и работал из коробки, даже аккумулятор живой. Разве что кнопка Backspace отвалилась со временем, но это мелочи. На нём уже была установлена Ubuntu 12.04 моим читателем, но в ней были глюки со звуком, а ещё забыт пароль (в single user загрузиться нельзя, или я не понял как).
Благо найти образ ОС и переустановить её легко и сейчас. Берём отсюда presintalled bootimg и tar.gz — это ядро с рамдиском и установщик системы. Подключаем выключенный нетбук к ПК с MiniUSB кабелем, нажимаем Ctrl + Esc и нажимаем кнопку включения. Нетбук перейдет в режим загрузки: надо установить драйвера nvflash и сам nvflash. Закидываем bootimg в «Program Files/NVIDIA Corporation\tegra_froyo_20101105», открываем командную строку и пишем:
nvflash --bl bootloader.bin --download 6 «lubuntu-12.10-preinstalled-desktop-armhf+ac100.bootimg»
Ядро записано. Теперь берем любую USB-флэшку, просто кидаем в корень tar.gz (не распаковывая), вставляем в нетбук и перезагружаем его долгим зажатием кнопки питания и повторным включением. Нетбук сам распакует rootfs и начнёт установку, дальше процесс идентичен установке десктопной Ubuntu.
Система устанавливается ~10 минут. Но это ещё не все: репозитории с софтом давно перемещены на old-release, поэтому сразу после загрузки открываем /etc/apt/sources.list в nano/vi/abiword и меняем ports.ubuntu.com, на old-releases.ubuntu.com. Выполняем apt-get update, ждём и всё: теперь мы можем устанавливать софт из репозиториев, но только для архитектуры armhf (есть ещё armel, но это другое ABI без поддержки FPU).
❯ Мультимедиа
Первым делом заценим мультимедийные возможности нетбука на WinCE. И тут все в целом ничего: есть стерео-звук (правда достаточно тихий), благодаря Windows Media Player поддерживаются многие форматы музыки, а хардварный видео-декодер полностью работает. Есть ещё и TCPMP плеер, судя по всему, есть поддержка воспроизведения с удаленного сервера. Удобно!
Правда, стоит быть готовым к тому, что видео придется переконвертировать при необходимости: настроек для принудительного включения программного декодера я не нашёл. В целом — посмотреть киношку в mp4/h263 можно без проблем. Для музыки его можно использовать только нетребовательным пользователям: WinCE вроде-бы не поддерживает внешние аудио-DAC, поэтому в качестве полноценной аудиосистемы его использовать не выйдет.
Острого недостатка в софте под WinCE не чувствуется: ещё в нулевых выходили устройства, которые назывались HPC (Handheld Personal Computer), под которые и вышло основное число программ. Плюс, здесь запускаются некоторые программы и игры от WinMobile, но только в полноэкранном режиме.
Ситуация с AC-100 же ровно наоборот: у него гораздо более качественный стереозвук, обилие самых разных плееров (mplayer, vlc и кучу других), есть возможность переконвертировать видео прямо на устройстве (ffmpeg), но несмотря на присутствие блобов… 720p видео он всё равно декодирует софтварно! Чипсет точно умеет до 1080p, но поддержки декодера в системе нет. В качестве грязного хака, можно сделать дуалбут с Android'ом и для просмотра видео использовать его — там точно всё будет работать.
А вот музыку на нём слушать очень даже неплохо! Плюс, DLNA-сервер из него развернуть не будет проблемой.
Малыш, благодаря Android на борту, оказался самым функциональным: тут есть и кучу плееров, и эквалайзеры, и аудиоредакторы. Кроме того, есть DLNA-сервер.
Видео он переваривает без каких либо проблем.
❯ Сёрфинг
Не стоит ожидать, что такие нетбуки смогут больше, чем устройства на Atom. Их максимум — лампово полистать opennet, зайти на linux.org.ru, или почитать rss Хабра. Никаких ютубчиков, вкшечек и прочего: лучше всего они работали на выходе с вебом времен HTML4.
Вот так это выглядит с AC100. Тут у нас есть Chromium и FireFox, не исключаю, что можно попытаться собрать и более свежие версии браузеров, но как они будут работать на 512 МБ ОЗУ? Вот то-то же…
Относительно неплохо идут дела у нетбука на WM8650. В качестве браузера тут Pocket IE, который Вы можете помнить по коммуникаторам на Windows Mobile, и есть альтернатива в виде Opera Mobile, но всё равно — работает так себе.
Малыш тут показывает себя лучше всего. Можно накатить последний доступны на KitKat Google Chrome (правда работает он так себе), а можно остановиться на Opera Mini, который еще переваривает большинство сайтов для «почитать».
❯ Администрирование
У всех устройств с этим всё хорошо: под WinCE есть VNC-клиент, RDP-клиент для Windows и порт Putty (который может слушать в том числе и COM-порты).
Под Ubuntu всё максимально очевидно: TightVNC есть, ssh из коробки есть, а под Android разработаны самые разные клиенты, про некоторые я рассказывал в статьях о превращении «сонерика» в тонкий клиент и Galaxy J3 за 500 рублей в сервер. Всё тоже самое — только с клавиатурой!
❯ Личные ощущения
Самой крошечкой, которую при желании можно закинуть даже в сумку или карман зимней куртки, оказался нетбук на WM8880. В целом, он не только крохотный, но и весьма добротно собран. В целом, при желании им можно пользоваться даже стоя, держа его в одной руке, а работая второй рукой: такое качество может пригодится сисадминам, которые бегают по объекту.
У него есть полноценный Ethernet-контроллер на 100мб/с, Wi-Fi, и он поддерживает 3G модемы. Тачпад здесь всего на одно касание, без возможности скроллинга, но из-за специфики Android, весь скроллинг производится «зажал кнопку и потянул». Кроме того, у него есть 2 полноценных USB разъёма, 3.5 разъемы для наушников/микрофона, слот для SD-карт и полноценный HDMI для вывода картинки на монитор (правда, только в разрешении экрана — т.е 480p).
Кроме того, у него весьма ёмкая АКБ и он питается от 5В, что позволяет путём нехитрых манипуляций сделать зарядку от повербанка. Жаль, что у устройства нет тачскрина, хотя-бы резистивного — он был бы очень кстати. Дисплей, хоть и TN, весьма низкого разрешения, но неплох в повседневной работе — с такого расстояния явных пикселей не видно, да и есть серьезный плюс — как я уже говорил, сюда подойдут обычные TTL матрицы с планшетов по 300 рублей, так что даже разбитый экран не будет означать конец нетбуку!
Девайс на WinCE оказался очень тонким и слегка косит на MacBook. Несмотря на то, что нетбук пытается казаться «большим» (хотя есть подобные буки и с 7" дисплеями — как и WM8880), рамки у него очень здоровые. Зато всё гораздо лучше в плане дисплея: HD TN матрица с неплохими характеристиками: скажу честно, у многих нетбуков за 10-12 тысяч рублей ситуация в разы хуже. Однако, такие матрицы и минус: если её повредить, то замена на алике будет стоить ~2.000 рублей, а найти её больше нигде не представляется возможным.
Качество сборки у него неплохое — даже после нескольких разборок у него не рассыпались клипсы, и он чувствует себя уверенно. Однако пластик оказался слегка скрипучим (впрочем, нетбук явно многое повидал). Что мне понравилось — так это клавиатура. Она здесь действительно ничего, как и тачпад, зато не понравились динамики — очень тихие (возможно «сели»). Для WinCE здесь просто огромный объём ОЗУ: аж 200 мегабайт почти свободно! Для Android это нормальный объём, но не более: какой-то хорошей многозадачности ожидать не придётся.
Тошиба же чувствуется как гораздо более дорогое устройство. Скажем так, явно не на 5 тысяч рублей: классный рельефный корпус, отличная сборка без люфтов и скрипов, АКБ продолжает жить спустя 13 лет. От клавиатуры весьма неплохие тактильные ощущения, хотя кому-то кнопки могут показаться великоватыми. Мне же нормально, понравилось, привык почти сразу (хотя читатель, подаривший мне устройство, назвал клавиатуру неудобной). В теории, даже замену при желании можно будет попытаться найти.
У Toshiba весьма достойный HD дисплей 10", также выполненный по технологии TN. В целом, у него, пожалуй, лучшая матрица: никаких особых искажений не видно, даже при работе в разных положениях. Мне лично понравился. Звук из его динамиков заметно чище и громче.
❯ Заключение
Ещё 13 лет назад, смартбуки на ARM были достаточно функциональными и при этом очень дешевыми устройствами. Они легко выполняли многие повседневные задачи пользователя в те годы: мультимедиа, какие-то игры, серфинг в интернете. Но это не значит, что спустя 10 лет они стали бесполезными — подобный нетбук вполне подойдет на дачу, в гараж, или даже в качестве небольшого сервера. Кроме того, из них можно сделать отличные терминалы для самоделок: например, панель для умного дома.
Так может, для успеха нужен дешевый open-source нетбук до 2 тысяч рублей, с доступными схемами и исходниками загрузчика/ядра хотя бы с блобами? Ведь ТВ-приставки захватили сегмент дешевых устройств с мощным железом, почему бы не добавить этим приставкам дисплей и клавиатуру!? А вы как считаете? Жду ваше мнение в комментариях!