우리가 사용하는 휴대폰은 고성능 컴퓨터이고 또 Linux 시스템 을 사용합니다.
수년 사용하다가 새로운 기계로 바꾸고 나면 서랍 속에 잠들고 있죠

 

이것을 이용하여 Linux 서버 (DVSwitch 서버)를 설치할 수 있을까 하여

여러번 시도했는데 번번히 실패했는데 어제 밤 성공하여 공유 합니다.

 

ChatGPT 도움을 받았습니다.

 

사전 준비 사항

- 안드로이드 스마트폰: 최소 안드로이드 버전 5.0 이상
- 인터넷 연결: 앱 다운로드 및 설치를 위해 안정적인 인터넷 연결 필요


단계 1: Termux 설치

Termux는 안드로이드에서 리눅스 환경을 제공하는 앱입니다.

Google Play 스토어 에서 Termux 설치

 

1-1] 설치가 끝나면 실행해주세요. 아래와 같은 화면이 나오면 update & upgrade 실행

        pkg update && pkg upgrade

 


단계 2: PC에서 스마트폰 SSH 접속할 수 있도록 openssh 설치

    이 openssh는 휴대폰으로 이후 설치 실행할려면 타이핑이 힘들어
    PC에서 putty나 MovaXterm을 이용하여 접속할 수 있는 프로그램 입니다.

    pkg install openssh

위의 오른쪽 화면이 뜨면 성공 

 

 

 

 2-1] 내 휴대폰 ip와 user ID 및 Password 변경

        - 휴대폰 ip는 iptime과 같은 공유기로 가서 유대폰 내부 ip 주소 확인하세요

      - whoami 명령어를 통해 user ID 학인

        whoami

        아래 결과를 보면 u0_a269 가 User ID 입니다.

        passwd
        를 입력하고 비밀번호 재설정 합니다.
        첫번째 입력한 비밀번호를 다시 입력하면 아래와 같은 화면이 나옵니다.

        sshd
        를 입력하여 ssh 접속을 허용합니다.

 

 2-2] putty 혹은 MovaXterm을 이용하여 휴대폰에 ssh 접속

        2-1] 에서 확인한 ip와 user ID를 입력하고 반드시 Port는 8022 입니다.

 

 

단계 3: PRoot 와 Debian 설치

    - PRoot는 루트 권한 없이 가상 루트 파일 시스템을 제공하는 도구입니다.
      이를 통해 루트 권한이 필요한 작업을 수행할 수 있습니다.

3-1] PRoot 설치:
        pkg install proot proot-distro

 

3-2] Debian 배포판 설치:
        proot-distro install debian

 

3-3] Debian 배포판 실행:
        proot-distro login debian

 

위 붉은 명령어를 복사 붙여넣기를 3번 하면 아래와 같은 프롬프트가 나오면 정상입니다.

이제 Debian 환경에서 작업을 계속할 수 있습니다.

 

 

단계 4: DVSwitch 수동 설치

4-1] update & upgrade
        apt update &&
apt upgrade -y

 

4-2] 필요 패키지 설치

        apt install git curl wget multitail -y

 

4-3] bashrc 편리한 간편 명령어 등록

       복잡한 명령어를 단순화한 것을 등록하면 편리합니다.

       nano ~/.bashrc

       아래 간편 명령어를 복사하여 붙여넣기 하고 저장 한 후 source ~/.bashrc 를 실행하면 이후 간편 명령어 작동합니다.

alias cls='clear'
alias naba='nano  ~/.bashrc && source ~/.bashrc'
alias upba='source ~/.bashrc'
alias bas='nano ~/.bashrc'
alias llba='alias -p'
alias ll='ls -l'
alias ls='ls --color=auto'
alias up='apt update && sudo apt upgrade -y'

DT=$(date -u +%Y-%m-%d.log)
MM=/var/log/mmdvm/MMDVM_Bridge
DV=/var/log/dvswitch
AB=Analog_Bridge.log
AR01=Analog_Reflector01.log

alias mt="multitail $MM-$DT $DV/$AB " 

       source ~/.bashrc

 

 

4-4] DVSwitch Server 설치

        wget http://dvswitch.org/buster
        chmod +x buster
        ./buster

 

 

4-5] DVSwitch DMR 필요 패키지 설치

       라즈베리파이에서 DVSwitch Server 설치 시 명령어는 작동 안됩니다.
       따라서 아래와 같이 DMR에만 사용되는 필요 패키지만 설치하시기 바랍니다.

       apt install analog-bridge md380-emu mmdvm-bridge -y

 

