2018年8月10日金曜日

D-STAR リピータ・ゲートウェイ(dsgwd)のインストール(CentOS 7 対応)

Back


準備するもの
  • CentOS 7(2018年夏に於ける最新版 7.5:1804)のインストールされたLANカードを2枚持つPC

  • DD(バックアップイメージを取るなどに使用)コマンドを使用しなければ WiFiも可能と言う事ですし、USB-RJ45 変換アダプタの使用等も出来ますが、 サーバーとしの安定性を考慮すると上述の仕様をお勧めします。

  • ICOM社製 dsgwd ゲートウェイソフトウェアの入手

  • CentOS が64ビット版の時 dsgwd-jp-1.40-2.el7.x86_64.rpm
    CentOS が32ビット版の時 dsgwd-jp-1.40-2.el6.i686.rpm

    本来は有償のCDで供給されています。今回のアップグレードの供給方法等詳細は不明です。
    現在は管理団体の協力によるテスト中です。詳しくはD-STAR技術情報をご覧ください。

    CDで初期と同様に供給された場合

    # mount /dev/cdrom /mnt
    # ls /mnt
    # tar -zxvf /mnt/dsgwd-jp-1.40.tar.gz .
    # umount /mnt
    
    # はROOT権限のプロンプトです。(コメントアウトではありません)
    又、圧縮ファイル名は仮称です。

    zipファイルなどでWEBダウンロードする場合

    # yum install wget -y
    # wget https://[downloadURL]/dsgwd-jp-1.40.zip
    # unzip dsgwd-jp-1.40.zip
    

  • 最新版のJARL dxchange の入手

  • 従来どおりJARLから、配布用メールで届くと思われます。


dsgwd のインストール
  1. 解凍したプログラムが home ディレクトリーに有るとして・・・

  2. 64ビットOSの場合以下のファイルが足りないと言うメッセージが出る場合が有ります。

    64ビット版のみ
    # yum install libc.so.6 libpthread.so.0
    

    以後64ビット版のファイル名で記述しますが32ビットの場合はファイル名を置き換えてください。
    # rpm -ivh dsgwd-jp-1.40-1.el7.x86_64.rpm
    

    インストールのみで自動立ち上げスクリプトも生成され、環境設定ファイル dsgwd.confは /etc に配置されます。

  3. 環境設定ファイル dsgwd.conf を編集します。

  4. # yum install nano -y       (好みです)
    # nano /etc/dsgwd.conf
    
      GNU nano 2.3.1                    File: /etc/dsgwd.conf
    #
    # dsgwd.conf
    # Configuration file for D-STAR GW-Server Daemon
    # (C) 2004-2017 Icom Inc. Revision 1.4 Beta
    #
    
    # --- Setting the following two parameters is mandatory. ---
    # Zone Repeater's Infomation
    ZR_CALLSIGN=RPT000                      ==> RPT000をリピータコールサインに
    ZR_ADDR=172.16.0.1
    
    # --- Caution! Use the following parameters as they are. ---
    # --- Only when you need any customization,              ---
    # ---        please change the following parameters.     ---
    # Zone Repeater's Infomation
    #ZR_PORT=20000
    #ZR_SRCPORT=20100
    #ZR_ETHIFNAME=eth1
    
    # DNS Server
    #DNS_ADDR=202.218.111.115
    
    # GateWay
    #GW_ETHIFNAME=eth0
    #DEFAULT_GW=10.0.0.1
    #GW_LOGINT=300
    #GW_VCPORT=40000
    #GW_VCSRCPORT=40002
    #GW_DTPORT=40001
    #GW_ZRPORT=20000
    
    # Kanri Server
    #MGSV_ADDR=trust.d-star.info.          ==> #(コメントアウトを外し有効に)
    #MGSV_PORT=30001
    #MGSV_LOGADDR=202.218.111.115
    #MGSV_LOGPORT=30000
    
    
    バージョン1.3からの1番目の変更点が MGSV_ADDR の FQDN 指定可能が可能となったことです。 これはJARL管理サーバの多重化に関連して、この FQDN で指定しておけばサーバの一部がトラブルを起こしても別のサーバがそれに取って代われると言う意味を持ちます。

  5. その他の確認事項

  6. # nano /etc/rsyslog.conf
    
      GNU nano 2.3.1                      File: /etc/rsyslog.conf
                 :
                 :
    # ### end of the forwarding rule ###
    local0.*                        /var/log/dsgwd.log
    
    ファイルの最終行に一行追加されているかを確認してください。以前はこれを手入力していました。

    次に上記で指定したログファイルが存在するか確認します。
    # ls /var/log/dsgwd.log
    
    もし無ければ、ファイルの存在を確認できないためプログラムが立ち上がりませんので、空ファイルを作ります。
    # touch /var/log/dsgwd.log
    

  7. 起動させてみます。

  8. # service dsgwd start
    

    # ps -e
            :
            :
     1226 ?        00:00:00 exec-gw-nonstop
     1230 ?        00:00:04 dsgwd
    
    
    上記のように立ち上がれば、一先ず完了です。


dsgwd の自動起動
  1. 前項までのインストールが完了したら再起動します。

  2. # reboot
    

  3. 前項同様に、自動起動しているか確認をします。

  4. 次にログを確認します。

  5. # tail /var/log/dsgwd.log
    
    ファイルの最後(最新)から10行表示します。連続して監視したい時は次のようにします。
    # tail -f -n30 /var/log/dsgwd.log
    
    ファイルの最後から30行を指定して表示、ログが排出される度に追加されます。

    [root@localhost ~]# tail  /var/log/dsgwd.log
    Aug  8 10:10:31 localhost dsgwd[1224]: DEBUG - [LOG_GWREG]    Execute GW regist. (trust.d-star.info.)
    Aug  8 10:10:31 localhost dsgwd[1224]: DEBUG - GW regist OK. Global IP = 211.333.99.999.
    Aug  8 10:10:32 localhost dsgwd[1224]: DEBUG - [LOG_GWREG]    GW regist OK. Global IP = 211.333.99.999.
    Aug  8 10:14:15 localhost dsgwd[1230]: INFO - STARTUP dstar GW (C) 2004-2017 Icom Inc. Revision 1.4 Beta2
    Aug  8 10:14:15 localhost dsgwd[1230]: DEBUG - Auto Detected: DEFAULT_GW = 10.0.0.99
    Aug  8 10:14:15 localhost dsgwd[1230]: DEBUG - Auto Detected: GW_ETHIFNAME = wlp2s0
    Aug  8 10:14:15 localhost dsgwd[1230]: DEBUG - Auto Detected: ZR_ETHIFNAME = enp1s0
    Aug  8 10:14:15 localhost dsgwd[1230]: DEBUG - [LOG_GWREG]    Execute GW regist. (trust.d-star.info)
    Aug  8 10:14:15 localhost dsgwd[1230]: DEBUG - GW regist OK. Global IP = 211.333.99.999.
    Aug  8 10:14:16 localhost dsgwd[1230]: DEBUG - [LOG_GWREG]    GW regist OK. Global IP = 211.333.99.999.
    
    他にもログが存在します。
    # tail /dstar/log/log2
    

    [root@localhost ~]# tail /dstar/log/log2
    2018-08-08T10:09:13+0900 start
    2018-08-08T10:09:13+0900 end
    
    --- exec-gw-nonstop ---
    
    2018-08-08T10:10:31+0900 start
    
    --- exec-gw-nonstop ---
    
    2018-08-08T10:14:15+0900 start
    


