image

Уже не раз замечал интерес к новой плате-клону всем известной Raspberry Pi от китайских энтузиастов из компании Xunlong под звучным названием Orange Pi PC. Прославилась она, в основном, своим неплохим «железом» (4-ядерный процессор Allwinner H3, 1Gb RAM и GPU Mali-400MP2 600MHz), наличием неплохого функционала (HDMI, AV, Ethernet, 3 USB, microUSB-OTG, инфракрасный порт для управления с пульта и GPIO-гребенка, по словам разработчиков, якобы «100% совместимая с Raspberry Pi), а главное — ЦЕНА. Создатели оценили свой девайс всего лишь в $15, ПЯТНАДЦАТЬ долларов, Карл! (скоро мы увидим, что это на самом деле весьма лукавое заявление, и конечный девайс стоит дороже).

Итак, давайте рассмотрим данную плату повнимательнее.

В рунете уже есть на нее обзоры, но все они представляли из себя нечто вида „установил андроид и подключил к телеку на кухне“. Я предлагаю взглянуть на плату с другой стороны, а именно — установить туда линукс, поюзать её как настоящий ПК, и даже немного поиграть.

Для тех, кому лень читать полностью, прорезюмирую:

Интересная штука, на данный момент вполне юзабельная, но имеется огромное количество огрехов и косяков, требующих допиливания напильником. Покупать только на свой страх и риск! Простому пользователю, рассчитывающему иметь готовое решение „из коробки“, я бы посоветовал обратить внимание на ТВ-боксы на базе Android или Windows. Продвинутому пользователю, знакомому с Linux, который не боится неизведанных челенджей в сыром продукте, и которому хотелось бы иметь неттоп для интернет-серфинга, работы с документами, программирования и скромных игр — must have! Особенно с учетом цены.

0. Предыстория. Немного о Raspberry Pi и его клонах


Raspberry Pi Model A, изображение из гугла
Raspberry Pi Model A, изображение из гугла

Когда в 2011 году создатели Raspberry Pi огласили на весь мир свои планы сделать миниатюрный (площадью примерно с пластиковую карту) и недорогой ($25) компьютер, весь мир компьютерных энтузиастов и гиков был в экстазе. Все только-только отходили от революции в домашней электронике „для Кузьмичей“, которую свершила Arduino со своей концепцией доступных и простых отладочных плат, а тут практически за те же деньги полноценный ПК на Linux!

Конечно, на ARM-процессоре от мобильного телефона с 256Мб оперативки особо не разгуляешься, но даже несмотря на все существовавшие ограничения, любители и гики пытались запускать на „малинке“ игры, серфили интернет, делали из нее всевозможные домашние серверы и, конечно, использовали в качестве „мозга“ во всевозможных DIY-проектах благодаря встроенному GPIO.
Но время шло. Несмотря на то, что первоначально Raspberry Pi задумывался как современный аналог BBC Micro — как простой, недорогой и всеми способами доступный компьютер для обучения школьников программированию и компьютерной науке, „малинка“ все же завоевала сердца простых обывателей, у которых были запросы более требовательные к железу, нежели интерпретатор Python'a и моргание светодиодом через GPIO. Гикам хотелось, чтобы их игрушка могла проигрывать качественные видео, запускать красивые 3D-игрушки и резво отрисовывать „тяжелые“ веб-страницы.
Поэтому в феврале 2015 создатели „малинки“ выпустили новую модель — Raspberry Pi 2. Тут уже был „полный фарш“ — процессор обзавелся 4 ядрами для распараллеливания „тяжелых“ задач и 1 гигабайтом оперативной памяти для облегчения жизни пользователей. Но было уже поздно.

Пока производители Raspberry Pi медлили с выпуском новой версии, у них появилось множество „идейных последователей“, в том числе и из Китая, которые кинулись выпускать клоны Raspberry Pi, в целом преследуя одну и ту же цель — удовлетворить спрос массового пользователя на недорогие и мощные платы.

