Page 1 of 2

РасПай и Колибри

Posted: Tue Nov 05, 2019 11:49 pm
by art_zh
Этим летом пришлось (по долгу службы) близко познакомиться с RaspberryPi ZeroW
- это просто монстр какой-то,
а по внешнему виду даже и не подумаешь что он реально крут.

Дебиан линукс на нем летает как на РС, а в чем-то даже и быстрее;
к WiFi, USB, HDMI графике и видеокамере вообще никакий претензий - всё запускается с полпинка,
даже пыль со старого шаманского бубна сдувать не пришлось.

Broadcom сделал для RPi очень неслабый графический контроллер, но его архитектура чуть более чем полностью закрыта.
Чтобы добраться до входного видеограббера и запустить передачу кадров с камеры на WiFi - тут знакомому юзеру с ником killerkirill пришлось изрядно повозиться.
Хочу выразить ему персональный респект за добычу и систематизацию доступных pdf.

Сейчас довожу до ума (проприетарное) железо, которое эмулирует распаевскую видеокамеру
и передаёт плотный поток данных прямо в видеограббер по каналу CSI-2.
Распай принимает эти данные как сырой видеопоток и переправляет его через WiFi потребителям.
Дёшево и сердито.

Как обычно, для отладки этого железа используется старая добрая Колибри-А
(куда ж без неё)

Re: РасПай и Колибри

Posted: Thu Nov 07, 2019 12:26 pm
by bad_Dr3dd0x
Круто!
Куда плату запуливать будешь?

Re: РасПай и Колибри

Posted: Sat Nov 09, 2019 2:54 pm
by art_zh
Alex2003 wrote:Куда плату запуливать будешь?
Пока новое устройство не пошло в массовую серию - ни один разработчик тебе не расскажет для чего оно нужно и где его планируют применять.

Даже фотографию не выложит - только может быть фрагмент, по которому никак нельзя установить назначение, ключевые компоненты, габариты и другие интересные параметры.

В нашем волчьем мире конкуренты есть у всех,
и они тоже неглупые ребята и очень хорошо умеют пользоваться сетевым поиском

Re: РасПай и Колибри

Posted: Sat Nov 30, 2019 11:06 pm
by art_zh
. Да, изрядно пришлось попотеть,
но вчера наконец удалось передать первые "кадры" по каналу CSI-2 в Raspberry Pi

Результат может стряхнуть пыль с проекта Kolibri-B,
сделав его гораздо более интересным (в т.ч. и с коммерческой точки зрения)

Если совсем кратко - у Колибри появилась недорогая АРМ-Линукс подсистема с блэкджеком и мощным видеоконтроллером, с проводной сетью, с беспроводной сетью, с блютусом, с USB -
и ни для чего этого не надо клепать уникальные драйверы!

Re: РасПай и Колибри

Posted: Sun Dec 01, 2019 2:04 pm
by Kopa
art_zh wrote:.Если совсем кратко - у Колибри появилась недорогая АРМ-Линукс подсистема с блэкджеком и мощным видеоконтроллером, с проводной сетью, с беспроводной сетью, с блютусом, с USB -
и ни для чего этого не надо клепать уникальные драйверы!
А VirtualBox, там работает?

Re: РасПай и Колибри

Posted: Sun Dec 01, 2019 2:46 pm
by art_zh
Kopa
Не понял где - на распае?
Не знаю. Гугл вроде говорит что нет.
А зачем ?

Re: РасПай и Колибри

Posted: Mon Dec 02, 2019 7:00 am
by bad_Dr3dd0x
art_zh, имеется в виду APM или ARM?
Документация на эту платформу имеется? Или она сов. секретная?

Re: РасПай и Колибри

Posted: Mon Dec 02, 2019 12:12 pm
by art_zh
Alex2003
АРМ-Линукс = ARM-Linux (только русскими буквами)

документация тут: https://www.raspberrypi.org/documentation/