2018年7月30日月曜日

D-STARゲートウェイ用CentOS 7.5のインストール

Back


 D-STARリピータが普及し始めてすでに10年以上経過し、当初使われていた CentOS 5 はサポート期間が終了し、CentOS 6 へのグレードアップは出来ません。 また、CentOS 6 も2020年までのサポートと一時しのぎとなります。CentOS 6.5 以上には CentOS 7 へのアップグレードツールが存在しますが、正式サポートが64ビット系のみと言うことで、 実質不可能です。
 左図をクリックして戴くと、正式版の CentOS 7.5(1804)64ビット版以外にも関連グループ(AltArchSIG)から CentOS 7.5(1804:i386)32ビット版がリリースされています。当然新規にPCを用意される方は64ビット版を使用することになりますが、ゲートウェイソフトの互換性等に付いては現在(2018年夏)検証中と思います。  
CentOS 7.5(1804)のISOイメージを準備
  1. 上図をクリックしてリンク先から必要なイメージをダウンロードします。

  2. 64ビットが必要な方は1番目の表から、32ビットが必要な方は2番目の表から i386 を選択します。

  3. オーソドックスな方法として DVD に焼きます。


CentOS 7.5 のインストール
  1. DVDを初期立ち上げディスクに指定して起動します。

  2. 現在使用しているPCを利用した場合、DVDをスキップしてハードディスクから旧OSが立ち上がってしまう場合があります。その時は BIOS 初期立ち上げメディアの指定を変更するか、メーカーによって違いますが[F12]等のファンクションキーを押してDVDドライブを指定するなど変更してください。

    通常は、ハイライトされている[Test this media & install CentOS ?]を選択しメディアチェックをした上でインストールを開始します。 すでに、メディアに問題がないと自信がある場合は、その上の[Install CentOS ?]をカーソルキーで選んで[Enter]してください。

  3. 言語を指定します。

  4. インストールに使用する言語を[日本語]に設定すると、キーボードも日本語に設定されます。

    ゲートウェイサーバなので日本語は不要という方はそのまま[English]で進んでください。 その場合、キーボードは日本語にしたい場合は、後ほど設定可能です。

  5. 続行(C)

  6. インストールの概要を確認する

  7. インストール先(D)]にエクスクラメーションマーク(びっくりマーク)が付いています。クリックして内容を確認します。 その後、[完了]を押すだけで、エクスクラメーションマークは消え[インストール開始(B)]ボタンがブルーに変わります。

    (右図から下へ3枚の画像)
    もし、パーティションを自分で構成したい時は[パーティションを自分で構成する(I)]を選択しておきます。(構成方法は省きます。)

    この状態で、インストール可能になっていますが、もう少しインストール前に出来るだけのことを設定しておきましょう。

  8. ソフトウェアの選択(S)

  9. 標準では[最小限のインストール]になっています。通常はこのモードでインストールします。 どうしてもGUIが必要な場合は[サーバー(GUI使用)]等を選んでください。

  10. ネットワークの接続をします。

  11. ネットワークとホスト名(N)]をクリックすると、LANカードが認識され eth0 と表示されていると思います。 ただし[オフ]になっていますので[オン]に切り替えます。

    さらに、右下の[設定]ボタンをクリックして[IPv4 のセッティング]タブにて、ゲートウェイの環境に合わせて設定します。

    Address 10.x.x.x 書式であるクラスAアドレス Netmask 255.0.0.0 (8と表示されます) Gateway 10.x.x.x 管理用ファイルにあるゲートウェイアドレスです。

    DNSサーバー 157.7.128.150
    2018年夏現在、JARL管理サーバ多重化中の仮サーバのアドレスです。

    eth1 のアドレスも設定します。
    Address 172.16.0.20
    Netmask 255.255.255.0 (24と表示されます)
    インストール時 eth1 が無い場合、インストール後に設定できます。(後述)




  12. インストールを開始します。

  13. インストール中にROOTのパスワードを設定します。

  14. 英大文字・小文字、数字、記号の組み合わせで充分に安全なパスワードを作成してください。

    また、常時ROOT権限でメンテナンスをしたくない場合は、適当な[ユーザーの作成]を行ってください。
  15. インストールが完了したらDVDを抜いて再起動します。

  16. インストールが終了すると、画面右下に[再起動(R)]の青いボタンが表示されます。DVDを抜いて再起動してください。 もし、DVDが取り出せない時は再起動後、DVDからのインストール画面に戻りますので、その時点でDVDを抜くことが出来ます。
    ログインプロンプトが現れたら次のステップに入ります。

