Tuesday, July 28, 2026

New gRPC/Protobuf dependency in the next UHD release (4.11.0) — packaging guidance

Hi all,
 
Starting with the next official UHD release (4.11.0), UHD's MPM RPC transport is migrating from mprpc (msgpack-RPC)
to gRPC/Protobuf. This affects packaging for any distribution that builds UHD with MPM device support
(ENABLE_MPMD=ON, the default), i.e., support for N3xx, E3xx, and X4xx devices. We wanted to provide an early,
consolidated summary so you can plan your recipes/spec files accordingly.
 
1. Minimum gRPC/Protobuf versions
We track recommended minimum versions in UHDMinDepVersions.cmake:
Library Minimum version
gRPC 1.3
Protobuf 3.12
 
These minimum versions are based on the oldest validated distribution in our CI matrix: Ubuntu 22.04 (Jammy).
Any recent gRPC/Protobuf version from your distribution package manager should also work.
 
Note: On Windows, adding gRPC as vcpkg dependency has significantly increased vcpkg triplet build time and cache sizes.
 
2. Full dependency breakdown
Build-time (source builds only):
Package name (Debian/Ubuntu) Package name (Fedora) Role
libgrpc++-dev grpc-devel gRPC C++ dev headers & libraries
libprotobuf-dev protobuf-devel Protobuf C++ dev headers & libraries
protobuf-compiler protobuf-compiler protoc compiler
protobuf-compiler-grpc grpc-plugins grpc_cpp_plugin — gRPC C++ codegen plugin
 
Runtime (needed by installed UHD, including binary installer users):
Package name (Debian/Ubuntu) Package name (Fedora) Role
libgrpc++<ver> grpc gRPC C++ runtime shared library
libprotobuf<ver> protobuf Protobuf runtime shared library
python3-grpcio python3-grpcio Python gRPC runtime
 
Note: The Python grpcio module is required only for the MPM simulator. The simulator is built on the host system
             and installed into the UHD Python path, where it imports the Python grpc module.
 
3. Distro-specific integration notes:
Linux:
CMake discovery: UHD ships with a FindgRPC.cmake module that first attempts to use gRPC's
CMake CONFIG package (available on Ubuntu 24.04+, Fedora 38+, and via vcpkg). It then falls back to
pkg-config for older distributions (such as Ubuntu 22.04), where libgrpc++-dev does not provide CMake
configuration files.Both CMake-config and pkg-config-only environments are supported.
 
Windows:
There are no prebuilt distro packages; gRPC and Protobuf must be built from source or
installed through a package manager (we use vcpkg). Working examples are documented in the 
UHD build instructions in the UHD manual.
 
4. Integration support
We're happy to help you land this cleanly.
Please reach out with any questions. And let us know if there are packaging constraints on your side that we should be aware of before the release.
 
Regards,
 
Marian Koop
on behalf of the UHD Maintainers
 
Uploaded Image
 
Marian Koop (he/him/his)
Principal Software Engineer
SDR & RFmx
Test & Measurement Group
 
 
 

Monday, July 27, 2026

Changes to files.ettus.com

Please be advised that the hosting service for "files.ettus.com" has migrated to a new service provider.  The URL "https://files.ettus.com" remains the same, and the URLs for all the currently hosted files are also unchanged.  Extensive regression testing was performed to ensure proper operation with all the UHD tooling and utility programs, such as "uhd_images_downloader", so there should be minimal impact on end-users.  If you experience any problems, or have any questions, please email me at "neel.pandeya@ettus.com".

--Neel Pandeya


Friday, July 24, 2026

Re: function probes don't work in hierarchical blocks

