JH3DRN 趣味の徒然

主にアマチュア無線、電子工作について書いてます.

M1 Mac でパソコンの時刻を手動で設定する

何故そんな事が必要か?  

昨日(2023/05/01)からDXペディッションで DX0NE局がオンエアしている。で、今日、28.091MHz FT8 F/H (MSHVかも)に出ている模様なのだがご本尊が見えない。電波が弱くて見えないケースは多々あるのだが、スペクトラムを見るとどうも電波は出ている様子。Facebookで確認するとどうやら DT(コンピュータの時間)が3秒ほど進んでいる為にデコード出来ないとの情報があった。恐らくインターネット環境が無いのでNTPが使えず、時刻がずれている事と思われる。こんな時、PCがWindowsなら "JTSync" "BktTimeSync" など便利なツールが使えるのだが当方は Macユーザなのでそうもいかず、コマンドラインを調べたり、GUIの設定画面から調整したりと苦戦しながら何とかRR73は頂いた。(ATNO脱出となったのだが、ログが上がるまでは安心出来ない、、)  

もうちょっと簡単に設定変更出来ないか  

細かい事は良しとして取りあえずコマンドラインから時刻を指定して設定出来るシェルを作ってみたので備忘を兼ねて掲載します。 まず、ターミナルを起動してシェルファイルを作る(ファイル名は timeset.sh とする)

% vi timeset.sh

以下ファイルの内容

  # timeset.sh
  #タイムサーバをオフに設定する
  sudo systemsetup -setusingnetworktime off

  #引数1で指定した時刻にパソコンを設定する
  sudo systemsetup -settime $1

編集が終わったら実行権限を付与する
% chmod a+x timeset.sh

これでシェルを実行する事で時間の設定が可能となる。例えば時刻を 16:35:50 に設定するには下記コマンドを入力すれば良い

% ./timeset.sh 16:35:50

実行時にエラーが出るようだが、コマンドの実行は出来ているので今の所は良しとする。

注意点

私の環境のみかも知れないが(無線機がSunSDR2DX の様なSDR)JTDXを起動したまま、時刻修正を行った場合、送信出来ないとかの不具合が出る様だ。この場合でも一旦JTDXを落として再起動すれば復活するので慌てず作業を行って欲しい。また、QSO後には下記コマンドでタイムサーバを有効にする事をお忘れ無く。

% sudo systemsetup -setusingnetworktime on
追記

そもそも、相手局のDTがずれていると言う現象はどうやって分かるのか? 私の場合は先にも書いたが無線機がSDR機(SunSDR2DX)であり、コントロールソフトが ExpertSDR3と言う構成で、砕いて言うとコンピュータ=無線機となる。つまり無線機の持つ時刻=PCの持つ時刻=JTDXが持つ時刻となり、相手局のDTが大きくずれているとデコードすら出来ずに見えない現象が発生する。そこでスペクトラムを見ると明らかに電波が出ている事が確認できて、”DTずれてる” と分かる事になる。一方一般的な無線機+PC+JTDX構成では、PCとJTDXの時刻は同じだが、無線機は単独で動作する為、もしかしたら相手局のDTがある程度ずれていても”見えてしまう”現象が発生しているのでは無いかと思う。で、”見えているから呼ぶ” でも 相手は ”見えていない” 的な事になっているのでは無いかと推測する。普通のQSOではあり得ないが、DXペディッション:僻地でのオペレーションの場合にはインターネットが使用出来ない為正確な時間をPCに設定する事が困難な為にこの様な事が起こってしまうのだが、これは仕方の無いことなので呼ぶ側で対処するしか方法はないのだろう。まあ、DTズレに気づいたおかげで過激なパイルの中で3バンドQSO出来たのでこれは良しとしよう。