• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Обсуждение Orange Pi Zero H2 Quad Core за 7$

pvvx

Активный участник сообщества
По умолчанию (без доп настроек и установок) трафик WiFi у Оранж Пи Зеро в ARMBIAN Debian:
Снимок1140.gif
Т.е. фактически полная для WiFi устройства с одной антенной (предел TCP ~ 1.3 Mегабайта в сек).
При Ping модуль WiFi успевает входить и выходить из sleep. По этому данные ping не корректны. Для замера в ping надо отключать sleep...
C прошивкой OpenWRT данные получше. Там наверно правильнее расставлены приоритеты задач.
Для режима SoftAP драйвер WiFi видимо ещё не доделан... :( Нерадивые программеры валят на то, что чип WiFi дешевый и убогий :) Что с успехом можно переадресовать про них :)
 
Последнее редактирование:

goodwin

Member
Потестировал платку в WinSCP через SSH - кидал туды-сюды файл 60 МБ..
В Zero пользовал каталог /tmp (RAM диск).
К слову, ethernet выдает скорость 5.7 МБ/сек в обе стороны - видимо тут SSH влияет.
WiFi специально испытывал в реальных условиях - точка доступа "bgn" находится в дальнем углу
другой комнаты через стену. И еще зеркальный шкаф во всю эту стену.
Сыровато все пока в прошивах/драйверах..

В Ubuntu Xenial Legacy 3.4.113 работает кое-как.
Через встроенный WiFi читается со скоростью 300 кБ/сек, пишется со скоростью 80 кБ/сек.
Наблюдается такая беда:
Похоже через встроенный WiFi не ходят ARP broadcast пакеты.
Если пингануть с компа платку Zero сразу после старта, то она не находится.
Приходится с платки сделать ping на IP адрес компа, после чего связь устанавливается.
Ну и изредка соединение рвется.
Подключенные внешние USB WiFi "свистки" (D-Link, RTL8188cu) роняют систему.

В свежем Ubuntu Xenial server 4.9.0 (Nighty release) с новым ядром результаты чуть лучше.
Через встроенный WiFi читается со скоростью 620 кБ/сек, пишется так же -80 кБ/сек.
С ARP та же байда... И тоже отваливается периодически...
А вот Dlink (DWA125) приятно удивил.
Втыкаешь и заводится с пол-оборота.
Читается со скоростью 4.3 МБ/сек, пишется со скоростью 2.1 MБ/сек.
Причем никаких проблем с ARP и пинг 1..2 мс в обе стороны.
Работает очень стабильно.

RTL8188cu тоже определяется. но работает нестабильно.
Порой нужны пляски с бубном, чтобы подключился к точке доступа.
Когда заводится, скорости тоже неплохие - 1.2 МБ/сек, 600 кБ/сек.

ВотЪ ;)
 

pvvx

Активный участник сообщества
Шото плоховато у вас с WiFi... Может роутер такой?
WiFi WinSCP SSH > 1 мегабайта в любую сторону. Иногда падает до 800 кило. Но и дрова говорят ещё не отлажены...
В Wireshark (у меня роутер по проводу 1Gb/s) кажет трафик TCP шумным (запрос-ответ) с редкими выпадениями к 600 ms вроде... Но это может файловая система... А так пакетики льются ровно с задержками между ними менее 1 ms (0.2+). Роутер всё тот-же ASUS RT-N56U с ПО © 2011-2014 Padavan & N56U project community
С ходу не нашел как поставить Iperf — Википедия на Пи Зеро под имеющиеся оси - можно поточнее поглазеть...
На RTL871x и то есть готовый в Arduino и в AT :) Кажет 2100 kbytes/s на модуль в UDP
 
Последнее редактирование:

goodwin

Member
Может и роутер. tl mr3220. Для всего остального в квартире вполне даже ничего...
Может помехи от соседей (их тут хватает).
Но я специально пробовал в условиях, "приближенных к боевым" :)
IPad тоже не блещет вайфаем в этом месте.

