Jump to content
    

Собрать прошивку для LibreSDR из исходников.

Добрый день!

Не нашёл лучшего раздела форума, куда бы обратиться со своей проблемой.

Уже полгода как купил у китайцев "LibreSDR" - некий upgrade ADALM PLUTO от AD. В таком красивом серебристом корпусе-радиаторе с четырьмя антеннами. Продаётся и сейчас тысяч за 22-25, как повезёт.

Купил, как некий "задел", потому, что начинка вроде приличная. Хотел ещё тогда китайца заставить рассказать, как собрать прошивку из исходников, но не смог. Тот стоял насмерть. И проверить-то особенно не на чём было. Получилось только в SDRAngel послушать ФМ и поймать сообщения от самолётов  ADS-B. Правда, почему-то без координат.

Прошивки мне китаец скидывал несколько готовых, при первой же перепрошивке девайс перестал показывать свой серийный номер. Я так понимаю, там микросхема памяти для Zynq китайская, Vivado её не поддерживат. Серийник, похоже, из неё читается. Возможно, ей особый драйвер нужен. Постоянно боюсь прописать туда чего-нибудь, что обратит прибор в "кирпич".

Сейчас захотел принять  gps с использованием программы gnss-sdr. Не получается ничего. Не "хватает". Если смотреть матлабом результат "захвата" (acquisition), там только шумы. Когда смотрю выход через iio_oscilloscope, какой-то странный спектр шума, трясётся, какая-то несущая есть чуть в стороне от центра. На 1574.974. -30 дБ. Думал, может из-за USB? Может, по ethernet лучше будет?

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

github.com/analogdevicesinc/plutosdr-fw - коммит

    commit 0359a0b9a474567ab658619f3edf53ac65594f5a (HEAD, tag: v0.38)
    Author: Michael Hennerich <michael.hennerich@analog.com>
    Date:   Fri Nov 17 09:38:14 2023 +0100

и поверх патчи

github.com/hz12opensource/libresdr

    commit c1f0d5987de924d1f5ef3c80ede436e3a39d725b (tag: v0.38)
    Author: hz12 <hz12opensource@gmail.com>
    Date:   Wed Jan 3 18:14:30 2024 -0600

 

Патчи применились достаточно гладко, была только пара варнингов.

Собрал всё это дело по инструкции от hz12opensource. Собирал на

Ubuntu 24.04.1 LTS

Xilinx/Vivado/2022.2/

Как ни странно, собралось. Загрузил с SD-карты, как-то работает, правда, светодиодами характерно не моргает. Показывает правильную версию, v0.38. Работает подключение по ethernet, но с ним те же проблемы со скачками шума и паразтной несущей. Прописать firmware во внутреннюю память не получается - записываю на диск PlutoSDR, "отключаю" его, ничего никак не моргает, но через несколько минут диск снова появляется, архива на нём нет. Но если включить без SD, работать не будет. И будет холодным.

Хочу спрость, не ходил ли кто по этим граблям? Как собрать загрузку из исходников, чтоб работал, и лампочки стандартно морграли, и во внутреннюю память всё прописывалось, и серийник определялся? Неужели китайцы неликвид подсунули?

Если это решится, будет еще вопрос подсказать, по внешним признакам, правильно ли у меня работает устройство в диапазоне 1.5 ГГц.

 

Edited by mitro

Share this post


Link to post
Share on other sites

День добрый,

может быть будет интересен в качестве примера его китайский родственник PLUTO PLUS, совместимый с оригинальным ADALM PLUTO.
Прошивки есть родные от AD и собственные от PLUTO PLUS - смотреть по ссылке https://github.com/plutoplus .
Выбор нужной прошивки реализован на плате PLD перемычкой.
Китайский клон PLUTO PLUS проверен, работает хорошо с 2022 г. Можно использовать в качестве альтернативы оригинальному ADALM PLUTO от Analog Devices.

Основные преимущества китайского ADALM PLUTO PLUS

  • опорный генератор 40 МГц существенно стабильнее, чем оригинальный на PLUTO от AD
  • добавлен порт Ethernet, что весьма полезно для удаленной работы
  • металлический корпус в отличие от пластикового оригинала  
Edited by 3apw

Share this post


Link to post
Share on other sites

В 14.12.2024 в 10:44, mitro сказал:

Прописать firmware во внутреннюю память не получается - записываю на диск PlutoSDR, "отключаю" его, ничего никак не моргает, но через несколько минут диск снова появляется, архива на нём нет. Но если включить без SD, работать не будет. И будет холодным.

Согласно схеме, на плате есть FT2232H, подключенный первым портом к JTAG. Если он не видится как JTAG-прошивалка, то можно перевести в этот режим родной утилитой Xilinx (вроде с версии 21.1 и выше). Через JTAG можно проверить, что зашилось в 25Q256, или просто зашить. Со встроенной флеш должно шиться только при вынутой SDcard, концевиком переключается режим загрузки.