インストール後最初にやっておくこと
  1. キーボードの変更を忘れた時

  2. localectl status
    localectl list-keymaps | ^us
    localectl set-keymap jp
    
    上から、状況を見る、usが先頭に着くキーボードリスト(list-keymapsだけならすべて)、日本語キーボードに設定となります。

  3. IPアドレスの設定を忘れた方には

  4. nmcli con modify eth0 ipv4.method manual ipv4.addresses 10.0.0.80/8 ipv4.gateway 10.0.0.99
    nmcli con down eth0 && nmcli con up eth0
    nmcli dev show eth0
    
  5. Raspberryで nano に慣れすぎた方には

  6. yum install -y nano
    


  7. IPv6は要らないという方には、次のように最下部に追加します。

  8. nano /etc/sysctl.conf
    
      GNU nano 2.3.1               File: /etc/sysctl.conf
    # Disable IPv6
    net.ipv6.conf.all.disable_ipv6 = 1
    net.ipv6.conf.default.disable_ipv6 = 1
    


  9. SELinux を無効化するため次のように最下部へ追加します。

  10. nano /etc/selinux/config
    
      GNU nano 2.3.1              File: /etc/selinux/config 
    # Disable SELinux
    SELINUX=disabled
    


  11. ファイアウォールを無効化します。

  12.  systemctl disable firewalld
    


  13. ifconfigやnslookupなどネットワーク関連のコマンドをインストールします

  14. yum install -y net-tools bind-utils
    


  15. SSHのポートを変更します。

  16. 標準でSSH ポート22 が開いていますが、Wellknownポートなので変更します。
    nano /etc/ssh/sshd_config
    
      GNU nano 2.3.1              File: /etc/ssh/sshd_config
    #Port 22
    Port 22222
    
    ポート22222は一例です。

  17. OSのアップデートを実行します。

  18. yum update -y
    


  19. 最終的に、再起動して全ての変更を反映させます。

  20. reboot
    

ここまで、OSのインストールに関して記しましたが、次はいよいよゲートウェイソフトウェアのインストールです。

Back


73
J E 3 H C Z/XLX047 B

2018年6月13日水曜日

JumboSPOTのファームウェア・アップデート

Back


  DMR(勿論D-STARも含むMMDVMすべて)を始めようとするとノード・デバイス(ZumSPOT,MMDVM HS hat,JumboSPOTなど)のファームウェア・アップデートが必要となります。

ファームウェアのダウンロードサイト

  いろいろなデベロッパーが自身のMMDVMボードを開発すると同時にファームウェアも提供していますが、私はボード開発にも関わりつつ、各種ボード向けにファームウェアを提供している Andy CA6JAU のサイトからダウンロードしました。



      
  1. 上図をクリックすると、Git Hub のダウンロード画面が表示されます。次の図のようにグリーンのボタンをクリックし、URLをクリックボードにコピーします。



  2. Raspbery Pi のターミナル上で、コマンドに続いてURLを貼り付けます。nano の場合はカーソル(マウスカーソルではありません)をコマンドの後にスペースを空けて置き、マウスの右クリックをするとカーソル位置に貼り付きます。

  3. $ git clone https://github.com/juribeparada/MMDVM_HS.git
    

    コマンドが無いと言われた場合は、インストールしてください。

    $ sudo apt install git
    

  4. MMDVM_HS と言うフォルダが作成されますので、その中に入ります。ここではコンパイルの必要は有りません。

  5. $ cd MMDVM_HS
    $ ls
    ADF7021.cpp    DMRDefines.h     DStarRX.cpp    NXDNRX.cpp         SerialRB.h
    ADF7021.h      DMRDMORX.cpp     DStarRX.h      NXDNRX.h           SerialSTM.cpp
    bin            DMRDMORX.h       DStarTX.cpp    NXDNTX.cpp         STM32F10X_Lib
    BitRB.cpp      DMRDMOTX.cpp     DStarTX.h      NXDNTX.h           stm32f10x_link.ld
    BitRB.h        DMRDMOTX.h       GitVersion.h   obj_f1             stm32f4xx_link.ld
    bootloader.ld  DMRIdleRX.cpp    Globals.h      P25Defines.h       stm32f7xx_link.ld
    BUILD.md       DMRIdleRX.h      IOArduino.cpp  P25RX.cpp          Utils.cpp
    CalDMR.cpp     DMRRX.cpp        IO.cpp         P25RX.h            Utils.h
    CalDMR.h       DMRRX.h          IO.h           P25TX.cpp          version.h
    CalRSSI.cpp    DMRSlotRX.cpp    IOSTM.cpp      P25TX.h            YSFDefines.h
    CalRSSI.h      DMRSlotRX.h      LICENCE        README.md          YSFRX.cpp
    Config.h       DMRSlotType.cpp  Makefile       scripts            YSFRX.h
    configs        DMRSlotType.h    MMDVM_HS.cpp   SerialArduino.cpp  YSFTX.cpp
    CWIdTX.cpp     DMRTX.cpp        MMDVM_HS.ino   SerialPort.cpp     YSFTX.h
    CWIdTX.h       DMRTX.h          normal.ld      SerialPort.h
    Debug.h        DStarDefines.h   NXDNDefines.h  SerialRB.cpp
    
    

  6. さらに、その中に有る scripts と言うフォルダに入ります。

  7. $ cd scripts
    $ ls
    build_fw.sh                install_fw_gen_gpio.sh     install_fw_nanodv.sh
    install_buildtools.sh      install_fw_hsdualhat.sh    install_fw_nanohs.sh
    install_fw_custom.sh       install_fw_hshat-12mhz.sh  install_fw_rpi.sh
    install_fw_duplex_gpio.sh  install_fw_hshat.sh       install_fw_usb.sh
    install_fw_duplex.sh       install_fw_librekit.sh
    
    $ cd
    
    

      ここには、各種のボードに対応したファームウェア・インストーラが揃っていますが、今回使用するJumboSPOT用は、install_fw_hshat.sh です。確認が出来たら次のステップに移ります。

アップデートに必要なファームウェア書き込みソフトのインストール

  1. ファームウェアと同様のやり方で Git Hub から stm32flash をクローンします。

  2. $ git clone https://git.code.sf.net/p/stm32flash/code stm32flash
    

  3. フォルダの中に入り、コンパイルした上でインストールします。

  4. $ cd stm32flash/
    $ make
    $ sudo make install
    

      これで、インストール完了です。

