Keyboard Shortcuts
Likes
Search
Re: Raspberry PI4 trifecta: VARA, ARDOP & Packet on one ... interface
Sparks KK4IB
¿ªÔÆÌåÓýI¡¯m confused. please clarify something here.You mentioned ¡°WineLink" several times, is that a typo for Winlink? or Wine (a tool for Macs) ¡? . I¡¯m running R-Pi with BPQ via a homebrew interface (similar to SignaLink but with serial PTT). Separately, running Vara FM via SignaLink. I want them both on the same R-Pi. So, I¡¯m very interested. sparks On Jun 14, 2022, at 4:23 AM, Red - PE1RRR - Masochistic Test Pilot <rrrtuby@...> wrote: Hello folks, Thought to contribute to the group with a recent success of getting a RPI to take over doing all of the things at once on one audio interface including VARA running simultaneously as other native Linux modems: The original document with images and a demo video is up here: ¡ª- included below for archival ¡ª- RPI4 Trifecta: VARA, Packet & ARDOP ¨C One Audio?Interface![]() A Short DemonstrationRequirementsThis document assumes you have already installed the VARA suite of modems and the companion programs via the Winelink project. If not, now is your chance- Word of caution: installing wine is disk intensive, if you have not yet got your home directory on a real physical disk instead of the SD Card- now is the time to consider doing that. The SD Card is also incredibly slow for wine applications. To install Wine and the ARM x86 emulator system, visit the? Or go wild and run it live from the command line: curl -O && \ VARA: dsnoop & dmixPhysical audio interface mapping to the virtual sound devices for playback ( 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 44000 } } Both VARA and ARDOP require 48KHz sample rate to be forced (default is 44.1 for system sounds) so two new audio streams are required and this is accomplished using the? Below is a snip showing the previously configured dsnoop0 & dmix0 interfaces, we¡¯re going to call them? pcm.ARDOP2IN {type rate slave {pcm "plug:dsnooped0" rate 48000}} Wine (for VARA) requires these 48KHz audio device streams, but in a slightly different presentation to the system. Wine requires asymmetrical streams that we currently do not have, these are provisioned by combining the two previously configured ARDOP streams into a new virtual device ¡° pcm.asymwine { The next bit gets hairy as we are now required to edit the Wine Registry- what happens is that ¡® Run from the command line: wine regedit In the registry editor, navigate to: HKEY_CURRENT_USER\Software\Wine\Drivers\winealsa.drv ![]() From within winealsa.drv, create a new ¡° ![]() Name this key: ALSAOutputDevices Hit enter to save, then create another key and title it: ALSAInputDevices After adding the keys, double-click each newly created key to open it in data entry mode. Insert the device name previously configured in the .asoundrc file ¨C? ![]() ![]() Close the registry editor and relax. Now run ¡° ![]() Apply, OK and exit? Open up VARA HF and navigate to sound settings to select the? This concludes the VARA part. Download & Resources for QtSoundModem & ARDOPQtSoundModem:? ARDOP:? QtSoundModem (Packet)We are assuming that? To configure QtSoundModem to use the? Edit QtSoundModem.ini: Find and replace the? SndRXDeviceName=:dsnooped0 That concludes the QtSoundModem setup. ARDOPUsing a script to launch? /home/pi/bin/piardopc 8515 ARDOP2IN ARDOP2OUT 8515 is the port ARDOP will listen for TNC connections on (as used when configured in BPQ node suite etc). This concludes the ARDOP setup. Full disclosureThanks and credit due to Matt? Below is the full? @hooks [ { func load files [ { @func concat strings [ { @func datadir } "/alsa.conf.pulse/" ] } ] errors false } ] # Point applications to plughw:dsnooped0 for input and plug:dmix0 for output 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 44000 } } # 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}} # Wine: combine the capture and playback pcm.asymwine { type asym playback.pcm "ARDOP2OUT" capture.pcm "ARDOP2IN" } # Wine: make a default plug for it pcm.!default { type plug slave.pcm "asymwine" } # Wine: define a plug for /dev/dsp pcm.dsp { type plug slave.pcm "asymwine" } 73 de pe1rrr / red |