i2c_master_send(c, soft_reset, 2);
        msleep(1);
 
+       expert_mode[1] = t->tda8290_easy_mode + 0x80;
        i2c_master_send(c, expert_mode, 2);
        i2c_master_send(c, gainset_off, 2);
        i2c_master_send(c, if_agc_spd, 2);
                tuner_dbg("tda8290 is locked, AGC: %d\n", agc_stat);
        else
                tuner_dbg("tda8290 not locked, no signal?\n");
-       if ((agc_stat > 115) || (!(pll_stat & 0x80) && (adc_sat <20))) {
-               tuner_dbg("adjust gain, step 1. Agc: %d\n", agc_stat);
+       if ((agc_stat > 115) || (!(pll_stat & 0x80) && (adc_sat < 20))) {
+               tuner_dbg("adjust gain, step 1. Agc: %d, ADC stat: %d, lock: %d\n",
+                          agc_stat, adc_sat, pll_stat & 0x80);
                i2c_master_send(c, gainset_2, 2);
                msleep(100);
                i2c_master_send(c, &addr_agc_stat, 1);
                i2c_master_send(c, &addr_pll_stat, 1);
                i2c_master_recv(c, &pll_stat, 1);
                if ((agc_stat > 115) || !(pll_stat & 0x80)) {
-                       tuner_dbg("adjust gain, step 2. Agc: %d\n", agc_stat);
+                       tuner_dbg("adjust gain, step 2. Agc: %d, lock: %d\n",
+                                  agc_stat, pll_stat & 0x80);
                        if (t->tda827x_ver != 0)
                                tda827xa_agcf(c);
                        else
                i2c_master_send(c, &addr_pll_stat, 1);
                i2c_master_recv(c, &pll_stat, 1);
                if ((adc_sat > 20) || !(pll_stat & 0x80)) {
+                       tuner_dbg("trying to resolve SECAM L deadlock\n");
                        i2c_master_send(c, agc_rst_on, 2);
                        msleep(40);
                        i2c_master_send(c, agc_rst_off, 2);
 
 static void set_audio(struct tuner *t)
 {
-       t->tda827x_lpsel = 0;
+       char* mode;
 
+       t->tda827x_lpsel = 0;
+       mode = "xx";
        if (t->std & V4L2_STD_MN) {
                t->sgIF = 92;
                t->tda8290_easy_mode = 0x01;
                t->tda827x_lpsel = 1;
+               mode = "MN";
        } else if (t->std & V4L2_STD_B) {
                t->sgIF = 108;
                t->tda8290_easy_mode = 0x02;
+               mode = "B";
        } else if (t->std & V4L2_STD_GH) {
                t->sgIF = 124;
                t->tda8290_easy_mode = 0x04;
+               mode = "GH";
        } else if (t->std & V4L2_STD_PAL_I) {
                t->sgIF = 124;
                t->tda8290_easy_mode = 0x08;
+               mode = "I";
        } else if (t->std & V4L2_STD_DK) {
                t->sgIF = 124;
                t->tda8290_easy_mode = 0x10;
+               mode = "DK";
        } else if (t->std & V4L2_STD_SECAM_L) {
                t->sgIF = 124;
                t->tda8290_easy_mode = 0x20;
+               mode = "L";
        }
+    tuner_dbg("setting tda8290 to system %s\n", mode);
 }
 
 static void set_tv_freq(struct i2c_client *c, unsigned int freq)