# Fwd: gr-drm for GNU Radio 3.7 available

**URL:** <https://www.ruby-forum.com/t/fwd-gr-drm-for-gnu-radio-3-7-available/240160>\
**Category:** GNU Radio\
**Created:** [March 31, 2014, 10:29am UTC](https://www.ruby-forum.com/t/fwd-gr-drm-for-gnu-radio-3-7-available/240160 "2014-03-31T10:29:20Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![musicdenotation](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/ea666f/32.png) [@musicdenotation](https://www.ruby-forum.com/u/musicdenotation)\
**Post date:** [March 31, 2014, 10:29am UTC](https://www.ruby-forum.com/t/fwd-gr-drm-for-gnu-radio-3-7-available/240160/1 "2014-03-31T10:29:20Z")

</div>

Forgot to include the mailing list…

---------- Forwarded message ----------  
From: Felix W. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
Date: 2014-03-31 10:20 GMT+02:00  
Subject: Re: [Discuss-gnuradio] gr-drm for GNU Radio 3.7 available  
To: Jordan J. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)

About the “no module named drm” error: Obviously the needed library is  
not  
found. Normally, a “sudo ldconfig” should solve this, but only if it can  
find it. So your library has to be placed somewhere in the standard  
paths  
like “usr/local/lib”, where also the other GNU Radio libraries are  
located.  
Looking at the man page of “ldconfig” it seems that you can also give it  
a  
path to your shared library. Maybe that’s already enough.

Because you couldn’t execute the hierarchical blocks the respective  
files  
were not generated and this is why they are missing when you open the  
transmitter flow graph. GRC is just telling you that the MLC blocks are  
missing and therefore it can’t connect them to the adjacent blocks.

To sum it up: Try to find out where the working GNU Radio files such as  
XML  
files and shared libraries are placed and install the DRM stuff there.  
Unfortunately, I’m not familiar with the differences between Arch and  
Ubuntu so I’m sorry that I can’t give you more detailed instructions.

Keep me posted about your progress!

2014-03-31 9:56 GMT+02:00 Jordan J. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid):

Shoulda figured. Arch likes to put things in /usr/local/share as opposed  
to

---

<div class="post-metadata">