Видеопроцессор Broadcom BCM2835/37 закрытый, но при большом желании и на него доки нагуглить можно.

PS: вот ещё ссылочка на русский форум
https://www.raspberrypi.org/forums/viewforum.php?f=84

Re: РасПай и Колибри

Posted: Sat Jan 04, 2020 3:41 pm
by floppy121
К сожалению, RPi в программном плане - пожалуй один из самых закрытых и блобовых одноплатников согласно Free Software Foundation https://www.fsf.org/resources/hw/single-board-computers , входит в группу Single-board computers with fatal flaws . А всё потому что Broadcom ненавидит опенсорс и при возможности всегда ставит палки в колёса. Уж сколько лет народ плюётся от Broadcom-овского WiFi в ноутбуках! Ведь его закрытые драйвера и фирмвари не только могут содержать бэкдоры, но и сами по себе отвратительного качества.

RPi с самого начала делается на Broadcom'овских процессорах не потому что они чем-то лучше остальных: просто создатели Raspberry сильно связаны с Broadcom - либо бывшие работники, либо сидят на двух стульях как https://en.wikipedia.org/wiki/Eben_Upton - то есть это натуральное кумовство. И очень жаль, что в нашем несовершенном мире успех пришёл именно к Raspberry Pi, а не к намного более свободолюбивым альтернативам вроде EOMA68 - https://www.crowdsupply.com/eoma68/micro-desktop - для работы которых не нужны закрытые бинарники и драйвера.

Разумеется, желаю успеха в вашем начинании, но по-хорошему нужно бойкотировать Broadcom когда это возможно - истинным любителям опенсорса сложно назвать компанию более мерзскую, чем эта.

Re: РасПай и Колибри

Posted: Sat Jan 04, 2020 9:48 pm
by art_zh
floppy121 wrote:Разумеется, желаю успеха в вашем начинании, но по-хорошему нужно бойкотировать Broadcom когда это возможно - истинным любителям опенсорса сложно назвать компанию более мерзскую, чем эта.
Я же говорил, что этим занимаюсь по долгу службы.
для себя я недавно открыл Nvidia Jetson Nano - совершенно улётную линукс-машину с теми же GPIO и CSI2 разъёмами,
с прекрасно документированными (хоть и закрытыми) GPU-библиотеками,
но она уже стОит в 10 раз дороже RPi (коммерчески невыгодно)

Re: РасПай и Колибри

Posted: Sun Jan 05, 2020 12:33 pm
by floppy121
art_zh wrote:Nvidia Jetson Nano
По функционалу может быть и торт, но Nvidia тоже не любит свободу - мешает разработке открытого драйвера nouveau https://www.linux.org.ru/news/hardware/13703337 . В идеале нужно смотреть среди
https://www.fsf.org/resources/hw/single-board-computers

Single-board computers with minor flaws

These boards are usable with free software but a few non-critical features require nonfree software. For most uses, it is easy to work around the proprietary components.

Boards based on the FreeScale i.MX6 platform are almost entirely functional in freedom. The i.MX6 uses the free boot firmware U-Boot and does not enforce signature checks. The GPU, the Vivante GC320, has been reverse-engineered by the etnaviv project; its free software drivers are now mature and usable for most day-to-day cases.

The only major component which is not usable with a free software stack is the VPU for accelerated video decoding, which requires nonfree firmware uploaded to it at run-time. This task can be done in free software on the CPU instead.
- то есть, искать на странице https://en.wikipedia.org/wiki/List_of_s ... _computers более-менее свежие на чипах Freescale i.MX6 - или, возможно, более новый i.MX8 тоже подходит. Например, есть плата MaaXBoard - http://www.embest-tech.com/prod_view.as ... d=t3:117:3 - правда непонятно, насколько качественный у неё софт, поэтому и не купил когда она стоила $60, сейчас что-то подорожала.