8 часов назад, 3apw сказал:

Основные преимущества китайского ADALM PLUTO PLUS

  • опорный генератор 40 МГц существенно стабильнее, чем оригинальный на PLUTO от AD
  • добавлен порт Ethernet, что весьма полезно для удаленной работы
  • металлический корпус в отличие от пластикового оригинала  

В LibreSDR такой же генератор 40МГц, Ethernet 1G, металлический корпус, лучший из всех клонов. Но по железу стоит Zynq XC7Z020, вместо XC7Z010, и память DDR3 1G 1066МГц 32бит, при этом дешевле, свой брал около 19т.р. на Ozon.

Share this post


Link to post
Share on other sites

Quote

Через JTAG можно проверить, что зашилось в 25Q256

Я смотрел схему zynqsdr_rev5.pdf, видел там W25Q256JVEIQ, но Vivado такие не поддерживает даже в планах. А, насколько я знаю, чтобы прошивать через Vivado, там нужно явно указать тип микросхемы памяти. Поэтому я не стал даже и пытаться.

Ладно, не хочется бесконечное время тратить на этот приёмник. Думал, всё будет как-то проще. Может, со временем найдутся решения. Пока живу на готовой версии от китайца plutosdr-fw-v0.37-dirty .zip, которая собрана непонятно из каких исходников. И которая не умеет определять серийный номер. А вот та, что была изначально в железке, умела. Непонятно, почему.

Quote

В LibreSDR такой же генератор 40МГц

И огорчает, что не получается ловить GPS. Может, там какая аппаратная проблема? Может, обманули с генератором? Попробую сегодя с активной GPS антенной (раньше пробовал на те, что в комплекте, наверное, 2.4 ГГц), но надежды особой нет.

Жаль, ни у кого из знакомых такой штуки нет. Впору поставить две рядом и начать сравнивать, какая как себя ведёт.

Подозреваю, на днях я отковыряю плату от радиатора, посмотрю глазками, что там стоит.

Edited by mitro

Share this post


Link to post
Share on other sites

2 часа назад, mitro сказал:

W25Q256JVEIQ, но Vivado такие не поддерживает даже в планах

Для Zynq поддерживает, для остальных - нет, но это официально.

2 часа назад, mitro сказал:

Подозреваю, на днях я отковыряю плату от радиатора, посмотрю глазками, что там стоит.

Есть фото, хорошо сделано.

Share this post


Link to post
Share on other sites

16 minutes ago, rloc said:

Для Zynq поддерживает, для остальных - нет, но это официально.

Я нечасто работаю с Vivado, насколько я помню, там сначала конфигурируешь "систему", задаёшь, какая основная микросхема (Zynq7020), какая к ней конкретно подключена память. Точный тип нужно указывать. Неужели там можно указать 25Q256? Мне кажется, пытался, нужной не нашёл. Vivado 2022.2. Попробую на досуге. Или нужно какую-то другую указать, но с ней будет работать?

20 minutes ago, rloc said:

Есть фото, хорошо сделано.

А где бы его добыть? В интернетах не встречал.

Share this post


Link to post
Share on other sites

14 часов назад, mitro сказал:

Неужели там можно указать 25Q256?

У меня Vivado 2022.1, назначить Winbond на 128Мбит и 2048Мбит можно, 256Мбит - нет. Объяснению не поддается.

14 часов назад, mitro сказал:

А где бы его добыть?

Сам делал.

LibreSDR_top.thumb.jpg.909180fce807bce427a9563b58bcdc34.jpg

LibreSDR_bottom.thumb.jpg.b034585e7d7794788966a18f63d4d28d.jpg

 

Продавец присылал пару ссылок на схему и образ диска для 5-ой ревизии платы, вдруг чем помогут:

https://www.adrive.com/public/3M5dYg/pluto nanjing.zip

https://www.adrive.com/public/FJppJu/silver pluto flash firmware.rar

Исходники не получилось выпросить, но можно еще надавить.

 

16 часов назад, mitro сказал:

Пока живу на готовой версии от китайца plutosdr-fw-v0.37-dirty .zip, которая собрана непонятно из каких исходников. И которая не умеет определять серийный номер. А вот та, что была изначально в железке, умела. Непонятно, почему.

Если не секрет, зачем серийник? Для корректного определения в SatSaGen? Насколько помню, полностью соответствует 17-ти байтному регистру Unique ID из Micron MT25QU256ABA8E12-1SIT в оригинальном Adalm Pluto. В LibreSDR в Winbond W25Q256JVEIQ 8-ми байтный Unique ID.  Затереть невозможно, но и смысловой нагрузки особой не несет. Можно найти в исходниках и переписать под W25Q256.

