myriadrf / kalibrate-lms

Fork of Kalibrate GSM signal detector and clock frequency offset calculator with support for LimeSDR hardware
BSD 2-Clause "Simplified" License
7 stars 6 forks source link

common issues with kalibrate on raspberry pi devices - ARM workarounds needed ... #1

Open buforded opened 3 years ago

buforded commented 3 years ago

Hello,

Thank you very much for creating kal/kalibrate for limeSDR - it is a very standard tool that should definitely exist.

Unfortunately, there are long-standing / well-known issues with kal on raspberry pi[1][2][3] and they usually look something like this:

shmat: Invalid argument terminate called after throwing an instance of 'std::runtime_error' what(): circular_buffer: shmat Aborted

... and this new kalibrate-lms is no exception.

In the past, as we see in [1] there is a workaround wherein you issue the command 'git checkout arm_memory' before ./bootstrap-ing ... but that is not a solution in the case of kalibrate-lms.

Would you please look into this problem and see how we may use your kalibrate-lms on raspberry pi ?

Thank you.

[1] http://sharegratuit.hi2.ro/how-to-calibrate-rtl-sdr-using-kalibrate-rtl-on-linux/index.html [2] https://github.com/Nuand/kalibrate-bladeRF/issues/9 [3] https://www.satsignal.eu/raspberry-pi/acars-decoder.html

herlesupreeth commented 3 years ago

Hi,

Thanks for the detailed explanation. I am no expert on this, however can you try arm_test branch in this repo please and let me know if that works for you?

https://github.com/herlesupreeth/kalibrate/tree/arm_test

Regards, Supreeth

buforded commented 3 years ago

Thank you very much - I used the arm_test branch as you suggested and the 'kal' I compiled no longer has this error.

It appears to be working properly now - can this fix be applied to kalibrate-lms master ?

Also, unrelated, I noticed that myriadrf/kalibrate-lms has this build process:

$ autoreconf -i $ ./configure $ make $ cd src

... whereas your herlesupreeth/kalibrate has this process:

$ ./bootstrap $ ./configure $ mkdir /dev/shm $ make $ cd src

... which of these two is most correct ?

herlesupreeth commented 3 years ago

Thanks a lot for testing it out. I have merged into kalibrate-lms

Moving forward the following would be build process (i added bootstrap script which more or less does the same as autoreconf -i)

... whereas your herlesupreeth/kalibrate has this process:

$ ./bootstrap $ ./configure $ mkdir /dev/shm $ make $ cd src

buforded commented 3 years ago

OK, thank you very much. Again, really appreciate that kal/kalibrate is maintained for limeSDR - it's an important tool.