@@ -946,7 +946,7 @@ static int r82xx_set_if_filter(struct r82xx_priv *priv, int hpf, int lpf) {
946946	else  if (cal  >  15 ) cal  =  15 ;
947947	priv -> fil_cal_code  =  cal ;
948948
949- 	fprintf (stderr , "Setting IF filter for %d...%d kHz: hp_cor=0x%02x, fil_cal_code=%d\n" , hpf , lpf , hp_cor , cal );
949+ 	// fprintf(stderr, "Setting IF filter for %d...%d kHz: hp_cor=0x%02x, fil_cal_code=%d\n", hpf, lpf, hp_cor, cal);
950950
951951	rc  =  r82xx_write_reg_mask (priv , 0x0a ,
952952				  filt_q  | priv -> fil_cal_code , 0x1f );
@@ -1113,17 +1113,22 @@ int r82xx_set_nomod(struct r82xx_priv *priv)
11131113
11141114	fprintf (stderr , "Using R820T no-mod direct sampling mode\n" );
11151115
1116- 	/*rc = r82xx_set_bw(priv, 1000000); 
1117- 	if (rc < 0) 
1118- 		goto err;*/ 
1116+ 	/* should probably play a bit more with the mux settings 
1117+ 	    to see if something works even better than this */ 
11191118
1120- 	/* experimentally determined magic numbers 
1121- 	 * needs more experimenting with all the registers */ 
11221119	rc  =  r82xx_set_mux (priv , 300000000 );
1123- 	if  (rc  <  0 )
1124- 		goto err ;
1120+ 	if  (rc  <  0 ) goto err ;
1121+ 
1122+ 	/* the VCO frequency setting still seems to have some effect on the noise floor */ 
1123+ 	rc  =  r82xx_set_pll (priv , 50000000 );
1124+ 	if  (rc  <  0 ) goto err ;
1125+ 
1126+ 	/* the most important part: set a divider number that does not really work */ 
1127+ 	rc  =  r82xx_write_reg_mask (priv , 0x10 , 0xd0 , 0xe0 );
1128+ 	if  (rc  <  0 ) goto err ;
11251129
1126- 	r82xx_set_pll (priv , 25000000 );
1130+ 	/* VCO power off? */ 
1131+ 	rc  =  r82xx_write_reg_mask (priv , 0x12 , 0xe0 , 0xe0 );
11271132
11281133err :
11291134	if  (rc  <  0 )
0 commit comments