Skip to content

Common compile and runtime errors

rpp0 edited this page Feb 10, 2021 · 5 revisions

AttributeError: 'module' object has no attribute 'decoder'

Check the following:

  • Do you have swig installed?
  • Is your compiler up to date?
  • Are the dependencies up to date?
  • Did you run sudo make install after compiling?
  • Did you run sudo ldconfig after compiling?
  • Does the CMAKE_INSTALL_PREFIX flag point to the parent of your OS's lib/ folder?
  • Were the Python modules installed to your Python2 site-packages directory?

If the answer to all of these questions is yes, then the error should be resolved.

GNU Radio overflow errors at runtime

Overflow errors occur when more samples are produced than your machine can process. This will result in samples being discarded, and hence decoding errors. GNU Radio will print OOOOOO to the console when an overflow occurs. Here are several measures that you can take to mitigate this issue:

  • Write the samples to file first, and then use a File Source with Throttle.
  • Decrease the sampling rate of the SDR: decreasing the sample rate reduces the available bandwidth and thus the ability to decode multiple channels simultaneously, but it also reduces the CPU load.
  • Decrease the oversampling ratio (OSR) of the LoRa Receiver block: decreasing the OSR reduces CPU load at the cost of time resolution. Some packets may not decode correctly.
  • Upgrade your hardware: more processing power will increase the rate at which samples can be consumed.
  • Suggest improvements: the algorithms used in gr-lora could be improved in terms of efficiency. Feel free to submit pull requests with suggestions! In order for an improvement to be accepted, it must achieve approximately equal or higher decoding accuracy on the gr-lora test suite.