Так появился целый сонм различных альтернатив „малинке“ — ODROID, Banana Pi, PandaBoard, Сubieboard, BeagleBone и многие другие (более полный список можно увидеть здесь, здесь и здесь ). Одной из этих альтернатив стала плата Orange Pi — мини-пк на базе двухъядерного SoC Allwinner A20. Позднее ее производитель, китайская компания Xunlong, выпустила ее обновленую версию, Orange Pi 2 на базе четырехъядерного SoC Allwinner H3, кастрированной версией которой и является герой нашего обзора — Orange Pi PC.

Обошелся он мне в $18.52 с доставкой почтой Финляндии. Заказ был сделан 26 октября, а 17 ноября заказ был уже у меня (довольно быстро, особенно если учесть многочисленные предупреждения от продавца о том, что в связи с высоким спросом отправка может занять дольше обычного).

1. Комплектация и внешний вид



Минимальная комплектация: сама плата, коробка и инструкция

Итак, начнем с комплектации. Её нет. От слова совсем. Ведь я заказывал самую дешевую версию платы, без каких-либо ништяков. У продавца в наличии есть еще различные наборы — сама плата, блок питания, корпус из орг.стекла, радиатор, карточка памяти и т.д.
Я решил пойти самым спартанским путем, поэтому мне в дополнение к плате досталась лишь коробочка с плохенькой полиграфией, склеенная, по ощущениям, вручную, и мятая бумажка с какими-то увещеваниями на тему „не суйте пальцы в розетку“, видимо, необходимая для соответствия различным гос.требованиям США и ЕС.

Рассмотрим плату со всех сторон:



На самой плате отчетливо выделяются:

чип Allwinner H3 — не самый плохой, но Allwinner — контора все-таки довольно гнилая, уже ставшая печально известной своим нарушением открытых лицензий, а ее чипы — невыносимой прожорливостью слона и тепловыделением, сравнимым с небольшим вулканом. Единственным их преимуществом остается низкая цена, а это порождает вокруг чипов огромное коммьюнити (плодами которого, кстати, мы и будем пользоваться);
— два чипа оперативной памяти DDR3L Samsung K4B4G16460-HYKO по 512Mb каждый, дающие в сумме 1Gb RAM.

С верхней стороны платы мы видим IR-приемник и гребенку GPIO. Кому интересно, вот распиновка:





С правой стороны мы видим 3 USB 2.0 разъема и порт Ethernet 10/100.
Кстати, насчет USB портов
По информации с linux-sunxi.org, порты USB „чистые“, а не разведенные через встроенный хаб, поэтому подключенные устройства могут работать в параллели, не деля между собой канал. Такого даже в „малинке“ нет!



Снизу мы видим дурацкий нестандартный разъем питания (сделанный таким, видимо, для того, чтобы увеличить продажи кастомных блоков питания у производителя плат), гребенку для подключения UART (распиновка GND, RX, TX — все штырьки подписаны), полноценный HDMI-разъем, микрофон и разъем 3,5 для вывода на „колокольчики“.

Надо сказать пару слов про питание. В документации сказано, что плата очень прожорливая и требует твердых 5В и 2А от блока питания. Производитель платы продает к ней блоки питания на 5В и аж 3А (!), поэтому советую приобрести именно такой, на случай, если амперы в вашем блоке питания окажутся „китайскими“, иначе возможны „фризы“. С нестандартным разъемом бороться можно просто — плату можно запитать через шину GPIO: +5В подключаем на 2 или 4 пин, „землю“ на 6 пин.



С левой стороны мы имеем microUSB-OTG, разъем для подключения камеры (модуль камеры продается у производителя за безумные $8.76 с доставкой), непонятную кнопку (якобы „Power Switch“, но в Lubuntu он не работает). Так же под разъемом для камеры находится разъем для подключения MicroSD карт памяти.

Ну что ж, пока плата выглядит неплохо. Есть свои „специфические моменты“, но пока они выглядят терпимо, скажете вы… Но на самом деле, интересное еще впереди!

Что нужно сделать, прежде чем включать плату. Это важно!