ЗЫ: Запустил еще раз Ubuntu Xenial Legacy 3.4.113. в тех же условиях встроенный WiFi.
Поет в фоне вот это радио:
mpg321 -s http://stream2.laut.fm/1000smoothhits | aplay -fcd -D default &
Одновременно пересылается файл по SSH со скоростью 500 кБ/cек.
Загрузка проца 15-20%, работают все 4 ядра.
Хорошая железка за 7$.
WiFi допилят. Не забываем, что и чип, и платка совсем свежие...
 
Последнее редактирование:

pvvx

Активный участник сообщества
Традиционный замер потребления c помощью ESP8266 с датчиком INA219.
Замеряем Orange Pi Zero (WiFi only - сетевой разъем пуст).
Всё указано на картинках:
Снимок1144.gif Снимок1143.gif Снимок1146.gif Снимок1147.gif Снимок1149.gif
 

pvvx

Активный участник сообщества
Не думаю. Спецов по данному вопросу нет. В ПО сплошной бардак - неоптимальность кода за 900%.
OpenWRT - возможно и допилят. Остальное так и останется киш-мишем.
При подключении питания через 0.1 Ом от 5В плата вообще не запускается. С тысячного раза. Иногда виснет на старте, до любого вывода в консоль, при этом жрет хорошо - так и весит. Это говорит о ужасной системе старта - RESET проца наверно болтается. Внешнего сигнала сброса не нашел. На любом БП, который плавно включает питание плата не стартует.
После powerdowd потребление ~10 mA. Если переткнуть питание - падает и до 6 mA. Наглядно видно, что ничего в режим sleep не переводится, т.е. всё сделано кое-как. (c) Linux. Пингвина уже не видно за заплатками :)
 
Последнее редактирование:

goodwin

Member
Это да. Блок питания нужен с запасом мощности и хорошей емкостью на выходе, чтобы куча dc/dc нормально стартанула.
Не зря пишут про 2А и хороший USB кабель.
Ну и микропотребление не актуально - этот агрегат за смешные 7$ имеет производительность, сравнимую с "большими" машинами.
Он немного для других дел. 140 мА в простое с работающим ethetnet это ничто...
 

pvvx

Активный участник сообщества
Ну и микропотребление не актуально - этот агрегат за смешные 7$ имеет производительность, сравнимую с "большими" машинами.
Вот у меня "большая" карманная машина на SAMSUNG с дисплеем как один из настольных 2560x1440. Так не жрет и пускается без проблем, да побыстрее будет. :) Говорит 15.4 дней работать будет со своего АКБ. Врет на 1 день всего.
Он немного для других дел.
Для каких? Для наклеивания радиаторов? :)
Ваши предложения - как запустить плату с первого раза? Исходные комплектующие: БП на 5A 5В.
Мне их встраивать уже надо, а они не пашут. Там 5В 3A и плавный пуск.

Вот потребление SDRAM:
Снимок1157.gif
Описание, что и с чем едят из таблицы: DDR3 SDRAMにおける電流スペックと測定条件 - Wikipedia
При нормальной импульсной работе для хитрых sleep не очень то и много.
 
Последнее редактирование:

goodwin

Member
У меня работает и от вот такой срани :)
caxapa.ru :: Купил вчера "в ларьке" вот таку китайскую шнягу за 48 руб - посмотреть, что там китайцы намутили. На шняге горделиво написано 5В, 1А. Коню понятно, что в таком корпусе ничего пристойного быть не должно, но полет узкоглазой мысли все-таки удивил ;)
Но с этой ("допиленной" мной по ссылке + емкость на выходе 330 мкФ) сранью заметил обрывы связи при работе с WiFi. Да и боязно - спалит платку - слабовата "срань". Это был эксперимент ;)
Стабильно работает с обычным блоком питания 5В/2А от планшета + короткий кабель usb.
Ну и при выключении питания надо дождаться, пока емкость в БП не разрядится,
ибо на платке имеется узел зашиты, который не способствует быстрому разряду емкости в БП.
А если подключен отладочный usart, то напряжения с линии TX вполне достаточно, чтобы подпитывать платку и не давать ей нормально стартовать...
 
Последнее редактирование:

pvvx

