Dear Osmocom community,
today our mailing list server lists.osmocom.org has finally been migrated
from mailman2-on-freebsd to mailman3-on-linux. This also included a variety
of changes to DNS. I'll spare you the details, but everything _should_ be up
and running now.
* The List-Id headers should not have changed.
* all list subscriptions + user accounts have been converted.
* old 'static html' archives are still available (read only) at URLs like
https://lists.osmocom.org/pipermail/baseband-devel/
* old List URLs like https://lists.osmocom.org/mailman/listinfo/baseband-devel
are redirected to their respective modern counterparts
In case you notice any mailing list related problem, please don't hesitate to
contact me.
Happy hacking,
Harald
--
- Harald Welte <laforge(a)osmocom.org> http://laforge.gnumonks.org/
============================================================================
"Privacy in residential applications is a desirable marketing option."
(ETSI EN 300 175-7 Ch. A6)
o decode the VOR's morse code station ID. From that, I will have a shor=
t list of VORs that I can currently receive. From those, if the geometry is=
appropriate (I know the VORs positions from a database) I can calculate a =
position.<u></u><u></u></p>
</div><div><p class=3D"MsoNormal"><u></u> <u></u></p></div><div><p cla=
ss=3D"MsoNormal">The software then just round-robin tunes the VORs in range=
and continually tries to calculate positions. If too many drop out, it ret=
urns to the initial scan mode.<u></u><u></u></p>
</div><div><p class=3D"MsoNormal"><u></u> <u></u></p></div><div><p cla=
ss=3D"MsoNormal">Not being able to receive this VOR or that VOR is not gene=
rally a problem, but obviously, the more the better. With extra VORs I have=
better options for choosing the closest ones or the ones with the best geo=
metry.<u></u><u></u></p>
</div><div><p class=3D"MsoNormal"><u></u> <u></u></p></div><div><p cla=
ss=3D"MsoNormal"><u></u> <u></u></p></div><div><p class=3D"MsoNormal">=
This is actually quite difficult to test, because VORs can generally only b=
e received line-of-sight -- which means in the air. I'm a private pilot=
but I found that flying and noodling with a laptop is too much trouble. Fr=
om my office window, on a high floor in Oakland, CA, I can receive one VOR =
from the Oakland airport. And I have now discovered a ridge near my home wi=
th a scenic overlook from which I can receive two.<u></u><u></u></p>
</div><div><p class=3D"MsoNormal"><u></u> <u></u></p></div><div><p cla=
ss=3D"MsoNormal">I've tested the software enough to know that the initi=
al scan function seems to work, and the morse decoding kind of works, but I=
am not confident I'll get it to work very well. (One transmitter's=
dit looks a lot like another's dah.) The nav signal decoding is simple=
. (A 30 Hz AM modulated tone is phase compared with a 30 Hz tone FM modulat=
ed at 9960 Hz. The phase obtained is the azimuth to the station.)<u></u><u>=
</u></p>
</div><div><p class=3D"MsoNormal"><u></u> <u></u></p></div><div><p cla=
ss=3D"MsoNormal"><u></u> <u></u></p></div><div><p class=3D"MsoNormal">=
If I ever get this working, I looking forward to sharing it with the commun=
ity. In the process of building this, I created a simple SDR toolkit of DSP=
functions. It's like Gnuradio in concept, but 16b fixed-point, and has=
no external dependencies, and C89, so is easier to build on weird and limi=
ted platforms. It also has perl bindings. Compared to GR, it looks like the=
work of a rank amateur just learning DSP, but I do like the concept of the=
re being a GR-like library out there, lightweight and embedded-friendly.<u>=
</u><u></u></p>
</div><div><p class=3D"MsoNormal"><u></u> <u></u></p></div><div><p cla=
ss=3D"MsoNormal"><u></u> <u></u></p></div><div><p class=3D"MsoNormal">=
Regards,<u></u><u></u></p></div><div><p class=3D"MsoNormal">Dave J<u></u><u=
></u></p></div>
<div><div><div><p class=3D"MsoNormal" style=3D"margin-bottom:12.0pt"><u></u=
> <u></u></p><div><p class=3D"MsoNormal">On Tue, Oct 22, 2013 at 3:06 =
AM, jdow <<a href=3D"mailto:jdow@earthlink.net" target=3D"_blank">jdow@e=
arthlink.net</a>> wrote:<u></u><u></u></p>
<p class=3D"MsoNormal">He sent me two frequencies in private email. These w=
ere in the FM<br>broadcast band (in the US). He probably needs to notch the=
m out<br>in order to get adequate response.<br><br>As for wanting narrow ba=
ndwidth - I am not quite sure why he thinks<br>
that is a benefit. I use a large FFT (about 10 Hz per bin) and use<br>the z=
oom control to see fine detail. (Different FFT settings suite<br>different =
uses. This one seems to be a good compromise with my two<br>needs. I'm =
too lazy to change it.)<br>
<br>{^_^}<u></u><u></u></p><div><div><p class=3D"MsoNormal"><br><br><br>On =
2013/10/22 02:08, Sylvain Munaut wrote:<u></u><u></u></p><blockquote style=
=3D"border:none;border-left:solid #cccccc 1.0pt;padding:0cm 0cm 0cm 6.0pt;m=
argin-left:4.8pt;margin-right:0cm">
<p class=3D"MsoNormal">Effective filtering must occur between antenna and r=
eceiver. All the<br>problems that a saturated preamp and ADC cause can&rsqu=
o;t be repaired by<br>software. Never.<u></u><u></u></p></blockquote><p cla=
ss=3D"MsoNormal" style=3D"margin-bottom:12.0pt">
<br>But his original problem is not with saturated preamps or ADC ... it=
9;s<br>aliasing ... and that can be solved in the digital domain provided<b=
r>fast enough ADC.<br><br>Cheers,<br><br> Sylvain<br><br><u></=
u><u></u></p>
</div></div></div><p class=3D"MsoNormal"><u></u> <u></u></p></div></di=
v></div></div></div><p class=3D"MsoNormal"><u></u> <u></u></p></div></=
div></div></div></div></div></blockquote></div><br></div>
--001a11346d7c0fd5fd04f20c4ef9--
receive. From those, if the geometry is appropriate (I know the VORs =
positions from a database) I can calculate a =
position.<o:p></o:p></p></div><div><p =
class=3DMsoNormal><o:p> </o:p></p></div><div><p =
class=3DMsoNormal>The software then just round-robin tunes the VORs in =
range and continually tries to calculate positions. If too many drop =
out, it returns to the initial scan mode.<o:p></o:p></p></div><div><p =
class=3DMsoNormal><o:p> </o:p></p></div><div><p =
class=3DMsoNormal>Not being able to receive this VOR or that VOR is not =
generally a problem, but obviously, the more the better. With extra VORs =
I have better options for choosing the closest ones or the ones with the =
best geometry.<o:p></o:p></p></div><div><p =
class=3DMsoNormal><o:p> </o:p></p></div><div><p =
class=3DMsoNormal><o:p> </o:p></p></div><div><p =
class=3DMsoNormal>This is actually quite difficult to test, because VORs =
can generally only be received line-of-sight -- which means in the air. =
I'm a private pilot but I found that flying and noodling with a laptop =
is too much trouble. From my office window, on a high floor in Oakland, =
CA, I can receive one VOR from the Oakland airport. And I have now =
discovered a ridge near my home with a scenic overlook from which I can =
receive two.<o:p></o:p></p></div><div><p =
class=3DMsoNormal><o:p> </o:p></p></div><div><p =
class=3DMsoNormal>I've tested the software enough to know that the =
initial scan function seems to work, and the morse decoding kind of =
works, but I am not confident I'll get it to work very well. (One =
transmitter's dit looks a lot like another's dah.) The nav signal =
decoding is simple. (A 30 Hz AM modulated tone is phase compared with a =
30 Hz tone FM modulated at 9960 Hz. The phase obtained is the azimuth to =
the station.)<o:p></o:p></p></div><div><p =
class=3DMsoNormal><o:p> </o:p></p></div><div><p =
class=3DMsoNormal><o:p> </o:p></p></div><div><p =
class=3DMsoNormal>If I ever get this working, I looking forward to =
sharing it with the community. In the process of building this, I =
created a simple SDR toolkit of DSP functions. It's like Gnuradio in =
concept, but 16b fixed-point, and has no external dependencies, and C89, =
so is easier to build on weird and limited platforms. It also has perl =
bindings. Compared to GR, it looks like the work of a rank amateur just =
learning DSP, but I do like the concept of there being a GR-like library =
out there, lightweight and =
embedded-friendly.<o:p></o:p></p></div><div><p =
class=3DMsoNormal><o:p> </o:p></p></div><div><p =
class=3DMsoNormal><o:p> </o:p></p></div><div><p =
class=3DMsoNormal>Regards,<o:p></o:p></p></div><div><p =
class=3DMsoNormal>Dave J<o:p></o:p></p></div><div><div><div><p =
class=3DMsoNormal =
style=3D'margin-bottom:12.0pt'><o:p> </o:p></p><div><p =
class=3DMsoNormal>On Tue, Oct 22, 2013 at 3:06 AM, jdow <<a =
href=3D"mailto:jdow@earthlink.net" =
target=3D"_blank">jdow(a)earthlink.net</a>> wrote:<o:p></o:p></p><p =
class=3DMsoNormal>He sent me two frequencies in private email. These =
were in the FM<br>broadcast band (in the US). He probably needs to notch =
them out<br>in order to get adequate response.<br><br>As for wanting =
narrow bandwidth - I am not quite sure why he thinks<br>that is a =
benefit. I use a large FFT (about 10 Hz per bin) and use<br>the zoom =
control to see fine detail. (Different FFT settings suite<br>different =
uses. This one seems to be a good compromise with my two<br>needs. I'm =
too lazy to change it.)<br><br>{^_^}<o:p></o:p></p><div><div><p =
class=3DMsoNormal><br><br><br>On 2013/10/22 02:08, Sylvain Munaut =
wrote:<o:p></o:p></p><blockquote style=3D'border:none;border-left:solid =
#CCCCCC 1.0pt;padding:0cm 0cm 0cm =
6.0pt;margin-left:4.8pt;margin-right:0cm'><p class=3DMsoNormal>Effective =
filtering must occur between antenna and receiver. All the<br>problems =
that a saturated preamp and ADC cause can’t be repaired =
by<br>software. Never.<o:p></o:p></p></blockquote><p class=3DMsoNormal =
style=3D'margin-bottom:12.0pt'><br>But his original problem is not with =
saturated preamps or ADC ... it's<br>aliasing ... and that can be solved =
in the digital domain provided<br>fast enough =
ADC.<br><br>Cheers,<br><br> =
Sylvain<br><br><o:p></o:p></p></div></div></div><p =
class=3DMsoNormal><o:p> </o:p></p></div></div></div></div></div><p =
class=3DMsoNormal><o:p> </o:p></p></div></div></div></body></html>
------=_NextPart_000_0073_01CF2656.CE93A820--
direct sampling mode, only from signal processing view):
If you already have analog signal as separated I&Q in baseband (so called
zero-IF), and do I&Q two channel A/D converter, you can processing signal,
highest frequency of which is less than sampling rate, without aliasing.
That means, for example, you can processing signal, frequency of which is
up to 28.8MHz, when sampling rate is 28.8MHz. (There is an implicit
assumption that your zero-IF analog channel is ideal)
If you have to do sampling on a single channel analog signal( not zero-IF,
I&Q not separated by analog circuit, I&Q are still mixed together by an IF
carrier/frequency), you have to ensure the highest frequency of signal less
than half of sampling rate to ensure no aliasing.
On Wed, Jan 29, 2014 at 7:50 AM, Richard Koch <n1gp(a)hotmail.com> wrote:
> Can someone clarify what the frequency range is in Direct sampling mode.
>
> The rtl2832u dongle has a 28.8Mhz osc.
>
> So can the dongle in "direct sampling mode" (with appropriate antenna
> connection)
> receive > 14.4 Mhz (Nyquist) ?
>
> Googling I find conflicting advice.
>
> I've been able to receive > 14.4 Mhz in direct mode, but I'm not sure if
> that's due to some non-optimal method...?
>
> I'm guessing it can because the tuner chip provides both I & Q data
> therefore
> allowing the double rate...?
>
>
>
>
--047d7bf15fc8eed8c404f1137e92
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
<div dir=3D"ltr"><div><div>From the point of view of signal processing (not=
very clear about your direct sampling mode, only from signal processing vi=
ew):<br></div>If you already have analog signal as separated I&Q in bas=
eband (so called zero-IF), and do I&Q two channel A/D converter, you ca=
n processing signal, highest frequency of which is less than sampling rate,=
without aliasing.<br>
</div><div>That means, for example, you can processing signal, frequency of=
which is up to 28.8MHz, when sampling rate is 28.8MHz. (There is an implic=
it assumption that your zero-IF analog channel is ideal)<br><br></div>If yo=
u have to do sampling on a single channel analog signal( not zero-IF, I&=
;Q not separated by analog circuit, I&Q are still mixed together by an =
IF carrier/frequency), you have to ensure the highest frequency of signal l=
ess than half of sampling rate to ensure no aliasing.<br>
<br></div><div class=3D"gmail_extra"><br><br><div class=3D"gmail_quote">On =
Wed, Jan 29, 2014 at 7:50 AM, Richard Koch <span dir=3D"ltr"><<a href=3D=
"mailto:n1gp@hotmail.com" target=3D"_blank">n1gp(a)hotmail.com</a>></span>=
wrote:<br>
<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex">
<div><div dir=3D"ltr">Can someone clarify what the frequency range is in Di=
rect sampling mode.<br><br>The rtl2832u dongle has a 28.8Mhz osc. <br><br>S=
o can the dongle in "direct sampling mode" (with appropriate ante=
nna connection)<br>
receive > 14.4 Mhz (Nyquist) ?<br><br>Googling I find conflicting advice=
.<br><br>I've been able to receive > 14.4 Mhz in direct mode, but I&=
#39;m not sure if<br>that's due to some non-optimal method...?<br><br>
I'm guessing it can because the tuner chip provides both I & Q data=
therefore<br>allowing the double rate...?<br><br><br><br> </div=
></div>
</blockquote></div><br></div>
--047d7bf15fc8eed8c404f1137e92--
VOR from the Oakland airport. And I have now discovered a ridge near my
home with a scenic overlook from which I can receive two.
I've tested the software enough to know that the initial scan function
seems to work, and the morse decoding kind of works, but I am not confident
I'll get it to work very well. (One transmitter's dit looks a lot like
another's dah.) The nav signal decoding is simple. (A 30 Hz AM modulated
tone is phase compared with a 30 Hz tone FM modulated at 9960 Hz. The phase
obtained is the azimuth to the station.)
If I ever get this working, I looking forward to sharing it with the
community. In the process of building this, I created a simple SDR toolkit
of DSP functions. It's like Gnuradio in concept, but 16b fixed-point, and
has no external dependencies, and C89, so is easier to build on weird and
limited platforms. It also has perl bindings. Compared to GR, it looks like
the work of a rank amateur just learning DSP, but I do like the concept of
there being a GR-like library out there, lightweight and embedded-friendly.
Regards,
Dave J
On Tue, Oct 22, 2013 at 3:06 AM, jdow <jdow(a)earthlink.net> wrote:
> He sent me two frequencies in private email. These were in the FM
> broadcast band (in the US). He probably needs to notch them out
> in order to get adequate response.
>
> As for wanting narrow bandwidth - I am not quite sure why he thinks
> that is a benefit. I use a large FFT (about 10 Hz per bin) and use
> the zoom control to see fine detail. (Different FFT settings suite
> different uses. This one seems to be a good compromise with my two
> needs. I'm too lazy to change it.)
>
> {^_^}
>
>
>
> On 2013/10/22 02:08, Sylvain Munaut wrote:
>
>> Effective filtering must occur between antenna and receiver. All the
>>> problems that a saturated preamp and ADC cause can=92t be repaired by
>>> software. Never.
>>>
>>
>> But his original problem is not with saturated preamps or ADC ... it's
>> aliasing ... and that can be solved in the digital domain provided
>> fast enough ADC.
>>
>> Cheers,
>>
>> Sylvain
>>
>>
>>
--089e01184768dfc65f04e955c0d5
Content-Type: text/html; charset=windows-1252
Content-Transfer-Encoding: quoted-printable
<div dir=3D"ltr">I originally posted about 115.8 and 116.8 MHz, both square=
in the VOR band of 108 to 117.95. I might have sent something else in a PM=
, but if so it was a typo. :-) I am definitely only interested in the VOR b=
and right now -- though, as you say, it is adjacent to commercial FM with i=
ts high power.<div>
<br></div><div>My application is simple in concept: A fully auomatic VOR-ba=
sed positioning system, a fallback from GPS. I want to scan the entire VOR =
band, looking for signals in the standard VOR format that can be demodulate=
d. I do the initial scan with a fast sample rate and FFT, just looking for =
peaks. From those, I examine the signals to see if it looks like a VOR sign=
al. From that list, I will "park" on each signal long enough (~30=
s) to decode the VOR's morse code station ID. From that, I will have a =
short list of VORs that I can currently receive. From those, if the geometr=
y is appropriate (I know the VORs positions from a database) I can calculat=
e a position.</div>
<div><br></div><div>The software then just round-robin tunes the VORs in ra=
nge and continually tries to calculate positions. If too many drop out, it =
returns to the initial scan mode.</div><div><br></div><div>Not being able t=
o receive this VOR or that VOR is not generally a problem, but obviously, t=
he more the better. With extra VORs I have better options for choosing the =
closest ones or the ones with the best geometry.</div>
<div><br></div><div><br></div><div>This is actually quite difficult to test=
, because VORs can generally only be received line-of-sight -- which means =
in the air. I'm a private pilot but I found that flying and noodling wi=
th a laptop is too much trouble. From my office window, on a high floor in =
Oakland, CA, I can receive one VOR from the Oakland airport. And I have now=
discovered a ridge near my home with a scenic overlook from which I can re=
ceive two.</div>
<div><br></div><div>I've tested the software enough to know that the in=
itial scan function seems to work, and the morse decoding kind of works, bu=
t I am not confident I'll get it to work very well. (One transmitter=
9;s dit looks a lot like another's dah.) The nav signal decoding is sim=
ple. (A 30 Hz AM modulated tone is phase compared with a 30 Hz tone FM modu=
lated at 9960 Hz. The phase obtained is the azimuth to the station.)</div>
<div><br></div><div><br></div><div class=3D"gmail_extra">If I ever get this=
working, I looking forward to sharing it with the community. In the proces=
s of building this, I created a simple SDR toolkit of DSP functions. It'=
;s like Gnuradio in concept, but 16b fixed-point, and has no external depen=
dencies, and C89, so is easier to build on weird and limited platforms. It =
also has perl bindings. Compared to GR, it looks like the work of a rank am=
ateur just learning DSP, but I do like the concept of there being a GR-like=
library out there, lightweight and embedded-friendly.</div>
<div class=3D"gmail_extra"><br></div><div class=3D"gmail_extra"><br></div><=
div class=3D"gmail_extra">Regards,</div><div class=3D"gmail_extra">Dave J</=
div><div class=3D"gmail_extra"><br><br><div class=3D"gmail_quote">On Tue, O=
ct 22, 2013 at 3:06 AM, jdow <span dir=3D"ltr"><<a href=3D"mailto:jdow@e=
arthlink.net" target=3D"_blank">jdow(a)earthlink.net</a>></span> wrote:<br=
>
<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex">He sent me two frequencies in private email.=
These were in the FM<br>
broadcast band (in the US). He probably needs to notch them out<br>
in order to get adequate response.<br>
<br>
As for wanting narrow bandwidth - I am not quite sure why he thinks<br>
that is a benefit. I use a large FFT (about 10 Hz per bin) and use<br>
the zoom control to see fine detail. (Different FFT settings suite<br>
different uses. This one seems to be a good compromise with my two<br>
needs. I'm too lazy to change it.)<br>
<br>
{^_^}<div class=3D"HOEnZb"><div class=3D"h5"><br>
<br>
<br>
On 2013/10/22 02:08, Sylvain Munaut wrote:<br>
<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex"><blockquote class=3D"gmail_quote" style=3D"m=
argin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Effective filtering must occur between antenna and receiver. All the<br>
problems that a saturated preamp and ADC cause can=92t be repaired by<br>
software. Never.<br>
</blockquote>
<br>
But his original problem is not with saturated preamps or ADC ... it's<=
br>
aliasing ... and that can be solved in the digital domain provided<br>
fast enough ADC.<br>
<br>
Cheers,<br>
<br>
=A0 =A0 Sylvain<br>
<br>
<br>
</blockquote>
</div></div></blockquote></div><br></div></div>
--089e01184768dfc65f04e955c0d5--
it was a saturation issue in RF, it would show up no matter what the
sample rate is.
Also :
- RF filter are often only band specific and not channel specific
(because tunable RF filters to do channel selection would be
prohibitively expensive)
- IF filter (or BB filters for zero-if) are then used for channel selection.
So in his case being two channel in the same band (and given the
architecture of the dongles), the only saturation that IF filters
would provide would be against ADC saturation and it's easy to check
if this happens or not just looking at the time domain signal.
Cheers,
Sylvain
developer doesn't really know or care about corner cases and as a
result it's possible for the GUI to show "green" when in fact there
is actually a problem that could be detected. That said, if you've
used zadig to install the driver then it should indeed work.
> but I can confidently say, I've followed every instruction quite
> precisely... I've tried installing the winusb stub for both
> instance 0 and 1
What do you mean by instance here again? Sorry if you already
mentioned that.
If the device has multiple interfaces (a so-called composite device)
it is important to install WinUSB for the actual device, and not for
either of the two interfaces.
> trying everything in both cases in the event that installing it on
> the second instance is itself a problem. there's something quite
> subtle wrong, given that sdrsharp works perfectly...
I don't know how your .exe files were built and if they are using
libusb or the hostile fork libusbx which clobbers the soname and
uses the same API namespace, the latter driven by that same
zadig/libwdi developer. I know the actual libusb very well and it
would be interesting to see output from a debug build of my current
working directory with libusb source. I've built a binary using the
MS C compiler here: http://stuge.se/libusb-1.0.dll
Try putting this in the same directory as the program and see if you
still have the same problem. Even if the program was built using
MinGW that DLL should work well. If yes, the output from the program
would be interesting.
Thanks
//Peter
ioctl(5, USBDEVFS_CLAIMINTERFACE, 0x7fd063c4) = -1 ENOENT (No such file or directory)
The kernel is saying that the interface doesn't exist.
lsusb -v for this device run on the fritzbox would be interesting.
//Peter
3.54 GHz. The actual mixer frequency sent to the IF stage is the VCO
frequency divided by a number between 2 and 63 -- so the possible center
frequency tuning range ends up being in the range of ~24 MHz to 1.77 GHz.
However, I was wondering if it would be possible to use a MixDiv of 1 --
to run the mixer frequency directly on the VCO? Has anyone tried that,
or would it fry the device somehow?
Just wondering if the range could be extended (disregarding any
sensitivity issues, of course).
-- Per.
r feature of the device won't be of much use to me, but as for the FM, =
I'm on the Ubuntu/Linux GNU platform, so I'm awaiting on the kindne=
ss of strangers to perfect the kernel drivers enough to match the Windows k=
it performance. But that's okay, because I'm learning a lot in the =
process :)<br>
<br><div class=3D"gmail_quote">On Mon, Aug 13, 2012 at 11:44 PM, Adam Niels=
en <span dir=3D"ltr"><<a href=3D"mailto:a.nielsen@shikadi.net" target=3D=
"_blank">a.nielsen(a)shikadi.net</a>></span> wrote:<br><blockquote class=
=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padd=
ing-left:1ex">
<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex">
so it is /designed/ for FM? =A0That's encouraging because mostly that i=
s all I<div class=3D"im"><br>
really need from it, only all my experiments so far have yielded only<br></=
div>
AM-quality sound, but it's good to hear because it means there's /h=
ope/ and so<div class=3D"im"><br>
I'll just keep hanging in there until an FM recipe surfaces :)<br>
</div></blockquote>
<br>
Yes, because the dongles provide digital TV (via hardware) and as an extra =
selling point, analogue FM radio (provided via the SDR.)<br>
<br>
I don't know what platform you're on or what your goals are, but I =
hear the SDR# program for Windows offers excellent stereo FM support, as it=
's one of the few programs that can deal with the ~120kHz bandwidth nee=
ded for a WBFM signal.<br>
<br>
Cheers,<br>
Adam.<br>
<br>
<br>
</blockquote></div><br><br clear=3D"all"><div><br></div>-- <br><div style=
=3D"text-align:right"><i><span style=3D"font-size:x-small">Have Blog, Will =
Travel: </span><span style=3D"font-size:x-small"><a href=3D"http://blog.tel=edyn.com" target=3D"_blank">blog.teledyn.com</a></span></i></div>
<div style=3D"text-align:right"><i><span style=3D"font-size:x-small">A Serv=
iceable Substitute: <a href=3D"http://post.teledyn.com" target=3D"_blank">p=
ost.teledyn.com</a></span></i></div><br>
--f46d042fd93a1d197104c738bd48--
from DVB-T (I am a complete neophyte at all of this) and so that particular
feature of the device won't be of much use to me, but as for the FM, I'm on
the Ubuntu/Linux GNU platform, so I'm awaiting on the kindness of strangers
to perfect the kernel drivers enough to match the Windows kit performance.
But that's okay, because I'm learning a lot in the process :)
On Mon, Aug 13, 2012 at 11:44 PM, Adam Nielsen <a.nielsen(a)shikadi.net>wrote:
> so it is /designed/ for FM? That's encouraging because mostly that is all
>> I
>>
>> really need from it, only all my experiments so far have yielded only
>> AM-quality sound, but it's good to hear because it means there's /hope/
>> and so
>>
>> I'll just keep hanging in there until an FM recipe surfaces :)
>>
>
> Yes, because the dongles provide digital TV (via hardware) and as an extra
> selling point, analogue FM radio (provided via the SDR.)
>
> I don't know what platform you're on or what your goals are, but I hear
> the SDR# program for Windows offers excellent stereo FM support, as it's
> one of the few programs that can deal with the ~120kHz bandwidth needed for
> a WBFM signal.
>
> Cheers,
> Adam.
>
>
>
--
*Have Blog, Will Travel: blog.teledyn.com*
*A Serviceable Substitute: post.teledyn.com*
--f46d042fd93a1d197104c738bd48
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
Dear friends and fans of software-defined radio and free/open-source radio topics in general,
FOSDEM 2022 (the free and open-source developer's meeting usually in Brussels, Europe but **repeatedly virtual**) will again feature a track on Software Defined Radio and any other radio-related topics in the **Free Software Radio** devroom. Therefore, we invite developers and users from the free software radio community to join us for this track and present your work, ideas and/or demos.
Given the current circumstances and the virtual nature of this event in 2022, we are asking the presenters to pre-record the talks, which will then be gathered by us and streamed during the event. Presenters are also asked to be present online during their timeslot for live Q&A.
Software Radio is an important tool for educators, tinkerers and industry to implement signal processing and communication algorithms in software while still allowing for easy access to real signals. This allow anyone to access the EM spectrum out of curiosity, for research or for profit. At FOSDEM we want to foster collaboration and exchange of ideas between different projects in the field of SDR. We hope to network all these projects, and improve collaboration, bring new ideas forward and get more people involved.
The track's website resides at the link below. The final schedule will be available through Pentabarf and the official FOSDEM website. Notice that the reference time will be Brussels local time (CET).
https://fosdem.org/2022/schedule/track/free_software_radio/
Additional Information will be also available at:
https://wiki.gnuradio.org/index.php/FOSDEM_2022
** Submit your presentations
To suggest a talk, go to https://penta.fosdem.org/submission/FOSDEM22 and follow the instructions (you need an account, but can use your account from last year if you have one. Please do NOT create a new account if you already have one). You need to create an 'Event'; make sure it's in the Free Software Radio track! Your submission should have the following information:
* Your contact Email
* A descriptive title and subtitle of your talk
* A short abstract
* Links related to the project
* [Optional] A longer description of the content of your talk.
Lengths aren't fixed, but give a realistic estimate, and please don't exceed 30 minutes unless you have something special planned (in that case, contact one of us). We will typically go for 30-minute slots -- shorter talks, unless they're really short, usually tend to screw up the schedule too much. Please take into account some live Q&A at the end of your presentation, going for 25 minutes presentation plus 5 minutes for Q&A will provide a more lively conference experience for everyone.
You aren't limited to slide presentations, of course. Be creative. However, FOSDEM is an free software conference, therefore we ask you to stay clear of marketing presentations and present something relevant to free/open software. We like nitty-gritty technical stuff.
Topics discussed in this devroom include (but are not limited to):
* SDR Frameworks + Tools
* Cellular/telecoms software
* Free/Open SDR hardware
* Wireless security
* Random fun wireless hacks
* SDR in education
* Satellite/spacecraft communication
* Ham radio related topics
** Important Dates
* Submission deadline: 26 December 2021
* Announcement of selected talks: 31 December 2021
* (preliminary) Pre-recorded presentation submission deadline: 23 January 2022
* Conference dates 5 & 6 February 2022 online
* Free software radio devroom date: Sunday 6 February 2022 online
In the last years we were always full to the brim with presentations, so if you want to present, please make sure to submit your abstracts soon!
(It might be possible to get our allotted time extended to Saturday - given enough volunteers and high quality presentations to cover two days, but that's only an option as last resort)
** Following steps for accepted talks
When your talk is accepted, you will be contacted by a deputy who will help you with the pre-recording of your talk. Together you will make sure that the content has the required quality and is stream-ready. When complete, the recording will be located into the streaming system, and Bob's your uncle.
Don't forget that you **must** be available during the allocated timeslot of your talk for live Q&A.
** Steering Committee
The track committee consists of:
* Phil Balister - "Crofton"
* Derek Kozel - "dkozel"
* Andrej Rode - "noc0lour"
* Martin Braun - "mbr0wn"
Hope to hear from you soon! And please forward this announcement.
Cheers
Andrej
Hello,
My system config:
OS: Ubuntu 20.04.3 LTS
OS Type: 64-bit
RAM: 3.8 GB
Processor: Intel Core i5-2450M CPU @2.50GHz x4
UHD version: 3.15.0.0
GNU Radio version: 3.8.1.0
SDR Device: Ettus USRP N320
Antenna Freq: 868 MHz
I tried to build osmocom block in my existing gnuradio environment, but I got the following error during cmake command. The console logs are shown below.
Console logs:
komro@komro-HP-ProBook-6560b:~/gnuradio/gr-osmosdr/build$ cmake ../
-- The CXX compiler identification is GNU 9.3.0
-- The C compiler identification is GNU 9.3.0
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Build type not specified: defaulting to release.
-- Found Git: /usr/bin/git (found version "2.25.1")
-- Extracting version information from git describe...
-- Configuring Boost C++ Libraries...
-- Found Boost: /usr/lib/x86_64-linux-gnu/cmake/Boost-1.71.0/BoostConfig.cmake (found version "1.71.0") found components: thread system
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.29.1")
-- Checking for module 'gruel'
-- No package 'gruel' found
-- Could NOT find GRUEL (missing: GRUEL_LIBRARIES GRUEL_INCLUDE_DIRS)
-- Checking for module 'gnuradio-core'
-- No package 'gnuradio-core' found
-- Could NOT find GNURADIO_CORE (missing: GNURADIO_CORE_LIBRARIES GNURADIO_CORE_INCLUDE_DIRS)
-- Checking for module 'gnuradio-iqbalance'
-- No package 'gnuradio-iqbalance' found
-- Could NOT find GNURADIO_IQBALANCE (missing: GNURADIO_IQBALANCE_LIBRARIES GNURADIO_IQBALANCE_INCLUDE_DIRS)
-- Checking for module 'uhd'
-- No package 'uhd' found
-- Could NOT find UHD (missing: UHD_LIBRARIES UHD_INCLUDE_DIRS)
-- Checking for module 'gnuradio-uhd'
-- Found gnuradio-uhd, version 3.8.1
-- gnuradio-uhd not found.
-- Could NOT find GNURADIO_UHD (missing: GNURADIO_UHD_INCLUDE_DIRS)
-- Checking for module 'gnuradio-fcd'
-- No package 'gnuradio-fcd' found
-- gnuradio-fcd not found.
-- Could NOT find GNURADIO_FCD (missing: GNURADIO_FCD_LIBRARIES GNURADIO_FCD_INCLUDE_DIRS)
-- Checking for module 'gnuradio-fcdproplus'
-- No package 'gnuradio-fcdproplus' found
-- gnuradio-fcdproplus not found.
-- Could NOT find GNURADIO_FCDPP (missing: GNURADIO_FCDPP_LIBRARIES GNURADIO_FCDPP_INCLUDE_DIRS)
-- Checking for module 'libosmosdr'
-- No package 'libosmosdr' found
-- libosmosdr not found.
-- Checking for module 'librtlsdr'
-- Found librtlsdr, version 0.6.0-32-gd770
-- Found librtlsdr: /usr/local/include, /usr/local/lib/librtlsdr.so
-- Checking for module 'libmirisdr'
-- No package 'libmirisdr' found
-- libmirisdr not found.
-- Checking for module 'libhackrf'
-- No package 'libhackrf' found
-- Could NOT find LIBHACKRF (missing: LIBHACKRF_LIBRARIES LIBHACKRF_INCLUDE_DIRS)
-- Checking for module 'libairspy'
-- No package 'libairspy' found
-- Could NOT find LIBAIRSPY (missing: LIBAIRSPY_LIBRARIES LIBAIRSPY_INCLUDE_DIRS)
-- Checking for module 'libbladeRF'
-- No package 'libbladeRF' found
-- libbladeRF not found.
-- Found Doxygen: /usr/bin/doxygen (found version "1.8.17") found components: doxygen missing components: dot
CMake Error at CMakeLists.txt:166 (message):
Gruel required to build gr-osmosdr
-- Configuring incomplete, errors occurred!
See also "/home/komro/gnuradio/gr-osmosdr/build/CMakeFiles/CMakeOutput.log".
See also "/home/komro/gnuradio/gr-osmosdr/build/CmakeFiles/CmakeError.log".
What am I missing here? I installed the required RTL-SDR packages too!
PFA CMake files
Best regards,
Thangaraj
Hello Vasil,
The problem was with gr-fcdproplus package only! After removing it was installing fine and I got it under GRC Menu!
But there is a new error while executing the flowgraph!
Console:
Generating: '/home/thangz/Desktop/gnuradio/rtlsdr_fm_spectrum_simple.py'
Executing: /usr/bin/python3 -u /home/thangz/Desktop/gnuradio/rtlsdr_fm_spectrum_simple.py
Traceback (most recent call last):
File "/usr/local/lib/python3/dist-packages/osmosdr/__init__.py", line 17, in <module>
from .osmosdr_python import *
ImportError: generic_type: type "sink" referenced unknown base type "gr::hier_block2"
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/thangz/Desktop/gnuradio/rtlsdr_fm_spectrum_simple.py", line 37, in <module>
import osmosdr
File "/usr/local/lib/python3/dist-packages/osmosdr/__init__.py", line 21, in <module>
from .osmosdr_python import *
ImportError: generic_type: type "sink" referenced unknown base type "gr::hier_block2"
What is the problem here?
Regards,
Thangaraj
-----Ursprüngliche Nachricht-----
Von: Vasil Velichkov <vvvelichkov(a)gmail.com>
Gesendet: Mittwoch, 27. Oktober 2021 13:27
An: Thangaraj Mukara Dhakshinamoorthy <thangaraj(a)komro.net>; osmocom-sdr(a)lists.osmocom.org
Betreff: Re: AW: AW: Make fails while installing gr-osmosdr
Hi Thangaraj,
On 27/10/2021 13.51, Thangaraj Mukara Dhakshinamoorthy wrote:
> Sorry! I was wrong, I installed main-3.9 only!
OK.
> I guess the problem would be something to do with the cmake prefix path I have passed:
I doubt that it is related to the prefix. Have you tried deleting gr-osmosdr's build directory and starting from scratch (after remvoing gr-fcdproplus package)? Alternatively you can delete only the CMakeCache file.
What is the exact problem that you have right now? Provide the full cmake and make output.
Hello,
My system config:
Host OS: Windows 10
Guest OS: VirtualBox Ubuntu 20.04.3 LTS
UHD version: 3.15.0.0
GNU Radio version: 3.9
SDR Device : RTL-SDR Dongle
I got the below error while executing the make command:
>thangz@thangz-VirtualBox:~/Desktop/gr-osmosdr/build$ cmake -DCMAKE_PREFIX_PATH=/usr ../
.
.
-- Configuring done
-- Generating done
-- Build files have been written to: /home/thangz/Desktop/gr-osmosdr/build
>thangz@thangz-VirtualBox:~/Desktop/gr-osmosdr/build$ make
.
.
/usr/local/include/gnuradio/hier_block2.h:93:35: note: no known conversion for argument 1 from 'gr::fcdproplus::fcdproplus::sptr' {aka 'boost::shared_ptr<gr::fcdproplus::fcdproplus>'} to 'gr::basic_block_sptr' {aka 'std::shared_ptr<gr::basic_block>'}
93 | void connect(basic_block_sptr src, int src_port, basic_block_sptr dst, int dst_port);
make[2]: *** [lib/CMakeFiles/gnuradio-osmosdr.dir/build.make:128: lib/CMakeFiles/gnuradio-osmosdr.dir/fcd/fcd_source_c.cc.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:417: lib/CMakeFiles/gnuradio-osmosdr.dir/all] Error 2
make: *** [Makefile:141: all] Error 2
What may I do to fix this error? What am I missing here? Please help!
PS: I just need the RTL-SDR component, so I installed the dependency for that alone (see complete log file).
PFA complete log file
Best regards
Thangaraj
Hy
Ive installed osmo-fl2k on Windows 10
And when i try to release, i have a error message that pthread vc2.dll is not Found.
How can i fix IT?
Télécharger Outlook pour Android<https://aka.ms/AAb9ysg>
Hi,
This is a starter patch to produce a .sigmf-meta file for each
recording. It contains the minimum useful info that is usually coded
into the filename.
I'm not sure if anyone thinks this is worthwhile. There is a lot more
that could be recorded in the .sigmf-meta file like e.g. current gain
values, current bandwidth or antenna settings (if available), but i
wanted to see if there is any interest for this at all.
It would maybe also nice to add the actual sdr device name that was
used, but as far as I can see there is no way in python to query which
device/driver is used by a specific osmosdr.source()?
CU,
Sec
>From 916dd8732302d8d052432a5deb27f132521d0be3 Mon Sep 17 00:00:00 2001
From: Stefan `Sec` Zehl <sec(a)42.org>
Date: Sun, 10 Oct 2021 16:59:32 +0200
Subject: [PATCH] implement simple sigmf support for recording
---
apps/osmocom_fft | 30 ++++++++++++++++++++++++++++--
1 file changed, 28 insertions(+), 2 deletions(-)
diff --git a/apps/osmocom_fft b/apps/osmocom_fft
index f829192cd6..2cdfd3ae35 100755
--- a/apps/osmocom_fft
+++ b/apps/osmocom_fft
@@ -103,8 +103,8 @@ class app_top_block(gr.top_block, Qt.QMainWindow):
help="Set gain in dB (default is midpoint)")
parser.add_option("-G", "--gains", type="string", default=None,
help="Set named gain in dB, name:gain,name:gain,...")
- parser.add_option("-r", "--record", type="string", default="/tmp/name-f%F-s%S-t%T.cfile",
- help="Filename to record to, available wildcards: %S: sample rate, %F: center frequency, %T: timestamp, Example: /tmp/name-f%F-s%S-t%T.cfile")
+ parser.add_option("-r", "--record", type="string", default="/tmp/name-f%F-s%S-t%T.sigmf-data",
+ help="Filename to record to, available wildcards: %S: sample rate, %F: center frequency, %T: timestamp, Example: /tmp/name-f%F-s%S-t%T.sigmf-data")
parser.add_option("", "--dc-offset-mode", type="int", default=None,
help="Set the RX frontend DC offset correction mode")
parser.add_option("", "--iq-balance-mode", type="int", default=None,
@@ -342,6 +342,24 @@ class app_top_block(gr.top_block, Qt.QMainWindow):
s = s.replace('%T', datetime.datetime.now().strftime('%Y%m%d%H%M%S'))
return s
+ def record_sigmf_metadata(self):
+ return {
+ "global": {
+ "core:datatype": "cf32_le",
+ "core:sample_rate": self.src.get_sample_rate(),
+ "core:version": "1.0.0",
+ "core:num_channels": 1,
+ "core:recorder": "osmocom_fft"
+ },
+ "captures": [
+ {
+ "core:sample_start": 0,
+ "core:frequency": self.src.get_center_freq(),
+ "core:datetime": datetime.datetime.utcnow().isoformat()+"Z"
+ }
+ ]
+ }
+
def _set_status_msg(self, msg, timeout=0):
self.status.showMessage(msg, timeout)
@@ -498,6 +516,14 @@ class app_top_block(gr.top_block, Qt.QMainWindow):
print("Recording samples to ", self.rec_file_name)
self.file_sink.open(self.rec_file_name);
+ if self.rec_file_name.endswith('.sigmf-data'):
+ try:
+ import json
+ self.meta_file_name=self.rec_file_name[:-4]+'meta'
+ with open(self.meta_file_name, 'w') as outfile:
+ json.dump(self.record_sigmf_metadata(), outfile, indent=4)
+ except ModuleNotFoundError as e:
+ print("Could not write sigmf-meta: ",e)
else:
self._srw.setDisabled(False)
self._fre.setDisabled(False)
--
2.30.2
CU,
Sec
--
A bureaucracy is like a computer program. Usually, the question is
how to arrange it so that what you want is composed of operations that
the bureaucracy supports. In addition, in any bureaucracy, there is
always *someone* whose job is to approve violations of the rules.
Hy. I recently instal osmo-fl2k on Windows and the software dont open and i have a message that pthreadVC2.dll is not Found.
After research, i Found the dll un the pthread folder. Where must i place the dll for macking IT work?
Télécharger Outlook pour Android<https://aka.ms/AAb9ysg>
Hi,
The USB dongle I am using requires direct mode 2 for sampling the Q branch.
The rtl_fm program assumes that "direct" means mode 1. I added a 2nd option
to allow to select the other mode.
Patch attached.
Regards,
Doug Hammond
Hi,
I'm trying to build gr-fosphor on OSX, GNURadio 3.8 & Python 3.7.10 (built from Macports) but it blows up in a swig wrapper:
[ 80%] Building CXX object swig/CMakeFiles/fosphor_swig.dir/CMakeFiles/fosphor_swig.dir/fosphor_swigPYTHON_wrap.cxx.o
warning: unknown warning option '-Wno-format-overflow'; did you mean '-Wno-shift-overflow'? [-Wunknown-warning-option]
/Users/oconnd1/projects/gr-fosphor/build/swig/CMakeFiles/fosphor_swig.dir/fosphor_swigPYTHON_wrap.cxx:5219:14: error: no viable overloaded '='
result = gr::fosphor::glfw_sink_c::make();
~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Full build log is at https://gist.github.com/DanielO/8a75d1cc2848f773e702d788fa8275b8
I ran cmake like so:
cmake -DGR_PYTHON_DIR=/opt/local/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages -DCMAKE_INSTALL_PREFIX=/opt/local -Wno-dev ..
I am happy to test any patches etc but unfortunately my C++/Swig skills are nonexistent :(
Thanks.
--
Daniel O'Connor
"The nice thing about standards is that there
are so many of them to choose from."
-- Andrew Tanenbaum
Hello,
To avoid confusion, this post is about frequency errors inherent in the
dongle hardware, which is quite separate from crystal drift.
Having noticed that some dongles have impressive frequency stability, I did
some calibration tests, and discovered (as I should have known) that the
limited number length of the dongle hardware tunes to only an approximation
of the requested frequency. In extreme cases the frequency error, i.e. the
difference between the actual frequency and the requested frequency, can be
as much as 1 ppm.
To get around this limitation, I added an experimental function to
librtlsdr.c that returns the *exact* frequency that the dongle is tuned to.
It does this by reading internal registers, and working backwards to compute
the frequency.
Software that makes use of the added function can expect 1 to 2 orders of
magnitude improvement in precision, when a dongle is calibrated at one
frequency and then tuned to other frequencies.
If people here are interested in this work, please let me know where I can
post details, preferably including the occasional graph and table.
Ian
Dear Osmocom community,
as the pandemic continues and physical meetings are out of the question
for the forseeable future, it would be a good idea to have a periodic
virtual online meeting of the interested Osmocom community.
I was thinking of a format where we would serve two major purposes:
1) technical talks about osmocom relevant topics - ideally
current/recent developments
* can be pre-recorded to avoid any problems with technical setup,
streaming, ...
* should ideally have a Q+A session at their initial "airing" during
one OsmoDevCall
2) unstructured solicited social event (USSE)
* random chat in audio (optionally video)
* not recorded, obviously
The recording of the technical presentation should then be permanently
made available (like the presentations of our prior OsmoCon /
OsmoDevCon).
Not every OsmoDevCall would neccessarily need the two parts, but I think
it would be great if we can make that happen. We could also have e.g. a
two-weekly schedule for the USSE and a monthly schedule for the
technical presentation.
We'd need somebody to volunteer to "manage" the "broadcast" side of
this, preferably somebody with at least some prior exposure to online
events (like the c3voc).
I'm using https://osmocom.org/issues/4928 to collect a tentative list
of topics. Feel free to add your ideas there, as well as any comment/
feedback you may have.
Regards,
Harald
--
- Harald Welte <laforge(a)osmocom.org> http://laforge.gnumonks.org/
============================================================================
"Privacy in residential applications is a desirable marketing option."
(ETSI EN 300 175-7 Ch. A6)
Hi Garret,
On Fri, Feb 26, 2021 at 09:44:53PM +0000, Garrett wrote:
> Thanks for tonight, was very informative
happy to hear.
> If its not to0 late to add stuff to the agenda I would love to
> hear of any progress on sysmoOCTSIM and the various breakout boards for
> M.2 modems.
sysmoOCTSIM is a sysmocom product (proprietary hardware with open source
firmware on the SAM3 controllers for sim card emulation), so I'm normally
against "advertising" that too much in the context of Osmocom, which is an
open source project.
Talks about the osmo-remsim or the SIMtrace2 firmware (both open source
projects) are fine, and of course they can mention compatible hardware like
the sysmoOCTSIM, but only as a side-note. There's already "osmo-remsim in practice"
already on the list of topics.
The modem break-out boards, or in fact all of the various Osmocom OSHW
projects (like SFP breakout, SFP experimenter, ...) would of course make
useful additions. I've added the following entries to
https://osmocom.org/projects/osmo-dev-con/wiki/OsmoDevCall#Future
* "mPCIe and M.2/ngff modem breakout boards"
* "SFP experimenter and SFP breakout boards"
Regards,
Harald
--
- Harald Welte <laforge(a)gnumonks.org> http://laforge.gnumonks.org/
============================================================================
"Privacy in residential applications is a desirable marketing option."
(ETSI EN 300 175-7 Ch. A6)
Hi,
I´m trying to get my FUNcube Dongle (V1.O NOT the Pro+) to work on
Ubuntu 20.04.1 LTS but it doesn´t work.
On a rasberry pi4 (Raspbian 10) the dongle is working in
gnuradio-companion together with the osmocom-source. So the hardware
seems to work.
On Ubuntu I get following errors:
1. Gnuradio-companion as "osmocom Source" with device string "fcd=0":
Executing: /usr/bin/python3 -u /home/reald/grc/osmocomsrc_fcd.py
gr-osmosdr 0.2.0.0 (0.2.0) gnuradio 3.8.1.0
built-in source types: file osmosdr fcd rtl rtl_tcp uhd miri hackrf
bladerf rfspace airspy airspyhf soapy redpitaya freesrp
Using FUNcube Dongle V1.0 (hw:2)
gr::log :INFO: audio source - Audio source arch: alsa
gr::log :INFO: fcd0 - Audio device hw:2 opened
gr::log :INFO: fcd_control0 - FunCube Dongle V1.0 initialized.
gr::log :INFO: fcd_control0 - Dongle: FCDAPP 18.10
gr::log :INFO: fcd_control0 - LNA gain set to: 20
Traceback (most recent call last):
File "/home/reald/grc/osmocomsrc_fcd.py", line 275, in <module>
main()
File "/home/reald/grc/osmocomsrc_fcd.py", line 253, in main
tb = top_block_cls()
File "/home/reald/grc/osmocomsrc_fcd.py", line 145, in __init__
self.osmosdr_source_0 = osmosdr.source(
File "/usr/lib/python3/dist-packages/osmosdr/osmosdr_swig.py", line
1074, in make
return _osmosdr_swig.source_make(*args, **kwargs)
RuntimeError: boost::too_many_args: format-string referred to fewer
arguments than were passed
>>> Done (return code 1)
2. GQRX
When configuring gqrx the dongle is listed. But after every start of
gqrx the message
"boost::too_many_args: format-string referred to fewer arguments then
were passed - Please select another device"
appears and the dongle cannot be used.
3. osmocom_fft -a fcd=0
gr-osmosdr 0.2.0.0 (0.2.0) gnuradio 3.8.1.0
built-in source types: file osmosdr fcd rtl rtl_tcp uhd miri hackrf
bladerf rfspace airspy airspyhf soapy redpitaya freesrp
Using FUNcube Dongle V1.0 (hw:2)
gr::log :INFO: audio source - Audio source arch: alsa
gr::log :INFO: fcd0 - Audio device hw:2 opened
gr::log :INFO: fcd_control0 - FunCube Dongle V1.0 initialized.
gr::log :INFO: fcd_control0 - Dongle: FCDAPP 18.10
gr::log :INFO: fcd_control0 - LNA gain set to: 20
Couldn't instanciate source (no device present?).
The device itself is found:
$ lsusb
Bus 001 Device 009: ID 04d8:fb56 Microchip Technology, Inc. FUNcube
Dongle V1.0
$ dmesg
[10627.256845] usb 1-9: new full-speed USB device number 9 using xhci_hcd
[10627.408263] usb 1-9: New USB device found, idVendor=04d8,
idProduct=fb56, bcdDevice= 0.02
[10627.408268] usb 1-9: New USB device strings: Mfr=1, Product=2,
SerialNumber=0
[10627.408272] usb 1-9: Product: FUNcube Dongle V1.0
[10627.408275] usb 1-9: Manufacturer: Hanlincrest Ltd.
[10627.416513] hid-generic 0003:04D8:FB56.0007: hiddev1,hidraw3: USB HID
v1.11 Device [Hanlincrest Ltd. FUNcube Dongle V1.0 ] on
usb-0000:00:14.0-9/input2
[10627.849214] usb 1-5.1.1: reset high-speed USB device number 8 using
xhci_hcd
[10628.703275] parport0: no more devices allowed
[10628.703283] ppdev0: failed to register device!
Package: gr-osmosdr
Version: 0.2.0-2
Package: libosmosdr0
Version: 0.1.8.effcaa7-7
Any ideas? Thanks for your help!
Regards
Dennis
Hi Guys…..
Um im far from an expert at all this, I hardly even know what this device is capable of doing.. but I bought one because they sound very interesting if you know what you doing, what you can tune into etc…
But I have run into some trouble..
I bought a RTL_SDR Receiver R820T2 USB Tuner 100KHz-1 7GHz UV HF… I have a Mac OS running MoJave version10.14.6 (18G103).
I downloaded CubicSDR, it installed perfectly.. the trouble I’m having is the software not picking up my Tuner.. well it does pick it up after a few minutes, but its like its not throwing enough power to keep a stable connection to CubicSDR..
What can I do to fix this? Is there anything at all I can do to fix this pretty easily? Or is it very hard? Or do I have to buy more parts etc??
Can you please let me know so I know if its just a waste of space lol…
Cheers,
Regards
Jarrod
Signed-off-by: Ron Economos <w6rz(a)comcast.net>
---
include/osmosdr/source.h | 1 +
lib/sink_iface.h | 1 +
lib/source_iface.h | 2 ++
python/bindings/python_bindings.cc | 12 ++++++------
python/bindings/source_python.cc | 2 +-
5 files changed, 11 insertions(+), 7 deletions(-)
diff --git a/include/osmosdr/source.h b/include/osmosdr/source.h
index 3ea716d..20c77b1 100644
--- a/include/osmosdr/source.h
+++ b/include/osmosdr/source.h
@@ -63,6 +63,7 @@ public:
*
* \param seek_point sample offset in file
* \param whence one of SEEK_SET, SEEK_CUR, SEEK_END (man fseek)
+ * \param chan the channel index 0 to N-1
* \return true on success
*/
virtual bool seek( long seek_point, int whence, size_t chan = 0 ) = 0;
diff --git a/lib/sink_iface.h b/lib/sink_iface.h
index 39aabc7..15ea952 100644
--- a/lib/sink_iface.h
+++ b/lib/sink_iface.h
@@ -201,6 +201,7 @@ public:
/*!
* Select the active antenna of the underlying radio hardware.
+ * \param antenna the antenna name
* \param chan the channel index 0 to N-1
* \return the actual antenna's name
*/
diff --git a/lib/source_iface.h b/lib/source_iface.h
index abb70eb..14f05bb 100644
--- a/lib/source_iface.h
+++ b/lib/source_iface.h
@@ -43,6 +43,7 @@ public:
*
* \param seek_point sample offset in file
* \param whence one of SEEK_SET, SEEK_CUR, SEEK_END (man fseek)
+ * \param chan the channel index 0 to N-1
* \return true on success
*/
virtual bool seek( long seek_point, int whence, size_t chan = 0 ) { return false; }
@@ -210,6 +211,7 @@ public:
/*!
* Select the active antenna of the underlying radio hardware.
+ * \param antenna the antenna name
* \param chan the channel index 0 to N-1
* \return the actual antenna's name
*/
diff --git a/python/bindings/python_bindings.cc b/python/bindings/python_bindings.cc
index 7204b2b..428417d 100644
--- a/python/bindings/python_bindings.cc
+++ b/python/bindings/python_bindings.cc
@@ -16,9 +16,9 @@ namespace py = pybind11;
// Headers for binding functions
/**************************************/
-/* The following comment block is used for
-/* gr_modtool to insert function prototypes
-/* Please do not delete
+// The following comment block is used for
+// gr_modtool to insert function prototypes
+// Please do not delete
/**************************************/
// BINDING_FUNCTION_PROTOTYPES(
void bind_sink(py::module& m);
@@ -50,9 +50,9 @@ PYBIND11_MODULE(osmosdr_python, m)
py::module::import("gnuradio.gr");
/**************************************/
- /* The following comment block is used for
- /* gr_modtool to insert binding function calls
- /* Please do not delete
+ // The following comment block is used for
+ // gr_modtool to insert binding function calls
+ // Please do not delete
/**************************************/
// BINDING_FUNCTION_CALLS(
bind_sink(m);
diff --git a/python/bindings/source_python.cc b/python/bindings/source_python.cc
index 48bf10c..0cab394 100644
--- a/python/bindings/source_python.cc
+++ b/python/bindings/source_python.cc
@@ -14,7 +14,7 @@
/* BINDTOOL_GEN_AUTOMATIC(1) */
/* BINDTOOL_USE_PYGCCXML(0) */
/* BINDTOOL_HEADER_FILE(source.h) */
-/* BINDTOOL_HEADER_FILE_HASH(574373c3c7682569b0fd7eea577739da) */
+/* BINDTOOL_HEADER_FILE_HASH(d1a3d9ea3d815fe4f18acc3eef21f1b6) */
/***********************************************************************************/
#include <pybind11/complex.h>
--
2.17.1
Hi Sylvain,
Since I switched to Ubuntu 20.04, I am not able to get Posphor working with
osmocom_fft. I am getting the following error:
[!] gl_cmap shader compilation failed (cmap_simple.glsl)
[w] Color map shader 'simple' failed to load, will use fallback
[!] gl_cmap shader compilation failed (cmap_bicubic.glsl)
[w] Color map shader 'bicubic' failed to load, will use fallback
[!] gl_cmap shader compilation failed (cmap_fallback.glsl)
[!] Color map shader 'fallback' failed, aborting
gr::log :ERROR: qt_sink_c0 - Failed to initialize fosphor
The app is running, but the render area of the spectrum is completely
blank.
I am on your "gr3.8" branch. OpenCL is exactly the same as on Ubuntu 18.04
(I need the older 340 Nvidia driver on my old NVS 4200M, if you remember),
GLFW is the latest master. Everything compiles just fine, only at runtime
this issue presents itself.
If you have any idea, that would be lovely.
Regards,
Csaba
When using gr-osmosdr with an xtrx board
Executing: /usr/bin/python3 -u /home/gwe/sources/nop.py
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/osmosdr/osmosdr_swig.py", line 14, in swig_import_helper
return importlib.import_module(mname)
File "/usr/lib/python3.7/importlib/__init__.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
File "<frozen importlib._bootstrap>", line 983, in _find_and_load
File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 670, in _load_unlocked
File "<frozen importlib._bootstrap>", line 583, in module_from_spec
File "<frozen importlib._bootstrap_external>", line 1043, in create_module
File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
ImportError: /usr/lib/libgnuradio-osmosdr.so.0.2.0: undefined symbol: xtrx_tune_rx_bandwidth
libgnuradio-osmosdr has no references to libxtrx*.so*:
$ ldd /usr/lib/libgnuradio-osmosdr.so.0.2.0.0 | grep xtrx
$
After adding the mandatory library in CMakeLists.txt, flowgraph start
correctly:
Executing: /usr/bin/python3 -u /home/gwe/sources/nop.py
CPU Features: SSE2+ SSE4.1+ AVX- FMA-
Using sse2 for xtrxdsp_iq16_sc32
Using sse2 for xtrxdsp_iq8_ic16
Using sse2 for xtrxdsp_iq16_ic16i
Using sse2 for xtrxdsp_iq8_ic8i
Using sse2 for xtrxdsp_sc32i_iq16
Using sse2 for xtrxdsp_iq8_sc32
Using sse2 for xtrxdsp_iq8_sc32i
Using sse2 for xtrxdsp_iq16_sc32i
Using sse2 for xtrxdsp_sc32_iq16
Using sse2 for xtrxdsp_iq8_ic16i
Using sse2 for xtrxdsp_ic16i_iq16
gr-osmosdr 0.2.0.0 (0.2.0) gnuradio 3.8.2.0
built-in source types: file xtrx
xtrx
xtrx_obj::xtrx_obj = 4
And the libgnuradio-osmosdr is correctly linked to libxtrx*.so*
$ ldd /usr/lib/libgnuradio-osmosdr.so.0.2.0.0 | grep xtrx
libxtrx.so.0 => /usr/local/lib/libxtrx.so.0 (0x00007f0cf7188000)
libxtrxll.so.0 => /usr/local/lib/libxtrxll.so.0 (0x00007f0cf6535000)
libxtrxdsp.so.0 => /usr/local/lib/libxtrxdsp.so.0 (0x00007f0cf6526000)
$
Signed-off-by: Gwenhael Goavec-Merou <gwenhael.goavec-merou(a)trabucayre.com>
---
lib/xtrx/CMakeLists.txt | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/lib/xtrx/CMakeLists.txt b/lib/xtrx/CMakeLists.txt
index 9297bf0..7f31829 100644
--- a/lib/xtrx/CMakeLists.txt
+++ b/lib/xtrx/CMakeLists.txt
@@ -26,6 +26,10 @@ target_include_directories(gnuradio-osmosdr PRIVATE
${LIBXTRX_INCLUDE_DIRS}
)
+APPEND_LIB_LIST(
+ ${LIBXTRX_LIBRARIES}
+)
+
list(APPEND gr_osmosdr_srcs
${CMAKE_CURRENT_SOURCE_DIR}/xtrx_obj.cc
${CMAKE_CURRENT_SOURCE_DIR}/xtrx_source_c.cc
--
2.26.2
From: Clayton Smith <argilo(a)gmail.com>
The T/R switching code added in ae2253c516bfdc9ae4575ecd61fe0e6cd8608a0d
fails to set custom filter bandwidths because it sets bandwidth and
sample rate in the wrong order. As noted in the documentation for
hackrf_set_sample_rate: "If you want to override the baseband filter
selection, you must do so after setting the sample rate."
To solve this problem I moved the set_bandwidth call after
set_sample_rate. It was also necessary to skip the call if a custom
bandwidth was not requested.
---
lib/hackrf/hackrf_common.cc | 5 ++++-
lib/hackrf/hackrf_common.h | 1 +
2 files changed, 5 insertions(+), 1 deletion(-)
diff --git a/lib/hackrf/hackrf_common.cc b/lib/hackrf/hackrf_common.cc
index a6de22aab6..666dc60f84 100644
--- a/lib/hackrf/hackrf_common.cc
+++ b/lib/hackrf/hackrf_common.cc
@@ -37,6 +37,7 @@ hackrf_common::hackrf_common(const std::string &args) :
_center_freq(0),
_freq_corr(0),
_auto_gain(false),
+ _requested_bandwidth(0),
_bandwidth(0),
_bias(false),
_started(false)
@@ -339,6 +340,7 @@ double hackrf_common::set_bandwidth( double bandwidth, size_t chan )
int ret;
// osmosdr::freq_range_t bandwidths = get_bandwidth_range( chan );
+ _requested_bandwidth = bandwidth;
if ( bandwidth == 0.0 ) /* bandwidth of 0 means automatic filter selection */
bandwidth = _sample_rate * 0.75; /* select narrower filters to prevent aliasing */
@@ -411,9 +413,10 @@ bool hackrf_common::get_bias()
void hackrf_common::start()
{
_started = true;
- set_bandwidth(get_bandwidth());
set_center_freq(get_center_freq());
set_sample_rate(get_sample_rate());
+ if (_requested_bandwidth != 0)
+ set_bandwidth(get_bandwidth());
set_gain(get_gain());
set_bias(get_bias());
}
diff --git a/lib/hackrf/hackrf_common.h b/lib/hackrf/hackrf_common.h
index bb553c3bc6..d1ab47b6fb 100644
--- a/lib/hackrf/hackrf_common.h
+++ b/lib/hackrf/hackrf_common.h
@@ -104,6 +104,7 @@ private:
double _freq_corr;
bool _auto_gain;
double _amp_gain;
+ double _requested_bandwidth;
double _bandwidth;
bool _bias;
bool _started;
--
2.25.1
Dear friends and fans of software-defined radio and free/open-source radio
topics in general,
FOSDEM 2021 (the free and open-source developer's meeting usually in
Brussels, Europe but **this time virtually**) will again feature a track on
Software Defined Radio and any other radio-related topics in the Free
Software Radio devroom. Therefore, we invite developers and users from the
free software radio community to join us for this track and present your
talks or demos.
Given the current circumstances and the virtual nature of this event in
2021, we are asking the presenters to pre-record the talks, which will then
be gathered by us and streamed during the event. Presenters are also asked
to be present online during their timeslot for live Q&A.
Software Radio has become an important tool to allow anyone to access the
EM spectrum. Using free software radio libraries and applications and cheap
hardware, anyone can now start hacking on wireless communications, remote
sensing, radar, fun hacks of all sorts, or other applications. At FOSDEM,
we hope to network all these projects, and improve collaboration, bring new
ideas forward and get more people involved.
The track's website resides at the link below. The final schedule will be
available through Pentabarf and the official FOSDEM website. Notice that
the reference time will be Brussels local time (CET).
https://fosdem.org/2021/schedule/track/free_software_radio/
Additional Information will be also available at:
https://wiki.gnuradio.org/index.php/FOSDEM_2021
** Submit your presentations
To suggest a talk, go to https://penta.fosdem.org/submission/FOSDEM21 and
follow the instructions (you need an account, but can use your account from
last year if you have one. Please do NOT create a new account if you
already have one). You need to create an 'Event'; make sure it's in the
Free Software Radio track! Your submission should have the following
information:
* Your contact Email
* A descriptive title and subtitle of your talk
* A short abstract
* Links related to the project
* [Optional] A longer description of the content of your talk.
Lengths aren't fixed, but give a realistic estimate, and please don't
exceed 30 minutes unless you have something special planned (in that case,
contact one of us). We will typically go for 30-minute slots -- shorter
talks, unless they're really short, usually tend to screw up the schedule
too much.
You aren't limited to slide presentations, of course. Be creative. However,
FOSDEM is an open-source conference, therefore we ask you to stay clear of
marketing presentations and present something relevant to free/open
software. We like nitty-gritty technical stuff.
Topics discussed in this devroom include:
* SDR Frameworks + Tools
* Cellular/telecoms software
* Free/Open SDR hardware
* Wireless security
* Random fun wireless hacks
* SDR in education
* Satellite/spacecraft communication
* Ham radio related topics
** Important Dates
* Submission deadline: 26 December 2020
* Announcement of selected talks: 31 December 2020
* Conference dates 6 & 7 February 2021 online
* Free software radio devroom date: Sunday 7 February 2021 online
In the last years we were always full to the brim with presentations, so if
you want to present, please make sure to submit your abstracts soon!
** Following steps for accepted talks
When your talk is accepted, you will be contacted by a deputy who will help
you with the pre-recording of your talk. Together you will make sure that
the content has the required quality and is stream-ready. When complete,
the recording will be located into the streaming system, and Bob's your
uncle.
Don't forget that you **must** be available during the allocated timeslot
of your talk for live Q&A.
** Steering Committee
The track committee consists of:
* Phil Balister - "Crofton"
* Derek Kozel - "dkozel"
* Nicolas Cuervo - "primercuervo"
* Martin Braun - "mbr0wn"
Hope to hear from you soon! And please forward this announcement.
- Nicolas
Fix receive path hangs if another thread closes down the hackrf
receive whilst this buffer receive function is waiting to be
woken up.
Now:
* Sleep for up to 100ms each time waiting for the cond to be kicked;
* Check whether streaming is still enabled each time rather than
only when the function is entered.
This fixes hangs where consumers like gqrx via gnuradio
will do a stop_rx/start_rx very quickly to change something, and
the buffer receive path is waiting for a buffer.
---
lib/hackrf/hackrf_source_c.cc | 12 ++++++++++--
1 file changed, 10 insertions(+), 2 deletions(-)
diff --git a/lib/hackrf/hackrf_source_c.cc b/lib/hackrf/hackrf_source_c.cc
index 662d04a..03ea3bd 100644
--- a/lib/hackrf/hackrf_source_c.cc
+++ b/lib/hackrf/hackrf_source_c.cc
@@ -30,6 +30,7 @@
#include <stdexcept>
#include <iostream>
+#include <chrono>
#include <gnuradio/io_signature.h>
@@ -203,8 +204,15 @@ int hackrf_source_c::work( int noutput_items,
{
std::unique_lock<std::mutex> lock(_buf_mutex);
- while (_buf_used < 3 && running) // collect at least 3 buffers
- _buf_cond.wait( lock );
+ while (_buf_used < 3 && running) { // collect at least 3 buffers
+ _buf_cond.wait_for( lock , std::chrono::milliseconds(100));
+
+ // Re-check whether the device has closed or stopped streaming
+ if ( _dev.get() )
+ running = (hackrf_is_streaming( _dev.get() ) == HACKRF_TRUE);
+ else
+ running = false;
+ }
}
if ( ! running )
--
2.28.0
Hi,
i try to transmit 2.48 ghz radio packets (beacons) at a fixed time
interval (e.g. every 1 s) via hackrf using the osmocom sink in gnuradio.
Without exception, the beacons are all received by my sniffer "golden
device" hardware, but burst.
It seems that the packets are only transferred via USB to the hackrf
device hardware when the buffer with the fixed BUF_LEN 262144
(32*16*512) is completely filled. For my setup this are e.g. 18 beacon
frames, which are transmitted as burst. When I look at the USB
interface, I can see this burst of data every 18 seconds in a full USB
request block (URB) of size 262144 byte. All other URBs (also of size
262144 - every approx. 200us) transferred via USB are filled with zeros
only. So this burst behavior should be caused by gnuradio.
How can I achieve that the complex data of the osmocom sink's input is
immediately (with the next URB) transferred to the hackrf hardware? Am I
missing any options of the GRC module?
Thank You in advance!
Regards,
Sebastian
--
__________________________________________________________
Sebastian Boehm
Brandenburg University of Technology Cottbus - Senftenberg
Computer Networks Communication Systems Group
E-Mail: sebastian.boehm(a)b-tu.de <mailto:Sebastian.Boehm@b-tu.de>
P.O. Box: 10 13 44
D-03013 Cottbus
GERMANY
Hello list!
I've been digging a bit into the osmo-bts project to explore the GSM
stack, and only ever see config information assuming you have a
full-duplex TRX radio. I have a HackRF One I'd like to use for TX and
an RTL-SDR I'd like to use for RX (both operating on the 900MHz GSM
band), but cannot seem to find any configuration information for setting
this up - even though I've seen some mentions in passing to osmo-bts-trx
supporing RTL-SDR devices. I really don't have the budget to drop a few
hundred more on a USRP device just to tinker with GSM and was hoping I
could get away with two dedicated radios.
Can anyone tell me 1. if this kind of setup is even supported and 2. if
so, point me to reference material that might help me make the connection?
Thanks in advance!
-Rob
--
==========
Robert Bates
Octobang
rob(a)octobang.com
https://keybase.io/arpieb
Dear Eric,
About two weeks ago I sent in a patch that adds XTRX support to gr-osmosdr.
I wanted to ask if there is any problem with it, or maybe there are some
other reasons it did not get merged?
Please let me know if any further work is needed.
Regards,
Csaba
Fix receive path hangs if another thread closes down the hackrf
receive whilst this buffer receive function is waiting to be
woken up.
Now:
* Sleep for up to 100ms each time waiting for the cond to be kicked;
* Check whether streaming is still enabled each time rather than
only when the function is entered.
This fixes hangs where consumers like gqrx via gnuradio
will do a stop_rx/start_rx very quickly to change something, and
the buffer receive path is waiting for a buffer.
---
lib/hackrf/hackrf_source_c.cc | 12 ++++++++++--
1 file changed, 10 insertions(+), 2 deletions(-)
diff --git a/lib/hackrf/hackrf_source_c.cc b/lib/hackrf/hackrf_source_c.cc
index 662d04a..03ea3bd 100644
--- a/lib/hackrf/hackrf_source_c.cc
+++ b/lib/hackrf/hackrf_source_c.cc
@@ -30,6 +30,7 @@
#include <stdexcept>
#include <iostream>
+#include <chrono>
#include <gnuradio/io_signature.h>
@@ -203,8 +204,15 @@ int hackrf_source_c::work( int noutput_items,
{
std::unique_lock<std::mutex> lock(_buf_mutex);
- while (_buf_used < 3 && running) // collect at least 3 buffers
- _buf_cond.wait( lock );
+ while (_buf_used < 3 && running) { // collect at least 3 buffers
+ _buf_cond.wait_for( lock , std::chrono::milliseconds(100));
+
+ // Re-check whether the device has closed or stopped streaming
+ if ( _dev.get() )
+ running = (hackrf_is_streaming( _dev.get() ) == HACKRF_TRUE);
+ else
+ running = false;
+ }
}
if ( ! running )
--
2.28.0
Fix receive path hangs if another thread closes down the hackrf
receive whilst this buffer receive function is waiting to be
woken up.
Now:
* Sleep for up to 100ms each time waiting for the cond to be kicked;
* Check whether streaming is still enabled each time rather than
only when the function is entered.
This fixes hangs where consumers like gqrx via gnuradio
will do a stop_rx/start_rx very quickly to change something, and
the buffer receive path is waiting for a buffer.
---
lib/hackrf/hackrf_source_c.cc | 19 +++++++++++++++++--
1 file changed, 17 insertions(+), 2 deletions(-)
diff --git a/lib/hackrf/hackrf_source_c.cc b/lib/hackrf/hackrf_source_c.cc
index 662d04a..21656f9 100644
--- a/lib/hackrf/hackrf_source_c.cc
+++ b/lib/hackrf/hackrf_source_c.cc
@@ -30,6 +30,7 @@
#include <stdexcept>
#include <iostream>
+#include <chrono>
#include <gnuradio/io_signature.h>
@@ -203,8 +204,22 @@ int hackrf_source_c::work( int noutput_items,
{
std::unique_lock<std::mutex> lock(_buf_mutex);
- while (_buf_used < 3 && running) // collect at least 3 buffers
- _buf_cond.wait( lock );
+ // XXX adrian - tomorrow, turn this loop into a wait_for (1 second)
+ // and re-check dev.get / running !
+ // Otherwise this will hang reasonably reliably if we race where
+ // receive is stopped in one thread, and we've already passed
+ // the hackrf_is_streaming() check; we'll never finish this loop
+ // and consumers (eg gqrx) will fail.
+
+ while (_buf_used < 3 && running) { // collect at least 3 buffers
+ _buf_cond.wait_for( lock , std::chrono::milliseconds(100));
+
+ // Re-check whether the device has closed or stopped streaming
+ if ( _dev.get() )
+ running = (hackrf_is_streaming( _dev.get() ) == HACKRF_TRUE);
+ else
+ running = false;
+ }
}
if ( ! running )
--
2.28.0
There's a current build failure on windows with:
master @ 710d578901a08b091748d4fd4471e3327a4d099e
The issue is in: src/convenience/wavewrite.c, there's an unresolved
external for the gettimeofday function. If you #ifdef the function in (like
done elsewhere), it builds successfully.
Reason i'm building this out right now is that I discovered a weird issue
yesterday, while using rtl_fm + multimon-ng to demod/decode APRS...
Specifically, I noticed that when I did not use the -M fm option, it works,
however when I attempted to explicitly specify -M fm, it did not work. I
was going to debug-in to determine why this would be and found the above
build issue along the way.
If there is a better list to post development issues to, please advise and
i'll join that one instead.
73's
Joseph Armbruster
KJ4JIO