Share this post


Link to post
Share on other sites

rloc, спасибо!

18 hours ago, rloc said:

Если не секрет, зачем серийник?

За серийник просто обидно. Он был на изначальном устройстве, до перепрошивок. Получается, была заложена какая-то "получше" прошивка, которую в исходниках не найдёшь. То есть разработчики-китайцы не раздают исходники той прошивки, которые сами прописывают. И тот архив, который присылают продавцы - plutosdr-fw-v0.37-dirty .zip, тоже недоделанный в этом смысле.

Возможно, прошивка v0.37 порождена с помощью репозитория от day0wl на github. Я бы попробовал её собрать, но она под Vivado 2021.2, у меня совершенно нет желания качать/устанавливать, а на моей версии 2022.2 тоже боюсь, что будут какие-нибудь затыки.

 

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

Share this post


Link to post
Share on other sites

8 минут назад, mitro сказал:

За серийник просто обидно.

Возможно есть некая инструкция или утилита, которая записывает во флеш по определенному адресу подменный серийник. Встречал неоднократно. Можно просто заменить флеш на Micron в подходящем корпусе. На функционал никак не влияет.

Share this post


Link to post
Share on other sites

Здравствуйте купил этот модуль https://aliexpress.ru/item/1005004916987318.html?sku_id=12000031008600975, после попытки обновления https://wiki.analog.com/university/tools/pluto/users/firmware, просто закидывание файла pluto.frm на внутреннюю флешку в Винде, и её извлечения, устройство поморгало светодиодами и окирпичилось, холодная, COM не видит. Помогите, что делать дальше, где взять , программатор Xilinx есть.  

Share this post


Link to post
Share on other sites

Закидываете FW https://github.com/hz12opensource/libresdr/releases на SD (FAT32) и загружаетесь с нее. 

1 час назад, ovn сказал:

программатор Xilinx есть

Некуда втыкать, разъем не распаян, и не нужно.

Share this post


Link to post
Share on other sites

Просто скинуть то что в архиве на SD карту или записать образ ramdisk.image ?

Share this post


Link to post
Share on other sites

Распаковать на SD.

Цитата

Готовые прошивки с GitHub от hz12opensource тоже не работают.

Работают.

Цитата

Про GPS и речи нет. ADS-B не ловит. Может, какие калибровки потёрлись? Или конфликт выводов микросхем пережёг чего?

GPS не смотрел, он должен быть под шумами, а ADS-B ловит.

Цитата

Я пытался собрать от hz12opensource с GitHub, была подходящая версия Vivado. Что-то собралось, Linux как-то работает, радиотехника не работает.

Сложно понять, собрали ли Вы обе части PS и PL.

Цитата

На днях помогал кому-то на форумах с его перепрошивкой, прошил заодно и свой и тут столкнулся с проблемой - нельзя расширить диапазон командой fw_setenv attr_name, attr_val. Мучился месяц. Оказалось, не ту прошивку залил из того обильного набора, что продавец присылал. Только с одной конкретной этот финт работает - которая из архива 烧写flash. Диапазон расширился, но после всех этих перепрошивок работать вообще перестал - вроде на подключение антенны реагирует, шумы усиливаются, но FM радиостанции не ловит. Про GPS и речи нет. ADS-B не ловит. Может, какие калибровки потёрлись? Или конфликт выводов микросхем пережёг чего?

Фиксированных калибровок в AD936x нет, микросхема калибруется каждый раз при включении по алгоритму AD, в этой части ничего не менялось разработчиками. Конфликт выводов скорее невозможен, PL часть от ADALM-PLUTO залить не получится, микросхема другая.

Читаю эту душещипательную историю и диву даюсь. Как по схемотехнике, так и по конструкции у меня нет вопросов к LibreSDR, сделано на должном уровне и лучше Pluto. По части FW не так подробно расписано, как у AD. Но и AD не обещает техническую поддержку. Все поделки на AD936x - это конструкторы для знакомства с AD и Xilinx, для своего творчества, а не готовые изделия. Никак не вина продавца.

Share this post


Link to post
Share on other sites

C SD карты заработало, FM радиостанции ловит. 

Share this post


Link to post
Share on other sites

Почему-то с baseclock_cpu750_ddr525.tar.gz на SD карте, если с неё грузиться, не работает Ethernet. Ещё светодиоды под разъёмами 10M/PPS не моргают, а в оригинальной прошивке моргали. Если изменить сетевые настройки в файле config, после перезагрузки устройства они вернуться на начальные.

Как прошить внутреннюю QSPI FLASH этой прошивкой? Пробовал закидывать в корень карты pluto.frm из plutosdr-fw-v0.37-dirty, не перепрашивается. 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...