約1時間の周期でpppdが切断

CANDY Pi Lite 3Gを使っています。
ログを見ていると約1時間の周期でpppdが切断と再接続を繰り返しているようです。
このため、1時間に1回、数十秒通信できない期間が生じてしまいます。
常に接続状態をキープすることはできないのでしょうか?

ntpを使わない時刻同期が原因かと思って、RESTART_SCHEDULE_CRONやNTP_DISABLED=0を設定してみましたが効果がありません。

ご質問ありがとうございます。
接続を維持し続けていると、網側(キャリアのネットワーク側)から一定時間ごとに切断されます。このため、完全に接続を維持することはできません。

https://candy-line.tumblr.com/post/168175557093/

こちらの記事でその様子もレポートしておりますのでご一読いただければと思います。
ただ、無通信時間をこれまでより短くできないかは現在検討中です。ただ短くできるとしても、10秒前後は再接続にかかってしまうのではないかと思われます。

御答えありがとうございます。

candy-pi-liteサービスがntpを使わない時刻同期のために切断しているのではなく、網側(SORACOM側)から切断されていたんですね。それではcandy-pi-liteサービスの設定を変えても効果がないわけです。

高頻度で予測不能な切断が起きるのは困るので、SORACOM以外の別のサービスに変えてみることにします。

ところで、candy-pi-liteサービスによるntpを使わない時刻合わせは、デフォルトでは、どのくらいの周期で3G回線の切断を行うのでしょうか?

こちらですが、連続して接続を一定時間以上していると網側から切断されるという動作をしているようですので、それよりも短い周期で定期的に切断させれば意図しない切断は、電波圏内であれば、起きないでしょう。

また、ご注意いただく必要がある点としては、網側の動作はどのキャリアも公開情報として出していない点です。このため、ある時突然動作が変わる可能性がありますので、ある程度切断を織り込んで動作をご検討いただく必要があります。

ところで、candy-pi-liteサービスによるntpを使わない時刻合わせは、デフォルトでは、どのくらいの周期で3G回線の切断を行うのでしょうか?

実は初期状態では能動的に切断を行なっていません。このため、時刻同期を行う場合は周期を明示的に指定する必要があります。

https://candy-line.gitbooks.io/candy-pi-lite/content/configuration/rtc.html

の「時刻調整スケジュール」では以下のような記載をしております。

利用者の方は、candy-pi-lite サービスが定期的な切断と再接続を行うためのスケジュールを指定することができるようになっています。初期設定では、このようなスケジュールは設定されていません。

ご案内いただいた資料の冒頭に次のように書かれています。

デフォルトでは、本機能が有効になっていますが、設定により無効にすることができます。

つまり、デフォルトで有効であり、無効にしない限り 自動で定期的にデフォルトの周期で時刻調整が行われる ものと解釈していました。

そして、デフォルトの周期が約1時間であるため3G回線が切断されてしまうんだろうと予想したんです。

実際の動作は、「有効になってはいるけれどユーザーがスケジュールを設定しない限り時刻調整しない」なんですね。読解力がないので誤解していました。

このcron表現によるスケジュール設定について、ログに表示される実行間隔が9時間ずれているようなのですが、UTCで指定する必要があるのでしょうか?

ついでに誤解しているかもしれないところを質問します。

ご案内いただいた資料には、ntpによる時刻調整の有効・無効を設定する方法は書かれていますが、ntpを使わない時刻同期を無効にする方法が読み取れません。
ntpによる時刻調整の有効にすると、ntpを使わない時刻同期は無効になる(ntpによる時刻調整とntpを使わない時刻同期は排他)と考えてよいのでしょうか?

ご指摘ありがとうございます!
確かに後の説明と先頭とで一貫していない表現ですね。こちら、改善いたします。
この利用ガイドはあくまでご利用いただく皆様のためのものですので、わかりにくい、間違いがある、説明をもっとほしいなどありましたら、ぜひお知らせください。

こちら、詳細を調査いたしますので、状況を教えていただけますでしょうか?
具体的には、お使いのタイムゾーン、設定したcron表現を教えてください。
よろしくお願いいたします。

ご指摘ありがとうございます。
NTPを使わない時刻同期は、常にONの状態となります。このため、NTPを有効にした場合でも「NTPを使わない時刻同期」は有効になっており、その場合は最終的にNTPの時刻が優先されます。
この点も利用ガイドにて明記いたします。

image_2018-04-26-candy-pi-lite-raspbian-lite-en_US.zipを使っており、タイムゾーンはraspi-configコマンドでAsia/Tokyoに設定してあります。

毎日1回、17時に時刻合わせを実行するとして、cron表現を次のように設定します。

'0 17 * * *'

現在の時刻が、

$ date
Mon May  7 16:00:00 JST 2018

として、candy-pi-liteサービスを再起動すると、ログの末尾に、

May  7 16:00:37 sample server_main.__init__: [NOTICE] <candy-pi-lite> Will restart within 35962 seconds

のように表示されます。

16時に17時実行の予定を入れたのですから、次回の実行までは約3,600秒になるはずですが、表示は約36,000秒になっています。

ご返答までお時間をいただいておりましたが、CRONの設定についてローカルタイムゾーンを利用する動作を正とするため修正しました。

また、次回の起動日時も秒ではなく2018-05-31T17:00:00 JSTのように表示されます。
ご確認ください。

インストールしてみました。
インストール途中でエラーや警告のようなものが表示されるので、正しくインストールされたのかどうか不安ですけど、起動日時の表示は直っているようです。

時刻同期について要望があります。

  • 網側から切断されるごとに時刻を合わせるのはやめてほしい
  • NTPを使っているときはNTPを使わない時刻同期はオフにしたい

切断されるごと(およそ1時間周期)に時刻を合わせる必要などないと思います。CRONで1日1回実行すれば十分です。
それに精度の異なる2つの時刻同期方法を同時に使いたい人なんているんでしょうか?
時刻がブレまくって困るのでなんとかしてほしいです。

具体的なご要望ありがとうございます。
精度の違う時刻調整が混在するのを避けるため、NTPを有効にした場合は、網側の時刻同期は停止するような形の動きに変更いたします。
網側からの切断のたびに時刻合わせが発生する点については、網側の時刻とのズレが1秒にならない限り行わないようにするような動作を検討します(網側の時刻精度は1秒単位であるため)。

お待たせしました。
時刻関係の変更を入れたアップデートをリリースいたしましたので下記をご覧ください。