Fwd: gr-drm for GNU Radio 3.7 available

Forgot to include the mailing list…

---------- Forwarded message ----------
From: Felix W. [email protected]
Date: 2014-03-31 10:20 GMT+02:00
Subject: Re: [Discuss-gnuradio] gr-drm for GNU Radio 3.7 available
To: Jordan J. [email protected]

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. [email protected]:

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

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.

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. :slight_smile: I’d liek to
stop
using an awkward Dream + jack combo to get drm in my IBOC project.

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:

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. [email protected]:

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. [email protected]
Date: 2014-03-31 10:20 GMT+02:00
Subject: Re: [Discuss-gnuradio] gr-drm for GNU Radio 3.7 available
To: Jordan J. [email protected]

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. [email protected]:

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

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

2014-03-31 21:29 GMT+02:00 Jordan J. [email protected]:

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. [email protected]: