Difference between revisions of "TwinhanDTV HDTV Mini Cab"

From LinuxMCE
Jump to: navigation, search
(New page: {| align="right" | __TOC__ |} Category: Hardware Category: Video Category: TV Cards = Cards = *TwinhanDTV HDTV Mini Cab DVB-C = Problem = To get this working in linux yo...)
 
Line 23: Line 23:
  
 
Edit drivers/media/dvb/bt8xx/dst.c in kernel source
 
Edit drivers/media/dvb/bt8xx/dst.c in kernel source
  Line 850:
+
  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,
 
  .dst_feature =  DST_TYPE_HAS_CA,
 
  To:
 
  To:
 
  .dst_feature =  0,
 
  .dst_feature =  0,
  
  Line 1360:
+
  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) &&
 
  !(state->dst_type == DST_TYPE_IS_CABLE) &&
 
  To:
 
  To:
Line 50: Line 70:
 
----
 
----
  
--[[User:Mami|Mami]] 10:01, 29 July 2008 (PDT)
+
--[[User:Mami|Mami]] 22:27, 29 July 2008 (PDT)

Revision as of 06:27, 30 July 2008

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)