The SoundCard as an interface

This CM108 Model has the capability of modification to permit the PTT to be operated via certain commands already available within the SVXLink software. The components required are a 10K resistor and a 2N2222 transistor. The only skill is a steady hand with a miniature soldering iron.

For the construction go to this link.

For the software control it will be necessary to locate the sound card within the operating system of the Raspberry. The sound card should have been installed before boot-up of the raspberry and the script run to install the svxlink software from my build instructions elsewhere on this site.

In the terminal in Raspberry Pi OS, type ls -l /dev/

You will more than likely find a line very near the top that reads similar to .

crw——- 1 root root 245, 0 May 12 11:12 hidraw0

The next step is to permit the ‘udev’ to control the inner workings of the USB SoundCard. This requires that we modify a rule found here at /etc/udev/rules.d/99-com.rules. Simply type sudo nano /etc/udev/rules.d/99-com.rules then we scroll down about 5 lines and create a new line

KERNEL=="hidraw*", SUBSYSTEM=="hidraw", MODE="0777"

The type cntrl-o to save then cntrl-x to exit.

To get the Operating System to accept the changes type

sudo udevadm control --reload-rules
sudo udevadm trigger

that restarts the udev service without the need to reboot the device.

The next stage requires access to SVXLink and its use of the sound card.

Now we can edit by sudo nano /etc/svxlink/svxlink.conf and scroll down to the [Rx1] and [Tx1] sections.

As we are going to be using the VOX operated Receive and the SoundCard operated Transmit sections, the line have to be edited as follows.

In [Rx1] the following lines must be included paying attention to syntax.

SQL_DET=VOX
SQL_START_DELAY=1
SQL_DELAY=10
SQL_HANGTIME=10
VOX_FILTER_DEPTH=20
VOX_THRESH=1000

These values may need to be adjusted by experimentation to prevent mis-operation of the receiver.

In [Tx1] the following lines must be present paying attention to syntax.

AUDIO_DEV=alsa:plughw:0,0
AUDIO_CHANNEL=0
HID_DEVICE=/dev/hidraw0
PTT_TYPE=Hidraw
PTT_PORT=/dev/hidraw0
HID_PTT_PIN=GPIO3
PTT_HANGTIME=10

In all circumstances read the following link to understand the concept of these instances.

http://www.svxlink.org/doc/man/man5/svxlink.conf.5.html

It may be a little problematical to get the device working as it should as each radio has its own characteristics. To be sure, set the radio to 12.5 KHz spacing to give the best deviation.

Important Note:

While the modified SoundCard works very well with DireWolf, so far I find the VOX, SIGLEV and CTCSS systems unco-operative with the device under SVXLINK. So I am going with a change to add a single wire COS to gpio23 on the main GPIO BUS of the raspberry.

This means that the lines for [Rx1] need to reflect this change.

SQL_DET=GPIO

GPIO_SQL_PIN=gpio23

With this in mind, the /etc/svxlink/gpio.conf file will need to be adjusted for HIGH IN adding “gpio23”. If like me you are running svxlink.service, you will also need to sudo systemctl restart svxlink_gpio_setup as well as sudo systemctl restart svxlink.service. Thus all the updated files will be incorporated.

When setting the sound in svxlink, use Alsamixer – sudo alsamixer. The Graphical interface with f5 shows all the settings together. First set the output around 60, Mute the microphone slider, Turn up the capture to a maximum of 19 and turn of the AGC. Moving between setting is achieved by the arrow keys. When settings are changed, check your audio throughput with the Parrot test (1#). If all is good then escape and type ‘sudo alsactl store’ to save these new settings. Make adjustments where necessary before saving.

Leave a Reply