最後の段階、アップデートを実行

  1. 最も大事なことは、MMDVMHost を前もって停止させておく事です。

  2. $ sudo systemctl stop mmdvmhost.service
    
    又は直接、
    $ sudo pkill MMDVMHost
    

  3. 先ほどのファームウェアアップデート用フォルダへ戻ります。コマンドの前に付いている[ドット][スラッシュ]はスクリプトを実行する時のおまじないです。

  4. $ cd MMDVM_HS/scripts
    $ ./install_fw_hshat.sh
      % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                     Dload  Upload   Total   Spent    Left  Speed
    100   609    0   609    0     0    670      0 --:--:-- --:--:-- --:--:--   670
    100 42152  100 42152    0     0  17542      0  0:00:02  0:00:02 --:--:-- 33453
    Raspberry Pi 2 or Pi Zero W detected
    stm32flash Arduino_STM32_0.9
    
    http://github.com/rogerclarkmelbourne/arduino_stm32
    
    Using Parser : Raw BINARY
    Interface serial_posix: 57600 8E1
    Version      : 0x22
    Option 1     : 0x00
    Option 2     : 0x00
    Device ID    : 0x0410 (Medium-density)
    - RAM        : 20KiB  (512b reserved by bootloader)
    - Flash      : 128KiB (sector size: 4x1024)
    - Option RAM : 16b
    - System RAM : 2KiB
    Write to memory
    Erasing memory
    Wrote and verified address 0x0800a4a8 (100.00%) Done.
    
    Starting execution at address 0x08000000... done.
    
    
    $ sudo reboot
    
    

      これでファームウェア・アップデートは完了です。

      ファームウェアのバージョンに関して表示する部分が無く、本当に最新か分からない(ソースの version.h では確認できるが)と思われるかも知れません。 スクリプトを nano で開くと、

      GNU nano 2.7.4                   File: install_fw_hshat.sh
    # Configure latest version
    FW_VERSION="v1.3.7"
    

    とあり、現時点での最新版をダウンロードしていることが分かると思います。


Back


73
J E 3 H C Z /XLX047 B

2018年6月9日土曜日

MMDVMノード用、ネットワークモニター Nextion 2.4

Back


Nextion Displayの実例
    モービル運用中、DMR から D-STAR に切り替えたい時、又 DMR 受信中他のトークグループに移りたい時などの送信タイミングが、無線機だけだと分かり難かったので(デスクトップならPi-Starでも良い)、Nextion 2.4インチで構成してみました。これで車内での操作がやり易くなります。



    実際車に固定しました。ダッシュボード上にと思っていましたが、もう少し近いとより視認性が上がるのと、電源の取り回しが隠せるのでハンドルポストの上にしました。マジックテープなのでメンテナンスも簡単!



Nextionディスプレイの接続方法
  1. MMDVMの基板上に専用端子ホールが有る場合

  2. 端子を付けるか又は直付けにて Nextion のリード線を取り付けます。この時注意しなければならないのは次のように送信・受信をひねることです。

    Nextion側     MMDVM側
    +5V ---------- 赤線 ---------- 5V0
    TX   ---------- 青線 ---------- RXD
    RX   ---------- 黄線 ---------- TXD
    GND ---------- 黒線 ---------- GND

    更に、この場合ケーシングによっては Nextion側、モデム側共に半田付けでと考えることも有りますが、この回路が接続されたままでは、USBシリアル変換でもmicroSDに依ってもスクリーンのアップデートが出来ませんので注意が必要です。必ずどこかで外せるようにしましょう。

    =MEMO=
     この時のMMDVM.ini(又は、Pi-Star)に於ける [Nextion] のポートは Port=modem です。


  3. GPIOに接続されているDVMEGAの場合

  4. 先ず必須なのがUSBシリアルコンバータです。

    図のように、ブルーのLEDが点滅している時が通信可能な状態です。


    =MEMO=
     この時のMMDVM.ini(又は、Pi-Star)に於ける [Nextion] のポートは Port=/dev/ttyUSB0(0でない時も有ります)です。
    $ ls /dev
    
    で確認してください。

    また、Pi ZERO W をご使用の場合はmicroUSB/Aタイプ変換アダプタ、又は省スペース型の場合両端 microUSB(TypeBオス)ケーブルmicroUSBシリアルコンバータが必要になるケースが有ります。
  5. GPIOにNextionを直結する場合

  6. モデム(DVMEGA+BlueStackなど)をUSB接続したPCがRaspberry Piで有るような場合、GPIOが空いていますので、写真の方向として下側、左から ⑩番ピン:RxD、⑧番ピン:TxD、⑥番ピン:GND、②番ピン:+5V となります。他の場合同様、Nextion の TX は、GPIO の RxD に入れます。

    =MEMO=
    DVMEGA RasPi Radioが装着されている場合、これらのピンに半田付け等で共用することは出来ませんのでご注意ください。


    この時のMMDVM.ini(又は、Pi-Star)に於ける [Nextion] のポートは Port=/dev/ttyAMA0です。

