ptrkrysik / gr-gsm

Gnuradio blocks and tools for receiving GSM transmissions
Other
1.34k stars 432 forks source link

grgsm on Raspberry Pi 2 Model B #266

Open Mitchell1314 opened 7 years ago

Mitchell1314 commented 7 years ago

Hi sir, I tried to install grgsm on mu raspberry pi 2, and firstly I ran "kal -s GSM900 -g 40",i have got the result: qq 20170306210823

Secondly, I ran "grgsm_scanner -p 36",i have got nothing: 2

Finally,here are some infomation about my raspberry pi: 3

Can you give me some help to fix it?

project-administrator commented 7 years ago

It seems that the problem is not RPi related. I have exactly the same problem with the default installation on Ubuntu 16.04. Installed gr-gsm (and all dependencies) with pybombs.

ghost commented 7 years ago

Same problem here.

tomturner123 commented 7 years ago

I also have this problem with the raspberry pi 3 (raspbian jessie) - I followed the wiki installation, fresh install. All that happens is: "linux; GNU C++ version 4.9.1; Boost_105500; UHD_003.007.003-0-unknown"

ptrkrysik commented 7 years ago

W dniu 12.04.2017 o 17:00, tomturner123 pisze:

I also have this problem with the raspberry pi 3 (raspbian jessie) - I followed the wiki installation, fresh install. All that happens is: "linux; GNU C++ version 4.9.1; Boost_105500; UHD_003.007.003-0-unknown"

Which gr-gsm git revision do you have?

Can you try to comment out lines (347,348): os.dup2(null_fds[0], 1) os.dup2(null_fds[1], 2)

from grgsm_scanner and post the result?

ghost commented 7 years ago

After changing the script, and running grgsm_scanner from the CLI, I get the same error.

"linux; GNU C++ version 4.9.1; Boost_105500; UHD_003.007.003-0-unknown"

tomturner123 commented 7 years ago

I get: linux; GNU C++ version 4.9.1; Boost_105500; UHD_003.007.003-0-unknown

Args= gr-osmosdr 0.1.3 (0.1.3) gnuradio 3.7.5 built-in source types: file osmosdr fcd rtl rtl_tcp uhd miri hackrf bladerf rfspace airspy Using device #0 Realtek RTL2838UHIDIR Found Elonics E4000 tuner Traceback (most recent call last): File "/usr/local/bin/grgsm_scanner", line 355, in ppm=options.ppm, gain=options.gain, args=options.args) File "/usr/local/bin/grgsm_scanner", line 213, in init self.rtlsdr_source.set_min_output_buffer(int(sample_rate*rec_len)) AttributeError: 'source_sptr' object has no attribute 'set_min_output_buffer'

How do I get the git revision? git clone was done yesterday.

Also, in case its relevant, airprobe_rtlsdr.py outputs: Traceback (most recent call last): File "/usr/local/bin/airprobe_rtlsdr.py", line 29, in from gnuradio.qtgui import Range, RangeWidget ImportError: cannot import name Range

tomturner123 commented 7 years ago

I managed to get it to work. I am pretty confident that the raspberry pi installation method on the wiki is wrong, as it seems the gnuradio version installed with apt-get is incompatible. Unfortunately installing the latest version is not trivial. After following the instructions here: http://lukeberndt.com/2016/compiling-gnuradio-on-a-raspberry-pi/ I was able to use the pybombs method. Note that this required removing many of the packages I originally installed when following the wiki

petterreinholdtsen commented 7 years ago

I just tested on my Raspberry Pi 2 model B, logged in using ssh -Y (no screen attached), and got this:

pi@radiotestpi:~ $ grgsm_livemon 
Warning: failed to XInitThreads()
linux; GNU C++ version 6.2.0 20161010; Boost_106100; UHD_003.009.005-0-unknown