Активный участник сообщества
У меня работает и от вот такой срани :)
caxapa.ru :: Купил вчера "в ларьке" вот таку китайскую шнягу за 48 руб - посмотреть, что там китайцы намутили. На шняге горделиво написано 5В, 1А. Коню понятно, что в таком корпусе ничего пристойного быть не должно, но полет узкоглазой мысли все-таки удивил ;)
Но с этой ("допиленной" мной по ссылке + емкость на выходе 330 мкФ) сранью заметил обрывы связи при работе с WiFi. Да и боязно - спалит платку - слабовата "срань". Это был эксперимент ;)
Стабильно работает с обычным блоком питания 5В/2А от планшета + короткий кабель usb.
Ну и при выключении питания надо дождаться, пока емкость в БП не разрядится,
ибо на платке имеется узел зашиты, который не способствует быстрому разряду емкости в БП.
А если подключен отладочный usart, то напряжения с линии TX вполне достаточно, чтобы подпитывать платку и не давать ей нормально стартовать...
Всё это проверено. Беда сидит в плате. Проц обязан стартовать, но там диаграммы включения питания такие прикольные...
USB разъем сломать и сжечь можно от пускового заряда емкостей, если провода короткие. Тем более там стоит хилый ключ между USB питанием и общим +5V.
Если включать по вашим рекомендациям - вылетит.
Хотите проверить? Поставьте хорощий ключик и с пару нан на плату 5V повключайте :)
---------
Включается wowlan
[inline]iw phy phy1 wowlan enable any[/inline]
На команду sleep по питанию нуль изменений...
----
Дросселя с VBUS на VCC 5V нет. Можно взорвать C46 22uF C0805 :)

Вот такой RESET:
Снимок1158.gif
The delay startup time between VCC-RTC and Reset, Reset Start Up after All Domains are Stable: Min 1 ms, Typical 260 ms.
А где тут, в схеме, проверка 'Stable'? :(
D18 XBS104S14 SOD123 стоит, а D48NC/SOD882-ESD – отсутствует на плате.
 
Последнее редактирование:

goodwin

Member
Кроме 22 мкФ на входе, на входах каждого dc/dc стоит керамика 10..22 мкФ.
Общая емкость под сотню uF.
30А ипульсный и 4А постоянный ток это совсем не хилый ключ...
Ничего там не взорвется и не вылетит...

И с цепью сброса тоже все пучком.
Тау RC десятки мс. D18 нужен для быстрой разрядки при выключении питания.
ESD там и нафиг не фпился - он был бы нужен если эта цепь шла, например, на кнопку сброса.
На этой платке таковой не имеется.

Так что надо внимательно присмотреться к этому " 3A и плавный пуск"
На предмет переходных процессов, например...

Для примера осциллограмма подачи питания с моего обычного БП от планшета
при включении его в сеть:
"Полочка" 1.5В в начале - остаточное напряжение на емкости БП после предыдущего выключения.
Время нарастани всего 2 мс..
 

Вложения

Последнее редактирование:

pvvx

Активный участник сообщества
Кроме 22 мкФ на входе, на входах каждого dc/dc стоит керамика 10..22 мкФ.
Общая емкость под сотню uF.
30А ипульсный и 4А постоянный ток это совсем не хилый ключ...
Ничего там не взорвется и не вылетит...
на что ставим? - взорву, без превышения 5В.
И с цепью сброса тоже все пучком.
Тау RC десятки мс. D18 нужен для быстрой разрядки при выключении питания.
А вы попробуйте подрыгать этим транзистором. Поймете почему нет кнопочки. :)
Плата не пускается после разных shutdown, т.е. не с первого раза. Смотрите док на проц и как срабатывает данная цепь сброса.

