I donβt think enough people know about this, so I decided to make a post here for those looking. You can connect to your average YSF (Yaesu System Fusion), DMR and M17 reflector using your computer and talk with any connected headset. Droidstar is openSource, and the source code can be found here.
This build of droid star requires a DMR ID, even when connecting with other modes. The reason for this is unknown to me. If you donβt yet have one, you can register for one at https://radioid.net/register. Once you open the application, navigate to the Settings Tab and fill in the DMR Id there.
I wish I could make this one simple, but we are getting into complex territory. Please read the instructions and follow along carefully. This is not something I recommend doing without knowing your way around Linux, and so the basics are not covered(it would be too long). this should let you share the same soundcard between direwolf and other apps like VARA, and FLDigi as well. I ran into this when I wanted to have VARA and Dire wolf share a soundcard for my BPQ32 node on Linux. By default, Dire wolf takes complete control of the sound card interface, as well as VARA when ran within wine. There are several tweaks and changes needed to make this work, so buckle in. In this guide, Iβve used this post to install VARA within wine on Debian 12. Iβve used this post to install dire wolf.
Splitting the Interface
First, we need to grab your sound cards device name. Enter cat /proc/asound/cards to get a list of sound cards, pay attention to the βDeviceβ or βDevice_1β relating to your radios digital audio interface card. I my case, I needed both (one was used for 2m, the other for HF). Note the name somewhere, paying attention to the case as well.
Now, we need to open the βasoundβ configuration file (or make a new one if it doesnβt exist), and enter some information. First, check if one exists for your current user with : cat ~/.asound. If you get file does not exist, thatβs fine. If you instead see file info, enter rm ~/.asound to get rid of it. The reason we did that was because the user configuration file overrides the global (which is the one we will now create/edit).
Enter sudo nano /etc/asound.conf to create/edit the existing global configuration. If your file is empty, awesome. If it contains content, remove everything.
What we will do now, is name our new split soundcard interface. In the following example, Iβve taken the soundcard listed as βDeviceβ from above, and now named it βdigirigβ in this new interface, and split it into βdigirig-rxβ for the receive(audio in), and βdigirig-txβ for the transmit (audio out)
We will now paste the following template:
Take care to replace the word βDeviceβ with the name you found above (probably the same), and if you would like to rename the interface to something other than βdigirigβ like I have here, replace all instances of it with something lowercase and simple you will remember.
If you have 2 sound card interfaces, such as I do, you will just paste the above twice, one after the other. You will need to rename all instances of βdigirigβ (or whatever you called the first one) to something else (to refer to the second card). You will also need to replace βDeviceβ once more with the name of the second sound card (probably βDevice_1β).
Great, save that file. Issue the following command to have the changes take effect.
sudo alsa force-reload
If you get command not found, youβre better off rebooting before continuing.
Now, we will now make sure weβve done this part right. Open up your direrwolf configuration file (probably nano ~/direwolf.conf) and find the βADEVICEβ line and remove it.
Replace it with the following. (Obviously replacing βdigirigβ if youβve renamed it in the asound file we made/edited above.
ADEVICE digirig-rx digirig-tx
Save the file, and restart Dire wolf. Dire wolf should start fine, and your audio device should be working as it did before. If not, stop here, somethings wrong.
Getting VARA to use the Split interface
Now that dire wolf is using our split interface, we now need to get VARA on board, which is a little more involved.
First, we need to get your wine prefix to be configured using ALSA. If using VARA in the default prefix, this could be as simple as running βwinetricks sound=alsaβ. Give it a try, as it wonβt hurt either way. Otherwise, you will run the following command, replacing β.wine32β with the wine prefix youβve made for VARA.
Another way you can try to achieve this is by running βwinetricksβ within desktop mode, selecting the prefix where VARA is installed, choosing βChange Settingsβ, finding βsound=alsaβ and pressing βOkβ
Next we need to set some registry keys on the Wine prefix to identify our split interfaces. Similar to the above, we will enter the following command to open the registry editor for the VARA prefix:
You can also reach the Registry editor using the βwinetricksβ command, selecting the prefix, and opening the regedit from there.
You will navigate to the following key and leave it it open:
HKCU->Software->Wine->Drivers->winealsa.drv
Just as in the above screenshot, you will right click the empty space, and select new -> multi-string value.
Create one key called βALSAInputDevicesβ and another called βALSAOutputDevicesβ. In each of them, for the value, make a list of the relative -rx or -tx devices we made before in the asound file. (If you only have 1 sound card interface to use, you only need the one here). (-rx being in the Input devices, and -tx being in the Output.)
Save, and close it all out.
Starting VARA
Now start VARA as you normally do in WINE. In the soundcard settings, now chose the interface we specified in the registry relating to the one we created in the asound configuration file.
Direwolf and VARA should now be able to share the sound interface this way!
First, I want to give all credit for this blog post and script to this website(blog.radioartisan.com), and the ham who created it (K3NG). The only reason I am posting it here is to walk through the database installation portion, and show how the database can be expanded onto to include extra information, as well as add some more detailed documentation. His mission seems to align with mine in making database lookup tools for logbooks for accessible, instead of taking user data and selling it back (such as what QRZ does). As such, most of the information here is ripped from his post, and presented in a different way.
This guide is going to assume you are running Debian 12, or Ubuntu 22.04
Creating our User
This section is Linux 101, but I usually go over it anyways just in case. We will be running mostly everything here as a non root user, that is in the sudo group. As such, the following commands below will create our new user, install sudo, and swap to it. If you already have a user created that you would like to use, you may skip this step.
As Root:
add user your-desired-user
apt install sudo
usermod -aG sudo your-desired-user
su kn4mkb
Installing and Configuring MariaDB Database
The following will perform some updates, and install MariaDB. Everything else from here on should be done under the user we just created, not root.
Now we will configure it for best security practices:
sudo mysql_secure_installation
You will be asked several questions. As we are running the command as root, press [Enter](none) when asked for the root password, as we havenβt configured one. We can answer βnβ for most of the others until asked if we want to remove anonymous users. From here, we want to say βyβ, for the rest of the questions.
Enter current password for root (enter for none):
Switch to unix_socket authentication [Y/n] n
Change the root password? [Y/n] n
Remove anonymous users? [Y/n] y
Disallow root login remotely? [Y/n] y
Remove test database and access to it? [Y/n] y
Reload privilege tables now? [Y/n] y
Creating the Database User
We will now create the user which will be used to update the database with the latest information from the FCC database. We will start the sql prompt as root, and use the prompt to create the user, giving it privileges to create new databases.
sudo mysql
Replace βhamdbuserβ and βSECURE_PASSWORDβ with your desired username and password for the database user. Enter the following 3 commands at the MariaDB prompt:
CREATE USER hamdbuser@localhost IDENTIFIED BY 'SECURE_PASSWORD';
GRANT ALL PRIVILEGES ON *.* TO 'hamdbuser'@'localhost' IDENTIFIED BY 'SECURE_PASSWORD';
quit
We now have the database and a user ready to go. Next we will proceed with K3NGs database updating script.
Installing HamDB
First we will install wget, which will allow us to pull the most recent version of the hamdb script form github. unzip is also needed as hamdb uses it for database downloads. We will then pull the script into our current working folder and run a full database build.
The script will ask you a few questions. Would you like to create a config file (y), what is your Database sser, database password. afterwards, it gets to work pulling the current database in full.
Using HamDB to lookup Ham Radio Callsign Information
You can use HamDB in a few ways to lookup information. But the true power will be building third party or external tools to extract information from the database.
Look up a callsign: ./hamdb k3ng Wildcard Search: ./hamdb like k3ng% Search for amateurs in a zip: ./hamdb zipcode 17701 Search by last name: ./hamdb lastname Jones
./hamdb -h will give you all of the lookup options built into the application.
Maintaining and Updating the Database
You will want to run and update daily on your database to keep things current. You can use cron to accomplish this. Take note of where you have downloaded the hamdb script (mine is at /home/kn4mkb/hamdb)
Enter the following command. If you are unsure with what editor to use when asked, go with nano.
crontab -e
Enter the following line at the end of the file to update the database every day at 2:30 am. Take care to replace /home/kn4mkb/hamdb with the path of your hamdb script.
30 2 * * * /home/kn4mkb/hamdb update
Ctrl X + Y to save (if using nano), and you should be good to go!
Embark on a thrilling journey into the world of SDR receivers with the Malahit DSP2! Discover its versatility, advanced features, and user-friendly interface as you dive into the realm of radio communication excellence. Join us on M0 FXB Ham Tech for expert insights, tutorials, and tips to elevate your radio experience.
In an article I wrote long time ago, I measured the noise figure of an amplifier using only a spectrum analyzer. The method I used was relatively simple but it took some mathematical understanding...
In this quick article, I show step by step process of drawing a boost converter schematic and finally ending up with a PCB layout. All of it done on Altium designer using Altiumβs own...