diff --git a/services/tuner/hidl/TunerHidlFrontend.cpp b/services/tuner/hidl/TunerHidlFrontend.cpp
index bbfc90f..1f28406 100644
--- a/services/tuner/hidl/TunerHidlFrontend.cpp
+++ b/services/tuner/hidl/TunerHidlFrontend.cpp
@@ -1158,12 +1158,19 @@
     }
     case FrontendSettings::isdbt: {
         const FrontendIsdbtSettings& isdbt = aidlSettings.get<FrontendSettings::isdbt>();
+        HidlFrontendIsdbtModulation modulation = HidlFrontendIsdbtModulation::UNDEFINED;
+        HidlFrontendIsdbtCoderate coderate = HidlFrontendIsdbtCoderate::UNDEFINED;
+        if (isdbt.layerSettings.size() > 0) {
+            modulation =
+                    static_cast<HidlFrontendIsdbtModulation>(isdbt.layerSettings[0].modulation);
+            coderate = static_cast<HidlFrontendIsdbtCoderate>(isdbt.layerSettings[0].coderate);
+        }
         settings.isdbt({
                 .frequency = static_cast<uint32_t>(isdbt.frequency),
-                .modulation = static_cast<HidlFrontendIsdbtModulation>(isdbt.modulation),
+                .modulation = modulation,
                 .bandwidth = static_cast<HidlFrontendIsdbtBandwidth>(isdbt.bandwidth),
                 .mode = static_cast<HidlFrontendIsdbtMode>(isdbt.mode),
-                .coderate = static_cast<HidlFrontendIsdbtCoderate>(isdbt.coderate),
+                .coderate = coderate,
                 .guardInterval = static_cast<HidlFrontendIsdbtGuardInterval>(isdbt.guardInterval),
                 .serviceAreaId = static_cast<uint32_t>(isdbt.serviceAreaId),
         });
diff --git a/services/tuner/hidl/TunerHidlService.cpp b/services/tuner/hidl/TunerHidlService.cpp
index 8d4053a..f4b0cde 100644
--- a/services/tuner/hidl/TunerHidlService.cpp
+++ b/services/tuner/hidl/TunerHidlService.cpp
@@ -19,6 +19,7 @@
 
 #include "TunerHidlService.h"
 
+#include <aidl/android/hardware/tv/tuner/FrontendIsdbtTimeInterleaveMode.h>
 #include <aidl/android/hardware/tv/tuner/Result.h>
 #include <android/binder_manager.h>
 #include <binder/IPCThreadState.h>
@@ -42,6 +43,7 @@
 using ::aidl::android::hardware::tv::tuner::FrontendIsdbs3Capabilities;
 using ::aidl::android::hardware::tv::tuner::FrontendIsdbsCapabilities;
 using ::aidl::android::hardware::tv::tuner::FrontendIsdbtCapabilities;
+using ::aidl::android::hardware::tv::tuner::FrontendIsdbtTimeInterleaveMode;
 using ::aidl::android::hardware::tv::tuner::FrontendType;
 using ::aidl::android::hardware::tv::tuner::Result;
 using ::aidl::android::media::tv::tunerresourcemanager::TunerFrontendInfo;
@@ -618,6 +620,10 @@
                             static_cast<int32_t>(halInfo.frontendCaps.isdbtCaps().coderateCap),
                     .guardIntervalCap =
                             static_cast<int32_t>(halInfo.frontendCaps.isdbtCaps().guardIntervalCap),
+                    .timeInterleaveCap =
+                            static_cast<int32_t>(FrontendIsdbtTimeInterleaveMode::UNDEFINED),
+                    .isSegmentAuto = false,
+                    .isFullSegment = false,
             };
             caps.set<FrontendCapabilities::isdbtCaps>(isdbtCaps);
         }