Nextion 表示用のグラフィックスをメモリーにアップロードする
  1. ITEAD STUDIO のホームページから Editor をダウンロード(左図をクリック)

  2. Windowsマシンにインストールします。データは拡張子HMIのファイルです。ここでは編集について詳しく述べませんが、Facebookの「NEXTION - HAM-Radio screens」に加入すると沢山サンプルが投稿されています。下記は私のデザインしたスクリーンですのでご自由にお使いください。(配布もかまいませんが、D-STAR,DMRしか表示確認しておりません。) JE3HCZ_2.4_Nection_v1.0_HMI
  3. 周波数の項目を編集してください。

  4. t20(指のカーソルで示したところ)のデータフィールド(表示枠)をクリックしてください。右下の[Attribute](属性)の内容をスクロールすると、[txt]と言う項目が有ります。ここをお使いの周波数に書き直してください。他の項目についてはそのままにして置いてください。
  5. 次に、図の赤枠で示したコンパイルを実行します。

  6. 一瞬で終了しますので、[File]➡[Open build folder]とクリックするとコンパイル後のファイル JE3HCZ_2.4_Nection_v1.0.tft が出来ています。これを、Fat32でフォーマットした 2GB から 32GB(以下)の microSDカードにコピーして、単体の Nextion に挿した状態で、赤黒2本のみで電源を投入するとアップロードされます。(microSDの性能等で上手く行かない時は次の方法で

  7. Nextion Editor から直接アップロード

  8. 上述の「Nextionディスプレイの接続方法」②のUSBシリアルコンバータが有る前提となりますが、これをPCに接続します。この時COMポートが新規作成されます。
    図のとおり[Upload]をクリックすると、自動でコンパイルされ、COMポートを選択するダイアログボックスが開きますので、分かっている場合はそのCOMポートを、不明の時は[Auto search]のまま[Go]してください。
    これで、リブートすればめでたくNextion にMMDVMの情報が表示されるはずです。

=蛇足=待機画面の日付表示を変更する
Nextion2.4の表示の内、待機画面の日付と時間の表示が dd/mm/yy 形式で 07/06/18など6月18日と読んでしまったり不便でしたので 2018.06.29 のように表示するようMMDVMHostの一部を変更しました。



$ cd MMDVMHost
$ nano Nextion.cpp

  GNU nano 2.7.4                       File: Nextion.cpp
#strftime(text, 50, "t2.txt=\"%x %X\"", Time);
strftime(text, 50, "t2.txt=\"%Y.%m.%d %X\"", Time);
713行目をコメントアウトして表示指定を変更したものを追加(又は変更)します。

$ make clean
$ make
した上で、

$ sudo mv MMDVMHost /usr/local/bin

$ sudo reboot
又は、
$ sudo service mmdvmhost restart
すると、表示が変わります。

Back



73
J E 3 H C Z /XLX047 B

2018年6月6日水曜日

MD-380 のファームウェア・CPS・ユーザリストのアップデート

Back


  ここ数年、TYT Electronicsのシンプルな(少し文字化けした)UpgraderとCPS(コードプラグを編集登録する)ソフトを使用して来ましたが、DMR IDをキーとしてコールサインや名前を表示してくれるユーザデータベースの書き込みにはLinux版のPythonアプリ(後述のMD380Toolsに同梱されている)を使用していました。先日数局からKG5RKIと言う方のアプリを紹介して戴きました。(後日情報のソースはJM8IXA 小松OMと判明、感謝致します。)
MD-380ファームウェアの主な提供元
  1. TYT Electronics Co., Ltd. ダウンロードサイト ➡ http://www.tyt888.com/?mod=download

  2. PD0ZRY Rudy's Site MD-380 Firmware ページhttps://pd0zry.nl/md380-fw/

  3. MD380Tools by Travis Goodspeed, KK4VCZ ➡ https://github.com/travisgoodspeed/md380tools
  4. これは、MD-380に新たな機能を加えるプロジェクトでその成果は上記 PD0ZRY Rudy's ファームウェアに反映されています。

  5. TyMD380Toolz by KG5RKI (DMR Track)➡ https://kg5rki.com/new2/tymd380.html
  6. このツールはTravis版MD380Toolsをベースにさらに改造を加えたバージョンです。今回の説明では後述のように書き込み用Flash Toolのみ使用させて戴きます。
MD-380運用に必要なソフトウェアとデータの関係
  • CPSCustomer Programing Software)コードプラグ(Codeplugs)を編集・書き込み
  • コードプラグとは、アイコム社のクローニングソフトのデータのようなもので(拡張子 .rdt)、CPSは同じくクローニングソフトです。これに関しては書き込み機能も持っていますのでファームウェアのアップデートなどとは分けて、このアプリを単独で使った方がやり易いと思います。

    TYT Electronics のソフトウェアなのですが、同社のダウンロードサイト(上述①)には有りません。見つからないだけかも知れませんが・・
    次のURLから入手出来ます。➡ DMR at Foxhollow

  • Tytera Flash Tool ファームウェアやユーザデータベース、コードプラグの書き込み
  • 上記の提供元④ DMR Track からTytera Flash Tool v1.08c_BETA (MD380/MD390) をダウンロードします。

  • MD-380 Firmware
  • 基本は、提供元①の純正ファームウェアですが、今回はMD380Toolsの機能拡張版(提供元②)をダウンロードして、上記 Tytera Flash Tool で書き込みます。(拡張子 .bin
    firmware-20180531-010001-db7d3aab.bin この書式のものがMD-380用です。firmware-S13.020-20180531-010001-db7d3aab.bin はGPS付きのファイル名です。

  • USERDB, users.csv, DMRid.datなど色々呼び名が有ります(今回ダウンロード不要)
  • 必要な形態でダウンロード可能です。➡ DMR LastHeard by DL5DIのダウンロードサイト
ファームウェアのアップデート手順
  1. まず書き込み用ソフトウェア TyteraFlashTool_v1_08c_BETA を準備します。


  2. 解凍して出来たフォルダ内の TyteraFlashTool.exe(exeは表示設定で拡張子表示を選択した場合)をダブルクリックするだけです。

  3. ファームウェアのアップデート

  4. MD-380側の準備

    • 先ず電源を切ります。
    • USBプログラミングケーブルを接続します。
    • [PTTボタン]とその上の[小さなボタン]を同時に押しながら電源を入れます。
    • 画面が消えたまま、緑と赤のLEDが交互に着いたらプログラミングモードです。
    • このモードを使用するのは、運用に関するアップデートではファームウェアの時だけです。



    • 前項で示した MD-380 Firmware firmware-20180531-010001-db7d3aab.bin(バージョンは日付以降が変わります)をダウンロード、デスクトップなどに置きます。
    • Open]をクリックし、デスクトップに置いたファームウェアを選択、矢印のように表示します。
    • Flash from file]をクリックすると・・
    • 最下部のように[writing firmware ...]と表示され黄色いプログレスバーが進みます。
    • 完了したら、電源を入れ直すとほぼ変わらない画面が立ち上がります。これらの設定については又何れ・・。

  5. その他の方法によるファームウェアアップデート



    • 前項のようにMD-380をプログラミングモードにします。
    • 今回は[FIRMWARE]の下に有るドロップダウンメニューからファームウェアを選択します。 前項のファイルによるアップデートでも使用したMD380Toolsにしました。 上2つ、TyMDToolz(正しくはTyMD380Toolz:最後の文字がゼット"Z"であることに注意)はこの書き込み用ソフトの作者が改良したファームウェアです。
    • Download NON-GPS]をクリックするとダウンロードが始まります。終わると最下部の様にプログレスバーに[Done Downloading. Press Flash Button.]と表示されます。
    • 指示どおり[Flash]を押すとファームウェアアップデートが実行されます。
    • 完了したら、電源を入れ直すと画面が立ち上がります。

    ②の方法と全く同じ MD380Tools であるかは確認できていません。見た感じでは違いは感じませんでした。

ユーザデータベースのアップデート手順

  • このアップデートに関してはUSBプログラミングケーブルを接続したら、通常のように電源を入れます。
  • 図のように[USERDB]の右に有る[Download Update]をクリックします。
  • Done]と表示されますので、ダウンロードボタンの下に有る[Flash]ボタンをクリックします。
  • 9万件以上のデータベースですので少し時間を要します。

