최근 DVPi V0.88 이 공개되면서 VFO A / VFO B 의 기능이 익숙해지고 있습니다

이는 DVLink에서 기 구현되던 것이며 사용방법은 기 나와 있었는데

국내에 소개가 안되어 익숙하지 않은 내용입니다

 

본 DVSwitch Multi VFO / User 만들기는

- Virtual MC에서 구현하였으며

- Raspberry Pi 에서도 검정까지 마쳤습니다

 

DVLink의 경우

- DMR은 99개 User를 지원하고

- DSTAR는 Master User 1명만 지원하지만

 

 DVSwitch Multi VFO / User Stand Alone 은

- DMR은 99개 User 지원이 가능하지만

- DSTAR는 ircddbgateway에서 4명 User만 제공하기에 4개까지만 만들었습니다

  > ThumbDV 를 사용하시는 경우 VFO A에 넣어 사용하면 되고
  > 나머지 VFO B/C/D는 md380-emu 를 사용하면 Voice 송수신은 되나 음질은 조금 떨어집니다

  > 언젠가는 DSTAR도 Vocoder Emulator 사용하는 날이 올 것이다고 믿습니다

 

아래는 4개 VFO를 만들어 DMR 2개 DSTAR 2개 동시에 사용하는 화면입니다

- DMR : 4개 동시 사용가능 (전혀 문제 없음)

- DSTAR : 4개 동시 사용 가능하나 음질이 떨어짐

이것을 응용하면 DVPi에서

- VFO A/B는 DVPi가 사용하고

- VFO C/D...는 DVLink와 같이 모바일로 사용이 가능합니다 (휴콤, 교세라 등)

아래 내용은 난이도가 높습니다
하지만 DVSwitch 사용 시 사용자가 바꿀 수 있는 옵션은 아래 내용이 전부이므로

상세 공부하고 싶은 분은 직접 도전해보시기 바랍니다

 

테스트 조건

- Oracle VirtualBox 가 설치되어 있고

- Rasbian OS 설치

- DVSwitch Full Version 설치

- USRP Client 설치

가 되어 있다는 전제하에 포스팅 합니다

 

위 각 내용은 저 Tistory에서 검색하시면 아래와 같이 설치 방법이 나와 있으니 본 포스팅에선 설명을 생략합니다

 

ds5qdr-dv.tistory.com/65

 

2020-08-08 Oracle VirtualBox에 DVSwitch Server 설치

금일 8/8일 Oracle VirtualBox에 Linux Debian V10.5.0 을 아래와 같이 설치하였습니다 https://ds5qdr-dv.tistory.com/64 2020-08-08 VirtualBox에 Debian V10.5.0 설치하기 ds5qdr-dv.tistory.com 위 시스템에..

ds5qdr-dv.tistory.com

ds5qdr-dv.tistory.com/3

 

2020-05-25 DVSwitch USRP Client 윈도우에 설치

인터넷으로 DVSwitch Client 윈도우버젼을 찾다가 DVSwitch/USRP_Client GitHub에 그 방법이 나와 있기에 관련 프로그램을 설치하니 아래와 같이 잘 작동을 합니다 DMR과 D-Star 모두 작동하고 (다른 모듈은 테�

ds5qdr-dv.tistory.com

ds5qdr-dv.tistory.com/119

 

2020-10-04 Virtual Box에서 DVSwitch Dual VFO A / B 구현

지난 9/29일 미국에 계시는 KD8CEC Om님께서 DVPi V0.88을 공개하면서 Dual VFO 를 지원하였습니다 www.hamskey.com/2020/09/release-dvpi-version-088-dual-mode-d.html Release DVPi Version 0.88 - Dual Mode,..

ds5qdr-dv.tistory.com

 

 

1단계] 필요한 폴드/파일을 미리 만듭니다

폴드

- MMDVM_Bridge2/3/4

- Analog_Bridge2/3/4

- md380-emu2/3/4

파일

- mmdvm_bridge.service2/3/4

- analog_bridge.service2/3/4

- md380-emu.service2/3/4

- ircddbgateway 수정

 

 

 

 

2단계] 해당파일을 수정합니다

 

수정 내용은 아래표를 보고 참고하세요 (붉은 색이 VFO A/B/C/D 별 차이나는 부분입니다)

 

/opt/MMDVM_Bridge2^3^4/dvswitch.sh 파일 수정 