Качественный софт - на 99%-100% опенсорс, не урезанный (т.е. не какой-то Android, а полноценный линукс) и закоммиченный в Mainline: например, чтобы можно было скачать последнее линуксовое ядро с kernel.org от Линуса Торвальдса, без всяких модификаций (кроме настройки конфига) скомпилить и оно запустилось. Это практически утопия в мире одноплатников: обычно производители форкают ядро определённой версии и вносят криворукие правки - лишь бы плата запускалась! - и зачастую стыдятся не то что послать в kernel на обзор, но и вообще выложить их в опенсорс, нарушая этим лицензию GPL. И пользователю приходится чуть ли не вечно сидеть на этом старье, пока не купит новую плату где софт будет чуть-чуть поновее но всё так же неизбежно устареет.

Re: РасПай и Колибри

Posted: Thu Jan 09, 2020 12:17 pm
by art_zh
floppy121
твоя принципиальная позиция понятна и (с точки зрения опенсорс-разработчика) вполне логична.

Но прежде чем требовать чего-либо от коммерческих разработчиков - нужно для начала попытаться взглянуть на мир с их точки зрения
и выслушать их позицию.

Мне как инженеру-разработчику коммерческого железа перечисленные тобой плюсы "чистого Линукса" представляются болезненными минусами:

- необходимость открытия исходных кодов фирмвара не просто даёт конкурентам ключ к нашим новейшим разработкам и задумкам на будущее. Это ещё и ценнейшая информация о том, чего мы ещё не знаем и не умеем и в чём нас можно обойти на вираже.
А ещё - каждая новая порция кода, залитая на открытый GIT или SVN, имеет своего автора. По стилю и качеству авторского кода очень хорошо видно компетенцию, опыт, эстетические предпочтения и даже темперамент его создателя. Специалисты-кадровики из любой крупной фирмы могут легко составить психологический портрет каждого из ведущих разработчиков и либо переманить их у конкурентов, либо демотивировать их каким-либо образом (это не паранойя, а обыденная реальность того мира, в котором мы все пытаемся выжить).
Так что если для молодых энтузиастов опенсорса получить 9-й или хотя бы 8-й левел на openhub.net - это огромный плюс и ступенька на пути к успеху, то дожив наконец до "сбычи своих мечт", разработчик начинает более осмотрительно делиться плодами своего творчества.

Re: РасПай и Колибри

Posted: Thu Jan 09, 2020 12:48 pm
by art_zh
- ещё один минус (не плюс!) - это изменчивость Линукса, потребность в постоянном обновлении ядра.
особенно болезненно каждый апгрейд воспринимается в авиационном секторе, на транспорте и в медицинских приложениях,
- там, где каждый девайс должен пройти занудный процесс сертификации и полной валидации кода.
Каждая новая версия ядра - это новые кернел-хедеры с несовместимыми параметрами API. Значит надо переделывать все драйверы и выпускать патчи/апгрейды для всех уже проданных девайсов (включая давно снятые с производства)

Ну и насчёт "криворуких патчей" - а какими они ещё могут быть в условиях дикой гонки и бешеной текучки кадров?
Исходный код драйвера написан старым разработчиком, который давно ушёл или его перевели на новый (очень срочный) проект.
А может он уже забыл все фишки в своем старом драйвере или просто не в курсе как его лучше склеить с API нового ядра.
Клепают патчи или совсем другие люди, или те же, но сильно занятые другими делами

Re: РасПай и Колибри