Еще одна бяка c usbcore: registered new interface driver rt2800usb (свисток Wi-Pi - на компе всё с ним всегда ok):
Код:
root@orangepizero:~# iperf -c 192.168.1.2 -i 1 -t 10 -w 320k -p 5003
------------------------------------------------------------
Client connecting to 192.168.1.2, TCP port 5003
TCP window size:  320 KByte
------------------------------------------------------------
[  3] local 192.168.1.149 port 35540 connected with 192.168.1.2 port 5003
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0- 1.0 sec  3.00 MBytes  25.2 Mbits/sec
[  3]  1.0- 2.0 sec  3.50 MBytes  29.4 Mbits/sec
[  3]  2.0- 3.0 sec  4.00 MBytes  33.6 Mbits/sec
[  3]  3.0- 4.0 sec  4.00 MBytes  33.6 Mbits/sec
[  3]  4.0- 5.0 sec  4.38 MBytes  36.7 Mbits/sec
[  3]  5.0- 6.0 sec  4.38 MBytes  36.7 Mbits/sec
[  3]  6.0- 7.0 sec  4.25 MBytes  35.7 Mbits/sec
[  3]  7.0- 8.0 sec  4.12 MBytes  34.6 Mbits/sec
[  3]  8.0- 9.0 sec  4.50 MBytes  37.7 Mbits/sec
[  3]  9.0-10.0 sec  4.38 MBytes  36.7 Mbits/sec
[  3]  0.0-10.1 sec  40.6 MBytes  33.9 Mbits/sec <--- тут более менее

root@orangepizero:~# iperf -s -w 320k -i 1
------------------------------------------------------------
Server listening on TCP port 5001
TCP window size:  320 KByte
------------------------------------------------------------
[  4] local 192.168.1.149 port 5001 connected with 192.168.1.2 port 48582
[ ID] Interval       Transfer     Bandwidth
[  4]  0.0- 1.0 sec   394 KBytes  3.23 Mbits/sec
[  4]  1.0- 2.0 sec   694 KBytes  5.68 Mbits/sec
[  4]  2.0- 3.0 sec   781 KBytes  6.40 Mbits/sec
[  4]  3.0- 4.0 sec  1.26 MBytes  10.6 Mbits/sec
[  4]  4.0- 5.0 sec  1.42 MBytes  11.9 Mbits/sec
[  4]  5.0- 6.0 sec  1.51 MBytes  12.7 Mbits/sec
[  4]  6.0- 7.0 sec  1.57 MBytes  13.1 Mbits/sec
[  4]  7.0- 8.0 sec  1.16 MBytes  9.76 Mbits/sec
[  4]  8.0- 9.0 sec  1.27 MBytes  10.7 Mbits/sec
[  4]  9.0-10.0 sec  1.52 MBytes  12.7 Mbits/sec
[  4]  0.0-10.2 sec  11.8 MBytes  9.70 Mbits/sec <--- тут беда (и это лучший из десятка пусков!)
Идут постоянные дыры и сваливание до 0 байт в сек. Опять драйвер WiFi кривой? :)
 
Последнее редактирование:

goodwin

Member
Запустил на встроенном в платку XR819 точку доступа под ARMBIAN Ubuntu 16.04.1 LTS 3.4.113-sun8i посредством hostapd.
Скорость передачи файла по SSH аналогична клиентскому режиму - 180/600 кБ/сек.
Пинг в пределах 2..3 мс.
Работает, но больше воздух греет ;) (греется XR819 и подогревает процессор до 50 градусов).
XR819 вроде ничто иное, как лицензированный SDIO чип от ST (с таким ST барыжит uart-WiFi модули). Так что драйвер наверное допилят до приемлемого состояния. Все таки он еще совсем свежий...

Ширпотребный и дешевый usb "грибок" RTL8188cus в этой сборке не работает - ругается "firmware not found". А то и крашит систему.
Натыкал кабалистические слова из вот этой ссылки:
Orange Pi PC Wireless RTL8188CUS - Allwinner H2/H3 - Armbian forum
Что то внутрях компильнулось, обновилось и все стало мягким и
пушистым ;) И скорости до 3.5 МБ/сек, и с пингом нет проблем.
 
Последнее редактирование:

pvvx

