5. Diagnostic fault and error codes
●
We make use of Android's (AOSP) default logging and tracing mechanisms, which
mostly means Android
logcat
messages generated by the Android framework, apps
and HAL implementations, as well as kernel logs.
●
Additionally, we use logging and diagnostics in components of third party suppliers,
most of which comes from Qualcomm. These components use the same technical
mechanisms as AOSP code: Android
logcat
and kernel logs.
●
For modem and low-level implementations, we fully rely on logging and diagnostics
implemented by our chipset vendor Qualcomm and their proprietary tooling.
●
We currently mostly use a "pure-AOSP" approach -- keeping customization compared
to AOSP to a minimum -- which facilitates maintenance and longevity
●
For any customization we add on top of AOSP and device-specific code (from
Qualcomm and other suppliers), we again make use of Android
logcat
and kernel log.
●
If you encounter a pop-up with an error code "There has been an error" then you can
use usb debugging https://developer.android.com/studio/debug/dev-options and the
"adb logcat" tool to get the full log that contains all the strings to help you figure out
what the error code is.
In summary, our failure analysis relies on analyzing Android logcat, Linux kernel logs,
and additionally Qualcomm modem logs where applicable, making use of existing
tagging mechanisms from Android and Linux to identify failing components. Within
the scope of Android and Linux kernel, we currently do not have any proprietary
formal error/fault codes (e.g., numerical error codes that follow certain specifications to
identify which code would be related to what fault state). Our fault analysis relies on
the mostly text-based analysis of Android and Linux logs.