TwinhanDTV HDTV Mini Cab

From LinuxMCE
Revision as of 06:27, 30 July 2008 by Mami (Talk | contribs)

Jump to: navigation, search

Cards

  • TwinhanDTV HDTV Mini Cab DVB-C

Problem

To get this working in linux you need to change some code in kernel, else the kernel thing it has an onboard CI.

Solution

Download kernel source (via apt-get) + nessesary packages!

apt-get install linux-source-2.6.22 kernel-package libncurses5-dev fakeroot (all?)
tar jxvf <kernel source>
ln -s <kernel source> linux
cd linux
cp /boot/config-$(uname -r) .config
make oldconfig && make prepare
make prepare scripts

Edit drivers/media/dvb/bt8xx/dst.c in kernel source

Line 845-852:
{
 .device_id = "DCT-CI",
 .offset = 1,
 .dst_type = DST_TYPE_IS_CABLE,
 .type_flags = DST_TYPE_HAS_MULTI_FE | DST_TYPE_HAS_FW_1 | DST_TYPE_HAS_FW_2 | DST_TYPE_HAS_VLF,
 .dst_feature = DST_TYPE_HAS_CA,
 .tuner_type = 0
},

Change:
.dst_feature =  DST_TYPE_HAS_CA,
To:
.dst_feature =  0,
Line 1359-1366:
if ((state->type_flags & DST_TYPE_HAS_VLF) &&
  !(state->dst_type == DST_TYPE_IS_CABLE) &&
  !(state->dst_type == DST_TYPE_IS_ATSC)) {
  
  if (state->rx_tuna[9] != dst_check_sum(&state->rx_tuna[0], 9)) {
          dprintk(verbose, DST_INFO, 1, "checksum failure ? ");
          return -EIO;
  }

Change:
!(state->dst_type == DST_TYPE_IS_CABLE) &&
To:
// !(state->dst_type == DST_TYPE_IS_CABLE) &&

Use default kernel .config

cp /boot/config-<version> .config

Apply config and prepare

make oldconfig && make prepare

Build only the driver

make M=drivers/media/dvb/bt8xx/

Copy modules to your fedault working kernel

cp drivers/media/dvb/bt8xx/*.ko /lib/modules/<version>/kernel/drivers/media/dvb/bt8xx/

Reboot



--Mami 22:27, 29 July 2008 (PDT)