[linux-dvb] [FIXEd] Bug Report - Twinhan vp-1020, bt_8xx driver + frontend

Alain Turbide aturbide at rogers.com
Tue Dec 2 20:05:44 CET 2008

Well, it's not a difficult fix now that I see it.  The issue was that the 
original default for FE_ALGO_SW was 0 while FE_ALGO_HW was 1.
Since there is an older documented option for the dst module called dst_algo 
that some people might still be using to force the tuning algo to sofware by 
setting dst_algo=0, there is no choice but to also make the default of 
DVBFE_ALGO_SW to also be 0 so that the values will match and the new code 
will still function with users who force dst_algo=0 on the dst module load..
The fix would thus be to go from: this in dvb_frontend.h
enum dvbfe_algo {
        DVBFE_ALGO_HW                   = (1 <<  0),
        DVBFE_ALGO_SW                   = (1 << 1),
        DVBFE_ALGO_CUSTOM               = (1 <<  2),
        DVBFE_ALGO_RECOVERY             = (1 << 31)

to this:
enum dvbfe_algo {
        DVBFE_ALGO_HW                   = (1 <<  0),
        DVBFE_ALGO_SW                   = 0,
        DVBFE_ALGO_CUSTOM               = (1 <<  2),
        DVBFE_ALGO_RECOVERY             = (1 << 31)

This is what I've done now and works well. This is the only change required 
to fix the issue.   In dst.c we could also default dst_algo to 
DVB_FRONTEND_SW instead of 0 to make it more robust.  I can't see any code 
else where that depends on DVBFE_ALGO_SW being set to 2.

For those that do not want to patch code, the alternate way to get the cards 
to work is to simply load the dst module with the dst_algo parm set. to 2:
ie. modprobe dst dst_algo=2   ( to have the dst module return the current 
value of DVBFE_ALGO_SW) back to the front end code.

----- Original Message ----- 
From: "VDR User" <user.vdr at gmail.com>
To: "Alain Turbide" <aturbide at rogers.com>
Cc: <linux-dvb at linuxtv.org>
Sent: Tuesday, December 02, 2008 12:37 PM
Subject: Re: [linux-dvb] [FIXEd] Bug Report - Twinhan vp-1020, bt_8xx driver 
+ frontend

> 2008/12/1 Alain Turbide <aturbide at rogers.com>:
>> Digging in a little further.The dst_algo (which the twinhan uses) is set 
>> to
>> return  0 as the default setting for the SW algo in dst.c, yet in
>> dvb_frontend.h, the DVBFE_ALGO_SW algo is defined as 2.  Which is the
>> correct one here? Should dst.c be changed to return 2 as sw or is 0 the
>> correct number for the SW algo and thus DVBFE_ALGO_SW be changed to 
>> return
>> 0?
> Is nobody else looking into this?!  I would think this bug would have
> received a little more attention considering the number of people
> affected!
> Please keep up the work, it's much appreciated!  I, on behalf of
> several others who aren't subscribed to the ml, am monitoring this
> thread in hopes of a proper fix.
> Thanks!
> -Derek 

This email has been scanned by the MessageLabs Email Security System.
For more information please visit http://www.messagelabs.com/email 

More information about the linux-dvb mailing list