**Author:** ![Felix\_W](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/f/bb73d2/32.png) [@Felix\_W](https://www.ruby-forum.com/u/Felix_W)\
**Post date:** [March 31, 2014, 10:47am UTC](https://www.ruby-forum.com/t/fwd-gr-drm-for-gnu-radio-3-7-available/240160/2 "2014-03-31T10:47:26Z")

</div>

Fixed it. Here is what I did:

> libgnuradio-drm had to be moved to /usr/lib64 along with the drm folder  
> from lib  
> Weird. I wonder why Arch is so different with respect to libraries and  
> things. Haven’t tested the flowgraphs, will now.

---

<div class="post-metadata">

**Author:** ![Felix\_W](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/f/bb73d2/32.png) [@Felix\_W](https://www.ruby-forum.com/u/Felix_W)\
**Post date:** [March 31, 2014, 11:02am UTC](https://www.ruby-forum.com/t/fwd-gr-drm-for-gnu-radio-3-7-available/240160/3 "2014-03-31T11:02:02Z")

</div>

Blocks are no longer missing and…didn’t produce errors running the  
heir  
block graphs but…Yikes. Now the transmitters complain about incorrect  
sample sizes:  
“Source IO size “630” does not match sink IO size “1”.”

among many similar messages. The red arrows exist on  
Scramble \> MLC xQAM \> and everything the MLC goes too has a red arrow as  
well.

Here’s a dump (Not sure if this is all of it, the window went past the  
borrom of my screen):  
Error 0:  
Connection (  
Block - drm\_mlc\_64qam\_sm\_vbvc\_0 - MLC 64QAM SM(drm\_mlc\_64qam\_sm\_vbvc)  
Source - out(0)  
Block - drm\_interleaver\_vcvc\_0 - Cell  
Interleaver(drm\_interleaver\_vcvc)  
Sink - in(0)  
):  
Source IO size “8” does not match sink IO size “18696”.

Error 1:  
Connection (  
Block - drm\_scrambler\_vbvb\_0 - Scrambler(drm\_scrambler\_vbvb)  
Source - out(0)  
Block - drm\_mlc\_64qam\_sm\_vbvc\_0 - MLC 64QAM SM(drm\_mlc\_64qam\_sm\_vbvc)  
Sink - in(0)  
):  
Source IO size “8390” does not match sink IO size “1”.

Error 2:  
Connection (  
Block - drm\_scrambler\_vbvb\_0\_1 - Scrambler(drm\_scrambler\_vbvb)  
Source - out(0)  
Block - drm\_mlc\_16qam\_vbvc\_0 - MLC 16QAM(drm\_mlc\_16qam\_vbvc)  
Sink - in(0)  
):  
Source IO size “630” does not match sink IO size “1”.

Error 3:  
Connection (  
Block - drm\_mlc\_16qam\_vbvc\_0 - MLC 16QAM(drm\_mlc\_16qam\_vbvc)  
Source - out(0)  
Block - cell\_mapping\_vcvc\_0 - DRM Cell mapping(cell\_mapping\_vcvc)  
Sink - SDC(1)  
):  
Source IO size “8” does not match sink IO size “2576”.

Error 4:  
Connection (  
Block - drm\_scrambler\_vbvb\_0\_0 - Scrambler(drm\_scrambler\_vbvb)  
Source - out(0)  
Block - drm\_mlc\_4qam\_vbvc\_0\_0 - MLC 4QAM(drm\_mlc\_4qam\_vbvc)  
Sink - in(0)  
):  
Source IO size “72” does not match sink IO size “1”.

Error 5:  
Connection (  
Block - drm\_mlc\_4qam\_vbvc\_0\_0 - MLC 4QAM(drm\_mlc\_4qam\_vbvc)  
Source - out(0)  
Block - blocks\_stream\_to\_vector\_0\_0 - Stream to  
Vector(blocks\_stream\_to\_vector)  
Sink - in(0)  
):  
Source IO size “8” does not match sink IO size “520”.

* * *

It’s 2AM here so I have to be off to bed for work, I’ll take a stab at  
this  
again later today. I appreciate your assistance so far. 🙂 I’d liek to  
stop  
using an awkward Dream + jack combo to get drm in my IBOC project.

---

<div class="post-metadata">

**Author:** ![Felix\_W](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/f/bb73d2/32.png) [@Felix\_W](https://www.ruby-forum.com/u/Felix_W)\
**Post date:** [April 1, 2014, 1:29pm UTC](https://www.ruby-forum.com/t/fwd-gr-drm-for-gnu-radio-3-7-available/240160/4 "2014-04-01T13:29:27Z")

</div>

This is actually a GNU Radio bug where XML files are not generated  
correctly. At the vlen parameter of the hier blocks a $ is missing. This  
patch from Sebastian Koslowski should fix it:

> <https://github.com/skoslowski/gnuradio/commit/227478f343f50431d238a16d93afd8a40ef9e06e>

Just apply the patch and create the hier blocks once again. Then it all  
should work. Tell me, if it does not!

Felix

2014-03-31 19:59 GMT+02:00 Jordan J. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid):

---

<div class="post-metadata">

**Author:** ![Felix\_W](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/f/bb73d2/32.png) [@Felix\_W](https://www.ruby-forum.com/u/Felix_W)\
**Post date:** [March 31, 2014, 11:22am UTC](https://www.ruby-forum.com/t/fwd-gr-drm-for-gnu-radio-3-7-available/240160/5 "2014-03-31T11:22:29Z")

</div>

Ok, so this looks like the hierarchical blocks are not properly  
parameterized. In my transmitter, I’m always processing whole vectors of  
specific data types, so each block uses input sizes of  
vector\_length\*sizeof(data\_type). What GRC is reporting is that all MLC  
blocks use vector length 1, therefore the input sizes vary between 1  
(sizeof(char)) and 8 (sizeof(gr\_complex)). Please have a look at the MLC  
blocks in GRC and see if all the fields, especially the ones named  
“Input  
vector length” and “Output vector length” are filled and not marked with  
red. Please also check if the variable “tp” (in the upper left corner,  
right next to the “Options” block) is written in black. I’m assuming you  
didn’t change anything in the flow graph so far.

Felix

---------- Forwarded message ----------  
From: Felix W. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
Date: 2014-03-31 10:20 GMT+02:00  
Subject: Re: [Discuss-gnuradio] gr-drm for GNU Radio 3.7 available  
To: Jordan J. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)

About the “no module named drm” error: Obviously the needed library is  
not  
found. Normally, a “sudo ldconfig” should solve this, but only if it can  
find it. So your library has to be placed somewhere in the standard  
paths  
like “usr/local/lib”, where also the other GNU Radio libraries are  
located.  
Looking at the man page of “ldconfig” it seems that you can also give it  
a  
path to your shared library. Maybe that’s already enough.

Because you couldn’t execute the hierarchical blocks the respective  
files  
were not generated and this is why they are missing when you open the  
transmitter flow graph. GRC is just telling you that the MLC blocks are  
missing and therefore it can’t connect them to the adjacent blocks.

To sum it up: Try to find out where the working GNU Radio files such as  
XML  
files and shared libraries are placed and install the DRM stuff there.  
Unfortunately, I’m not familiar with the differences between Arch and  
Ubuntu so I’m sorry that I can’t give you more detailed instructions.

Keep me posted about your progress!

2014-03-31 9:56 GMT+02:00 Jordan J. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid):

Shoulda figured. Arch likes to put things in /usr/local/share as opposed  
to

---

<div class="post-metadata">

**Author:** ![Felix\_W](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/f/bb73d2/32.png) [@Felix\_W](https://www.ruby-forum.com/u/Felix_W)\
**Post date:** [April 1, 2014, 3:38pm UTC](https://www.ruby-forum.com/t/fwd-gr-drm-for-gnu-radio-3-7-available/240160/6 "2014-04-01T15:38:32Z")

</div>

The buffer warnings are expected and nothing you should have to worry  
about. It stems from the (admittedly unlucky) design choice to use  
vectors  
instead of single samples. I didn’t see that error before, though. Are  
you  
on a machine with very limited memory?

This thread [1] describes a similar behavior, maybe you can try the  
advised  
steps and report back if it helped.

[1]  
[http://www.marshut.com/ihktyk/invalid-argument-failed-to-allocate-buffer.html](http://www.marshut.com/ihktyk/invalid-argument-failed-to-allocate-buffer.html)

2014-03-31 21:29 GMT+02:00 Jordan J. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid):

---

<div class="post-metadata">

**Author:** ![Felix\_W](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/f/bb73d2/32.png) [@Felix\_W](https://www.ruby-forum.com/u/Felix_W)\
**Post date:** [April 1, 2014, 2:03pm UTC](https://www.ruby-forum.com/t/fwd-gr-drm-for-gnu-radio-3-7-available/240160/7 "2014-04-01T14:03:20Z")

</div>

I’m not sure if it’s the .py file it’s looking for or the sound (\*.wav)  
file you want to transmit. Did you maybe forget to specify one? Happened  
to  
me all the time ;).

2014-03-31 20:42 GMT+02:00 Jordan J. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid):