Hi Eugene, > How would you display the current state (e.g. mean > power from a probe mag^2) your use case sounds very straightforward: use the QT GUI Number Sink. But as explained in my previous email: just write the logic you need. (we might want to wrap this in an off-the-shelf block). I'm attaching a flow graph with three options to solve your problem, on the right half of the flowgraph, top to bottom: 1. straightforward number sink 2. a minimal python block that counts to N items, then emits a message containing the value at that position, repeats 3. a minimal python block that, triggered on an external message, emits the last value as message. To display a message's content, you can use the QT GUI Message Edit Box in "static" mode. Note that you can generate the triggers for the third option inside your hier block (as I'm doing here with the Message Strobe), or use a "Pad Source" to allow the user of your block to trigger externally (for example, manually with a Qt GUI Msg Push Button). Added a disabled Pad Source to clarify that concept. > or probe_rate Probe Rate produces messages. I personally mostly connect that to a Message Debug's Log port and read the console. But I can see where you're coming from! You can write a python block with a input message port with a handler. (see the message-triggered from above for an example). The block would furhtermore have an output message port, and no stream in- our outputs. The handler would do something like def msg_handler(self, msg): self.message_port_pub(self._msport_out, pmt.dict_ref(msg, pmt.mp("rate_now"), pmt.from_float(0.0))) to convert from the dictionary that Probe Rate emits to the rate now message. We might also want a ready-made block that does that for you in general. Best, Marcus

Uploaded Image

Thursday, July 23, 2026

Re: function probes don't work in hierarchical blocks

Maybe I am missing something basic.  How would you display the current state (e.g. mean power from a probe mag^2) or probe_rate in the GUI w/out a function probe?  I create a probe to call level() and then display it as a label.  

Eugene Grayver, Ph.D.
Principal Engineer
310-336-1274

Re: GRC file sink/source name does not honor variables

Oops, that was my mistake!  I left off the quotation marks.

Eugene Grayver, Ph.D.
Principal Engineer
310-336-1274

Wednesday, July 22, 2026

Re: function probes don't work in hierarchical blocks

Hi Eugene, agreed, that's a bit ugly. Unless someone comes up with a very non-intrusive and prettier solution, I'll propose we'll leave it as is: Function Probes are an ugly hack, that has, over the course of time, caused more harm than good. If you need to probe a signal at regular intervals from a sample stream¹, you should probably properly decimate (i.e., low-pass filter with decimation >> 1) or just keep 1-in-N instead. If you really need "random times relative to sample processing, but time controlled by the asynchronous reality of the computer around it", then sending messages into a python block's "trigger" input message port, and that block then sending a (sample index, value) tuple out a "value" message port would solve the same issue, but in a way that's compatible with hier blocks. (subliminal message here: don't rely on function probes. I have not *once* found a good use case for them.) Best regards, Marcus ¹ don't forget that GNU Radio blocks always process samples in larger chunks, so "wall-clock time" has, at best, usually not at all, a very loose relation to signal being probed On 2026-07-21 6:40 PM, Eugene Grayver wrote: > Functions probes don't work in hierarchical blocks. > A function probe generates a thread body such as: > > ------- >         def _cross_freq_estimate_probe(): >           self.flowgraph_started.wait() >           while True: > >             val = self.cross_freq_probe.level() > ------- > > However, hierarchical blocks don't have a member flowgraph_started.  I don't have a simple > suggestion, but perhaps we can pass this member from the parent?  A bit ugly!  Makes the > hier blocks dependent on the rest of the GRC framework — i.e. can't easily reuse in > python-only design flow. > > > Eugene Grayver, Ph.D. > Principal Engineer > 310-336-1274

Tuesday, July 21, 2026

Re: GRC file sink/source name does not honor variables

Re: GRC file sink/source name does not honor variables

On 2026-07-21 12:58, Eugene Grayver wrote:
The GRC file sink/source filename does not support variable expansion.  Is this an intentional decision or a bug?

Eugene Grayver, Ph.D.
Principal Engineer
310-336-1274
I've used full-on python expressions in there in the past, so, if that's no longer working, it's a bug.


GRC file sink/source name does not honor variables

The GRC file sink/source filename does not support variable expansion.  Is this an intentional decision or a bug?

Eugene Grayver, Ph.D.
Principal Engineer
310-336-1274

Function probe block id

Function probe block id checks for a valid Python variable name.  However, it should allow a block.sub_block notation to support accessing blocks inside hierarchical blocks.  This would be a trivial change.

Eugene Grayver, Ph.D.
Principal Engineer
310-336-1274

function probes don't work in hierarchical blocks

Functions probes don't work in hierarchical blocks. 
A function probe generates a thread body such as:

-------
        def _cross_freq_estimate_probe():
          self.flowgraph_started.wait()
          while True:

            val = self.cross_freq_probe.level()
-------

