Jnos and QtSoundModem

Today I was playing with Jnos, on my main system I have BPQ32 running with Direwolf and QtSoundModem. BPQ32 uses the Kiss port on Direwolf and the AGW port on QtSoundModem. Now I know that Jnos can easily handle the AGW interface/driver, so I linked Jnos with the AGW poort of Direwolf. attach agwpe agw 44.137.31.70 8000 ifconfig agw description “AGW – 1200 baud port” ax25 hport agw on trace agw 0111 Direwolf is running on 144.850Mhz 1k2 and 430.950Mhz 9k6 Now I thought it would be nice to hook Jnos to QtSoundModem as well. But BPQ32 already uses the AGW port of QtSoundModem. Now I had read that Maiko VE4KLM had written a Kiss over tcp/ip for Winrpr. Who doesn’t dare don’t win. Here we go. QtSoundmodem is running on 14.102Mhz 300Baud with 1100Hz on the left channel and 2000Hz on the right channel. Autoexec.nos attach winrpr qt0 44.137.31.76 8105 attach kiss qt0 1 qt1 # ifconfig qt0 description “Kiss tcp/ip port 14.102Mhz 1100Hz” ifconfig qt1 description “Kiss tcp/ip port 14.102Mhz 2200Hz” trace qt0 0x211 qt0.log 1000 trace qt1 0x211 qt1.log 1000 # ax25 hport qt0 on ax25 hport qt1 on The winrpr is the kiss over tcp/ip driver Read more

Direwolf Vs QtSoundModem (part 2)

Rx Only Okay, that was a bit of a disappointment. I ran the test at 14.1022Mhz on 300 Baud. I think the conditions were very bad in those 24 hours. For the test I use Kissutil. https://www.mankier.com/1/kissutil kissutil  can be used interactively for troubleshooting a KISS TNC. It is usable with direwolf and other generic KISS TNCs connected to a serial port. It can also be used as an application interface where each side places files in a directory for the other to process. First I wrote two start files for the test. Direwolf.sh #!/bin/bash cd /home/niels/testbed/ ./kiss-direwolf -p 8009 -o /home/niels/testbed/rec-direwolf Qtsm.sh #!/bin/bash cd /home/niels/testbed/ ./kiss-qtsm -p 8105 -o /home/niels/testbed/rec-qtsm The test ran for 24 hours, which is 86400 seconds. timeout -s 9 86400 ./qtsm.sh After 24 hours I can start counting the received frames. As you can see this is very disappointing. Now I understand that the focus of QtSoundModem is more in the HF area. With a difference of 4 frames, the difference between Direwolf and QtSoundModem is minimal. In fact, too few frames were received in the 24 hours to make a good comparison. Is my opinion. The next test we will try on 144.800Mhz the local Read more

Direwolf Vs QtSoundModem (part 1)

This is about RX and not TX. This has caused some headaches. I want to use one trx and one antenna for this test. (Icom 7300 and a Hyendfed)Now the problem is that Direwolf and QtSoundModem both use the sound card. Now you can’t both use the same sound card at the same time. So we will have to use two virtual sound cards and route the audio to these sound cards.  For this I use “pactl” with this I can manipulate the PulseAudio server. pactl load-module module-virtual-sink sink_name=direwolf And pactl load-module module-virtual-sink sink_name=qtsoundmodem Actually we are making a virtual audio card for Direwolf and QtSoundModem. Now we need to route the Audio from the input to the virtual audio card. This is possible with PavuControl. Setup Direwolf ADEVICE pulse ACHANNELS 1 CHANNEL 0 MYCALL N0CALL MODEM 300 1000 1200 AGWPORT 8008 KISSPORT 8009 Uhmmmmm port 8001.  I don’t understand that yet, in the config it really is port 8009. Setup QtSoundModem   Now I haven’t fully read up on PulseAudio and pactl and the virtual cable/cards. Perhaps my wording and references are not quite correct. Now I have the opportunity to test…..

Bpq32 with QtSoundModem and Hamlib

