On Sat, 2006-02-18 at 22:13 +0100, Oliver Endriss wrote: > Perceval Anichini wrote: > > Attached 2 patches : > > > > ttpci-lnbp21-set-voltage-fixed-masks sets more precisely the > > masks for the function lnbp21_set_voltage () function. This is > > an almost cosmetic patch. > > Bit 2 is set anyway, bits 0 and 1 are read-only. > Your patch would not change anything... Well, agreed. It would not change the functionnality... But the mask _was_ wrong :) > I suggest to delay that until the LNBP21 code is factored out into a > separate file. Currently there are at least 3 lnbp21 implementations > in the driver tree. Yep ! That'd be great ! But for the moment, the S1500 is _not_ working properly. That's why I send these patches. > > ttpci-tt-budget-1500s-fix fixed a S1500 issue : When set in > > vertical mode, the card loose the signal sync. The fix is to > > set the card in "high voltage mode". This has been confirmed > > from TechnoTrend. (Many thanks for their help) > > Nak. You must not enable high voltage by default. If you don't enable high voltage, the card won't work. This is the mail I had from Technotrend : ------------------------------------------------------------ Dear Mr. Perceval Anichini, I have got an other comment from our developer. Maybe it solve your problem ... _____ Yes, we always set the LLC bit to 1. No doing that is the bug in the linux driver. // 0 - Low/Off/Horiz, 1 - High/On/Vert, -1 don't change/set BOOL CDVBIoI2c::SetLnbPwrPolF22(int iPwr, int iPol, int iFEChipType) { int WrSeq[] = {0x00, 0x1f, 0x00}; BYTE CTRL; WORD Com[3] = {0, 0, 0}; BOOL res = TRUE; switch (iFEChipType) { ... case FE_0299_LNBP21: // 0 = False = H (18V); 1 = True = V (14V) case FE_BSBE1_LNBP21: if((iPwr != -1) || (iPol != -1)) { int test = 0; i2cRead(SA_LNBP21, &test, 1); test = (test & 0x1F) | 0x00; // PCL = 0; ISEL = 0; TEN = 0; if(iPol != -1) { if(iPol) test = (test & 0xE7) | 0x00; // V, LLC = 0; VSEL = 0; else test = (test & 0xE7) | 0x08; // H, LLC = 0; VSEL = 1; } if(iPwr != -1) { if(iPwr) test = (test & 0xFB) | 0x04; // EN = 1; else test = (test & 0xFB) | 0x00; // EN = 0; } test |= 0x10; // LLC==1 -> +1Volt !!!!!!!!!!!!!!!!!!!!!!!!!! i2cWrite(SA_LNBP21, &test, 1); } ... } _____ Regards Hagen ------------------------------------------------------------ > Maybe it would be useful to add a module parameter 'high_lnb_voltage' > to dvb_frontend.c. This way cable length compensation could be enabled > if the application software does not support the ioctl. This is a side effect of the hardware. If you don't enable the LLC bit, the card won't work properly... Regards ! Perceval. _______________________________________________ linux-dvb@xxxxxxxxxxx http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb