-
-
Notifications
You must be signed in to change notification settings - Fork 201
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
Conversation
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. |
@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. |
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. |
@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 |
Oh Awesome! I hadn’t looked at this since the fall and 20.04 wasn’t out yet, I think. With the Gnuradio PPA I think you get the latest GR build, but that is probably more trouble than it is worth. I will work on getting my dev image updated. I am getting weird error on Cmake now, which may have been why I was building it from scratch. I forget...
… On May 4, 2020, at 3:13 PM, Eric Tendian ***@***.***> wrote:
@robotastic <https://github.com/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.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub <#349 (comment)>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/AAA3TXCMTL2VWRWIMXSLCYDRP4HVVANCNFSM4MYLE3LQ>.
|
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. |
@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. |
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! |
@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. |
No. The master on 18.0.4 is good. It is only on 20.0.4. Same hardware and
configuration in VMware.
|
@jwestyp I wonder if there is an issue with running in a VM? Is the 18.0.4 also in a VM? |
Luke,
I am running both in a VM with identical configs. I only have one vm
running at a time and can see the difference in performance
Justin
…On Sun, May 17, 2020 at 1:42 PM Luke Berndt ***@***.***> wrote:
@jwestyp <https://github.com/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.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#349 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAMOKCHJRO4TALTE7FTAIX3RSAV2XANCNFSM4MYLE3LQ>
.
--
Respectfully,
Justin West
jwestyp@gmail.com
|
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 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. |
Also comment to follow this and will check and advise on the TDMA II systems in my area. (Both Nassau and Suffolk). |
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.