2^3^4 는 숫자 세개 중 1개를 넣어라는 뜻 예) VFO B는 2, VFO C는 3 VFO D는 4

 

SCRIPT_VERSION="dvswitch.sh 1.5.9" 

AB_DIR=${AB_DIR:-"/var/lib/dvswitch"} 
MMDVM_DIR=${MMDVM_DIR:-"/var/lib/mmdvm"} 
DVSWITCH_INI=${DVSWITCH_INI:-"/opt/MMDVM_Bridge2^3^4/DVSwitch.ini"} 
MMDVM_INI=${MMDVM_INI:-"/opt/MMDVM_Bridge2^3^4/MMDVM_Bridge.ini"} 
NODE_DIR=${NODE_DIR:-"/tmp"} 

~~~~

~~~~

#################################################################
# Get version information from AB and MB
#################################################################
function appVersion() {
    if [ $# -eq 0 ]; then
        echo $SCRIPT_VERSION
    else
        case $1 in
            ab|AB|Analog_Bridge)
                if [ -f "/opt/Analog_Bridge2^3^4/Analog_Bridge" ]; then
                    "/opt/Analog_Bridge2^3^4/Analog_Bridge" -v
                else
                    getABInfoValue ab version
                fi
            ;;
            mb|MB|MMDVM_Bridge)
                if [ -f "/opt/MMDVM_Bridge2^3^4/MMDVM_Bridge" ]; then
                    "/opt/MMDVM_Bridge2^3^4/MMDVM_Bridge" -v
                else
                    echo UNKNOWN
                fi
            ;;
            all|ALL)
                appVersion
                appVersion ab
                appVersion mb
            ;;
        esac
    fi
}

 

/opt/Analog-Bridge2^3^4/dvsm.macro 파일 수정 

2^3^4 는 숫자 세개 중 1개를 넣어라는 뜻 예) VFO B는 2, VFO C는 3 VFO D는 4

 

[MACROS] 
; Example: When a DVSM user selects the DMR mode, AB will look for the mode below and execute the script and pass the parameter. 
; In this case, AB will execute the script "/opt/MMDVM_Bridge/dvswitch.sh" and pass the prarmeters of "mode DMR" to the script.  

DMR =   /opt/MMDVM_Bridge2^3^4/dvswitch.sh mode DMR 
DSTAR = /opt/MMDVM_Bridge2^3^4/dvswitch.sh mode DSTAR 
NXDN =  /opt/MMDVM_Bridge2^3^4/dvswitch.sh mode NXDN 
P25 =   /opt/MMDVM_Bridge2^3^4/dvswitch.sh mode P25 
YSF =   /opt/MMDVM_Bridge2^3^4/dvswitch.sh mode YSF 

; Ask AB to pull fresh data files and send to DVSM/UC 
dbupdate = /opt/MMDVM_Bridge2^3^4/dvswitch.sh collectProcessPushDataFiles 

; Example TG / Reflector Macro 
9876 =  /opt/Analog_Bridge2^3^4/parrot.sh 

 

 

/lib/systemd/system 에 복사할 아래 *.service 파일 생성

 

2^3^4 는 숫자 세개 중 1개를 넣어라는 뜻 예) VFO B는 2, VFO C는 3 VFO D는 4

 

mmdvm_bridge2^3^4.service 수정

[Service] 
Type=simple 
Restart=always 
RestartSec=3 
Restart=on-abort 
StandardOutput=null 
WorkingDirectory=/opt/MMDVM_Bridge2^3^4
ExecStartPre = /bin/sh -c 'echo "Starting MMDVM_Bridge: [`date +%%T.%%3N`]" >> /var/log/netcheck' 
ExecStart=/opt/MMDVM_Bridge2^3^4/MMDVM_Bridge /opt/MMDVM_Bridge2^3^4/MMDVM_Bridge.ini 
ExecReload=/bin/kill -HUP $MAINPID 
KillMode=process 

analog_bridge2^3^4.service

[Service] 
Type=simple 
Restart=on-failure 
RestartSec=3 
RestartPreventExitStatus=254 
StandardOutput=null 
WorkingDirectory=/opt/Analog_Bridge2^3^4
Environment=AnalogBridgeLogDir=/var/log/dvswitch 
ExecStartPre = /bin/sh -c 'echo "Starting Analog_Bridge: [`date +%%T.%%3N`]" >> /var/log/netcheck' 
ExecStart=/opt/Analog_Bridge2^3^4/Analog_Bridge /opt/Analog_Bridge2^3^4/Analog_Bridge.ini 
ExecReload=/bin/kill -2 $MAINPID 
KillMode=process 

 