However, hierarchical blocks don't have a member flowgraph_started.  I don't have a simple suggestion, but perhaps we can pass this member from the parent?  A bit ugly!  Makes the hier blocks dependent on the rest of the GRC framework — i.e. can't easily reuse in python-only design flow.


Eugene Grayver, Ph.D.
Principal Engineer
310-336-1274

Friday, July 17, 2026

Re: code snippet in hierarchical block

Hey Eugene, Thanks for pointing that out! I converted that to an issue report, so we don't lose track of it: https://github.com/gnuradio/gnuradio/issues/8163 Best regards, Marcus On 2026-07-17 12:49 AM, Eugene Grayver wrote: > Code snippet 'Main - After Init' does not work in hierarchical blocks.  The functions are > correctly created at the top of the file *but are never called* in the code body.  This > seems like a simple issue to fix (sorry I can't contribute). > > Eugene Grayver, Ph.D. > Principal Engineer > 310-336-1274

Thursday, July 16, 2026

code snippet in hierarchical block

Code snippet 'Main - After Init' does not work in hierarchical blocks.  The functions are correctly created at the top of the file but are never called in the code body.  This seems like a simple issue to fix (sorry I can't contribute).

Eugene Grayver, Ph.D.
Principal Engineer
310-336-1274

Tuesday, July 14, 2026

banned. (was: Elementary mathematics for future school teachers.)

Kirill, you've been posting off-topic, unhinged and insulting things. There's a reason why your emails have gotten held back for moderation. Circumventing that mailing list moderation by signing up with a new email address means you're getting banned, effective immediately. Do not sign up with new email addresses. You can raise an objection to that with our CoC committee. Please do not contact me directly in this matter. Respectfully, Marcus M Dear Community, my apologies for not communicating this earlier and in the open. I had set Kirill's email address to require explicit moderator "OK" for sending emails to the list, in hopes that would give me the chance to reach out in private to him when he sent further off-topic (and partially, automatically suppressed since many MB in size) emails. Sadly, he was faster at circumventing that moderation flag than I could reply to him. Best regards, Marcus On 2026-07-14 8:16 PM, Kirill Abramovich wrote: > [off-topic, insulting to people with autism, …]

Elementary mathematics for future school teachers.

Elementary mathematics for future school teachers.

Let's review the following ideas.

We can assume that there is a digital photo that displays exactly the same scene at the same
time that you see with one of your eyes. (Let's assume that the second eye you lose
during the punishment after critical security issue were detected in your code)

There are a lot of possible programs that paint that digital photo exactly byte to byte,
bit to bit.
Some of them are large. Some of them are shorter.
We can assume that during your life you see a sequence of such frames (scenes). And each one
could be rendered by some programs.
This is the formal spec for a program for memoirs of every software engineer.

But this memoirs can be generated even for persons that are not software engineers.
And, of course, all possible fake memoirs could be generated in all possible ways for every
person on the Earth.

The set containing programs to generate all possible fake and real memoirs of all humans that are alive on Earth is the so called Solomonoff a-priory distribution (but Ancient Egypt and Greeks know about it also).
You know what memoir is real if you are talking about yourself.
How to check what is the real memoir of other persons?
There is simple way to do that.
The probability that this memoir is real is reverse proportional to the logarithm of its length.
Hmm. We need logarithm in the schools also.

So the most simple memoirs are most probable.

Also, trust only software that you wrote by yourself.
Because the most probable scenario that software that you get from other person
was written by monkeys. Idiotic monkeys.
That is the shocking reality.

The same is right about relay logic.
Use only relay logic.

The GNU FTP mirror is maintained by a few people with autism syndrome.
The Java maven repository is abandonware with a lot of dependencies that
are downloaded by almost infinite chains and could be compromised in a
lot of ways.
The Google Gemini AI personal information is hosted on GitHub.

And all that staff is used in the systems that operate trillions of dollars.
Stop to do that ppl.

Use relay logic, transistors, small discrete logic like 74HC04.

Also a lot of monkeys don't understand how to use money in a proper way.
But those who understand know that it is the only mean to communicate between
monkeys. Monkeys who don't understand money can not communicate at all.
That's so called Mises calculation argument.

It seems the minimum description length principle could be used to deduce minimum ethics. At least you can compare ethics by the length. What about the following question: how to shoot met-art girl in the dark underground?
at least we can ask a question: does russian met-art model from a pic want some money?
and what obstacles do that guess so hard?
why it is so hard to contact her directly?
she lose money, interesting person lose opportunity to make some photos.

Also the only way to obtain physical safety in the world where monkeys write
software is to have personal arsenals of assault rifles, grenades and quadcopters.

Also, don't trust literature. When someone trust without full proof by himself then
it results that criminal is heading to the authors. And add shit to the books.
Each school teacher has to write his own version and check all the proofs.
Each school teacher has to write his own version with all the proofs verified by himself.

So first tell ppl elementary mathematics and Solomonoff distribution. That tells
that every shit can happen. Because there are only monkeys around you.
Don't trust monkeys. That leads that criminal is starting to replace them.

And learn your students to check all proofs.
Also, if there are any questions about who send you that:

Kirill Abramovich
Samara, Russia

That's it.

Monday, July 13, 2026

RF CMOS arrays usage for the brain sampling

BTW could you send it to some of your students


Hi,
could you take a look as an AI expert at the following thesises:
https://transitional-writes.dreamwidth.org/45360.html


Some short summary of that article:
Assuming you know about the
https://en.wikipedia.org/wiki/Solomonoff's_theory_of_inductive_inference
and the Mises economic calculation argument:
https://mises.org/online-book/economic-calculation-socialist-commonwealth
You can get the following ideas:
1. Central planning authorit is issuing a infinite sequence of the commands
use resources R1, R2 and execute method R1, R2 -> R3 to get
some amount of the resource R3.
2. R1, R2 and the performance value of the method R1, R2 -> R3 all are
the results of the inductive process of technical discovery and
problem solving. For example you have to estimate the quality of
lime to get the output of a process.
3. On market when you make such decisions amount of R1 and R2 is
limited by the budget of person or market organzation.
And the increase of such budget is dependent on the profit or loss
that is extracted from the market process if the physically based
money is used for loss/profit calculation.
4. Central authority in the case if the market process is missed
is using uncertain inductive results R1, R2, R3 and could not compare
output of its decisions to some objective values.
5. On market when you sell R3 the distribution of gold is changing in
the appropriate way. If R3 is a garbage you loss money.
6. If central authority is producing garbage R3 there is no way
to detect that. There is no way to test that.
Central banks are affected by that issue in the same way.
Please see attachments in Russian
https://github.com/wieker/electrolyser/blob/master/docs/task3.pdf

Also there is an idea to use global correlators and massive RF
front ends to track people in the real economic and check
is the a-priory Solomonoff distribution exactly what is observed in
the real world.

Kirill Abramovich aka wieker
Samara, Russia

Also


BTW we have the way to estimate the complexity of the human brain at least for the simple processes.
fast speach.
the speed of neurons is 10-100 Hz
according to Wikipedia there are 86 000 000 000 neurons in the human brain.
86 Gneurons * 100Hz for fast speach. 10Tops

10 Tops is the performance of human brain.
And at least we can repeat that question.
What is the best basis to compress that structure?

What is the complexity of RF CMOS global correlators to sample and control that structure?

At least we can think about that. Assuming the physical possibility of such RF AFE.
that will be the cheapest RF CMOS correlator to sample and control human brain.

And we can assume that such AFE is achievable using the current RF CMOS process
1. Ultra length radio waves could penetrate thin electrolyte level.
2. Ultra small antennas could receive and emit such radio waves if impedance is matched.
3. Large antenna arrays are achievable through the current RF CMOS processes
4. 3G/LTE beam forming could be used to scan neurons group by group by high speed array of RF CMOS 100GHz comparators.

Could you send it to your students?

Don't forget about russian met-art models and korean KPOP singers.

https://transitional-writes.dreamwidth.org/44972.html

It seems the minimum description length principle could be used to deduce minimum ethics. At least you can compare ethics by the length. What about the following question: how to shoot met-art girl in the dark underground? ~2026-24709-41 (talk) 16:43, 8 June 2026 (UTC)

at least we can ask a question: does russian met-art model from a pic want some money?
and what obstacles do that guess so hard?
why it is so hard to contact her directly?
she lose money, interesting person lose opportunity to make some photos.

Sunday, July 12, 2026

Could you take a look at some reasoning about the usage of the AI and Solomonoff induction in the Soviet economic planning

Hi,
could you take a look as an AI expert at the following thesises:
 
 
Some short summary of that article:
Assuming you know about the
and the Mises economic calculation argument:
You can get the following ideas:
1. Central planning authorit is issuing a infinite sequence of the commands
use resources R1, R2 and execute method R1, R2 -> R3 to get
some amount of the resource R3.
2. R1, R2 and the performance value of the method R1, R2 -> R3 all are
the results of the inductive process of technical discovery and
problem solving. For example you have to estimate the quality of
lime to get the output of a process.
3. On market when you make such decisions amount of R1 and R2 is
limited by the budget of person or market organzation.
And the increase of such budget is dependent on the profit or loss
that is extracted from the market process if the physically based
money is used for loss/profit calculation.
4. Central authority in the case if the market process is missed
is using uncertain inductive results R1, R2, R3 and could not compare
output of its decisions to some objective values.
5. On market when you sell R3 the distribution of gold is changing in
the appropriate way. If R3 is a garbage you loss money.
6. If central authority is producing garbage R3 there is no way
to detect that. There is no way to test that.
Central banks are affected by that issue in the same way.
Please see attachments in Russian
 
Also there is an idea to use global correlators and massive RF
front ends to track people in the real economic and check
is the a-priory Solomonoff distribution exactly what is observed in
the real world.
 
Kirill Abramovich aka wieker
Samara, Russia

Tuesday, July 7, 2026

GR4 Technical Developers Working Group - Weds. July 8 - 12PM ET

We will be hosting the GR4 technical developer's group (AKA architecture working group) meeting tomorrow, July 8, at 12 PM ET

This week we look to finalize the repo reorganization to prepare for better distro packaging and license clarity, as well as continue building out the plan for our 4.0 set of supported blocks, examples, and tools.  Please join the chat to become an active part of this developer group:

https://matrix.to/#/#gr4-technical-users:gnuradio.org

Google Meet joining info
Video call link: https://meet.google.com/obp-vcmm-dgm
Or dial: ‪(US) +1 302-924-8388‬ PIN: ‪499 620 636‬#
More phone numbers: https://tel.meet/obp-vcmm-dgm?pin=9717408946001

You can also add the invite (2nd and 4th Thursday of each month, typically) to your calendar via our Google Calendar link:
https://wiki.gnuradio.org/index.php?title=Calendar


Look forward to seeing you all tomorrow.

Josh

Friday, June 19, 2026

Has the Software Defined Radio Academy 2026 conference been cancelled?

Not strictly related to GNU Radio, but I was wondering if anyone knows if the Software Defined Radio Academy 2026 has been cancelled.
 
It used to take place during the Ham Radio exhibition in Friedrichshafen, Germany, so in theory it would have been next Saturday June 26, but when I tried to Google it, I didn't see any results, the website for the Ham Radio exhibition in Friedrichshafen doesn't seem to mention it, and the site for the SDRA26 (https://2026.sdra.io) seems to be down.
 
I found the presentations at previous SDRAs very interesting and of very high quality, so if it has been cancelled, I'll definitely miss it.
 
73,
Franco K4VZ
 
 

Thursday, June 18, 2026

Re: ATSC 1.0 transmit errors

I'm not familiar with where things are installed on Windows, but you should have an already complete example flow graph named uhd_atsc_tx.grc somewhere.

It's probably in a directory with a name like gnuradio/share/gnuradio/examples/dtv

Also, the test file is https://www.w6rz.net/advastc.ts (which is noted in the example flow graph).

adv16apsk910.ts is the DVB-S2 test file and will still mostly work, but there will be either video of audio hiccups because it's the incorrect Transport Stream bitrate.

Ron

On 6/18/26 15:49, Kathy King wrote:
Hello
 I am using GNU radio companion 3.10.12.0, python 3.12.9.
I installed the windows version on a windows 10 computer.
 
I implemented the ATSC transmitter example from wikipedia.
I have three errors. They are all links between blocks and I have no
idea why they are erroring.
 
The first is the link path between the FILE SOURCE block and the ATSC PAD.
 
The second is the link path between ATSC FIELD SYNC MUX block and 
the VECTOR TO STREAM.
 
The third is the link path between KEEP M IN N block and DVB-S2X MODULATOR.
 
I am using adv16apsk910.ts as the file source.
I hope someone has the answer for me.
Mike