Giter VIP home page Giter VIP logo

rtlsdr-airband's People

Contributors

aaron-sierra avatar bovine avatar charlie-foxtrot avatar clam-i-am avatar clydebarrow avatar dpogue avatar dreinhold avatar jratke avatar microtony avatar snip avatar strix-technica avatar szpajder avatar tobbytravel avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

rtlsdr-airband's Issues

Use Mali GPU

Hi.
Is possible to use Mali GPU for FFT? If so, how?
I have an specific hardware with A20 CPU (Mali400 as GPU) and I would like to run rtl_airband ins this board, but it's consuming about 80~90% using main CPU for FFT. Since this CPU has a Mali400 GPU, I would like to use for FFT calculations.

Issue trying to make for armv8 platform

Noticed you had a new option for 64bit ARM8 processors. I have a RPi 3 and tried to make the install but it fails trying to find the fftw3.h file. ver 2.3.0....

pi@liveatc:~/RTLSDR-Airband $ sudo PLATFORM=armv8-generic make g++ -O3 -g -Wall -DSYSCONFDIR=\"/usr/local/etc\" -DDEBUG=0 -march=armv8-a+crc -mtune=cortex-a53 -ffast-math -c -o rtl_airband.o rtl_airband.cpp rtl_airband.cpp:33:19: fatal error: fftw3.h: No such file or directory #include <fftw3.h> ^ compilation terminated. <builtin>: recipe for target 'rtl_airband.o' failed make: *** [rtl_airband.o] Error 1

Any ideas?

Scan mode speed

Currently I'm running RTLSDR-Airband in scan mode on a RPi2. Due to the scan speed currently achieved, I've found that number of channels should not exceed a certain quantity or it will start to miss significant parts os messages.
What limits the scan speed? Hardware (dongle, RPi), software or both?
An upgrade to a RPi3 would bring a significant improvement into scan speed?

[feature] Include current scan frequency in icecast stream

When in "scan" mode between multiple frequencies, it would be nice if the icecast stream were able to indicate the current frequency in the stream metadata. Ideally, you would also be able to specify a name for each of frequencies so that could be shown rather than just the numerical frequency.

USB dropping samples

My USB driver/hw seems to be dropping packets when reproducing the hardcoded settings with rtl_test -s 2.5e6 on my desktop.
To ensure better comparability with different hardware, may I suggest adding custom bandwidth in the configuration or reduce to 2.4?

If you want I can provide some numbers from R820T, R820T2 and E4000 on raspberry pi v2 to help determine the limitation with that perticular hardware.

Audio bleeding through streams

I have an RPi B+ running RTLSDR-Airband with two streams on each their own frequency 118.1 and 119.7.
The dongle is the one from rtl-sdr.com with the R820T2 tuner. Audio is bleeding from one stream to the other - not so much that it's the same, but you can understand what they say on the other stream. It's only audible when there are transmissions on both frequencies.

Any idea what's causing this?

Compiler invocation, CC vs. CXX

Hi,
when cross compiling on my Ubuntu 16.04 x86_64 for armv7-generic it completely
ingnores CC variable settings, likely that C++ stuff is compiled with CXX.
Would you consider either to add setting also for CXX variable or to specify
$(CC) compiler invocation, not to rely on default make behauvior?

Regrads!

Config File basic syntax

I am setting up a scanner using a Raspberry Pi v2 and have Airband installed but am getting a parse error on the config file when running it. I would like a basic config file for 1 dongle running in multichannel mode. I will not be uploading to icecast instead I will be sending the feed to Broadcastify. I am trying to monitor 4 frequencies, listed below.
155.74500
155.65500
158.77500
154.38500

Thank you for any assistance.

Latency in streaming

Hello,
I have managed to setup RTL_Airband(V2) on a Raspberry ( model 2 &3 ).
2 channels are monitored (spacing is 800 Khz) and streamed to an Icecast2 server running on the raspberry. Despite the fact that the CPU show less than 10 % usage on peak, I have noticed that the latency between the analog reception (with a hand scanner) and the output of the Icecast stream is about 15 to 30 sec. (depending from the buffer size).

Just wanted to know if this is normal or how can it be improved ? I know there will always be a difference but 1 sec is OK but 30 sec doesn't much sense ..
Thanks for advice

Yves

Enhancement Request: Decrease time to rebuild connection in the event of backlog buffer overrun

Not sure if this is even possible but could an enhancement be added to decrease the time it takes to rebuild a connection in the event of a backlog buffer overrun. Specifically to an icecast server. More specifically to the LiveATC icecast server.

Currently it seems that the LiveATC icecast server does not drop the session very quickly or it never actually gets the disconnect request. This results in RTLSDR-Airband trying to reconnect while the original session is still active on the LiveATC icecast server. Most times it takes about 3 cycles for the connection to get going again. This results in about 30 seconds being lost for every backlog buffer overrrun.

Compiling < gcc 4.8

*** THIS IS HERE SO WE CAN CONTINUE on the NEW DESKTOP VERSION v. the older SoC limited one
*** RESOLUTION to this in diff format BELOW!!! ***

$ sudo apt-get install libmp3lame-dev libvorbis-dev libshout-dev libfftw3-dev

Reading package lists... Done
Building dependency tree
Reading state information... Done
Note, selecting 'libshout3-dev' instead of 'libshout-dev'
libfftw3-dev is already the newest version.

