Android: Watching Data Sessions in Real Time

Field Tools: ADB RILJ - Watching Data Sessions in Real Time
ADB radio logs can show more than RF measurements.

With a simple filter: adb logcat -v time -b radio -s RILJ | FINDSTR /i “DATA_CALL”

RILJ can provide a lightweight real-time view of how Android is being informed about data-session activity.

In this capture, the log exposes:
:small_blue_diamond: Data call setup events
:small_blue_diamond: Multiple active CIDs
:small_blue_diamond: IPv4 and IPv6 contexts
:small_blue_diamond: Interface and IP addressing information
:small_blue_diamond: A later DEACTIVATE_DATA_CALL event

This isn’t NAS decoding or modem tracing. It’s Android-level visibility into the data-call state being reported by the modem using tools already available through ADB.

For field testing, that can be useful when correlating connectivity changes, IP allocation and user-visible data interruptions before reaching for deeper vendor logging tools.

Sometimes a simple filtered log is enough to tell you where to look next.

LinkedIn: :backhand_index_pointing_down:

Useful lightweight checkpoint. One practical trap on DSDS devices: do not assume that a CID alone identifies the SIM or session across the whole device. Bind each event to the phoneId/subId and interface, then align it with ConnectivityService or NetworkAgent state and a timestamped traffic interruption. If deeper traces are available, correlate the Android event with NAS session management and PDCP activity. A DEACTIVATE_DATA_CALL line proves that Android was informed of a state change; it does not by itself prove where or why the session failed.