gr-osmosdr 0.1.4 (0.1.4) gnuradio 3.7.10
built-in source types: file osmosdr fcd rtl rtl_tcp uhd miri hackrf bladerf rfspace airspy soapy redpitaya 
*** Error in `/usr/bin/python': malloc(): smallbin double linked list corrupted: 0x018753c8 ***
Aborted
pi@radiotestpi:~ $

I'm using the gr-gsm source for the Debian package I am working on, and the gnuradio package from Debian. This is with gnuradion on Debian Stretch. Running 'valgrind grgsm_livemon' show several warnings and start like this (cut the list as it was very long):

pi@radiotestpi:~ $ valgrind grgsm_livemon   
==16261== Memcheck, a memory error detector
==16261== Copyright (C) 2002-2011, and GNU GPL'd, by Julian Seward et al.
==16261== Using Valgrind-3.7.0 and LibVEX; rerun with -h for copyright info
==16261== Command: /usr/bin/grgsm_livemon
==16261== 
--16261-- WARNING: Serious error when reading debug info
--16261-- When reading debug info from /lib/arm-linux-gnueabihf/ld-2.24.so:
--16261-- Ignoring non-Dwarf2/3/4 block in .debug_info
--16261-- WARNING: Serious error when reading debug info
--16261-- When reading debug info from /lib/arm-linux-gnueabihf/ld-2.24.so:
--16261-- Last block truncated in .debug_info; ignoring
==16261== Conditional jump or move depends on uninitialised value(s)
==16261==    at 0x401B230: index (in /lib/arm-linux-gnueabihf/ld-2.24.so)
==16261== 
==16261== Conditional jump or move depends on uninitialised value(s)
==16261==    at 0x401B234: index (in /lib/arm-linux-gnueabihf/ld-2.24.so)
==16261== 
==16261== Conditional jump or move depends on uninitialised value(s)
==16261==    at 0x4008B8C: expand_dynamic_string_token (in /lib/arm-linux-gnueabihf/ld-2.24.so)
==16261== 
==16261== Conditional jump or move depends on uninitialised value(s)
==16261==    at 0x401B6E0: strlen (in /lib/arm-linux-gnueabihf/ld-2.24.so)
==16261== 
==16261== Conditional jump or move depends on uninitialised value(s)
==16261==    at 0x401B6E4: strlen (in /lib/arm-linux-gnueabihf/ld-2.24.so)
==16261== 
==16261== Conditional jump or move depends on uninitialised value(s)
==16261==    at 0x40194AC: __libc_memalign (in /lib/arm-linux-gnueabihf/ld-2.24.so)
==16261== 
==16261== Conditional jump or move depends on uninitialised value(s)
==16261==    at 0x40194B8: __libc_memalign (in /lib/arm-linux-gnueabihf/ld-2.24.so)
==16261== 
==16261== Conditional jump or move depends on uninitialised value(s)
==16261==    at 0x401C0F8: memcpy (in /lib/arm-linux-gnueabihf/ld-2.24.so)
==16261== 
==16261== Conditional jump or move depends on uninitialised value(s)
==16261==    at 0x401C118: memcpy (in /lib/arm-linux-gnueabihf/ld-2.24.so)
==16261== 
==16261== Conditional jump or move depends on uninitialised value(s)
==16261==    at 0x401C128: memcpy (in /lib/arm-linux-gnueabihf/ld-2.24.so)
==16261== 

I'm not sure the results are accurate, given that the problem is claimed to be in ld.so...

petterreinholdtsen commented 7 years ago

Note, I was using Raspbian (not Debian) above. When I tested with binaries from Debian Stretch, grgsm_livemon worked. So I guess the problem is in Raspbian, not grgsm.

tomturner123 commented 7 years ago

Im pretty sure its a compatibility thing with gnuradio. It worked once i installed it from source. Great to know that the stretch binaries work

imranrajjad commented 6 years ago

can I get the link to the Debian Stretch? I am having same problems

ptrkrysik commented 6 years ago

It might be an issue with: -wrong frequency correction, -wrong gain, -too slow processing on RPi2.

To resolve if the last one is the problem is it working with the same dongle but with use of normal PC instead of reaspberry?