Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adding support for GNURadio 3.8, introducing install and rebuild scripts for easier installation #349

Merged
merged 2 commits into from
May 19, 2020

Conversation

EricTendian
Copy link
Contributor

With Ubuntu 20.04 being released for a few weeks now, there will be more people trying to compile this on that version, however it won't work because the GNURadio dependency is on 3.8.

I rebased https://github.com/robotastic/trunk-recorder/tree/gr3.8 on top of the latest master branch, resolving merge conflicts in the process to account for newly introduced code.

I tested this by running the install.sh script on fresh Ubuntu 18.04.4 and 20.04 VMs (standard live CD install), verifying that the project could successfully compile on both. Then I did a quick test run on a P25 trunked system. I don't have an easy way to test on a Raspberry Pi, so wasn't able to do it there.

The install and rebuild scripts are something I took from the OP25 project, adjusting the actual dependencies needed to match what is needed for this project (based on the Dockerfile and my own testing). If accepted, this could be added to the wiki or README as an easy way to get the project running on a Debian-based system.

@robotastic
Copy link
Owner

This is awesome! I had started a gr3.8 branch but hadn't had a chance to test it out much... and it wasn't backwards compat. How about we make this a Branch and then see if folks on Gitter would be willing to try it out? I have a docker container with gr3.8 in it. I will make sure it still builds correctly and I can then create a Docker image with everything need for testing. It should make it easier for people to test.

@EricTendian
Copy link
Contributor Author

@robotastic that sounds good to me. For going about that, what do you think about renaming or making a new gr3.8 branch that matches master, so that I can change the base branch for this PR to be that branch? Then as you said, folks can clone this repo and check out that branch to test.

@robotastic
Copy link
Owner

OK - I moved my old gr.38 branch to abandon-gr3.8. I switched your PR to be the branch gr3.8. I also created a dev docker container because all of the dependencies seem to be changing. It looks like gr-osmosdr package finally support gr3.8.
https://github.com/robotastic/trunk-recorder-docker-gr3.8

@EricTendian
Copy link
Contributor Author

@robotastic thanks! I took a look at your Docker new container, the following Dockerfile might be better since it just uses Ubuntu 20.04 to get new dependencies rather than having to install more PPAs.

FROM ubuntu:20.04 AS base

RUN apt-get update
RUN apt-get install -y gnuradio gnuradio-dev gr-osmosdr libhackrf-dev libuhd-dev libgmp-dev
RUN apt-get install -y git cmake build-essential pkg-config libboost-all-dev libusb-1.0-0.dev libssl-dev libcurl4-openssl-dev liborc-0.4-dev
RUN apt-get install -y ca-certificates expat libgomp1 fdkaac sox
# install necessary locales
RUN apt-get install -y locales \
    && echo "en_US.UTF-8 UTF-8" > /etc/locale.gen \
    && locale-gen

RUN apt-get autoremove -y && \
    apt-get clean -y

COPY . /src/trunk-recorder
RUN cd /src/trunk-recorder && cmake . && make
RUN mkdir /app && cp /src/trunk-recorder/recorder /app

RUN mkdir /app/media \
 && mkdir /app/config

ENV LC_ALL en_US.UTF-8
ENV LANG en_US.UTF-8
ENV LANGUAGE en_US.UTF-8

WORKDIR /app
CMD ["./recorder","--config=/app/config/config.json"]

One difference I found in building this is that pkg-config is needed, while I didn't need it in the GUI-based install. That should probably be added to the install script to be safe.

@robotastic
Copy link
Owner

robotastic commented May 5, 2020 via email

@robotastic
Copy link
Owner

OK - I have this up and running for my system. I was going to use a container, but just went full bore and updated the base OS to 20.04. So far, so good. I will get the folks on Gitter to try it out too.

@EricTendian
Copy link
Contributor Author

@robotastic great! I've been running Ubuntu 20.04 Docker images for my systems since I made this PR, haven't experienced any issues so far. One cool thing I found was that in gr-osmosdr 0.2.0 available on 20.04, the default Airspy gain was changed from the component LNA gain to their linearity gain, which makes it a lot easier to figure out what gain values to use.

@jwestyp
Copy link

jwestyp commented May 13, 2020

Thanks @EricTendian! I have this running on a vm right now and am having quite a few decode issues in my audio. Please take a listen to https://www.broadcastify.com/calls-dev/systems/18 in the next day or two. I will be taking it offline and reusing this dev environment for other testing. Thanks!

@EricTendian
Copy link
Contributor Author

@jwestyp I listened, are you experiencing the same issues on the master branch? I don't think those decode issues would be caused by these changes, since it's mostly updating includes.

@jwestyp
Copy link

jwestyp commented May 14, 2020 via email

@robotastic
Copy link
Owner

@jwestyp I wonder if there is an issue with running in a VM? Is the 18.0.4 also in a VM?
I have been having good performance with P25 Phase 1 systems.
I will try to tune in my local Phase 2 system tonight. Assuming that goes well, I will do a version rev & a release. We can always have people roll back to the earlier release if they are finding errors. It might be some weird bug in GnuRadio 3.8 too.

@jwestyp
Copy link

jwestyp commented May 17, 2020 via email

@robotastic
Copy link
Owner

I just tried things out with my local P25 Phase 2 system and it seemed to be working fine. Phase 2 sounds pretty bad... but it always has with this system. @jwestyp Can you describe the reception issues? I am going to roll in this merge since a lot of people are going to start using Ubuntu 20.04, but I will track this and see if I can figure it out.

@robotastic robotastic mentioned this pull request May 19, 2020
robotastic added a commit that referenced this pull request May 19, 2020
@robotastic robotastic merged commit 29bf3d4 into robotastic:master May 19, 2020
@EricTendian EricTendian deleted the gr3.8 branch May 19, 2020 02:44
@jwestyp
Copy link

jwestyp commented May 19, 2020

@robotastic I have the p25 pII Talkgroups just not decoding well on the 20.0.4 install with this branch. I do have the original master branch running here: https://www.broadcastify.com/calls/systems/83. This is a mix of pI and pII talkgroups. It seems to be docoding well, and this is also on a Raspberry Pi 4 B.

@Dygear
Copy link
Contributor

Dygear commented May 22, 2020

Also comment to follow this and will check and advise on the TDMA II systems in my area. (Both Nassau and Suffolk).

@robbiet480 robbiet480 mentioned this pull request Jun 5, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants