TwinhanDTV HDTV Mini Cab: Difference between revisions
Appearance
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... |
No edit summary |
||
| 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 05: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)