eHD experiences with VDR

Message ID 20090228125412.GA4707@ankka.com
State New
Headers

Commit Message

Antti Hartikainen Feb. 28, 2009, 12:54 p.m. UTC
  On Sat, Feb 28, 2009 at 12:13:42PM +0000, Morfsta wrote:
> On Thu, Feb 26, 2009 at 6:52 PM, Antti Hartikainen <ami+vdr@ah.fi> wrote:
> > S2API patch didn't work with my DVB-T tuners so i needed to change tuning code from dvbdevice.c a little bit (to do it like scan-s2
> > did, as tuning worked fine with it)
> 
> I had the same problem, can you post a diff to apply on top of the
> S2API patch to fix the DVB-T tuning problem?

Well.. I don't really recommend using this one, it completely ignores almost all settings from VDR channels config and uses 
autopilot instead. Works for me, it's an ugly hack and i don't recommend it to be used. And it forces transponder bandwidth to 8MHz, 
as it's only one in use in Finland. I didn't want to make things more complicated (like to get settings from vdr ;)).
  

Patch

--- dvbdevice.c-orig	2009-02-28 14:46:17.000000000 +0200
+++ dvbdevice.c	2009-02-28 14:51:01.000000000 +0200
@@ -338,27 +338,32 @@ 
   {
      // DVB-T
      Frontend[0].cmd = DTV_DELIVERY_SYSTEM;
-     Frontend[0].u.data = fe_delivery_system_t(channel.System());	
+//     Frontend[0].u.data = fe_delivery_system_t(channel.System());	
+     Frontend[0].u.data = SYS_DVBT;
      Frontend[1].cmd = DTV_FREQUENCY;
      Frontend[1].u.data = FrequencyToHz(channel.Frequency()); 
      Frontend[2].cmd = DTV_INVERSION;
      Frontend[2].u.data = fe_spectral_inversion_t(channel.Inversion());
-     Frontend[3].cmd = DTV_BANDWIDTH_HZ;
-     Frontend[3].u.data = fe_bandwidth_t(channel.Bandwidth());
-     Frontend[4].cmd = DTV_CODE_RATE_HP;
-     Frontend[4].u.data = fe_code_rate_t(channel.CoderateH());
-     Frontend[5].cmd = DTV_CODE_RATE_LP;
-     Frontend[5].u.data = fe_code_rate_t(channel.CoderateL());
-     Frontend[6].cmd = DTV_MODULATION;
-     Frontend[6].u.data = fe_modulation_t(channel.Modulation());
-     Frontend[7].cmd = DTV_TRANSMISSION_MODE;
-     Frontend[7].u.data = fe_transmit_mode_t(channel.Transmission());
-     Frontend[8].cmd = DTV_GUARD_INTERVAL;
-     Frontend[8].u.data = fe_guard_interval_t(channel.Guard());
-     Frontend[9].cmd = DTV_HIERARCHY;
-     Frontend[9].u.data = fe_hierarchy_t(channel.Hierarchy());
-     Frontend[10].cmd = DTV_TUNE;
-     cmdseq.num = 11;
+     Frontend[3].cmd = DTV_SYMBOL_RATE;
+     Frontend[3].u.data = 0;
+     Frontend[4].cmd = DTV_BANDWIDTH_HZ;
+     Frontend[4].u.data = 8000000;
+/*     Frontend[5].cmd = DTV_CODE_RATE_HP;
+     Frontend[5].u.data = fe_code_rate_t(channel.CoderateH());
+     Frontend[6].cmd = DTV_CODE_RATE_LP;
+     Frontend[6].u.data = fe_code_rate_t(channel.CoderateL());
+     Frontend[7].cmd = DTV_MODULATION;
+     Frontend[7].u.data = fe_modulation_t(channel.Modulation());
+     Frontend[8].cmd = DTV_TRANSMISSION_MODE;
+     Frontend[8].u.data = fe_transmit_mode_t(channel.Transmission());
+     Frontend[9].cmd = DTV_GUARD_INTERVAL;
+     Frontend[9].u.data = fe_guard_interval_t(channel.Guard());
+     Frontend[10].cmd = DTV_HIERARCHY;
+     Frontend[10].u.data = fe_hierarchy_t(channel.Hierarchy());*/
+     Frontend[5].cmd = DTV_PILOT;
+     Frontend[5].u.data = PILOT_AUTO;
+     Frontend[6].cmd = DTV_TUNE;
+     cmdseq.num = 7;
      cmdseq.props = Frontend;
 
      tuneTimeout = DVBT_TUNE_TIMEOUT;