Yesterday I added 2 HF ports to my Bpq32 Node / BBS. I have chosen to use QtSoundModem and Hamlib. QtSoundModem is a Linux port or Soundmodem from UZ7HO. I use Hamlib/rigctld to take control of the Tranceiver. QtSoundmodem and Hamlib run on a different Raspberry than the BBS and Node. After some testing I found out that I need Hamlib version 3.3 to control the icom 7300. The versions 4.0 and 4.1 do not work for me. Apparently the icom 7300 is not being initialized. Can’t actually find out why this is. With the command “rigctld -l” you get a list of which tranceivers are supported. So I need number 373 for the Icom 7300. /usr/local/bin/rigctld -m 373 -r /dev/ttyUSB0 -s 19200 -T 44.137.31.76 -t 4532 & In the QtSoundModem.ini I have in the [Init] section. HamLibHost=44.137.31.76 HamLibPort=4532 PTT=HAMLIB PTTBAUD=19200 PTTMode=17 Now the bpq32.cfg PORT PORTNUM=4 ID=14.1022 +1100Hz DRIVER=UZ7HO CHANNEL=A PACLEN=80 CONFIG ADDR 44.137.31.76 8101 ; AGW port of QtSoundModem BEACONAFTERSESSION MAXSESSIONS=5 ENDPORT PORT PORTNUM=5 ID=14.1022 +2000Hz DRIVER=UZ7HO CHANNEL=B PACLEN=80 CONFIG ADDR 44.137.31.76 8101 ; AGW port of QtSoundModem BEACONAFTERSESSION MAXSESSIONS=5 ENDPORT With Hamlib it is also possible to control the TRX from Bpq32. I immediately added a Robust Read more

Linux Port of UZ7HO’s Soundmodem

Very good news, John G8BPQ has ported Soundmodem from UZ7HO to Linux. Mail from John G8BPQ. Andy UZ7HO has allowed me to port his Soundmodem to C so that it can be run run Linux systems. See https://www.cantab.net/users/john.wiseman/Documents/QtSoundModem.html This is pre-Beta software. It has been tested by several people but is likely to still have bugs. 73, John G8BPQ

BPQ32 Example Soundmodem port

Example for a UZ7HO soundmodem port PORT ID=UZ7HO DRIVER=UZ7HO CHANNEL=A QUALITY=0 MAXFRAME=4 FULLDUP=0 FRACK=8000 RESPTIME=3000 RETRIES=10 PACLEN=128 TXDELAY=200 SLOTTIME=100 PERSIST=64 KISSOPTIONS=ACKMODE CONFIG ADDR 127.0.0.1 8100 PATH C:\RMS Express\soundmodem.exe MAXSESSIONS=4 ENDPORT  

New Soundmodem version is available UZ7HO

New Soundmodem version is available: http://uz7.ho.ua/packetradio.htm SoundModem v1.00b changes: – Added “DW QPSK 2400bd” and “DW 8PSK 4800bd” Direwolf compatible modes. The carrier frequency must be “1800Hz” (for a full compatibility with Direwolf). http://uz7.ho.ua/modem_beta/CHANGELOG.txt http://uz7.ho.ua/modem_beta/user_guide_v045b_EN.pdf Get the version V1.00b http://uz7.ho.ua/modem_beta/soundmodem100.zip

Direwolf Soundmodem

Direwolf source Direwolf example config ############################################################# # # # Configuration file for Dire Wolf # # # # Linux version # # # ############################################################# # card number reported by “arecord -l” command. ADEVICE plughw:0,1 ACHANNELS 1 ############################################################# # # # CHANNEL 0 PROPERTIES # # # ############################################################# CHANNEL 0 MYCALL PI1LAP-8 MODEM 1200 1200:2200 E+ PTT /dev/ttyUSB0 DTR TXDELAY 20 TXTAIL 10 KISSPORT 8001 FIX_BITS 1 PBEACON delay=1 every=30 overlay=S symbol=”digi” lat=51^33.52N long=003^48.15E power=4 height=15 gain=6 comment=”PI1LAP-10 RX\TX iGate Kortgene,ZLD JO11VN” via=WIDE1-1,WIDE2-1 DIGIPEAT 0 0 ^WIDE[3-7]-[1-7]$|^TEST$ ^WIDE[12]-[12]$ TRACE #FILTER 0 1 t/wn IGSERVER aprs.pa4tw.nl:14580 IGLOGIN PI1LAP 20391 PBEACON sendto=IG delay=0:30 every=30:00 symbol=”igate” overlay=T lat=51^33.52N long=003^48.15E #PBEACON sendto=IG delay=0:30 every=60:00 symbol=”igate” overlay=T lat=42^37.14N long=071^20.83W IGTXVIA 0 WIDE1-1 WIDE2-1 IGFILTER m/250 FILTER IG 0 t/m # Finally, we don’t want to flood the radio channel. # The IGate function will limit the number of packets transmitted # during 1 minute and 5 minute intervals. If a limit would # be exceeded, the packet is dropped and message is displayed in red. IGTXLIMIT 6 10

