diff --git a/content/equipment/handhelds/radioddity-gd77/index.md b/content/equipment/handhelds/radioddity-gd77/index.md index d3274ec..7a40747 100644 --- a/content/equipment/handhelds/radioddity-gd77/index.md +++ b/content/equipment/handhelds/radioddity-gd77/index.md @@ -3,7 +3,7 @@ title = 'Radioddity GD-77' summary = '''Consider the OpenGD77 firmware and you're all set with a very user friendly and customizable handheld radio.''' date = '2020-10-17' -lastmod = '2023-08-12T15:25:57+0000' +lastmod = '2023-08-27T19:34:45+0000' #categories = [ 'amateur-radio' ] showBreadcrumbs = true showReadingTime = false @@ -90,7 +90,7 @@ callsigns in this list---about 2000 new callsigns). {{< alert "circle-info" >}} If you don't have a proper file to start with use this one here. It contains these regions: `232, 262, 263, 264, 222, 228`. -[:open_file_folder: Download](/files/dmrids_2023-08-12.zip "28775 entries") (\~238KB) +:open_file_folder: Download (\~238KB) {{< /alert >}} Or: download your own set of DMR-IDs with the regions you want. You can also diff --git a/content/posts/2023-08-10-openbsd-current/index.md b/content/posts/2023-08-10-openbsd-current/index.md index 6e7fd6b..938c5fc 100644 --- a/content/posts/2023-08-10-openbsd-current/index.md +++ b/content/posts/2023-08-10-openbsd-current/index.md @@ -3,7 +3,7 @@ title = 'OpenBSD-current' summary = 'Keeping up to date with OpenBSD-current. Some quick notes.' date = '2023-08-11T19:47:56+0000' -lastmod = '2023-08-26T17:14:29+0000' +lastmod = '2023-08-27T19:34:45+0000' categories = [ 'computerstuff' ] tags = [ 'openbsd' ] @@ -138,6 +138,8 @@ Run the command without the `| tee ...` part to see if any errors occur. If the for loop finishes without errors, we can add the `tee` part and write the new localports file into `/usr/ports`. +Make sure to remove the `distfiles/` sections. + The final file should look like this: ``` @@ -150,6 +152,9 @@ sysutils/anacron devel/appstream-glib ``` +Some paths should be modified like the firefox browser is not found +as _firefox_ but as _fitefox-i18n_ for example. + Notice, there is already the package `adwaita-icon-theme` misssing because there is no such port in the ports tree. @@ -162,6 +167,9 @@ $ doas /usr/ports/infrastructure/bin/dpb -P localports That's it. The screen gets filled with all the ports that are updated at once/in parallel. +I do have about 100 packages to build, which usually consumes around +40 minutes of time. + ## Creating a release There are a few steps needed to create your own installation media. @@ -201,9 +209,6 @@ $ cd /usr/src/distrib/sets && doas sh checkflist $ unset RELEASEDIR DESTDIR ``` - - Time for coffe, the second line above takes around an hour. This step creates a base installation of OpenBSD within `/build/dest` and creates the installation media (tarballs) in `/build/release`. @@ -217,8 +222,6 @@ $ doas make checkdist $ unset RELEASEDIR DESTDIR ``` - - This run is fairly quick, expect a few minutes to run. ### Creating the installation media files diff --git a/content/posts/2023-08-27-dmrhost-on-a-raspberrypi4-with-freebsd/index.md b/content/posts/2023-08-27-dmrhost-on-a-raspberrypi4-with-freebsd/index.md new file mode 100644 index 0000000..f94a6e7 --- /dev/null +++ b/content/posts/2023-08-27-dmrhost-on-a-raspberrypi4-with-freebsd/index.md @@ -0,0 +1,174 @@ ++++ +title = 'DMRHost on a Raspberry Pi 4 with FreeBSD' +summary = '''multiline commentary + olay''' +date = '2023-08-26T21:01:16+02:00' +#lastmod = '' +categories = [ 'amateur-radio' ] +tags = [] + +# showBreadcrumbs = true +# showDate = false +# showReadingTime = false +# showWordCount = false +# showPagination = false + +# feed_exclude = true +# site_exclude = true + +draft = true + ++++ + +## Setup FreeBSD + +I'm using 14.0-CURRENT for this. + + + +```console +$ doas dd if=FreeBSD-14.0-ALPHA3-arm64-aarch64-RPI-20230825-2af9390e54ed-265022.img of=/dev/rsd2c bs=1m +``` + +Boot into the system with the serial console. Setup a dedicated user for this and +disable the serial console after you successfully set up the network (don't forget +to also test ssh connection). + +```console +$ doas pw useradd mmdvm -d /home/mmdvm -m -L daemon -G dialer +``` + +Do not use the UART for kernel messages. +Add this line to your `/boot/loader.conf` file. + +```conf +hw.fdt.console="NO" +``` + +Reboot so the serial console can be used for the MMDVM_HS hat. + +## Install DMRHost + +You will need a few packages before we can continue. This list could +be incomplete because I try to remember them from brain memory... + +```console +$ doas pkg install git gcc cmake +``` + +Goto `/home/mmdvm`, build and install DMRHost. + +```console +$ doas -u mmdvm mkdir ~/git && cd /home/mmdvm/git +$ doas -u mmdvm git clone https://github.com/BrandMeister/DMRHost.git +$ cd DMRHost && doas -u mmdvm mkdir build && cd build +$ doas -u mmdvm (cmake -DCMAKE_BUILD_TYPE=Release .. && make) +$ doas make install +``` + +Create directories and the `MMDVM.ini` file. + +```console +$ cd /home/mmdvm && doas -u mmdvm mkdir logs && chmod 0775 logs +$ doas -u mmdvm nvim MMDVM.ini +``` + +```ini +[...] + +[Log] +# Logging levels, 0=No logging, 1=Debug, 2=Message, 3=Info, 4=Warning, 5=Error, 6=Fatal +SyslogLevel=0 +DisplayLevel=0 +FileLevel=2 +FilePath=/home/mmdvm/logs +FileRoot=DMRHost +FileRotate=0 + +[...] + +[Modem] +Port=/dev/cua00 +Protocol=uart + +[...] +``` + +I also add my user to the mmdvm group, so I can edit the MMDVM file. +(Well, set file permissions to 0664) + +```console +$ doas pw usermod -G mmdvm +``` + +## Test DMRHost + +```console +$ doas -u mmdvm /usr/local/bin/DMRHost /home/mmdvm/MMDVM.ini + +``` + +You may inspect the logfile beforehand: `tail -f /home/mmdvm/logs/DMRHost.log`. +The startup of DMRHost should end with something like these lines: + +```log +M: 2023-08-25 11:03:05.000 DMRHost-20220617-DMRHost is running +M: 2023-08-25 11:03:15.000 DMR, Logged into the master successfully +``` + +## Setup an rc file + +```sh +#!/bin/sh +# rc-script for DMRHost on OpenBSD 7.3 +# runs on FreeBSD for now +# Dominic Reich + +DMRHOST="/usr/local/bin/DMRHost" +MMDVM_INI="/home/mmdvm/MMDVM.ini" +DMRHOST_PID="/home/mmdvm/DMRHost.pid" +DOAS="/usr/local/bin/doas -u mmdvm" +LOGDIR="/home/mmdvm/logs" + +case "$1" in + "start") + if [ ! -d ${LOGDIR} ] ; then + mkdir ${LOGDIR} + chown mmdvm:users ${LOGDIR} + chmod 0775 ${LOGDIR} + fi + if ${DOAS} [ ! -r ${MMDVM_INI} ] ; then + echo "${MMDVM_INI} is not readable... aborting!" + exit 1 + fi + echo -n "Starting DMRHost..." + ${DOAS} ${DMRHOST} ${MMDVM_INI} & + echo $! | ${DOAS} tee ${DMRHOST_PID} > /dev/null + echo " done" + ;; + + "stop") + echo -n "Stopping DMRHost..." + if [ -f ${DMRHOST_PID} ] ; then + kill `cat ${DMRHOST_PID}` + rm -f ${DMRHOST_PID} + echo " done" + else + echo "not running?" + fi + ;; + + "restart") + $0 stop + sleep 2 + $0 start + ;; + + *) + echo "$0 [start|stop|restart]" + ;; + +esac +``` + +