• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе 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.
 
Сверху Снизу