Активный участник сообщества
Запустил на встроенном в платку XR819 точку доступа под ARMBIAN Ubuntu 16.04.1 LTS 3.4.113-sun8i посредством hostapd.
Скорость передачи файла по SSH аналогична клиентскому режиму - 180/600 кБ/сек.
Пинг в пределах 2..3 мс.
Ну а с чего пинг 2..3 ms? Модуль WiFi тут при каких делах?
Сигнал на него приходит от роутера в какие-то десятки us.
Система, если получила, то ответит тут-же и чип передаст тоже за десятку us.
Выходит, что виновата система, а не чип XR819. Она что, спит всё время - эти 2..3ms?
Несколько ядер у проца и не одному не ответить? При этом они ничем не заняты.
Почему при этом по LAN отклик другой - те десятки us?
Связь по WiFi полингом сделали на задаче с самым низким приоритетом, ниже idle ? :)
 
Последнее редактирование:

goodwin

Member
Скорее всего драйвер сырой...
Через ethernet пинг - сотни микросекунд, а iperf вообще клевещет про 97 Мбит/сек ;)
 

pvvx

Активный участник сообщества
Скорее всего драйвер сырой...
Через ethernet пинг - сотни микросекунд, а iperf вообще клевещет про 97 Мбит/сек ;)
Ну каким образом сырой? Что он делает несколько ms? Там первый пинг и за сотню ms выскакивает...
Это скорее всего система сырая.
Попробуйте написать такое - чем грузить проц сотни ms в драйвере? Рассчитывать траекторию разгона до помойки с учетом гравитации?
 

goodwin

Member
Это я не в курсе. Народ на форумах тоже негодует по поводу WiFi.
В остальном все вроде довольно неплохо.
Когда грузил iperf-ом ethernet, web радио спокойно продолжало петь песТни :)
 

pvvx

Активный участник сообщества
Берем логику системы работы WiFi.

Каждые 100 ms – beacon. WiFi спит. Просыпается каждые 100 ms и принимает в окне beacon и инфо пакет c битом что ему есть “посылка”. Далее уже идет прием/передача.

А т.к. выскакивает и более 100 ms пинг -> это значит что модуль спит и пропускает beacon-ы и всё подряд.

Если брать, к примеру, систему на RTOS c системным тиком 1 ms (RTL871x), то если криво писали – полинг в задаче – получаете шаг в 1 ms -> пинг прыгает вокруг этих 1 ms. Но WiFi пашет по прерываниям и переключение задачи по правильно расставленному приоритету не зависит от системного тика –> пинг будет равен скорости обработки CPU пакета (до пары us) и времени приема-передачи этого пакета по эфиру c учетом арбитража.

Всё это говорит, что на PI Zero WiFi модуль спит - отключен вообще :).
Беда у PI Zero и с другими драйверами и чипами WiFi.
Система не может справиться с расстановкой приоритетов и отсчетом времени. Linux в помойку! :p
 
Последнее редактирование:

pvvx

Активный участник сообщества
Когда грузил iperf-ом ethernet, web радио спокойно продолжало петь песТни :)
iperf-ом ethernet = 97..98 mbit/s в любую сторону. Но опять-же при дуплексе наблюдается перекос. Опять распределение хромает.
Скорее всего это всё связано с тем, что в linux залезли Арудинщики и прочие некомпетентные программеры… Теперь это вылечить невозможно.
И с чего бы плате не петь песни одновременно с ещё пару задач? Там хоть на Basic это пиши – производительности ядер CPU хватает – можно даже не думать о приоритетах и оптимизации. Так оно и вышло – итоги и наблюдаем. :)
 
Последнее редактирование:

Юрий Ботов

Moderator
Команда форума
А я вот еще что заметил: Zero под Ubunta armlinux - просто входим по ssh, через ethernet и через wifi. И начинаем разные манипуляции типа apt-get. Под ethernet все хорошо и быстро. С wifi - реакция явно медленнее, но это полбеды - через минут 10 реакция еще замедляется, через 40 минут ctrl^O в mc отрабатывает 2-3 секунды. А через час вообще невозможно работать, реакция на нажатия порядка 10 секунд. ПРИ ЭТОМ на терминале через ethernet - все работает достаточно адекватно... Сначала думал памяти не хватает, но почему же из под ethernet в то же самое время - хватает? Что то с драйверами wifi.
 
Сверху Снизу