以上、MD-380運用上最低限のアップデートについて記しました。


73
J E 3 H C Z /XLX047 B

2018年5月30日水曜日

dv_apのソースファイルからコンパイルしてアップデートする方法

Back


最新版のソースをダウンロード

  1. 7M3TJZ 安田OMのダウンロードサイト(https://ja.osdn.net/users/jk1zrw/)より dv-ap をダウンロードします。

  2. dv-ap をクリックすると次のページに移りますので図のような最新pushのリンクをクリックしてください。



  3. 次のページで、右上に有る URL をコピーしてください。



  4. Raspberryのターミナルで次のようなコマンドを使用してダウンロードします。

  5. $ sudo apt install git
    $ git clone git://git.osdn.net/gitroot/dv-ap/dv-ap.git
    $ cd dv-ap
    

    dv-apというフォルダが作成されます。内容はdv_apのソースファイルです。
    (注意:フォルダ名はハイフン(-)、プログラム名はアンダースコア(_))

コンパイル時使用される Makefile を編集

  1. 実際は下記の内容をMakefileと言う名前で保存してください。

  2.   GNU nano 2.7.4                         File: Makefile
    #######################################################################
    #  Makefile for compiling dv_ap
    #
    #  Arranged by je3hcz based on 7m3tjz's original
    #######################################################################
    
    # Program Name and Object file names
    bin_PROGRAMS    = dv_ap
    dv_ap_OBJECTS   = main.o aprs2dstar.o aprs.o beacon.o crc.o dvap.o \
                      dv_utils.o echo_server.o from_inet.o from_node.o \
                      gps_a.o gps.o handler.o httpd_srv.o init.o \
                      node_usb_init.o pass_send.o print_PICinfo.o \
                      read_config.o reply_busy.o send_check.o send_inet.o \
                      send_node.o send_resp.o status.o upnp.o
    
    # Redefine MACROs
    CC              = gcc
    dv_ap_LIBS      = -lusb -lcrypto
    
    # Define extention of Suffix Rules
    .SUFFIXES   : .c .o
    
    # Rule of compiling programs
    $(bin_PROGRAMS) : $(dv_ap_OBJECTS)
        $(CC) $(dv_ap_LIBS) -o $(bin_PROGRAMS) $^
    
    # Suffix Rule
    .c.o    :
        $(CC) -c $<
    
    # Target of Delete files
    .PHONY  : clean
    clean   :
        $(RM) $(bin_PROGRAMS) $(dv_ap_OBJECTS)
    
    # Dependency of Header Files
    main.o          : dv_ap.h
    aprs.o          : dv_ap.h
    beacon.o        : dv_ap.h
    crc.o           : crc.h
    dvap.o          : dv_ap.h
    dv_utils.o      : dv_ap.h
    echo_server.o   : dv_ap.h
    from_inet.o     : dv_ap.h
    from_node.o     : dv_ap.h
    gps_a.o         : dv_ap.h
    gps.o           : dv_ap.h dprs_symbol.h
    handler.o       : dv_ap.h
    httpd_srv.o     : dv_ap.h config.h
    init.o          : dv_ap.h
    node_usb_init.o : dv_ap.h
    pass_send.o     : dv_ap.h
    print_PICinfo.o : dv_ap.h
    read_config.o   : dv_ap.h
    reply_busy.o    : dv_ap.h
    send_check.o    : dv_ap.h
    send_inet.o     : dv_ap.h
    send_node.o     : dv_ap.h
    send_resp.o     : dv_ap.h
    status_send.o   : dv_ap.h config.h
    upnp.o          : dv_ap.h
    
    
    図中はRaspberry上ではバックスラッシュで長い一行を数段分割した時の接続詞です。

  3. もし、Makefile:25: *** missing separator. Stop. の様なエラーが発生した時は、インデントされた $(CC) 2箇所と $(RM)1箇所の前にスペースが入っていると思われるのでスペースを全て削除して TAB ひとつを挿入してください。 ([Ctrl]+[o],[Enter],[Ctrl]+[x]で保存)

  4. *ヘッダーファイルの依存関係部分は更にスマートな記述が有るのだろうと思っていますが、現状分かりません。ご教授賜れば幸いです。

コンパイルを実行する

  1. 実行は $ make のみ(ダウンロードした状況によっては sudo が必要になる場合も有ります。)

  2. アップデートではなく新規にインストールされる方の場合、ここで「USBに関するヘッダファイルが有りません」というメッセージが表示されることが有ります。 その場合は、libusb をインストールしてください。

    $ sudo apt install libusb-dev
    

  3. 作成されたプログラムを規定のフォルダに写します。

  4. $ sudo mv dv_ap /usr/bin
    $ sudo reboot
    

    移動ではなくコピー($ cp ...)でも良いのですが dv_ap が動いたままだとコピーに失敗します。

    次のようにするとコンパイル中のトランザクションファイルなどが削除されます。 コンパイルし直す場合には必ずこの作業を行ってから実行してください。

    $ make clean
    


以上でアップデートは終了です。ダッシュボードのバージョンが合っているか確認してください。

73
J E 3 H C Z /XLX047 B
Back




2018年1月17日水曜日

ノードアダプターV7のドライバーとファームウェアアップデート(Windows10 64bit)

Back


■ ノードアダプターV7をWindows10に認識させる

 従来、setup_7.exe をインストールするとUSBを接続するだけで簡単に認識してくれたのですが、Windows 8 からドライバーに[!]マークがついて認識してくれません。 さらに Windows 10 では署名が無いドライバーは100%拒否されます。

前述のノードアダプターV7をWindows 8(64ビット)に接続する(LibUSB-Win32)とほぼ同様の内容ですが、 Windows 10 から仕様変更された点を含めて新たに書き直しました。

ノードアダプターV7はLinuxのLibUSBと言うドライバーを使用しています。左図をクリックしてWEBからドライバーを     Download    します。

libusb-win32-bin-1.2.6.0.zip
解凍するとフォルダが作成されますので、その中の[bin]と言うサブフォルダを開きます。

左図のように、inf-wizard.exe(設定で拡張子.exeなどを表示させています)が確認できます。

次のステップで、ドライバーをインストールする為の .inf ファイルを作成します。

先ず、inf-wizard.exe を立ち上げます。
  1. 最初の画面で[Next]すると、ドライバーの一覧画面になります。
  2. ここで、Vendor ID: 0x04D8 Product ID: 0300 のドライバーを選択します。過去に純正のノードアダプター用ドライバーをインストールしたことがあれば、その名前も表示されています。
どれか分からない場合も有りますので、デバイスマネージャーで該当するUSBを挿した時現れるドライバーの[プロパティ]の[詳細]で[ハードウェアID]を調べておくと良いでしょう。 (下図参照)

  1. ハードウェアID 又は名前の一致するものを選択して[Next]。
  1. 詳細に付いて名前などは書き換えることが出来ます。

  2. 確認して[Next]をクリックすると、保存画面が現れるので[ドライバー名.inf]を保存する。 次の段階でインストールする時保存したフォルダを指定する必要が有るため、忘れないようにしてください。
INFファイル作成ウィザードはこれで終了です。[Install Now..]のボタンが有りますが、

Windows 10 では署名の無いドライバーは拒否されますので、次の段階でこの制限を無効にしてから改めてインストールします。

  1. Done]をクリックして終了します。