The following extra packages will be installed:
libogg-dev libspeex-dev libtheora-dev
The following NEW packages will be installed:
libmp3lame-dev libogg-dev libshout3-dev libspeex-dev libtheora-dev libvorbis-dev
0 upgraded, 6 newly installed, 0 to remove and 50 not upgraded.
Need to get 1,197 kB of archives.
After this operation, 4,829 kB of additional disk space will be used.
Do you want to continue [Y/n]? y
Get:1 http://us.archive.ubuntu.com/ubuntu/ precise/universe libmp3lame-dev i386 3.99.3+repack1-1 [184 kB]
Get:2 http://us.archive.ubuntu.com/ubuntu/ precise/main libogg-dev i386 1.2.2dfsg-1ubuntu1 [63.3 kB]
Get:3 http://us.archive.ubuntu.com/ubuntu/ precise/main libspeex-dev i386 1.2
rc1-3ubuntu2 [69.0 kB]
Get:4 http://us.archive.ubuntu.com/ubuntu/ precise/main libtheora-dev i386 1.1.1+dfsg.1-3ubuntu2 [393 kB]
Get:5 http://us.archive.ubuntu.com/ubuntu/ precise/main libvorbis-dev i386 1.3.2-1ubuntu3 [448 kB]
Get:6 http://us.archive.ubuntu.com/ubuntu/ precise/main libshout3-dev i386 2.2.2-7ubuntu1 [39.1 kB]
Fetched 1,197 kB in 2s (513 kB/s)
Selecting previously unselected package libmp3lame-dev.
(Reading database ... 442151 files and directories currently installed.)
Unpacking libmp3lame-dev (from .../libmp3lame-dev_3.99.3+repack1-1_i386.deb) ...
Selecting previously unselected package libogg-dev.
Unpacking libogg-dev (from .../libogg-dev_1.2.2dfsg-1ubuntu1_i386.deb) ...
Selecting previously unselected package libspeex-dev.
Unpacking libspeex-dev (from .../libspeex-dev_1.2
rc1-3ubuntu2_i386.deb) ...
Selecting previously unselected package libtheora-dev.
Unpacking libtheora-dev (from .../libtheora-dev_1.1.1+dfsg.1-3ubuntu2_i386.deb) ...
Selecting previously unselected package libvorbis-dev.
Unpacking libvorbis-dev (from .../libvorbis-dev_1.3.2-1ubuntu3_i386.deb) ...
Selecting previously unselected package libshout3-dev.
Unpacking libshout3-dev (from .../libshout3-dev_2.2.2-7ubuntu1_i386.deb) ...
Setting up libmp3lame-dev (3.99.3+repack1-1) ...
Setting up libogg-dev (1.2.2dfsg-1ubuntu1) ...
Setting up libspeex-dev (1.2
rc1-3ubuntu2) ...
Setting up libtheora-dev (1.1.1+dfsg.1-3ubuntu2) ...
Setting up libvorbis-dev (1.3.2-1ubuntu3) ...
Setting up libshout3-dev (2.2.2-7ubuntu1) ...
~/RTLSDR-Airband$ make rtl_airband
g++ -O3 -march=native rtl_airband.cpp -lrt -lm -lvorbisenc -lmp3lame -lshout -lpthread -lrtlsdr -lfftw3f -o rtl_airband
rtl_airband.cpp: In function ‘int main(int, char*)’:
rtl_airband.cpp:600:33: error: ‘builtin_cpu_supports’ was not declared in this scope
rtl_airband.cpp:624:37: warning: ignoring return value of ‘int fscanf(FILE
, const char
, ...)’, declared with attribute warn_unused_result [-Wunused-result]
rtl_airband.cpp:667:121: warning: ignoring return value of ‘int fscanf(FILE
, const char_, ...)’, declared with attribute warn_unused_result [-Wunused-result]
rtl_airband.cpp:685:172: warning: ignoring return value of ‘int fscanf(FILE_, const char_, ...)’, declared with attribute warn_unused_result [-Wunused-result]
make: *_* [rtl_airband] Error 1

*** NOTE: the resolution is:

$ diff rtl_airband.cpp rtl_airband.cpp.bak.orig
600c600

