diff -r -u -N -X diff.exclude -x release.19962.0209a -x release.19962.0209b release.19962.0209a/mythtv/libs/libmythtv/hdhrchannel.cpp release.19962.0209b/mythtv/libs/libmythtv/hdhrchannel.cpp
--- mythtv/libs/libmythtv/hdhrchannel.cpp	2009-02-09 06:31:53.000000000 -0600
+++ mythtv/libs/libmythtv/hdhrchannel.cpp	2009-02-18 10:50:33.000000000 -0600
@@ -257,6 +257,8 @@
         ok = _stream_handler->TuneChannel(QString("qam64:%1").arg(frequency));
     else if (modulation == "qam_256")
         ok = _stream_handler->TuneChannel(QString("qam256:%1").arg(frequency));
+    else if (modulation == "auto")
+        ok = _stream_handler->TuneChannel(QString("auto:%1").arg(frequency));
 
     if (ok)
         SetSIStandard(si_std);
diff -r -u -N -X diff.exclude -x release.19962.0209a -x release.19962.0209b release.19962.0209a/mythtv/libs/libmythtv/hdhrrecorder.cpp release.19962.0209b/mythtv/libs/libmythtv/hdhrrecorder.cpp
--- mythtv/libs/libmythtv/hdhrrecorder.cpp	2009-02-09 06:31:53.000000000 -0600
+++ mythtv/libs/libmythtv/hdhrrecorder.cpp	2009-02-18 10:50:33.000000000 -0600
@@ -25,6 +25,7 @@
 #include "RingBuffer.h"
 #include "atsctables.h"
 #include "atscstreamdata.h"
+#include "dvbstreamdata.h"
 #include "eithelper.h"
 #include "tv_rec.h"
 
@@ -161,6 +162,10 @@
         data->AddMPEGSPListener(this);
         data->AddMPEGListener(this);
 
+        DVBStreamData *dvb = dynamic_cast<DVBStreamData*>(data);
+        if (dvb)
+            dvb->AddDVBMainListener(this);
+
         ATSCStreamData *atsc = dynamic_cast<ATSCStreamData*>(data);
 
         if (atsc && atsc->DesiredMinorChannel())
diff -r -u -N -X diff.exclude -x release.19962.0209a -x release.19962.0209b release.19962.0209a/mythtv/libs/libmythtv/hdhrrecorder.h release.19962.0209b/mythtv/libs/libmythtv/hdhrrecorder.h
--- mythtv/libs/libmythtv/hdhrrecorder.h	2009-02-09 06:31:53.000000000 -0600
+++ mythtv/libs/libmythtv/hdhrrecorder.h	2009-02-18 10:50:33.000000000 -0600
@@ -23,10 +23,11 @@
 class HDHRRecorder : public DTVRecorder,
                      public MPEGStreamListener,
                      public MPEGSingleProgramStreamListener,
+                     public DVBMainStreamListener,
+                     public ATSCMainStreamListener,
                      public TSPacketListener,
                      public TSPacketListenerAV
 {
-    friend class ATSCStreamData;
 
   public:
     HDHRRecorder(TVRec *rec, HDHRChannel *channel);
@@ -59,12 +60,15 @@
     void HandleSingleProgramPAT(ProgramAssociationTable *pat);
     void HandleSingleProgramPMT(ProgramMapTable *pmt);
 
-    /*
     // ATSC
     void HandleSTT(const SystemTimeTable*) {}
-    void HandleMGT(const MasterGuideTable *mgt);
+    void HandleMGT(const MasterGuideTable *mgt) {}
     void HandleVCT(uint, const VirtualChannelTable*) {}
-    */
+
+    // DVBMainStreamListener
+    void HandleTDT(const TimeDateTable*) {}
+    void HandleNIT(const NetworkInformationTable*) {}
+    void HandleSDT(uint /*tsid*/, const ServiceDescriptionTable*) {}
 
     // TSPacketListenerAV
     bool ProcessVideoTSPacket(const TSPacket& tspacket);
diff -r -u -N -X diff.exclude -x release.19962.0209a -x release.19962.0209b release.19962.0209a/mythtv/libs/libmythtv/scanwizardhelpers.cpp release.19962.0209b/mythtv/libs/libmythtv/scanwizardhelpers.cpp
--- mythtv/libs/libmythtv/scanwizardhelpers.cpp	2008-09-28 06:30:06.000000000 -0500
+++ mythtv/libs/libmythtv/scanwizardhelpers.cpp	2009-02-18 10:50:33.000000000 -0600
@@ -395,12 +395,21 @@
                      QString::number(DVBUtilsImport));
         break;
     case CardUtil::ATSC:
-    case CardUtil::HDHOMERUN:
         addSelection(tr("Full Scan"),
                      QString::number(FullScan_ATSC), true);
         addSelection(tr("Import channels.conf"),
                      QString::number(DVBUtilsImport));
         break;
+    case CardUtil::HDHOMERUN:
+        addSelection(tr("Full Scan (ATSC)"),
+                     QString::number(FullScan_ATSC), true);
+        addSelection(tr("Full Scan (DVB)"),
+                     QString::number(FullScan_OFDM), true);
+        addSelection(tr("Full Scan (Tuned)"),
+                     QString::number(NITAddScan_OFDM));
+        addSelection(tr("Import channels.conf"),
+                     QString::number(DVBUtilsImport));
+        break;
     case CardUtil::FREEBOX:
         addSelection(tr("M3U Import"),
                      QString::number(IPTVImport), true);