■ 署名の無いドライバーに対する制限を解除する

 前項で記述した様にすぐにインストールを始めると、左図のようにドライバー(INFファイルであっても)に署名が含まれていないためインストールが中断します。

 そこで、システム自体を一時的に「署名を必要としない」状態に設定します。

  1. Shift]キーを押しながら[再起動]をクリックします。

  1. オプション選択画面が現れたら次のように選択して、最後に[再起動]します。
オプションの選択
  │
  └トラブルシューティング
     │
     └詳細オプション
        │
        └スタートアップ設定
           │
           └[再起動
  1. マシンが再起動すると立ち上げ途中で、左図のような画面が現れます。

7)ドライバー署名の強制を無効にする

を選択するために[7]キー又は[F7]キーを押します。

これで、署名が無くてもインストール出来るようになります。


=MEMO= これでもインストールが出来ないケースもあるようですが、その時は「DOSコマンド」を管理者権限で立ち上げ、bcdedit /set TESTSIGNING ON を実行します。 インストールだけでなくドライバーの使用中も、この「テストモード」を継続させておく必要がある場合も有るようです。
不要な場合は bcdedit /set TESTSIGNING OFF を実行し解除します。


■ ドライバーのインストール

  1. Start Menu]を右クリックして[デバイスマネージャー]を立ち上げます。

  2. 次にドライバーのインストールが終了していない目的のエントリーを右クリックして[ドライバーの更新]を選択します。
  1. 参照]ボタンをクリックして、最初の項で作成した ドライバー名.inf ファイルの有るフォルダを指定します。


  2. 次へ]をクリックします。
  1. 下段の[このドライバー ソフトウェアをインストールします]をクリックします。
これで、最後までインストールが進み、デバイスが使用可能になります。


■ ノードアダプターV7の初期化、ファームウェアアップデート、テスト

アップデート・テスト用各ファイルを安田OMのサイトよりダウンロードしてください。

ノードアダプターV7日本語サイト http://www.d-star.asia/node_adapter_v7.html.jaのページより
  1. rf_read V01.04 (RX test program)

  2. エコーテストプログラム(V00.03 06/14/09)とオーディオファイル(それぞれ別ファイル)

  3. 初期値設定プログラム「Default setting program V04.03 (10/31/2011 include DLL) V07.56以降で使用してください」 (V04.03と書かれていますが最上段は V04.04 です)

  4. 上記三ヶ所4ファイルをダウンロードしてください。
ノードアダプターV7英語サイト http://www.d-star.asia/node_adapter_v7.html.enのページより
  1. Firmware Update Programs node_update_client.02.09.zip

  2. 日本語サイトにあるファイルは 02.08 で最新版は英語サイトにしか有りません。

=MEMO= 1,2の3ファイルはテスト用のひとつのフォルダ(仮に Tester)にまとめてください。オーディオは audio と言うフォルダになりますがそのまま同一フォルダに移動してください。他のZIPファイルは解凍したままのフォルダで構いません。アップデート用、設定用、テスト用の3つのフォルダが出来ます。

