What is the Riva_fm_cal file?

It is located in /data/app on many Android devices.

It is typically a very small file (under 25 bytes), and gets recreated if deleted.


Searching the file on Google returned a source code used by GeeksPhone: android_hardware_fm.cpp.

From line #199, it seems the file is related to FM radio receiver calibration.

static jint android_hardware_fmradio_FmReceiverJNI_SetCalibrationNative
     (JNIEnv * env, jobject thiz, jint fd, jbyteArray buff)

    struct v4l2_ext_control ext_ctl;
    char tmp[CAL_DATA_SIZE] = {0x00};
    int err;
    FILE* cal_file;

    cal_file = fopen("/data/app/Riva_fm_cal", "r" );
    if(cal_file != NULL) {
        if (fread(&tmp[0],1,CAL_DATA_SIZE,cal_file) = 0){
            return FM_JNI_SUCCESS;
    }else {
        return FM_JNI_SUCCESS;
  return FM_JNI_SUCCESS;

The code is implemented inside Android framework, which means that the Android OS is the one who (re)creates this file.

  • Note: I couldn't find this file on Nexus 5 on Lollipop 5.1, so I admit I can't provide any more details beyond this.
    – Andrew T.
    Apr 22 '15 at 6:58
  • The name certainly fits that description, "fm" for FM Radio, and "cal" for calibration. Any idea of the "Riva" part? I wonder if an app is creating it or if Android is creating it. SD Maid picks it up as file to be deleted. Apr 22 '15 at 7:42
  • I honestly don't have any idea for the "Riva", searching that didn't return anything related. Also, updated the info to make it clearer.
    – Andrew T.
    Apr 22 '15 at 7:45

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.