1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

# Xperia 5 V + LineageOS 23:通信が“瞬断を繰り返す”→ **LTE固定**で安定化(PowerShellによる10分ネットワーク健診付き)

Last updated at Posted at 2025-10-30

更新日:2025-10-30

TL;DR

  • 優先ネットワーク:4G(推奨)に固定VoLTE ON → 10分計測でパケットロス 0%、平均RTT 約38ms
  • grep は Windows PowerShell では使えないため findstr を使用。
  • Can't find service: telephony/ims は環境や権限による表示仕様で、本件の安定化可否とは無関係

環境

  • 端末:Xperia 5 V (pdx237)
  • OS:LineageOS 23
  • 回線:NTT DOCOMO (LTE/NR NSA 表示あり)
  • 設定:優先ネットワーク=4G(推奨)VoLTE=ON

症状(発生時のログ兆候)

dumpsys phone に以下が頻発:

  • onDataConnectionStateChanged(DISCONNECTED, UNKNOWN)
  • notifyServiceStateForSubscriber: ... OUT_OF_SERVICE
  • fail cause: RADIO_NOT_AVAILABLE
  • TelephonyDisplayInfo { network=LTE, overrideNetwork=NR_NSA }短時間で切り替わる

5G NSA⇄LTE 切替の瞬間にデータが一過性に切断される挙動。


対策(結論)

  1. 優先ネットワークの種類4G(推奨) に固定
  2. VoLTEON(4G通話を許可)

→ 以降、IN_SERVICE(LTE) が安定推移。10分健診でロス0%・遅延も平常範囲。


10分ネットワーク健診(PowerShellスクリプト)

Windows(PowerShell 7/Windows PowerShell 5 いずれも可)。
grep の代わりに findstr を使用。ログは C:\tmp\ 配下に保存。

# 保存先を作成(C:\tmp\nr_yyyyMMdd_HHmmss)
$ts  = Get-Date -Format 'yyyyMMdd_HHmmss'
$dir = "C:\tmp\nr_$ts"
New-Item -ItemType Directory -Path $dir -Force | Out-Null

$pingLog  = Join-Path $dir "ping_$ts.log"
$radioLog = Join-Path $dir "radio_$ts.log"

"=== START $(Get-Date) ===" | Out-File $radioLog -Encoding UTF8

# (1) 10分間の ping をバックグラウンドで実行(1秒間隔×600)
Start-Job -Name PingJob -ScriptBlock { adb shell ping -c 600 -i 1 8.8.8.8 } `
  | Out-Null

# (2) 毎分1回、計10回の無線状態スナップショット
1..10 | ForEach-Object {
  "---- SNAPSHOT $_ @ $(Get-Date) ----" | Add-Content $radioLog
  # dumpsys phone → Windows標準 findstr で欲しい行だけ抽出
  adb shell dumpsys phone 2>&1 `
    | findstr /i /c:"DataRegState" /c:"DISCONNECTED" /c:"OUT_OF_SERVICE" `
               /c:"IN_SERVICE"   /c:"fail cause"   /c:" network=LTE" `
               /c:"overrideNetwork=NR_NSA" /c:"isUsingCarrierAggregation" `
    | Add-Content $radioLog
  Start-Sleep -Seconds 60
}

# (3) ping 結果を取得して保存
Receive-Job -Name PingJob -Wait -AutoRemoveJob `
  | Out-File $pingLog -Encoding UTF8

Write-Host "Saved logs to: $dir"

ログの見方(要点)

切断判定:DISCONNECTED、OUT_OF_SERVICE が連続していないか

接続状態:IN_SERVICE が継続しているか

切替兆候:overrideNetwork=NR_NSA の直後に DISCONNECTED が出ていないか

原因ヒント:fail cause: RADIO_NOT_AVAILABLE が頻出しないか

実測サマリ(例)

設定:4G固定 + VoLTE ON

10分 ping:ロス 0%、平均RTT 約38ms(最大 ≈200ms 付近を稀に観測)

dumpsys phone:IN_SERVICE(LTE) 維持、NR_NSA への一瞬の切替表示はあるが切断は再現せず

参考ログ名:net_20251030_084643.log(サンプル)

よくある質問 / ハマりポイント
Q1. grep : ~認識されません と出る

原因:Windows PowerShell には grep がありません。

対応:本文スクリプトのように findstr を使います。

Q2. Can't find service: telephony / Can't find service: ims

意味:一部の service call ... 系や権限が必要な呼び出しで出る仕様。

代替:本記事では dumpsys phone と ping のユニバーサルで安全な組み合わせで判定しています。

Q3. それでも切断が出る

確認:
APNの type に default,supl(必要なら ims)が含まれているか
手動ネットワーク選択になっていないか(自動に戻す)
端末再起動/SIM再挿入/別エリアでの再検証

免責
本記事の内容は自己責任でお試しください。端末個体差・エリア・ROM/カーネル構成により結果は異なります。業務端末等では管理者ポリシーに従ってください。

付録:ワンライナー(現状把握)

# いまの無線状態をざっと確認
adb shell dumpsys phone | findstr /i /c:"DataRegState" /c:"IN_SERVICE" `
  /c:"OUT_OF_SERVICE" /c:"DISCONNECTED" /c:"fail cause" `
  /c:" network=LTE" /c:"overrideNetwork=NR_NSA"
1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?