Difference between revisions of "TwinhanDTV HDTV Mini Cab"
From LinuxMCE
(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 | + | 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 | + | 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]] | + | --[[User:Mami|Mami]] 22:27, 29 July 2008 (PDT) |
Revision as of 06:27, 30 July 2008
Contents |
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)