< if(1) {

  if(__builtin_cpu_supports("sse")) {

This results in the build of rtl_airband in the directory.

And it does seem to run.... I will have to connect up some additional RTL's and get some antenna work done to test things more. My main RTL is in use on mission critical op right now....

So the instructions say to run ./rtl_airband_neon

BUT

this was not built... just rtl_airband

Is the neon version just for the SoC devices?

FM Support?

Does the software support FM frequencies or is it strictly for AM? I noticed the documentation mentions it supports NFM, does that include broadcast FM music radio stations?

Error: gain value

Got this error when trying to put a decimal gain value. I'm using unstable branch.
rtl_test reports:

Supported gain values (29): 0.0 0.9 1.4 2.7 3.7 7.7 8.7 12.5 14.4 15.7 16.6 19.7 20.7 22.9 25.4 28.0 29.7 32.8 33.8 36.4 37.2 38.6 40.2 42.1 43.4 43.9 44.5 48.0 49.6

Setting gain to 36.4 as reported leads to service unable to start.

rtl_airband[2959]: Configuration error: invalid parameter type: devices.[0].gain

Setting gain without decimal part works ok.

Can't make pi2 work with more than 3 dongles

Hi, I have pi 2 with Jessie and I want to use as many dongles as it can handle (5-6). Currently I have it running 3, with CPU around 25%. I have installed RTL-Airband using manual on Code page, using "Alternatively you can pull the latest code from git" variant. My dongles are all working via good 7-port, 3,5Amp powered hub and are all functional (tested with Win7 desktop). I believe I have correct config file. When I launch the program with -f parameter I get three good waterfalls for the first 3 devices but the 4th waterfall is not there, just the list of frequences for it. All streams are written into mp3 files and the files for 4th dongle do not appear. If I delete one of devices from config file, the 4th dongle starts working; therefore, there is no mistake in the config file. Please help.
lsusb
Uploading wf.jpg…
rtl_airband.conf.txt

[Suggestion] display manual squelch level on waterfall

Just a suggestion: with squelch set to auto, the second field on waterfall displays the current noise floor (AFAIK). When using manual squelch, that field always shows "100". I think it would be interesting to have the channels' manual squelch level in that field.

Hostname, username, password...

I've installed it on my raspberry pi, but I'm stuck in config.txt. What hostname, username and password should I fill in here?

Raspberry Pi Zero W - Nothing happens

Nothing happens and no errors or log messages generated when attempting to run on Raspberry Pi Zero W. rtl_tcp and rtl_test seem to work fine. Did see an error while compiling, attaching output for review.

Tried running with -v, -h and -f options. Nothing happens with any option.

Tried all three solutions under Troubleshooting, nothing needed changing.

pizero_install.txt

Some missing features

#After a few days of using the RTLSDR-Airband seems a great project but I find that I need some functions not available, mainly related to the recording or scanning.

A small list functions that are missing:

  • Possibility of referring to the dongles by their serial number
  • Squelch delay selectable in seconds for scan mode.
  • Selectable file recording rotation (on every transmission, every hour, every day, every week, and one single file)
  • File recording in scan mode to separate files by channel/freq
  • FM bandwidth configurable for better reception of narrowbanded pmr, commercial radio, etc. ( This maybe can helps with the problem i have in NFM bleeding audio/noise even after setting low gain values)
  • Support for other SDRs HW with higher bandwidth, eg Airspy
  • Realtime raw output ¿ALSA loopback devide? to stream with external software (mumble) or pipe to software decoders (for acars, pocsag, etc) and/or Raw file output (wav) that allows the offline data decoding.

I am aware that some functions are more complicated to implement than others. I'm sorry cant collaborate directly but C++ is not a familiar language for me, however I am willing to provide testing for the functions that come to be implemented.

No instruction to install librtlsdr-dev before compilation

Following the instruction to install on Raspbian on a Pi Zero :

pi@raspberrypi:~/RTLSDR-Airband $ PLATFORM=rpiv1 make
g++ -O3 -g -Wall -DSYSCONFDIR="/usr/local/etc" -DDEBUG=0 -DUSE_BCM_VC -I/opt/vc/include -I/opt/vc/include/interface/vcos/pthreads -I/opt/vc/include/interface/vmcs_host/linux -mcpu=arm1176jzf-s -mtune=arm1176jzf-s -march=armv6zk -mfpu=vfp -ffast-math -c -o rtl_airband.o rtl_airband.cpp
rtl_airband.cpp:66:21: fatal error: rtl-sdr.h: No such file or directory
#include <rtl-sdr.h>
^
compilation terminated.
: recipe for target 'rtl_airband.o' failed

Corrective action :

pi@raspberrypi:~/RTLSDR-Airband $ sudo apt-get install librtlsdr-dev

Should we not mention in ?

Possible to run on cubieboard?

Do you think it is possible to run it on Cubieboard?

http://docs.cubieboard.org/products/start

$ cat /proc/cpuinfo 
Processor       : ARMv7 Processor rev 4 (v7l)
processor       : 0
BogoMIPS        : 668.05

processor       : 1
BogoMIPS        : 670.35

Features        : swp half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt 
CPU implementer : 0x41
CPU architecture: 7
CPU variant     : 0x0
CPU part        : 0xc07
CPU revision    : 4

Hardware        : sun7i
Revision        : 0000
Serial          : 0000000000000000
$ gcc -c -Q --help=target
The following options are target specific:
  -mabi=                        
  -mabort-on-noreturn                   [disabled]
  -mandroid                             [disabled]
  -mapcs                                [disabled]
  -mapcs-float                          [disabled]
  -mapcs-frame                          [disabled]
  -mapcs-reentrant                      [disabled]
  -mapcs-stack-check                    [disabled]
  -march=                               armv7-a
  -marm                                 [disabled]
  -mbig-endian                          [disabled]
  -mbionic                              [disabled]
  -mcallee-super-interworking           [disabled]
  -mcaller-super-interworking           [disabled]
  -mcirrus-fix-invalid-insns            [disabled]
  -mcpu=                        
  -mfix-cortex-m3-ldrd                  [enabled]
  -mfloat-abi=                          hard
  -mfp16-format=                
  -mfp=                         
  -mfpe                                 [disabled]
  -mfpe=                        
  -mfpu=                                vfpv3-d16
  -mglibc                               [enabled]
  -mhard-float                          [disabled]
  -mlittle-endian                       [enabled]
  -mlong-calls                          [disabled]
  -mpic-register=               
  -mpoke-function-name                  [disabled]
  -msched-prolog                        [enabled]
  -msingle-pic-base                     [disabled]
  -msoft-float                          [disabled]
  -mstructure-size-boundary=    
  -mthumb                               [enabled]
  -mthumb-interwork                     [enabled]
  -mtp=                         
  -mtpcs-frame                          [disabled]
  -mtpcs-leaf-frame                     [disabled]
  -mtune=                       
  -muclibc                              [disabled]
  -mvectorize-with-neon-quad            [disabled]
  -mword-relocations                    [disabled]
  -mwords-little-endian                 [disabled]

Thanks

[Feature Request / Suggestion] - Multi channel mixing

Currently using this to monitor several Marine VHF channels in multichannel mode, streaming to Icecast.

It would be useful to have the option to combine audio from 2 or more channels together to a single stream before MP3 encoding / streaming in order to reduce CPU overhead and number of streams. This could be used for example with duplex channels with different Tx / Rx frequencies to create a single stream and avoid issues with different buffering delays between the two.

Bear in mind that the separation may well be across two different dongles on the input side (the marine VHF duplex separation is 4.6MHz, so requires 2 dongles to cover the entire band).

Mixing could either be done on a simple mono basis, or to push certain channels to either the left or right side of a stereo feed.

This could also be useful in the airband world to create a single stereo feed for an airfield with, for example, Approach on the left channel and Tower on the right to give both channels in a single feed, but still maintaining some context to the listener.

I'm currently looking to achieve this externally using something like Liquidsoap ahead of Icecast to manipulate and combine the streams, but it would be great to have flexibility at the receiver end to reduce the overhead on unnecessarily encoding and sending multiple streams.

Appreciate this would probably require some amount of re-architecture to separate the output layer from the channel definitions to give the ability to effectively output on an N:N basis rather than 1:N as currently, but hopefully should be possible?

agcmin should be kept on a per-frequency basis; add per-frequency squelch

My typical configuration is to scan about 5 frequencies, but the noise floor varies between each frequency significantly. rtl_airband auto squelch performs poorly in these circumstances because it appears that it channel->agcmin averages the noise across all frequencies rather than maintaining separate data for each frequency.

As a result, I've had to set the squelch manually but since there is only one global squelch setting, there is no one setting that is good for all frequencies. Being able to set squelch on a per-frequency basis would be excellent. Even better, maintain separate agcmin per frequency so autosquelch has a chance as well.

I would imagine that this would be almost as applicable to multi-channel mode as scanning mode.

If you don't have time for this, I could potentially have a go at it and, even though my C's a bit rusty, it doesn't look too terribly difficult to implement. Would you be interested on a PR and/or working together on this?

Error compiling with x86 target on AMD Geode

My computer uses an AMD Geode processor and has 512MB RAM, i intent to make a small low power receiver but cant get to compile for this x86 target.

Using PLATFORM x86

futro8 RTLSDR-Airband # make
g++ -O3 -g -Wall -DSYSCONFDIR="/usr/local/etc" -DDEBUG=0 -march=native -c -o rtl_airband.o rtl_airband.cpp
rtl_airband.cpp: In function ‘void demodulate()’:
rtl_airband.cpp:411:104: warning: SSE vector return without SSE enabled changes the ABI [-Wpsabi]
__m128 a = _mm_set_ps(levels[(buf2 + 3)], levels[(buf2 + 2)], levels[(buf2 + 1)], levels[(buf2)]);
^
In file included from rtl_airband.cpp:37:0:
/usr/lib/gcc/i586-linux-gnu/4.9/include/xmmintrin.h:944:1: error: inlining failed in call to always_inline ‘__m128 _mm_set_ps(float, float, float, float)’: target specific option mismatch
_mm_set_ps (const float __Z, const float __Y, const float __X, const float __W)
^
rtl_airband.cpp:411:104: error: called from here
__m128 a = _mm_set_ps(levels[(buf2 + 3)], levels[(buf2 + 2)], levels[(buf2 + 1)], levels[(buf2)]);
^
In file included from rtl_airband.cpp:37:0:
/usr/lib/gcc/i586-linux-gnu/4.9/include/xmmintrin.h:922:1: error: inlining failed in call to always_inline ‘__m128 _mm_load_ps(const float*)’: target specific option mismatch
_mm_load_ps (float const __P)
^
rtl_airband.cpp:412:41: error: called from here
__m128 b = _mm_load_ps(&window[i * 2]);
^
In file included from rtl_airband.cpp:37:0:
/usr/lib/gcc/i586-linux-gnu/4.9/include/xmmintrin.h:193:1: error: inlining failed in call to always_inline ‘__m128 _mm_mul_ps(__m128, __m128)’: target specific option mismatch
_mm_mul_ps (__m128 __A, __m128 __B)
^
rtl_airband.cpp:413:24: error: called from here
a = _mm_mul_ps(a, b);
^
In file included from rtl_airband.cpp:37:0:
/usr/lib/gcc/i586-linux-gnu/4.9/include/xmmintrin.h:971:1: error: inlining failed in call to always_inline ‘void _mm_store_ps(float
, __m128)’: target specific option mismatch
_mm_store_ps (float __P, __m128 __A)
^
rtl_airband.cpp:414:33: error: called from here
_mm_store_ps(&fftin[i][0], a);
^
In file included from rtl_airband.cpp:37:0:
/usr/lib/gcc/i586-linux-gnu/4.9/include/xmmintrin.h:889:1: error: inlining failed in call to always_inline ‘__m128 _mm_set1_ps(float)’: target specific option mismatch
_mm_set1_ps (float __F)
^
rtl_airband.cpp:472:55: error: called from here
__m128 agccap = _mm_set1_ps(channel->agcmin * 4.5f);
^
In file included from rtl_airband.cpp:37:0:
/usr/lib/gcc/i586-linux-gnu/4.9/include/xmmintrin.h:929:1: error: inlining failed in call to always_inline ‘__m128 _mm_loadu_ps(const float
)’: target specific option mismatch
_mm_loadu_ps (float const __P)
^
rtl_airband.cpp:474:49: error: called from here
__m128 t = _mm_loadu_ps(channel->wavein + j);
^
In file included from rtl_airband.cpp:37:0:
/usr/lib/gcc/i586-linux-gnu/4.9/include/xmmintrin.h:223:1: error: inlining failed in call to always_inline ‘__m128 _mm_min_ps(__m128, __m128)’: target specific option mismatch
_mm_min_ps (__m128 __A, __m128 __B)
^
rtl_airband.cpp:475:63: error: called from here
_mm_storeu_ps(channel->waveref + j, _mm_min_ps(t, agccap));
^
In file included from rtl_airband.cpp:37:0:
/usr/lib/gcc/i586-linux-gnu/4.9/include/xmmintrin.h:978:1: error: inlining failed in call to always_inline ‘void _mm_storeu_ps(float
, __m128)’: target specific option mismatch
_mm_storeu_ps (float *__P, __m128 __A)
^
rtl_airband.cpp:475:64: error: called from here
_mm_storeu_ps(channel->waveref + j, _mm_min_ps(t, agccap));
^
: recipe for target 'rtl_airband.o' failed
make: *** [rtl_airband.o] Error 1
`

This is a small Geode x86 machine (low power headless ) , so if i add -msse4.1 compile fine but will not run on my cpu.

futro8 RTLSDR-Airband # cat /proc/cpuinfo
processor : 0
vendor_id : AuthenticAMD
cpu family : 5
model : 10
model name : Geode(TM) Integrated Processor by AMD PCS
stepping : 2
microcode : 0x8b
cpu MHz : 498.060
cache size : 128 KB
fdiv_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 1
wp : yes
flags : fpu de pse tsc msr cx8 sep pge cmov clflush mmx mmxext 3dnowext 3dnow vmmcall
bogomips : 996.12
clflush size : 32
cache_alignment : 32
address sizes : 32 bits physical, 32 bits virtual
power management:

Use ogg and/or change bitrate

Is it possible to use .ogg as the streaming format with icecast? I'd also like to be able to vary the sample rate and bit rate.

"send_scan_freq_tags" not working inside a mixer

I'm redirecting the output of a scan into a mixer called "mixer2", but "send_scan_freq_tags" has no effect.

   mixer2: {
            outputs: (
                    {
                    disable = false;
                    type = "icecast";
                    server = "127.0.0.1";
                    port = 8000;
                    mountpoint = "scan";
                    name = "ATC SCAN"
                    genre = "ATC";
                    username = "source";
                    password = "*****";
                    send_scan_freq_tags = true;
                    ...

Wish: Make a SoapySDR version of Airband

SDR's like Airspy and SDRPlay offer better sensitivity and dynamic range but command line linux apps are pretty much unusable.
just unplugged my airspy r2 in the attic and put my rtlsdr v3 back on so i could use airband again.

wish i could use my airspy or sdrplay with airband.

Error while parsing configuration file

Hi
New installation on Gentoo x64

Strange issue. Upon running the built application, I receive a,

'Error while parsing configuration file /usr/local/etc/rtl_airband.conf line 284: syntax error.'

Default configuration file (not edited).

Any ideas?

Thanks

STRACE -f :

execve("./rtl_airband", ["./rtl_airband"], [/* 63 vars /]) = 0
brk(0) = 0x2422000
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f2096c1f000
access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=270010, ...}) = 0
mmap(NULL, 270010, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f2096bdd000
close(3) = 0
open("/lib64/librt.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\240!\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=27440, ...}) = 0
mmap(NULL, 2124768, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f20967f9000
mprotect(0x7f20967ff000, 2093056, PROT_NONE) = 0
mmap(0x7f20969fe000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x5000) = 0x7f20969fe000
close(3) = 0
open("/usr/lib64/libvorbisenc.so.2", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\360:\1\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=665648, ...}) = 0
mmap(NULL, 2760880, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f2096556000
mprotect(0x7f20965e0000, 2097152, PROT_NONE) = 0
mmap(0x7f20967e0000, 102400, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x8a000) = 0x7f20967e0000
close(3) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f2096bdc000
open("/usr/lib64/libmp3lame.so.0", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 \237\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=245280, ...}) = 0
mmap(NULL, 2530224, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f20962ec000
mprotect(0x7f2096326000, 2097152, PROT_NONE) = 0
mmap(0x7f2096526000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x3a000) = 0x7f2096526000
mmap(0x7f2096528000, 187312, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f2096528000
close(3) = 0
open("/usr/lib64/libshout.so.3", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\220V\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=64680, ...}) = 0
mmap(NULL, 2160208, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f20960dc000
mprotect(0x7f20960eb000, 2093056, PROT_NONE) = 0
mmap(0x7f20962ea000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xe000) = 0x7f20962ea000
close(3) = 0
open("/lib64/libpthread.so.0", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\r\0\0\0\0\0\0"..., 832) = 832 fstat(3, {st_mode=S_IFREG|0755, st_size=93624, ...}) = 0 mmap(NULL, 2204944, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f2095ec1000 mprotect(0x7f2095ed7000, 2093056, PROT_NONE) = 0 mmap(0x7f20960d6000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x15000) = 0x7f20960d6000 mmap(0x7f20960d8000, 13584, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f20960d8000 close(3) = 0 open("/usr/lib64/librtlsdr.so.0", O_RDONLY|O_CLOEXEC) = 3 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\240!\0\0\0\0\0\0"..., 832) = 832 fstat(3, {st_mode=S_IFREG|0755, st_size=48600, ...}) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f2096bdb000 mmap(NULL, 2143832, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f2095cb5000 mprotect(0x7f2095cc0000, 2093056, PROT_NONE) = 0 mmap(0x7f2095ebf000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xa000) = 0x7f2095ebf000 close(3) = 0 open("/usr/lib64/libconfig++.so.9", O_RDONLY|O_CLOEXEC) = 3 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\20\211\0\0\0\0\0\0"..., 832) = 832 fstat(3, {st_mode=S_IFREG|0755, st_size=81208, ...}) = 0 mmap(NULL, 2176472, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f2095aa1000 mprotect(0x7f2095ab4000, 2093056, PROT_NONE) = 0 mmap(0x7f2095cb3000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x12000) = 0x7f2095cb3000 close(3) = 0 open("/usr/lib64/libfftw3f.so.3", O_RDONLY|O_CLOEXEC) = 3 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\20\312\1\0\0\0\0\0"..., 832) = 832 fstat(3, {st_mode=S_IFREG|0755, st_size=1560408, ...}) = 0 mmap(NULL, 3656592, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f2095724000 mprotect(0x7f2095895000, 2093056, PROT_NONE) = 0 mmap(0x7f2095a94000, 53248, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x170000) = 0x7f2095a94000 close(3) = 0 open("/usr/lib/gcc/x86_64-pc-linux-gnu/4.9.3/libstdc++.so.6", O_RDONLY|O_CLOEXEC) = 3 read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\271\5\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=995368, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f2096bda000
mmap(NULL, 3176096, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f209541c000
mprotect(0x7f2095505000, 2097152, PROT_NONE) = 0
mmap(0x7f2095705000, 40960, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xe9000) = 0x7f2095705000
mmap(0x7f209570f000, 83616, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f209570f000
close(3) = 0
open("/lib64/libm.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 U\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=1042648, ...}) = 0
mmap(NULL, 3137880, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f209511d000
mprotect(0x7f209521b000, 2093056, PROT_NONE) = 0
mmap(0x7f209541a000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xfd000) = 0x7f209541a000
close(3) = 0
open("/usr/lib/gcc/x86_64-pc-linux-gnu/4.9.3/libgcc_s.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\300
\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=88328, ...}) = 0
mmap(NULL, 2184288, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f2094f07000
mprotect(0x7f2094f1c000, 2093056, PROT_NONE) = 0
mmap(0x7f209511b000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x14000) = 0x7f209511b000
close(3) = 0
open("/lib64/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\306\10\2\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=1627936, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f2096bd9000
mmap(NULL, 3735128, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f2094b77000
mprotect(0x7f2094cfe000, 2093056, PROT_NONE) = 0
mmap(0x7f2094efd000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x186000) = 0x7f2094efd000
mmap(0x7f2094f03000, 15960, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f2094f03000
close(3) = 0
open("/usr/lib64/libvorbis.so.0", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\2208\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=158360, ...}) = 0
mmap(NULL, 2253592, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f2094950000
mprotect(0x7f2094976000, 2093056, PROT_NONE) = 0
mmap(0x7f2094b75000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x25000) = 0x7f2094b75000
close(3) = 0
open("/usr/lib64/libogg.so.0", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0@\33\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=22648, ...}) = 0
mmap(NULL, 2117960, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f209474a000
mprotect(0x7f209474f000, 2093056, PROT_NONE) = 0
mmap(0x7f209494e000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x4000) = 0x7f209494e000
close(3) = 0
open("/lib64/libusb-1.0.so.0", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0pB\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=84832, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f2096bd8000
mmap(NULL, 2180368, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f2094535000
mprotect(0x7f2094549000, 2093056, PROT_NONE) = 0
mmap(0x7f2094748000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x13000) = 0x7f2094748000
close(3) = 0
open("/lib64/libudev.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0\0\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=75848, ...}) = 0
mmap(NULL, 79952, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f2096bc4000
mprotect(0x7f2096bd5000, 4096, PROT_NONE) = 0
mmap(0x7f2096bd6000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x11000) = 0x7f2096bd6000
close(3) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f2096bc3000
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f2096bc2000
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f2096bc0000
arch_prctl(ARCH_SET_FS, 0x7f2096bc0740) = 0
mprotect(0x7f2094efd000, 16384, PROT_READ) = 0
mprotect(0x7f20960d6000, 4096, PROT_READ) = 0
mprotect(0x7f20969fe000, 4096, PROT_READ) = 0
mprotect(0x7f2096bd6000, 4096, PROT_READ) = 0
mprotect(0x7f2094748000, 4096, PROT_READ) = 0
mprotect(0x7f209494e000, 4096, PROT_READ) = 0
mprotect(0x7f209541a000, 4096, PROT_READ) = 0
mprotect(0x7f2094b75000, 4096, PROT_READ) = 0
mprotect(0x7f209511b000, 4096, PROT_READ) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f2096bbf000
mprotect(0x7f2095705000, 32768, PROT_READ) = 0
mprotect(0x7f2095a94000, 49152, PROT_READ) = 0
mprotect(0x7f2095cb3000, 4096, PROT_READ) = 0
mprotect(0x7f2095ebf000, 4096, PROT_READ) = 0
mprotect(0x7f20962ea000, 4096, PROT_READ) = 0
mprotect(0x7f2096526000, 4096, PROT_READ) = 0
mprotect(0x7f20967e0000, 98304, PROT_READ) = 0
mprotect(0x608000, 4096, PROT_READ) = 0
mprotect(0x7f2096c20000, 4096, PROT_READ) = 0
munmap(0x7f2096bdd000, 270010) = 0
set_tid_address(0x7f2096bc0a10) = 31944
set_robust_list(0x7f2096bc0a20, 24) = 0
rt_sigaction(SIGRTMIN, {0x7f2095ec6b34, [], SA_RESTORER|SA_SIGINFO, 0x7f2095ed0cb0}, NULL, 8) = 0
rt_sigaction(SIGRT_1, {0x7f2095ec6bac, [], SA_RESTORER|SA_RESTART|SA_SIGINFO, 0x7f2095ed0cb0}, NULL, 8) = 0
rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 8) = 0
getrlimit(RLIMIT_STACK, {rlim_cur=8192*1024, rlim_max=RLIM64_INFINITY}) = 0
futex(0x7f2095721b0c, FUTEX_WAKE_PRIVATE, 2147483647) = 0
futex(0x7f2095721b18, FUTEX_WAKE_PRIVATE, 2147483647) = 0
brk(0) = 0x2422000
brk(0x2443000) = 0x2443000
open("/usr/local/etc/rtl_airband.conf", O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0600, st_size=7842, ...}) = 0
fstat(3, {st_mode=S_IFREG|0600, st_size=7842, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f2096c1e000
read(3, "# Sample RTLSDR_Airband configur"..., 8192) = 7842
read(3, "", 4096) = 0
close(3) = 0
munmap(0x7f2096c1e000, 4096) = 0
futex(0x7f209511c1d0, FUTEX_WAKE_PRIVATE, 2147483647) = 0
write(2, "Error while parsing configuratio"..., 39Error while parsing configuration file ) = 39
write(2, "/usr/local/etc/rtl_airband.conf", 31/usr/local/etc/rtl_airband.conf) = 31
write(2, " line ", 6 line ) = 6
write(2, "284", 3284) = 3
write(2, ": ", 2: ) = 2
write(2, "syntax error", 12syntax error) = 12
write(2, "\n", 1
) = 1
exit_group(1) = ?
+++ exited with 1 +++

Not able to compile

I have tried browsing old issue reports and (think I) followed all instructions, yet I am not able to compile for rpiv2. I have tried both the tarball and pulling latest from Git. Here's what I do:
pi@pi ~/RTLSDR-Airband $ PLATFORM=rpiv2 make make -C hello_fft make[1]: Entering directory '/home/pi/RTLSDR-Airband/hello_fft' make[1]: Nothing to be done for 'all'. make[1]: Leaving directory '/home/pi/RTLSDR-Airband/hello_fft' g++ -L/opt/vc/lib rtl_airband.o hello_fft/hello_fft.a rtl_airband_neon.o -lrt -lm -lvorbisenc -lmp3lame -lshout -lpthread -lrtlsdr -lconfig++ -lbcm_host -ldl -o rtl_airband hello_fft/hello_fft.a(gpu_fft_base.o): In functiongpu_fft_alloc(int, unsigned int, GPU_FFT_PTR*)':
/home/pi/RTLSDR-Airband/hello_fft/gpu_fft_base.c:105: undefined reference to bcm_host_get_sdram_address' /home/pi/RTLSDR-Airband/hello_fft/gpu_fft_base.c:112: undefined reference to bcm_host_get_peripheral_address'
/home/pi/RTLSDR-Airband/hello_fft/gpu_fft_base.c:112: undefined reference to bcm_host_get_peripheral_size' hello_fft/hello_fft.a(gpu_fft_base.o): In function gpu_fft_base_release(GPU_FFT_BASE*)':
/home/pi/RTLSDR-Airband/hello_fft/gpu_fft_base.c:134: undefined reference to bcm_host_get_peripheral_size' collect2: ld returned 1 exit status <builtin>: recipe for target 'rtl_airband' failed make: *** [rtl_airband] Error 1

Documentation: 16M GPU memory will not work

Please document that 16M of GPU memory (tested on RPI1) will result in termination of the process after a message like "Found Rafael Micro R820T tuner" nothing else will be written either to stderr or /var/log/messages

Illegal instruction

Hello everyone,

I'd like to stream Trabzon International Airport from Turkey.
I've Raspberry Pi 2 model b running Raspbian Jessie.

I was able to compile rtl_airband from your repo.
But I'm still not able to run it…

root@rpi:/opt/rtl_airband# sudo /usr/local/bin/rtl_airband -h
root@rpi:/opt/rtl_airband# sudo /usr/local/bin/rtl_airband -f
root@rpi:/opt/rtl_airband# /usr/local/bin/rtl_airband -f
Illegal instruction
root@rpi:/opt/rtl_airband# /usr/local/bin/rtl_airband -h
Illegal instruction
root@rpi:/opt/rtl_airband# lsusb | grep RTL
Bus 001 Device 004: ID 0bda:2838 Realtek Semiconductor Corp. RTL2838 DVB-T
root@rpi:/opt/rtl_airband# uname -a
Linux rpi 4.1.17+ #838 Tue Feb 9 12:57:10 GMT 2016 armv6l GNU/Linux
root@rpi:/opt/rtl_airband# tail /var/log/messages
2016-02-10T14:09:41-05:00 rpi systemd[1]: Starting LSB: rtl_airband initscript...
2016-02-10T14:09:41-05:00 rpi rtl_airband[1341]: Illegal instruction
2016-02-10T14:09:41-05:00 rpi systemd[1]: Started LSB: rtl_airband initscript.
root@rpi:/opt/rtl_airband# 

Do you have any idea what might be wrong?

Thanks you

Updating Config File to v2.x

I can't seem to figure out what I need to change in my old config file to get it to work with v2.x. Any help would be appreciated:
syslog = 1

devices:
(
{
index = 0;
gain =35;
mode = "scan";
correction = 52;
channels :
(
{
freqs = ( 1xxxx0000, 1yyyy0000, 1zzzz0000, 1aaaa0000, 1bbbb0000, 1cccc0000 );
server = "xxx.xxx.xxx.xxx";
port = yyyy;
mountpoint = "aaaa";
username = "bbbb";
password = "cccc";
name = "ddddd";
genre = "ATC";
}
);
}
);
`
The error I get is:
Configuration error: mandatory parameter missing: devices.[0].channels.[0].outputs

Device index

If several dongles are connected, will they be given a completely random index at each boot? Is it possible to assign them by serial?

I'm thinking of a situation where you have two or more dongles that have different freq correction or are connected to different types of antennas.

Issue building on x86_64

System: CentOS 6 x86_64

Trying to compile latest unstable branch and get this error:

PLATFORM=x86 make
g++ -O3 -g -Wall -DSYSCONFDIR="/usr/local/etc" -march=native -c -o rtl_airband.o rtl_airband.cpp
rtl_airband.cpp: In function �void process_outputs(channel_t_)�:
rtl_airband.cpp:655: warning: comparison between signed and unsigned integer expressions
rtl_airband.cpp: In function �void demodulate()�:
_rtl_airband.cpp:886: error: �fftwf_alloc_complex� was not declared in this scope*
rtl_airband.cpp: In function â��int main(int, char*)â:
rtl_airband.cpp:1219: warning: deprecated conversion from string constant to �char_�
rtl_airband.cpp:1221: warning: deprecated conversion from string constant to �char_�
make: *
* [rtl_airband.o] Error 1

Any ideas?

Odroid C2 compile problem.

Have it running on my pi3 but i'd like to get it running on my odroid if possible.

odroid@odroid64:~/compiles/RTLSDR-Airband$ PLATFORM=armv7-generic NFM=1 make
g++ -O3 -g -Wall -DSYSCONFDIR="/usr/local/etc" -march=armv7-a -mfpu=neon-vfpv4 -mfloat-abi=hard -ffast-math -DNFM -c -o rtl_airband.o rtl_airband.cpp
g++: error: unrecognized command line option ‘-mfpu=neon-vfpv4’
g++: error: unrecognized command line option ‘-mfloat-abi=hard’
: recipe for target 'rtl_airband.o' failed
make: *** [rtl_airband.o] Error 1

googled and tried adjusting the makefile, different error this time.

odroid@odroid64:~/compiles/RTLSDR-Airband$ PLATFORM=armv7-generic NFM=1 make
g++ -O3 -g -Wall -DSYSCONFDIR="/usr/local/etc" -march=armv8-a+crc -mtune=cortex-a53 -ffast-math -DNFM -c -o rtl_airband.o rtl_airband.cpp
rtl_airband.cpp:38:23: fatal error: xmmintrin.h: No such file or directory
compilation terminated.
: recipe for target 'rtl_airband.o' failed
make: *** [rtl_airband.o] Error 1

xmmintrin.h doesn't exist unfortunately.

uname -a
Linux odroid64 3.14.79-97 #1 SMP PREEMPT Fri Dec 23 10:32:12 BRST 2016 aarch64 aarch64 aarch64 GNU/Linux

cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=16.04
DISTRIB_CODENAME=xenial
DISTRIB_DESCRIPTION="Ubuntu 16.04.1 LTS"

Support for Pi 3?

I notice a switch for Pi1 vs Pi 2, but not Pi 3. I was able to compile and run (sort of) on a Pi 3, but we are having a few issues. I'm not sure if I have other issues or if Pi3 is just not supported yet.

I'm hoping to get a multichannel unit working to monitor all the common freqs around our airport so we desk-bound folks can a least listen to the fun on the sunny days :0 I have limited experience so far with RaPi, so any and all help / advice is appreciated.

Unable to install RTLSDR Library

When I follow the instructions for installing the RTLSDR library, I get this error for autoreconf:
pi@raspberrypi ~/rtl-sdr $ autoreconf -i
src/Makefile.am:10: Libtool library used but LIBTOOL' is undefined src/Makefile.am:10: The usual way to defineLIBTOOL' is to add LT_INIT' src/Makefile.am:10: toconfigure.ac' and run aclocal' andautoconf' again.
src/Makefile.am:10: If LT_INIT' is inconfigure.ac', make sure
src/Makefile.am:10: its definition is in aclocal's search path.
autoreconf: automake failed with exit status: 1

How can I make this work? I am a Raspberry newbie. Thank you.

raspistill hangs

Hi!
I have Raspberry camera module installed on my pi2. Do you have any idea why raspistill program hangs when /usr/local/bin/rtl_airband is running? If I kill the rtl_airband-process, raspistill runs well.
(same with v. 1 and v. 2)

Regards,
Vegard

Filename timestamp

Hi,

the filename timestamp is using UTC instead of local time. Is this configurable?

Arbitrary band monitoring and logging?

Is RTLSDR-Airband currently capable to use a single DVBT-Stick to monitor and process e.g. ADSB and ACARS bands and messages concurrently or any other band and protocol there's a command-line tool to process from a pipe?

There's the AM-radio config example, but does this work with different protocols?
If not, can it made to?

Steady SNR degradation

This may be a broader issue but I see steady SNR decrease issues when streaming ATIS/AWOS transmitters. The only reason I see it with these transmitters is that they are always transmitting and offer a stable signal for measurement purposes. The reception starts out fine then the noise will seem to steadily rise over a period of about 7-8 minutes - and the signal eventually falls below the squelch level. It gets to a point where reception becomes impossible without restarting rtl_airband. That always puts things back to normal. This means that rtl_airband needs to be restarted at least every 10 minutes to maintain reception.

Here is a video showing the phenomenon:
https://www.dropbox.com/s/aw8mupvxg0uhrvy/rtl_snr_issue.mov?dl=0

Can´t compile

Hello

When I try to compile the application, I get the following message:

~/RTLSDR-Airband $ make rtl_airband_neon
make -C hello_fft
make[1]: Entering directory '/home/pi/RTLSDR-Airband/hello_fft'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory '/home/pi/RTLSDR-Airband/hello_fft'
g++ -L/opt/vc/lib rtl_airband_neon.o rtl_airband.o hello_fft/hello_fft.a -lrt -lm -lvorbisenc -lmp3lame -lshout -lpthread -lrtlsdr -lbcm_host -o rtl_airband_neon
g++: error: hello_fft/hello_fft.a: No such file or directory
: recipe for target 'rtl_airband_neon' failed
make: *** [rtl_airband_neon] Error 1

RPI2, Linux raspberry 4.1.8-v7+, RTLSDR-Airband cloned from https://github.com/szpajder/RTLSDR-Airband/

Can anyone help me?

Erro libc

Jan 17 10:08:25 Fonia kernel: [ 202.535141] rtl_airband[1831]: segfault at 47 ip b70c7717 sp b3144280 error 4 in libc-2.21.so[b7067000+1b4000]
Good morning , I am unable to run the new version for more than a few minutes , I always have this error above , already tried everything , I use ubuntu linux 14 . Also use two dongles , the function that interested me most was the recording option . The old version have no problems , what can I do?

Can't open device file: char_dev

Hi,

I am trying to run RTLSDR-Airband on my rpi. I clone this repository and compiled the code successfully.

Unfortunately, I get a "Can't open device file: char_dev" message when I try to run the program. I did followed all instructions - created the device file with "sudo mknod char_dev c 100 0" and ran the program with sudo.

Running the program with strace indicated that there is a problem opening the char_dev special file, but I could not understand why it failed.
open("char_dev", O_RDONLY) = -1 ENXIO (No such device or address)

here is ls -la output on char_dev. Did I created it right?

crw-r--r-- 1 root root 100, 0 Dec 11 17:17 char_dev

Thanks

Audio Gain

Looking to bump up the audio gain. Normal I do it when I convert my sdr audio files from wav to mp3 using lame. As this is already a mp3 did not want to re encode.
Any ideas in the code where I might be able to get some more audio volume.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.