=MEMO= なお、初期化の必要な場合は同様に安田OMのサイトにて初期化の方法を確認の上、行って置いてください。初期化しなくてもファームウェアの上書きは可能です。

  1. 先ず[スタートメニュー]の[Windows システムツール]から[コマンド プロンプト]を右クリックし[その他]の中から[管理者として実行]します。

  2. さらに、次のコマンドでアップデートツールのフォルダに入ります。
  3.  管理者: コマンド プロンプト
    Microsoft Windows [Version 10.0.16299.192]
    (c) 2017 Microsoft Corporation. All rights reserved.
    
    C:\WINDOWS\system32>cd \Users\USER\desktop\node_update_client.02.09
    C:\Users\USER\Desktop\node_update_client.02.09>
    
    


  4. 最新版にアップデートします。(-p 889 は最新版へのポート指定です)
  5.  管理者: コマンド プロンプト
    C:\Users\USER\Desktop\node_update_client.02.09>node_update_client -p 889
    Node adapter Firmeware Update program V02.09 (C) 2010-2011 Satoshi Yasuda
    Do not distribute this program without my permission!
    
    Do you set the bootloader mode? Yes/No => yes
    Enter Serial Number => 07000xxx
    
    Are you sure for update? Yes/No => yes
    DV Firmware Updater flash erasing: DONE.
    DV Firmware Updater id programming: DONE.
    DV Firmware Updater eeprom programming: DONE.
    DV Firmware Updater flash programming: DONE.
    DV Firmware Updater id programming: DONE.
    DV Firmware Updater eeprom programming: DONE.
    DV Firmware Updater flash verifying: DONE.
    DV Firmware Updater id verifying: DONE.
    DV Firmware Updater eeprom verifying: DONE.
    RESET Device
    Operation successfully completed.
    
    C:\Users\Yosh\Desktop\node_update_client.02.09>
    


  6. アップデートされたファームウェアを個人の環境に合わせて設定します。

  7. グラフィカルツールなので、ダブルクリックして Nodeadapter_set.04.04 フォルダに入ります。
  8. Nodeadapter_set.04.04.exe を立ち上げ、[Setting]⇨[Basic Info.]と進みます。

  9. 規定値が表示されますが、アップデートや立ち上がらなくなった時のためにスクリーンショットを残しておくことをお勧めします。 右図は筆者の環境に合わせた設定値です。


  10. =MEMO= 安田OMのオリジナルサイトに掲載されているジャンパピンやトリマーによる設定が必要な場合は、次項のテストプログラムを併用してハードウェア調整をした上で初期値設定プログラムで変更するなど、微調整が必要です。

  11. ノード用無線機とノードアダプターV7のケーブル接続を確認して、ハンディ機等でノードアダプターV7側の受信状態をテストします。Testerフォルダ内の rf_read.exe をダブルクリックします。
  12.  C:\Users\Yosh\Desktop\Tester\rf_read.exe
    Node adapter RX Test program V01.05 (2010/12/14)
    (C) 2010 Satoshi Yasuda 7m3tjz/ad6gz
    Do not distribute this program without my permission!
    
    Node Adapter Firmware Information:
    D-STAR Node Adapter V07.75(2015/08/10) (C)7M3TJZ/AD6GZ
    This PIC program is licensed to JE3HCZ.
    Serial Number :  07000xxx.
    
    


  13. この状態でハンディ機を送信すると、ノード用無線機が受信してデータ端子からノードアダプターV7にデータが流れ込み表示されます。
  14.  C:\Users\Yosh\Desktop\Tester\rf_read.exe
    Wed Jan 17 05:56:47 2018
    YuCall : CQCQCQ    MyCall : JE3HCZ    MyCall2 : 3001  CRC : 93 5f
    Flags : 00 00 00  RPT2 : DIRECT    RPT1 : DIRECT
    
    DV STREAM
    ba 2c 2e 40 81 18 3c a5 ca 55 2d 16    25 62 85 % b ・ **SYNC**
    a6 48 ac 79 86 c8 5f e6 6e 30 1c d2    40 53 41 @ S A
    9b 2b a4 08 d1 56 af bd a4 31 1f a1    41 50 32 A P 2
    f6 4a a4 38 d0 43 0f e2 d4 31 6f c4    41 20 57 A   W
    bf 0e 3e 48 07 12 ed e4 f0 19 3d f6    69 72 65 i r e
    5b 63 82 53 f7 52 aa 17 92 32 2b b3    42 64 20 B d
    1a c0 06 32 45 ac 61 e4 66 47 61 a4    37 2e 37 7 . 7
    1a 40 8e 22 c7 26 69 c7 66 33 7a b3    43 35 20 C 5
    f3 4b 3a 00 66 08 da b1 a4 44 7e c5    34 31 56 4 1 V
    4a 62 8c 5b 40 a4 0d 00 9e 16 29 f5    66 66 66 f f f
    0b 81 8c 2a 50 5e ea 80 22 16 29 f5    66 66 66 f f f
    eb 4a 3e 10 66 03 ce e1 ac 16 29 f5    66 66 66 f f f
    ff c9 b8 00 85 0e ce 30 a8 16 29 f5    66 66 66 f f f
    bf 0e bc 40 37 52 ed e4 f0 16 29 f5    66 66 66 f f f
    ab cc b0 60 36 16 fd a4 f4 16 29 f5    66 66 66 f f f
    cf 0f bc 11 10 9d 85 a1 c8 16 29 f5    66 66 66 f f f
    bf 0e b8 50 e5 52 ed 65 f4 16 29 f5    66 66 66 f f f
    ab 4f bc 58 06 98 cd f4 f4 16 29 f5    66 66 66 f f f
    af cc b0 60 26 16 fd a4 f4 16 29 f5    66 66 66 f f f
    cf 0f bc 11 00 1f 8d a1 c8 16 29 f5    66 66 66 f f f
    bb 0e bc 40 07 12 ed e4 f0 16 29 f5    66 66 66 f f f
    
    cf 4f b8 01 c3 13 ad f1 8c 55 2d 16    25 62 85 % b ・ **SYNC**
    af cc b4 70 c4 16 fd 25 f0 25 4f 93    55 00 00 U
    cb 0f 3e 19 20 9d 85 a1 c8 70 0b da    00 44 49   D I
    bf 0e bc 40 27 12 ed e4 f0 25 1d d6    55 52 45 U R E
    bf 4e b8 50 c4 1e cd b4 b4 33 1b b3    43 54 20 C T
    ab 8c b8 40 67 16 e9 e5 f4 25 6f d7    55 20 44 U   D
    af 0e b8 50 46 1e ed 74 f0 39 1d d6    49 52 45 I R E
    cf 0f b8 01 e2 1f 8d 30 8c 25 0c c7    55 43 54 U C T
    bb 0e bc 40 07 90 ed e4 f0 50 6f d0    20 20 43     C
    bf cc b4 78 47 5b f9 24 f4 55 55 55    25 1a c6 %   ニ
    55 c8 7a                                               **Last Frame**
    
    

    RXトリマ調整する時は、この様子を見ながらもっともスムーズにデータが流れる所を選びます。(夏と冬で調整が必要な場合も有ります)
    また、全く反応しない時は前述の設定プログラム Nodeadapter_set.04.04RX Invert を反転(チェックがない場合付ける)します。

  15. 次に、送信テストをします。Testフォルダ内の echotest03.exe を立ち上げます。
  16.  C:\Users\Yosh\Desktop\Tester\rf_read.exe
    DV Echo Test program V00.03 Satoshi Yasuda
    PIC version: D-STAR Node Adapter V07.75(2015/08/10) (C)7M3TJZ/AD6GZ
    
    


  17. この状態で、ハンディ機でカーチャンクするとエコーサーバが応答します。
  18.  C:\Users\Yosh\Desktop\Tester\rf_read.exe
    Flags  : 00 00 00
    RPT2   : DIRECT
    RPT1   : DIRECT
    YuCall : CQCQCQ
    MyCall : JE3HCZ
    MyCall2: 3001
    CRC    : 93 5f
    

    音声を送信すると、エコーサーバがそのままエコーを返してきます。

    TXトリマを調整する時は、このエコーサーバの応答やエコーを利用して行います。 またハンディ機のSメータは振っているのに声にならない場合は設定プログラムで TX Invert を反転します。


以上で、アップデート及び調整・設定は終わりです。SAAPに接続したり、RaspberryPiとともにircDDBGateway/DStarRepeater(GMSK Modem)で使用する最善の状態となります。

73
JE3HCZ / XLX047 B