Posted: Mon Jan 13, 2020 3:17 pm
by Kopa
art_zh wrote:Так что если для молодых энтузиастов опенсорса получить 9-й или хотя бы 8-й левел на openhub.net - это огромный плюс и ступенька на пути к успеху, то дожив наконец до "сбычи своих мечт", разработчик начинает более осмотрительно делиться плодами своего творчества.
Грустно это :(
@ "Иных уж нет; а те далече"

Re: РасПай и Колибри

Posted: Fri Jan 17, 2020 12:57 pm
by floppy121
art_zh wrote:необходимость открытия исходных кодов фирмвара не просто даёт конкурентам ключ к нашим новейшим разработкам и задумкам на будущее. Это ещё и ценнейшая информация о том, чего мы ещё не знаем и не умеем и в чём нас можно обойти на вираже.
Давайте рассмотрим реальные примеры из жизни - чтобы понять, так ли велика эта угроза.

Компания Atheros в своё время полностью открыла и драйвера и прошивки для своих WiFi-адаптеров семейства ath9k, на радость всему опенсорсному сообществу которое с радостью побежало их использовать и улучшать. Помогли ли эти исходники конкурентам - Realtek, Mediatek, Broadcom? Нет: их адаптеры как были днищем особенно на Linux, так им и остались.

Компания AMD перестала разрабатывать свой проприетарный драйвер fglrx, качество которого было весьма сомнительно, и стала создавать опенсорсный amdgpu. Качество драйвера amdgpu, в том числе и благодаря усилиям опенсорсного сообщества с его кастомными патчами и багрепортами, с годами заметно улучшилось. Помогли ли исходники AMD конкуренту NVidia, которая не только зажимала свои но и ставила палки в колёса разработчикам свободного драйвера nouveau? Вряд ли: доля рынка AMD от этого не пострадала и продолжает отыгрываться, а драйвера NVidia качественнее так и не стали.

Почему же так происходит? Если различные девайсы являются уникальными разработками, то по своему аппаратному устройству они достаточно непохожи - имеют совершенно разную аппаратную модель. В результате, их прошивки по своей структуре, поведению и т.д. оказываются несовместимы до такой степени, что намного легче писать свой код с нуля чем тщетно пытаться портировать конкурентский.

Получается, если вы боитесь открывать свой программный код - значит, в аппаратном плане ваше устройство недостаточно уникально (что-то на малинке либо на её клоне, как я подозреваю по вашим сообщениям выше) - и только потому, что ваше устройство легко скопировать благодаря его неуникальности, ваши опасения действительно не безпочвенны. Но какая тогда польза человечеству, от такого неуникального изобретения, и оставит ли оно след в истории?
Специалисты-кадровики из любой крупной фирмы могут легко составить психологический портрет каждого из ведущих разработчиков и либо переманить их у конкурентов, либо демотивировать их каким-либо образом
Если эта опасность действительно присутствует, почему же тогда свыше 80% опенсорсного кода ядра Linux исходит от корпораций? Причём имена корпоративных разработчиков никак не прячутся - а наоборот, выставлены напоказ. А если иная корпорация не гордится своим кодом, а наоборот, его прячет, возникают справедливые сомнения насчёт качества такого кода и его безопасности.

На мой взгляд, жадные компании не делятся кодом своих прошивок в семи случаях:

1) из-за недальновидности, лишаясь бесплатных разработчиков/тестировщиках со всего мира
2) справедливо опасаются, что их неуникальное устройство будет легче скопировать
3) стыдятся показывать свой быдлокод, опасаясь критики и репутационных рисков
4) хотят шпионить за пользователями, по требованию правительства либо желают подзаработать
5) это мешает сегментации рынка, желанию продавать одинаковую аппаратуру по разной цене
6) новая аппаратура настолько похожа на старую, что функционал новой легко портировать на старую
7) от опенсорсного сообщества будет поддержка старых устройств, снижая причины переходить на новые

Хотя и это их не спасает, когда сообщество разработчиков со всего мира добивается значительных успехов в ревёрс-инжинеринге и создаёт опенсорсные аналоги проприетарных прошивок, или же находит способ сломать сегментацию рынка и превратить дешёвые устройства в дорогие - как это случилось с некоторыми тепловизорами компании FLIR, когда тепловизор за 800 долларов превращали в тепловизор за 4000 всего лишь сменой прошивки. Людям хорошо, а капиталисты жалуются - не удалось бабла настричь! Ты на чьей стороне?