md380-em2^3^4.service

[Service] 
Type=simple 
Restart=always 
RestartSec=3 
StandardOutput=null 
WorkingDirectory=/opt/md380-emu2^3^4
ExecStart=/opt/md380-emu2^3^4/md380-emu -S 2471^2472^2473 
ExecReload=/bin/kill -HUP $MAINPID 
KillMode=process 

 

 

 

3단계] 수정한 파일을 /home/pi/Temp 폴드로 복사 (Temp 폴드는 미리 만들었음)

WinSCP 를 이용하여 위 폴드 및 파일을 미리 만듭니다

putty로 접속하여 만든 폴드/파일 복사

cd /home/pi/Temp

sudo cp -r * /opt

sudo cp *.service /lib/systemd/system

 

 

 

4단계] 자동 실행 등록

2^3^4 는 숫자 세개 중 1개 숫자만 넣어라는 뜻 예) VFO B는 2, VFO C는 3 VFO D는 4


sudo chmod 755 /opt/Analog_Bridge2^3^4/Analog_Bridge 
sudo chmod 755 /opt/Analog_Bridge2^3^4/dvsm.macro 

sudo chmod 755 /opt/Analog_Bridge2^3^4/parrot.sh 

sudo chmod 755 /opt/MMDVM_Bridge2^3^4/MMDVM_Bridge 
sudo chmod 755 /opt/MMDVM_Bridge2^3^4/dvswitch.sh 

sudo chmod 755 /opt/md380-emu2^3^4/md380-emu 

sudo chmod 755 /lib/systemd/system/analog_bridge2^3^4.service 
sudo chmod 755 /lib/systemd/system/mmdvm_bridge2^3^4.service 
sudo chmod 755 /lib/systemd/system/md380-emu2^3^4.service 

sudo ln -s /lib/systemd/system/mmdvm_bridge2^3^4.service /etc/systemd/system/multi-user.target.wants/mmdvm_bridge2^3^4.service 
sudo ln -s /lib/systemd/system/analog_bridge2^3^4.service /etc/systemd/system/multi-user.target.wants/analog_bridge2^3^4.service 
sudo ln -s /lib/systemd/system/md380-emu2^3^4.service /etc/systemd/system/multi-user.target.wants/md380-emu2^3^4.service 

sudo systemctl enable md380-emu2^3^4 
sudo systemctl enable mmdvm_bridge2^3^4
sudo systemctl enable analog_bridge2^3^4

sudo reboot

 

 

 

5단계] 실행 화면 모니터링

아래 화면은 DMR 2개 DSTAR 2개 띄워 놓았습니다
물론 동시에 DMR 4개 혹은 DSTAR 4개 사용이 가능합니다

Log 화면 순서 Analog_Bridge.log MMDVM_Bridge1^2^3^4-2020-10-15.log

 

 

위 방법으로 하면 여러개 VFO를 동시에 사용이 가능합니다

- MMDVM_Bridge.ini의 DMRID와

- Analog_Bridge.ini의 DMRID 및

- USRP tx/rx port를 변경하면

DVSwitch Mobile에서도 접속이 가능합니다

(물론 DDNS와 포트포워드 설정은 하셔야 합니다)

 

[USRP]  예시
address = 127.0.0.1  
txPort = 32011  -> 46101 ~ 99    
rxPort = 34011  -> 46101 ~ 99  
usrpAudio = AUDIO_UNITY 
usrpGain = 1.10  
tlvAudio = AUDIO_UNITY 
tlvGain = 0.5  

 

 

난이도가 조금 높았습니다
하지만 DVSwitch 사용 시 사용자가 바꿀 수 있는 옵션은 위의 내용이 전부이므로

상세 공부하고 싶은 분은 직접 도전해보시기 바랍니다

 

감사합니다

 

DS5QDR 73!

블로그 이미지

DS5QDR Heonmin Lee in Korea

DV 통신 경험 공유 Mode : DMR, DSTAR, YSF, XLX, YSF, M17, AllStarLink, EchoLink Software : DVSwich, USRP Client, Last Heard, MiniPi, MiniMT, VuMeter, DVPi, Pi-Star

,