Страсть наших азиатских друзей к клонированию успешных проектов непреодолима. Вот так, не успел Raspberry Pi 2 попасть на полки магазинов - а тут уже "небольшая динамично развивающаяся " китайская компания размахивает аналогичной платой с четырехядерным процессором, гигабайтом памяти, ethernet, GPIO и тремя USB-портами.
Может ли быть хорошо за 15 долларов (а именно столько стоит герой следующей заметки - Orange Pi PC) - попробуем разобраться.
Orange Pi PC - типичный представитель семейства “распиподобных одноплатников”, которые в наше непростое время не “шлепает” только ленивый.
Начать, наверное, следует с покупки.
Приобретение
Плату можно приобрести на AliExpress, поиск выводит на единственного продавца. Дополнительно можно закупить БП (рекомендуется от 1.5А), корпус и кабель питания (и это, кстати, нужно сделать) - ибо потом замучаешься подбирать разъем, да и в наше странное время готовый кабель будет сильно дешевле самодельного, если, конечно у вас нет склада бесхозных USB разъемов.
Дальше всё как обычно - платим, ждем, получаем.
Доходит быстро, ибо продавец отправляет почтой Финляндии (?!?).
Первые впечатления
Сама плата приходит в коробочке.
В комплекте памятка, где написано, что мол используйте нормальный источник питания.
Что ж, ничего нового. Плата “не умеет питаться” через OTG, вот тут-то нам и пригодится купленный заранее кабель.
Не беда, если кабеля нет. Его можно довольно просто изготовить самому с помощью подходящего разъема.
На самой плате есть аж целых 3 разъема USB, Ethernet и 40 pin GPIO. Из плюсов - в отличие от того же Cubieboard 2 - шаг контактов стандартный - 2.54 мм, так что можно использовать стандартный ide разъем например. На Orange Pi PC нет ниакой “своей” flash-памяти, лишь одинокий гигабайт RAM.
Время подобрать дистрибутив.
Операционные системы
Сердцем платы является микропроцессор Allwinner H3 - относительно новый и сильно удешевленный SoC от Allwinner.
Сам чип размером всего лишь 14x14 мм, однако в состоянии “покоя” греется аж до 50 градусов (без радиатора).Datasheet здесь
С дистрибутивами все не очень просто, сразу скажу - Android не пробовал, но по слухам у него не работает Ethernet.
Утверждать не буду - желающие могут качнуть отсюда.
А вот с Linux повеселее - тут и Arch, и Debian и Fedora. Не обошлось без Ubuntu и даже Raspbian!
Все это - детище человека с ником Loboris. Более того - форк ядра доступен, и даже собирается самостоятельно. Вместе с образом Debian. Следующая засада - ядро. Тут оно 3.4x. И вряд ли будет новее. Поддержка Allwinner H3 в mainline 4.x в зачаточном состоянии - работает только одно процессорное ядро из 4х, да и греется ужасно. Так что приходится довольствоваться устаревшим 3.4.x, но и на этом спасибо. Вот тут лежат последние ссылки на готовые образы вместе с инструкцией по установке.
Я лично пошел по пути самостоятельной сборки - все отлично, собирается “как надо”, возможны трудности в настройке кросс-утилит, особенно если у вас 64битная система - нужно ставить несколько 32битных компонент.
Решение о “самосборе” тоже было правильным, ибо Loboris по каким-то причинам отключил часть usb wifi адаптеров в конфигурации, и по закону подлости мой Atheros попал в эти самые отключенные.
Ставим одну галку в config, пересобираемся и вуаля - вполне работающее ядро и rootfs.
Запуск
При первом старте системы лучше подключить HDMI-монитор (или телевизор), а также ethernet.
Вот dmesg уже настроенной системы:
Дистрибутив щедро снабжен различными скриптами-помогателями - тут и изменение размера файловой системы и апдейт ядра - все лежит в /usr/local/bin:
- -rwxr-xr-x 1 root staff 4881 Nov 22 18:28 fs_resize
- -rwxr-xr-x 1 root staff 4381 Nov 22 18:28 install_lxde_desktop
- -rwxr-xr-x 1 root staff 4775 Nov 22 18:28 install_mate_desktop
- -rwxr-xr-x 1 root staff 5825 Nov 22 18:28 install_to_emmc
- -rwxr-xr-x 1 root staff 5911 Nov 22 18:28 install_to_sdcard
- -rwxr-xr-x 1 root staff 3848 Nov 22 18:28 install_to_usb
- -rwxr-xr-x 1 root staff 1530 Nov 22 18:28 install_x2goserver
- -rwxr-xr-x 1 root staff 5010 Nov 22 18:28 install_xfce_desktop
- -rwxr-xr-x 1 root staff 4086 Nov 22 18:25 update_boot.sh
- -rwxr-xr-x 1 root staff 4961 Nov 22 18:28 update_kernel.sh
Температура процессора меряется вот этой командой:
#cat /sys/devices/virtual/thermal/thermal_zone0/temp
И первое что мы видим, что даже небольшие задачи “греют” процессор аж до 70 градусов.
Я лично установил радиатор - цена вопроса небольшая.
Но, похоже без активного охлаждения обойтись будет сложно, ибо радиатор потом еще и отдает тепло на сам чип :).
К другим детским болезням платы можно отнести и использование видеоускорителя Mali. Все его болезни в Linux широко известны общественности по другим устройствам. Так, сборка/использование видеоплеера с поддержкой CedarX превращается в корриду. Поддержки OpenGL нет, но есть OpenGL ES (версия для встраиваемых систем) от которого толку в десктопной жизни не очень много.
Производительность
И тут все не радужно.
Вот результаты SysBench.
Для сравнения - результаты этого же SysBench, но для более дорогих моделей (хотя и более старых).
Ну а вот мой любимый тест на scrypt mining:
$ minerd --benchmark [2015-12-13 10:26:38] Binding thread 1 to cpu 1 [2015-12-13 10:26:38] 4 miner threads started, using 'scrypt' algorithm. [2015-12-13 10:26:38] Binding thread 0 to cpu 0 [2015-12-13 10:26:38] Binding thread 2 to cpu 2 [2015-12-13 10:26:38] Binding thread 3 to cpu 3 [2015-12-13 10:26:45] thread 3: 4098 hashes, 0.61 khash/s [2015-12-13 10:26:45] thread 1: 4098 hashes, 0.59 khash/s [2015-12-13 10:26:45] thread 2: 4098 hashes, 0.59 khash/s [2015-12-13 10:26:45] thread 0: 4098 hashes, 0.57 khash/s [2015-12-13 10:26:50] thread 3: 3042 hashes, 0.61 khash/s [2015-12-13 10:26:50] Total: 2.35 khash/s
При этом используется активное охлаждение. При отсутствии такового - идет довольное сильное падение (ибо процессор начинает снижать частоту).
Как видим - чуть быстрее чем Allwinner A20 (как раз на разницу в частоте, так что считай тоже самое), но все еще медленнее, чем RockChip из расчета на каждое ядро.
Потребление
В моем случае Orange Pi PC потребляла от 0.4 А до 0.8 А. Не могу сказать, что это нечто революционное, особенно учитывая, КАК греется чип. Но вполне типично для ARM. Сам же производитель просит БП от 1.5А. Понятно - защищаются от жалоб и возвратов.
Брак
У меня было 4 платы. С тремя все хорошо, на четвертой - непропай одного из USB разъемов и огромная сопля припоя на гребенке GPIO. Паяльник спасает, но далеко не все осилят даже такой ремонт.
Использование
Для чего же “годится” такая плата ? Думаю, для десктопных дел, мультимедиа, эмуляторов лучше с ней не связываться - хотя устройство новое, может будет какой-то прорыв.
Ежели планируется нечто headless, как то - torbox, сервер, всякие разные эксперименты с GPIO, то учитывая совместимость по пинам с Raspberri Pi - вполне подойдет для экспериментов. Тем более, что Java 8 ARM на ней вполне должна заработать.
Вердикт
Приемущества:
- Цена
- GPIO совместимость с Raspberry Pi
- Наличие привычных дистрибутивов и открытые исходники, которые реально компилируются без особых “приседаний”.
Недостатки:
- Нагрев
- Процент брака
- Устаревшее ядро
- MALI
- Реально работающие дистрибутивы поддерживаются силами одного человека (т.е. масса людей зависит от него, а если, допустим, ему надоест ?)
Чудес не бывает - “расплата за плату” ценой в 15 долларов - ваше время и соответственно деньги. Подойдет для проектов, где не важен UI и поддержка аппаратной графики. Есть шанс на исправление, хотя бы путем поддержки ядер 4.x.