Даже производитель не рекомендует работать с Orange Pi PC без радиатора! Без охлаждения чип греется до адских 70-80 градусов и выше, и в лучшем случае, это закончится троттлингом процессора, поочередным отключением ядер процессора и фризом, в худшем — процессор будет безнадежно сожжен! Конечно, это можно и обойти вас стороной, но я бы все же не стал рисковать.
Я заблаговременно приобрел мини-радиаторы для Raspberry Pi, выглядят они вот так:



Стоят они доллар на алиэкспрессе, имеют самоклеющуюся поверхность и неплохо рассеивают тепло за свои деньги. Некоторые пользователи Orange Pi PC подключают активное охлаждение, кулеры и т.д., но я отказался от этого, ниже объясню почему.

Потом, как пишут на всех форумах, плата очень требовательна к скорости microSD карты! Рекомендуется брать карту со скоростью не ниже Class 10 UHS-1, иначе ни одна ОС приемлемо работать не будет, проверено на себе.

Последнее: если вы хотите использовать Wi-Fi, то учтите, встроенного wi-fi нет! Необходимо приобрести свисток, причем на определенном чипе. Умельцы запилили поддержку свистков на чипах Rtl8188cus, Rtl8192cu, Rtl8188eu/eus/etv, RT5370.

Я использую такой свисток за 4 доллара (ebay) на базе RTL8188EU:



Ну и конечно, перед работой неплохо бы подготовить некоторую периферию: мышь, клавиатуру и так далее.

Мой набор


Помимо указанного свистка и мини-радиатора я использую переходник HDMI-VGA чтобы подключиться к обычному компьютерному монитору, переходник USB-PS/2, чтобы использовать старую компьютерную клавиатуру, USB-геймпад, MicroSD карточку class 10 uhs-1 LD 16Gb, приехавшую по акции с JD и чудо-мышь со встроенным MicroSD-кардридером и колонкой (!), подключенной во встроенную в мышь USB-звуковуху (!). Очень удобно.

Как мы видим, уже само требование наличия блока питания ($5), радиатора ($1), wi-fi ($4) и microsd-карточки ($5) уже делает плату значительно дороже первоначальных $15 и приближает по стоимости к дешевым Android ТВ-боксам. Тем не менее, если все это у вас уже было, то с покупкой платы вам не придется переплачивать за ненужные опции (к примеру, вместо WiFi можно прекрасно использовать встроенный Ethernet).

2. Устанавливаем ОС


Первым делом, нам понадобится программа Win32DiskImager, скачать ее можно на sourceforge. Потом, нам понадобится образ ОС. Я использую образ Lubuntu от Jacer, в котором полноценно работает GPU Mali-400 и GPIO через библиотеку WiringOP (порт с Banana Pi) — ссылка. После установки Win32DiskImager и загрузки образа ОС, открываем программу, выбираем там нужный файл с образом, удостоверяемся, что пишем его на нужную карту памяти и нажимаем Write:



После успешного завершения записи на карту, у вас от карты в системе будем виден лишь крохотный BOOT раздел FAT32. На него необходимо скинуть правильный script.bin и uImage. Скачиваем этот архив, извлекаем из него файлы script.bin и uImage и скидываем с перезаписью на нашу карту. После этого вставляем ее в наш девайс и подключаем к нему питание. Если вы все сделали правильно, то на плате загорится красный LED и начнет загружаться система.

После включения система потребует ввести имя и пароль.

Имя пользователя — orangepi
Пароль — orangepi

Не забудьте открыть окно терминала (ctrl+alt+T) и ввести sudo fs_resize, чтобы „подогнать“ разметку диска в системе под размер вашей карточки.

3. Фиксим оверкерлокинг


