[linux-dvb] Re: %5Blinux-dvb%5D%20Twinhan%20Cab%2FCI%202031%3A%20frontend%20entry%20sometimes%20missing

Manu Abraham abraham.manu at gmail.com
Wed Sep 27 01:24:08 CEST 2006


Zoilo Gomez wrote:
> Manu Abraham wrote:
> 
>> Zoilo Gomez wrote:
>>  
>>
>>> Hi Marcus,
>>>
>>> The problems with 2031 were unfortunately never fixed. IIRC we were left
>>> with the following problems:
>>> 1) tuner device sometimes missing in /dev/dvb/adapterX/ on boot (app.
>>> 20% of the boots, tested on 2 different machines)
>>> 2) needed to tune twice in case of freq change; the first time would
>>> almost never give a lock (but sometimes it did strangely enough)
>>> 3) unstable signal, where signal would be lost after some time (hours);
>>> this problem I never investigated thoroughly, because of 1) and 2) which
>>> needed a solution first
>>>
> <....>
> 
>> http://linuxtv.org/hg/v4l-dvb?f=4f65bdd94527;file=linux/drivers/media/dvb/bt8xx/dst.c;style=gitweb
>>
>>
>> at line #1648, does adding a msleep(20) or something around that order
>> help ? for your problem (2) mentioned
>> for (1) try using dst_addons=0x20 as module parameter.
>>
>> You will need this patch as well (for fixing the dvb-attach). Apply this
>> patch first
>> http://article.gmane.org/gmane.linux.drivers.dvb/27792/match=
>>
>> Alongwith one of the previous patches, commenting out one line for
>> DCT-CI cards
>>
>>
>>  
>>
> 
> Unfortunately using dst_addons=0x20 for problem (1) does not seem to help.
> 
> I dug up 2 of my 2031 cards, and put them in a machine. First time after
> boot, both cards did show a tuner; but the second time the tuner of
> adapter0 failed as follows:
> 
>> /dev/dvb/
>> /dev/dvb/adapter1
>> /dev/dvb/adapter1/frontend0
>> /dev/dvb/adapter1/ca0
>> /dev/dvb/adapter1/net0
>> /dev/dvb/adapter1/dvr0
>> /dev/dvb/adapter1/demux0
>> /dev/dvb/adapter0
>> /dev/dvb/adapter0/dvr0
>> /dev/dvb/adapter0/net0
>> /dev/dvb/adapter0/demux0
>>  
>>
> 
> Here is how I loaded my modules:
> 
>> dvb_core dvb_shutdown_timeout=0
>> bttv i2c_hw=1 card=0x71
>> bt878
>> dst verbose=5 dst_addons=0x20
>> dst_ca
>> dvb-bt8xx
>>  
>>
> 
> Relevant part of dmesg:
> 
>> Linux video capture interface: v2.00
>> bttv: driver version 0.9.16 loaded
>> bttv: using 8 buffers with 2080k (520 pages) each for capture
>> bttv: Bt8xx card found (0).
>> ACPI: PCI Interrupt 0000:00:09.0[A] -> GSI 17 (level, low) -> IRQ 16
>> bttv0: Bt878 (rev 17) at 0000:00:09.0, irq: 16, latency: 32, mmio:
>> 0xef000000
>> bttv0: detected: Twinhan VisionPlus DVB [card=113], PCI subsystem ID
>> is 1822:0001
>> bttv0: using: Twinhan DST + clones [card=113,insmod option]
>> bttv0: gpio: en=00000000, out=00000000 in=00f100fd [init]
>> bttv0: using tuner=4
>> bttv0: add subdevice "dvb0"
>> bttv: Bt8xx card found (1).
>> ACPI: PCI Interrupt 0000:00:0a.0[A] -> GSI 18 (level, low) -> IRQ 18
>> bttv1: Bt878 (rev 17) at 0000:00:0a.0, irq: 18, latency: 32, mmio:
>> 0xee000000
>> bttv1: detected: Twinhan VisionPlus DVB [card=113], PCI subsystem ID
>> is 1822:0001
>> bttv1: using: Twinhan DST + clones [card=113,autodetected]
>> bttv1: gpio: en=00000000, out=00000000 in=00f100fd [init]
>> bttv1: using tuner=4
>> bttv1: add subdevice "dvb1"
>> bt878: AUDIO driver version 0.0.0 loaded
>> bt878: Bt878 AUDIO function found (0).
>> ACPI: PCI Interrupt 0000:00:09.1[A] -> GSI 17 (level, low) -> IRQ 16
>> bt878_probe: card id=[0x11822],[ Twinhan VisionPlus DVB ] has DVB
>> functions.
>> bt878(0): Bt878 (rev 17) at 00:09.1, irq: 16, latency: 32, memory:
>> 0xee800000
>> bt878: Bt878 AUDIO function found (1).
>> ACPI: PCI Interrupt 0000:00:0a.1[A] -> GSI 18 (level, low) -> IRQ 18
>> bt878_probe: card id=[0x11822],[ Twinhan VisionPlus DVB ] has DVB
>> functions.
>> bt878(1): Bt878 (rev 17) at 00:0a.1, irq: 18, latency: 32, memory:
>> 0xed800000
>> DVB: registering new adapter (bttv0).
>> dst(0) rdc_8820_reset: Resetting DST
>> dst(0) dst_gpio_outb: mask=[0004], enbb=[0004], outhigh=[0000]
>> dst(0) dst_gpio_outb: mask=[0004], enbb=[0004], outhigh=[0004]
>> dst(0) dst_comm_init: Initializing DST.
>> dst(0) dst_gpio_outb: mask=[ffffffff], enbb=[0001], outhigh=[0000]
>> dst(0) rdc_reset_state: Resetting state machine
>> dst(0) dst_gpio_outb: mask=[0002], enbb=[0002], outhigh=[0000]
>> dst(0) dst_gpio_outb: mask=[0002], enbb=[0002], outhigh=[0002]
>> writing [ 00 06 00 00 00 00 00 fa ]
>> dst(0) dst_gpio_outb: mask=[ffffffff], enbb=[0000], outhigh=[0000]
>> dst(0) read_dst: reply is 0xff
>> dst(0) dst_wait_dst_ready: dst wait ready after 1
>> dst(0) read_dst: reply is 0x0
>> 0x44 0x43 0x54 0xd 0x43 0x49 0x6c
>> dst(0) dst_gpio_outb: mask=[ffffffff], enbb=[0000], outhigh=[0000]
>> dst(0) dst_get_device_id: Checksum failure!
>> dst(0) dst_probe: unknown device.
>> frontend_init: Could not find a Twinhan DST.
>> dvb-bt8xx: A frontend driver was not found for device 109e/0878
>> subsystem 1822/0001
>> DVB: registering new adapter (bttv1).
>> dst(1) rdc_8820_reset: Resetting DST
>> dst(1) dst_gpio_outb: mask=[0004], enbb=[0004], outhigh=[0000]
>> dst(1) dst_gpio_outb: mask=[0004], enbb=[0004], outhigh=[0004]
>> dst(1) dst_comm_init: Initializing DST.
>> dst(1) dst_gpio_outb: mask=[ffffffff], enbb=[0001], outhigh=[0000]
>> dst(1) rdc_reset_state: Resetting state machine
>> dst(1) dst_gpio_outb: mask=[0002], enbb=[0002], outhigh=[0000]
>> dst(1) dst_gpio_outb: mask=[0002], enbb=[0002], outhigh=[0002]
>> writing [ 00 06 00 00 00 00 00 fa ]
>> dst(1) dst_gpio_outb: mask=[ffffffff], enbb=[0000], outhigh=[0000]
>> dst(1) read_dst: reply is 0xff
>> dst(1) dst_wait_dst_ready: dst wait ready after 1
>> dst(1) read_dst: reply is 0x0
>> 0x44 0x43 0x54 0x2d 0x43 0x49 0x6c
>> dst(1) dst_gpio_outb: mask=[ffffffff], enbb=[0000], outhigh=[0000]
>> dst(1) dst_get_device_id: Recognise [DCT-CI]
>> dst(1) dst_type_print: DST type: cable
>> DST type flags : 0x1000 VLF 0x8 firmware version = 1 0x10 firmware
>> version = 2
>> dst(1) dst_comm_init: Initializing DST.
>> dst(1) dst_gpio_outb: mask=[ffffffff], enbb=[0001], outhigh=[0000]
>> dst(1) rdc_reset_state: Resetting state machine
>> dst(1) dst_gpio_outb: mask=[0002], enbb=[0002], outhigh=[0000]
>> dst(1) dst_gpio_outb: mask=[0002], enbb=[0002], outhigh=[0002]
>> writing [ 00 0a 00 00 00 00 00 f6 ]
>> dst(1) dst_gpio_outb: mask=[ffffffff], enbb=[0000], outhigh=[0000]
>> dst(1) read_dst: reply is 0xff
>> dst(1) dst_wait_dst_ready: dst wait ready after 0
>> dst(1) read_dst: reply is 0x0
>> 0x8 0xca 0x10 0x16 0x15 0xaf 0x44
>> dst(1) dst_get_mac: MAC Address=[00:08:ca:16:15:00]
>> dst(1) dst_get_tuner_info: DST TYpe = MULTI FE
>> dst(1) dst_comm_init: Initializing DST.
>> dst(1) dst_gpio_outb: mask=[ffffffff], enbb=[0001], outhigh=[0000]
>> dst(1) rdc_reset_state: Resetting state machine
>> dst(1) dst_gpio_outb: mask=[0002], enbb=[0002], outhigh=[0000]
>> dst(1) dst_gpio_outb: mask=[0002], enbb=[0002], outhigh=[0002]
>> writing [ 00 13 00 00 00 00 00 ed ]
>> dst(1) dst_gpio_outb: mask=[ffffffff], enbb=[0000], outhigh=[0000]
>> dst(1) read_dst: reply is 0xff
>> dst(1) dst_wait_dst_ready: dst wait ready after 0
>> dst(1) read_dst: reply is 0xbc
>> 0x1 0x0 0x0 0x0 0x0 0x0 0x43
>> dst(1) dst_get_tuner_info: DST type has TS=188
>> dst(1) dst_get_tuner_info: DST has Daughterboard
>> dst_ca_attach: registering DST-CA device
>> DVB: registering frontend 1 (DST DVB-C)...
>>  
>>
> 
> Apparently there is some checksum failure reported on adapter0. However,
> if I boot it again then there is 80% chance that the problem does not
> occur .....

request a replacement for that card. If you see that checksum error once
and then not
That is a hardware failure, most probably

> 
> Now I will go and see if msleep(20) makes a difference for problem (2).
> 
> Z.
> 
> 

Manu



More information about the linux-dvb mailing list