4-5] MMDVM_Bridge.ini와 Analog_Bridge.ini 편집 및 run 생성

       nano /opt/MMDVM_Bridge/MMDVM_Bridge.ini

[General]
Callsign=DS5QDR                                         <--- 자신의 콜싸인 입력
Id=450049598                                                 <--- DMRID + ESSID 입력  (7자리 + 2자리 숫자)
Timeout=180
Duplex=0

 

[DMR]
Enable=1                                                       <--- 1 로 변경
ColorCode=1
EmbeddedLCOnly=1
DumpTAData=0

 

[DMR Network]
Enable=1                                                      <--- 1 로 변경
Address=4501.master.brandmeister.network
Port=62031   
Jitter=360
Local=62032
Password=passw0rd                                   <--- 브랜드마이스트 SelfCare 비밀번호
# for DMR+ see https://github.com/DVSwitch/MMDVM_Bridge/blob/master/DOC/DMRplus_startup_options.md
# for XLX the syntax is: Options=XLX:4009
# Options=
Slot1=0
Slot2=1
Debug=0

       저장 (Ctrl-X -> Y -> Enter)

 

       nano /opt/Analog_Bridge/Analog_Bridge.ini

[AMBE_AUDIO]
address = 127.0.0.1                       ; IP address of xx_Bridge
txPort = 31103                                ; Transmit TLV frames to partner on this port
rxPort = 31100                                ; Listen for TLV frames from partner on this port
ambeMode = DMR                          ; DMR, DMR_IPSC, DSTAR, NXDN, P25, YSFN, YSFW 
minTxTimeMS = 2500                      ; Analog -> Digital Minimum time in MS for hang delay (0-10000)

; The metadata below is used when ASL is the source since it does not have any concept of digital modes
gatewayDmrId = 4500495               ; 당신의 DMRID to use when transmitting from Analog_Bridge 7 digit ID
repeaterID = 450049598                  ; DMRID + ESSID 총 9자리 숫자 repeater 7 digit ID plus 2 digit SSID
txTg = 9                                             ; TG to use for all frames sent from Analog_Bridge -> xx_Bridge
txTs = 2                                              ; Slot to use for frames sent from Analog_Bridge -> xx_Bridge
colorCode = 1                                   ; Color Code to assign DMR frames

 

[USRP]
address = 127.0.0.1                      ; IP address of USRP partner 
txPort = 31101                               ; Transmit USRP frames on this port
rxPort = 31101                               ; Listen for USRP frames on this port
usrpAudio = AUDIO_USE_GAIN ; Digital -> Analog (AUDIO_UNITY, AUDIO_USE_GAIN, AUDIO_USE_AGC)
usrpGain = 1.10                             ; Gain factor when usrpAudio = AUDIO_USE_GAIN (0.0 to 5.0) 
usrpAGC = -20,10,100                   ; Set the agc threshold (db), slope (db) and decay (ms)
tlvAudio = AUDIO_USE_GAIN     ; Analog -> Digital (AUDIO_UNITY, AUDIO_USE_GAIN, AUDIO_BPF)
tlvGain = 0.25                                 ; Gain factor when tlvAudio = AUDIO_USE_GAIN (0.0 to 5.0) 
            저장 (Ctrl-X -> Y -> Enter)

 

 

 4-6] run 생성 및 실행

         nano /usr/local/bin/run

#!/bin/bash

# kill MMDVM_Bridge and Analog_Bridge processes
killall MMDVM_Bridge
killall Analog_Bridge

# Give processes time to terminate
sleep 1

# Start MMDVM_Bridge
echo "Starting MMDVM_Bridge..."
cd /opt/MMDVM_Bridge
/opt/MMDVM_Bridge/MMDVM_Bridge MMDVM_Bridge.ini >/dev/null 2>&1 &

# Start Analog_Bridge and log output
echo "Starting Analog_Bridge..."
cd /opt/Analog_Bridge
stdbuf -oL -eL ./Analog_Bridge Analog_Bridge.ini 1> /var/log/dvswitch/Analog_Bridge.log 2>&1 &

 

         저장 (Ctrl-X -> Y -> Enter)  한 후 아래 명령어 실행

         chmod +x /usr/local/bin/run

         run

         mt

        

위와 같이 나오면 DVSwitch DMR 서버 정상 작동 됩니다.

 

 

단계 5: DVSwitch Mobile 로 접속

     아래 예시와 같이 DVSwitch Mobile 프로그램에서 설정한 후 Save를 눌리면 접속 및 교신이 될 것입니다.

     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

,