Теперь очередная „особенность“ этой платы, а точнее — свинья, подсунутая производителем. Две основные проблемы, с которыми сталкиваются пользователи — перегрев процессора (а также связанный с ним троттлинг, отключение ядер, зависание плат» и просадки вольтажа (которые тоже вызывают зависания) имеют общие корни:

Для того, чтобы прорекламировать свою плату как «самую мощную, мощнее чем Raspberry Pi», производитель плат Xunlong зарядил дефолтный клокинг ядер ЦПУ на 1536 МГц, что является номинальным «верхним потолком» по документации на чип, но даже сам производитель не рекомендовал использовать его на этой частоте, предупреждая о проблемах с перегревом.

Мне лично вполне хватает плавающего клокинга на 480-1200МГц, в зависимости от задач, поэтому рекомендую накатить следующий скрипт (за него и за всю исследовательскую работу спасибо юзеру bronco с офиц. форума):
Заголовок спойлера
#!/bin/bash

export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

if [ "$(id -u)" != «0» ]; then
echo «This script must be executed as root. Exiting» >&2
exit 1
fi

Fex2Bin="$(which fex2bin)"
if [ «X${Fex2Bin}» = «X» ]; then
apt-get -f -q -y install sunxi-tools
fi

Path2ScriptBin="$(df | awk -F" " '/^\/dev\/mmcblk0p1/ {print $6}')"
if [! -f "${Path2ScriptBin}/script.bin" ]; then
echo «Can not find script.bin. Ensure boot partition is mounted» >&2
exit 1
fi

MyTmpFile="$(mktemp /tmp/${0##*/}.XXXXXX)"
trap «rm \»${MyTmpFile}\"; exit 0" 0 1 2 3 15

bin2fex <"${Path2ScriptBin}/script.bin" | grep -v "^LV" | grep -v "^max_freq" | grep -v "^min_freq" | grep -v "^extremity_freq" >"${MyTmpFile}"
if [ $? -ne 0 ]; then
echo «Could not convert script.bin to fex. Exiting» >&2
exit 1
fi
cp -p "${Path2ScriptBin}/script.bin" "${Path2ScriptBin}/script.bin.bak"

sed -i '/\[dvfs_table\]/a \
extremity_freq = 1296000000\
max_freq = 1200000000\
min_freq = 480000000\
LV_count = 7\
LV1_freq = 1296000000\
LV1_volt = 1320\
LV2_freq = 1200000000\
LV2_volt = 1240\
LV3_freq = 1104000000\
LV3_volt = 1180\
LV4_freq = 1008000000\
LV4_volt = 1140\
LV5_freq = 960000000\
LV5_volt = 1080\
LV6_freq = 816000000\
LV6_volt = 1020\
LV7_freq = 480000000\
LV7_volt = 980' "${MyTmpFile}"

fex2bin "${MyTmpFile}" "${Path2ScriptBin}/script.bin" >/dev/null
if [ $? -ne 0 ]; then
mv "${Path2ScriptBin}/script.bin.bak" "${Path2ScriptBin}/script.bin"
echo «Writing script.bin went wrong. Nothing changed» >&2
exit 1
fi

echo «Successfully repaired broken overvolting/overclocking settings. Reboot necessary for changes to take effect»

Скопируйте и сохраните этот скрипт как fix.sh в домашней директории, после чего откройте терминал и выполните:

chmod +x fix.sh sudo ./fix.sh sudo reboot

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

4. Тест-драйв


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

Судите сами

LibreOffice отлично и шустро работает




Chromium работает как полноценный настольный браузер




Youtube-плагин для SMPlayer шустро переваривает и 720р, и 1080р потоковое видео (в предустановленном Chromium поддержки аппаратного декодирования пока нет)


Можно даже попрограммировать в Eclipse или в Code::blocks!

4к видео я тоже проверял, играет вроде нормально, но не без шероховатостей. Смысла пока в нем не вижу, 1080р хватает за глаза.

Проверка GPIO


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

Отдельная тема — это игры, как же без них? Предлагаю оценить производительность в классике компьютерных игр, которая имеется под Linux — Quake 3 Arena.

Установка Quake 3 Arena
Инструкция взята с форума ODROID.

0. (добавлено мной). Делаем симлинк и копируем заголовочные файлы, чтобы не править makefile:

ln -s /usr/include/khronos/GLES /usr/include/GLES cp /usr/include/khronos/EGL/* /usr/include/khronos/GLES

1. Клонируем исходный код:

git clone --depth 1 git://github.com/mdrjr/ioquake3-odroid.git

2. Переходим в папку:

cd ioquake3-odroid

3. Собираем:

make -j5 ARCH=arm

4. Переносим папочку чтоб было аккуратно:

mv build/release-linux-arm ~/quake3

5. Кладем файлики игры pk*.pk3 (можно найти на диске с оригинальной игрой) в папку ~/.q3a/base3.

6. Запускаем файл ioquake3-smp.arm.

И играем!

Результат на видео:



От себя: идет идеально, по крайней мере я никаких глюков не заметил. Ребята молодцы, хорошо постарались, когда портировали драйвер GPU Mali под линукс!

Еще немного демонстрации графических/игровых способностей:

Orange Pi PC: Reicast - Dreamcast emulator - Sonic Adventure 2

Orange Pi PC: H-Craft


Orange Pi PC: Jedi Knight 3: Jedi Academy



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

Кому я категорически НЕ порекомендовал бы брать эту железяку:

— тем, кто на «Вы» с линуксом;
— тем, кто хочет готовое решение «из коробки»;
— тем, у кого мало свободного времени и плохо с английским для чтения форумов;
— тем, кому нужна возможность поставить Windows;
— тем, кому нужна хорошая поддержка коммьюнити, уровня Raspberry Pi и Arduino;
— тем, кому надо побольше ядер и оперативки непонятно зачем.

Этим людям я бы посоветовал взять либо более популярное устройство (малину), либо более мощную плату (на подходе уже есть 8-ядерные платы с 2-3Гб оперативки), либо просто свисток для ТВ на Android или Windows. Это будет лучше, чем взять сгоряча «апельсинку» и потом негодовать, потому как этому поделию далеко до идеала.

5. Вместо послесловия


На волне нового «тренда» производителей плат мини-пк выпускать ультра-дешевые изделия (C.H.I.P за $9, Raspberry Pi Zero за $5), создатели «апельсинки» Xunlong объявили о новом своем продукте: Orange Pi ONE и Orange Pi Lite (ссылка на официальный форум).

Фото из первых рук


Новинка будет стоить $12 и $9.99 и размером будет меньше кредитной карты. Версия за 9,99 долларов, судя по анонсу, будет почти идентична герою обзора, но будет иметь лишь 512Mb RAM и 1 USB-порт (плюс один microUSB хост). Конечно, не разгуляешься, но должен признать, что это выглядит гораздо интригующе, чем 1-ядерные старенькие чипы на CHIP и RPi Zero.

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

Комментарии (44)


  1. Hellsy22
    20.01.2016 12:21
    +2

    Гхм, не очень понятно почему китайское изделие противопоставляется классической RPI — она тоже идет без блока питания, корпуса, Wi-Fi, радиатора и SD-карты. В свое время я, наигравшись с RPI B+, прикинул, что дешевле и удобнее взять простейший китайский смартфон с функцией usb-host и воткнуть в него Arduino — тогда сразу же решаются все вышеописанные проблемы, а до кучи появляется еще и возможность автономной работы, защита от скачков напряжения, тачскрин, GSM-модуль, камера, микрофон и слабенький динамик.


    1. satie
      20.01.2016 12:59

      Насчет комплектации, скорее, изделие противопоставляется android TV-боксам и стикам. Многие покупают подобные платы (и Raspberry Pi в том числе) для того, чтобы тупо подключить к телевизору/монитору и смотреть фильмы. Для этих целей можно взять любой андроид-бокс за $30, которого будет все работать «из коробки».


      1. ncix
        20.01.2016 14:12
        +1

        >> Для этих целей можно взять любой андроид-бокс за $30, которого будет все работать «из коробки».
        Работать будет довольно паршиво, хоть и из коробки. Знаем, пробовали. Железо там никакущее за такие деньги, еле тянет сам Андроид


  1. Rezzet
    20.01.2016 14:55

    Жалко что в подобных платах действует какое-то ограничение на память, 1GB, сделайте две версии или три 1GB, 2GB, 4GB и 8GB. Память стоит копейки, ну будет плата с 8GB стоить 100 баксов, отлично, зато на ней можно будет реально клевые штуки делать не думаю о памяти.


    1. Hellsy22
      20.01.2016 15:24

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


      1. satie
        20.01.2016 16:00
        +1

        SATA интефейс присутствует у многих подобных плат, но это сказывается на цене. У обозреваемой платы предельно бюджетный SOC стоимостью $5, который такой функциональности лишен.


        1. Rumlin
          20.01.2016 16:23

          Могли бы SATA хотя бы развести на плате или вывести на гребенку — народ бы сам допаял.


    1. satie
      20.01.2016 15:59
      +2

      Всегда присутствует ограничение бюджетного ARM ЦПУ по шине, тем более что там всего 32бит. Есть 2ГБ версия конкретно этой платы: www.cnx-software.com/2015/11/09/orange-pi-plus-2-allwinner-h3-board-includes-2gb-memory
      есть конкуренты с 2Гб на борту, например ODROID. Ну а 8GB пока нет ни у кого, насколько я знаю.


  1. rstepanov
    20.01.2016 15:02
    +1

    Камрады, остался 71 час, потом будет поздно:
    www.kickstarter.com/projects/pine64/pine-a64-first-15-64-bit-single-board-super-comput

    Я залил бабки за топовую версию с 2 Гб RAM и гигабитным Ethernet.


    1. alexpp
      20.01.2016 15:17

      Интересно, с какой скоростью тут будет работать Андроид?


      1. rstepanov
        20.01.2016 15:33

        Очевидно, как на топовом смартфоне :)


        1. Hellsy22
          20.01.2016 15:46
          +2

          Это вы так пошутили? A53 @ 1.2Ghz — это удел дешевых смартфонов конца 2015г.


          1. rstepanov
            20.01.2016 16:00
            +1

            Хорошо, что вы в этом разбираетесь. Меня производительность смартфонов последний раз интересовала когда стандартные программы Андроида типа «позвонить» и «написать смс» только-только перестали тормозить на телефонах не дороже 200 долларов.


    1. satie
      20.01.2016 16:00
      +1

      Интересно, ехать будет так же долго, как ехала первая «малинка» своим владельцам?


      1. rstepanov
        20.01.2016 16:08

        Кто же знает то?


  1. shtirlitsus
    20.01.2016 15:02
    +3

    полцарства за SATA.

    PS.и не надо говорить про USB2SATA


    1. eps
      21.01.2016 00:59
      +1

      Banana Pi M1+

      — Дороже ($38)
      — SATA (не USB2SATA, правда быстрый)
      — Gigabit Ethernet
      — 2.4 ГГц WiFi

      Это даёт ускорение файлохранилища почти в 5 раз
      image


      1. shtirlitsus
        21.01.2016 11:42

        в спецификации A83T нету sata. их видимо не включают нигде в ARM.
        image
        так что всё тот же usb-sata



  1. uterr
    20.01.2016 15:17

    Я взял себе такую же плату, но еще почти пол года назад.

    Подскажите, заработали ли все USB порты при работе под Linux? А так же, работает ли теперь аппаратное ускорение youtube?
    Раньше это все не работало, поэтому было скорее бесполезной


    1. satie
      20.01.2016 16:02
      +2

      >Подскажите, заработали ли все USB порты при работе под Linux?
      Работает, даже порт microUSB работает, к нему я обычно подключаю Bluetooth донгл, чтобы «переднюю» сторону держать максимально свободной.
      >А так же, работает ли теперь аппаратное ускорение youtube?
      В хроме не работает, как я понял, надо пересобирать. Зато работает, если браузить Youtube через плагин для SMPlayer — в статье я привел скриншоты работы, видео играет очень плавно.


  1. VBKesha
    20.01.2016 16:22

    USB-OTG то есть на это плата может притворятся USB устройством. Вот что то подобное давно хотел прикупить.