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...)
 
 
(9 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 +
[[Category: Hardware]]
 +
[[Category: DVB-C]]
 +
{{versioninfo}}
 
  {| align="right"
 
  {| align="right"
 
   | __TOC__
 
   | __TOC__
 
   |}
 
   |}
[[Category: Hardware]]
 
 
[[Category: Video]]
 
[[Category: Video]]
 
[[Category: TV Cards]]
 
[[Category: TV Cards]]
  
 
= Cards =
 
= Cards =
*TwinhanDTV HDTV Mini Cab DVB-C
+
*TwinhanDTV HDTV Mini Cab DVB-C (VP-2021) [http://www.afterdawn.com/hardware/product_details.cfm/227/twinhan_dtv_hdtv_mini_cab]
  
 
= Problem =
 
= Problem =
To get this working in linux you need to change some code in kernel, else the kernel thing it has an onboard CI.
+
There is a other TwinhanDTV card whit CI that has the same ID as this one.
 +
You can use this card "as it is", but you can't scan for channels then.
 +
To get this working you need to change some kernel code.
  
 
== Solution ==
 
== Solution ==
 
Download kernel source (via apt-get) + nessesary packages!
 
Download kernel source (via apt-get) + nessesary packages!
  apt-get install linux-source-2.6.22 kernel-package libncurses5-dev fakeroot (all?)
+
  apt-get install linux-source-2.6.22 kernel-package libncurses5-dev (all?)
 
  tar jxvf <kernel source>
 
  tar jxvf <kernel source>
 
  ln -s <kernel source> linux
 
  ln -s <kernel source> linux
 
  cd 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
 
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 34: Line 55:
  
 
Use default kernel .config
 
Use default kernel .config
  cp /boot/config-<version> .config
+
  cp /boot/config-$(uname -r) .config
  
 
Apply config and prepare
 
Apply config and prepare
  make oldconfig && make prepare
+
  make oldconfig && make prepare && make prepare scripts
  
 
Build only the driver
 
Build only the driver
 
  make M=drivers/media/dvb/bt8xx/
 
  make M=drivers/media/dvb/bt8xx/
  
Copy modules to your fedault working kernel
+
Copy modules to your default working kernel
 
  cp drivers/media/dvb/bt8xx/*.ko /lib/modules/<version>/kernel/drivers/media/dvb/bt8xx/
 
  cp drivers/media/dvb/bt8xx/*.ko /lib/modules/<version>/kernel/drivers/media/dvb/bt8xx/
  
Line 50: Line 71:
 
----
 
----
  
--[[User:Mami|Mami]] 10:01, 29 July 2008 (PDT)
+
--[[User:Mami|Mami]] 04:45, 1 August 2008 (PDT)

Latest revision as of 16:20, 29 September 2010

Version Status Date Updated Updated By
710 Unknown N/A N/A
810 Unknown N/A N/A
1004 Unknown N/A N/A
1204 Unknown N/A N/A
1404 Unknown N/A N/A
Usage Information

Cards

  • TwinhanDTV HDTV Mini Cab DVB-C (VP-2021) [1]

Problem

There is a other TwinhanDTV card whit CI that has the same ID as this one. You can use this card "as it is", but you can't scan for channels then. To get this working you need to change some kernel code.

Solution

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

apt-get install linux-source-2.6.22 kernel-package libncurses5-dev (all?)
tar jxvf <kernel source>
ln -s <kernel source> linux
cd linux

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-$(uname -r) .config

Apply config and prepare

make oldconfig && make prepare && make prepare scripts

Build only the driver

make M=drivers/media/dvb/bt8xx/

Copy modules to your default working kernel

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

Reboot



--Mami 04:45, 1 August 2008 (PDT)