[linux-dvb] [PATCH] fix for CX24123 & low symbol rates

Yeasah Pell yeasah at schwide.com
Tue Mar 14 05:21:25 CET 2006

I have a KWorld DVB-S 100 that I've been trying to get working under
Linux 2.6.15 (FC4). I've applied Vadim's patch

-- as far as I know this is the latest?) and now DiSEqC works perfectly,
for both a USALS (GotoX) positioner and a 4 port switch. I haven't
gotten anything to tune, though. I get FE_HAS_SIGNAL, and occasionally
CARRIER and VITERBI, but that's it. I'm in North America, so the LOF is
different (10.75GHz), maybe the modified bands don't work well in this

Anyway, I was reviewing the patch to see if I could notice anything that
seemed out of place, and I did find one thing that is definitely not
right (though it doesn't seem to make much of a difference.) The call to
cx24123_readlnbreg in this part of the patch should be a call to
cx24123_readreg instead:

+    /* set the FILTUNE voltage */
+    val = cx24123_readlnbreg(state, 0x28) & ~0x3;
+    cx24123_writereg(state, 0x27, state->FILTUNE >> 2);
+    cx24123_writereg(state, 0x28, val | (state->FILTUNE & 0x3));

It's clearly intended to preserve the non-FILTUNE bits of register 0x28,
but instead ends up merging in bits from the stored LNB setup. Seems
like somebody's fingers got a little too used to typing 'readlnbreg'
instead of 'readreg' :-)

Anyway, thanks for the patch!

More information about the linux-dvb mailing list