BPQ32 running config of PI1LAP-7 / PI8LAP

;*\ ;Packet/Switch netwerk Kortgene. ;*/ LOCATOR=JO11VN MAPCOMMENT=PI1LAP-7 Network Node, Kortgene JO11VN PASSWORD=***** NODECALL=PI1LAP-7 ; Node callsign NODEALIAS=NDRLND ; Node alias (6 characters max) IDMSG: PI1LAP-7 – PI8LAP – JO11VN *** BTEXT: ; UI broadcast text from BCALL to destination UNPROTO= PI1LAP-7 – PI8LAP((Lin)BPQ) Ax25 – Net/rom – BBS – JO11VN *** INFOMSG: ; The INFO command text follows: PI1LAP-7:PI8LAP LinBPQ Packet/Switch Node Computer : Raspberry PI 3B Software : Raspbian GNU/Linux 10 / Linbpq 6.0.24.* Rx/Tx : Icom 7300 / Yaesu FT7900 Modem : Scs PTC11pro / Qtsoundmodem 300 Baud / Ardopc / Vara / il2p Antenne : HyendFed 20m / X-510n *** CTEXT: ; The CTEXT text follows: Connected to PI1LAP-7, PI1LAP-7 > BBS,RMS,C,B,I,N,R,P,U,V,S,MH *** ; Denotes end of CTEXT text MQTT=1 MQTT_HOST=44.137.31.76 MQTT_PORT=1883 MQTT_USER=pd9q MQTT_PASS=******** HFCTEXT=HF node PI1LAP-7 EnableM0LTEMap=1 FULL_CTEXT=1 ; 0=send CTEXT to L2 connects to NODEALIAS only ; 1=send CTEXT to all connectees OBSINIT=6 ; Initial obsolescence set when a node is included ; in a received nodes broadcast. This value is then ; decremented by 1 every NODESINTERVAL. OBSMIN=4 ; When the obsolescence of a node falls below this ; value that nodes information is not included in ; a subsequent nodes broadcast. NODESINTERVAL=25 ; Read more

BPQ32 and Ardopcf

I’ve been running John G8BPQ’s ArdopC for a while now. Peter LaRue AI7YN has made a frok of ArdopC called ArdopCF. https://github.com/pflarue/ardop I want to use QtSoundmodem at the same time as ArdopCF. For this I need to create a “.asoundrc” in my home directory. pcm.dsnooped0 { type dsnoop ipc_key 50000 ipc_key_add_uid false # let multiple users share ipc_perm 0666 # IPC permissions for multi-user sharing (octal, default 0600) slave { pcm “hw:1,0” channels 1 } } pcm.dmix0 { type dmix ipc_key 60000 ipc_key_add_uid false # let multiple users share ipc_perm 0666 # IPC permissions for multi-user sharing (octal, default 0600) slave { pcm “hw:1,0” rate 48000 } } # Point ARDOP to ARDOP2IN and ARDOP2OUT for rate conversion pcm.ARDOP2IN {type rate slave {pcm “plug:dsnooped0” rate 48000}} pcm.ARDOP2OUT {type rate slave {pcm “plug:dmix0” rate 48000}} # combine the capture and playback pcm.asymwine { type asym playback.pcm “ARDOP2OUT” capture.pcm “ARDOP2IN” } # make a default plug for it pcm.!default { type plug slave.pcm “asymwine” } # define a plug for /dev/dsp pcm.dsp { type plug slave.pcm “asymwine” } QtSoundModem config [Init] CM108Addr= DispMode=1 DualChan=1 DualPTT=1 FLRigHost=127.0.0.1 FLRigPort=12345 HamLibHost=44.137.31.70 HamLibPort=4532 MinimizetoTray=0 PTT=HAMLIB PTTBAUD=19200 PTTMode=17 PTTOffString= PTTOnString=127.0.0.1 RXSampleRate=12000 SCO=1 SndRXDeviceName=:dsnooped0 SndTXDeviceName=:dmix0 SoundMode=0 ArdopCF Read more