Support for Twinhan DVB-S VP-1020A has been dropped from BT878

Bug #268846 reported by Fabrice Coutadeur
18
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Expired
Medium
Unassigned

Bug Description

Hi,

Some time ago, I was able to use my VP-1020A twinhan DVB-S card with Ubuntu (don't remember version).
I was just trying to configure it for Hardy, and I discovered I wasn't able to use it: device /dev/dvd/adapter0 wasn't created.

After having a look at dmesg, I saw that:
fabrice@fabrice-desktop:/dev$ dmesg | grep bt
[ 42.892656] bttv: driver version 0.9.17 loaded
[ 42.892660] bttv: using 8 buffers with 2080k (520 pages) each for capture
[ 42.892718] bttv: Bt8xx card found (0).
[ 42.892754] bttv0: Bt878 (rev 17) at 0000:03:02.0, irq: 18, latency: 32, mmio: 0xfdffe000
[ 42.893893] bttv0: using: Twinhan DST + clones [card=113,insmod option]
[ 42.893909] bttv0: gpio: en=00000000, out=00000000 in=00fefffe [init]
[ 42.893957] bttv0: tuner absent
[ 42.893976] bttv0: add subdevice "dvb0"
[ 42.957804] bt878: AUDIO driver version 0.0.0 loaded
[ 42.957846] bt878: Bt878 AUDIO function found (0).
[ 42.957874] bt878_probe: card id=[0x0], Unknown card.
[ 42.957886] bt878: probe of 0000:03:02.1 failed with error -22
[ 42.972173] dvb_bt8xx: unable to determine DMA core of card 0,
[ 42.972177] dvb_bt8xx: if you have the ALSA bt87x audio driver installed, try removing it.
[ 42.972183] dvb-bt8xx: probe of dvb0 failed with error -14

basically, my twinhan card is not recognized anymore:
[ 42.957874] bt878_probe: card id=[0x0], Unknown card.

After searching in google, I discovered that the lines thas was making my card working has been dropped from bt878.c:
http://linuxtv.org/hg/v4l-dvb/diff/97edfa0f7c94/linux/drivers/media/dvb/bt8xx/bt878.c

Tags: linux-2.6.27
Revision history for this message
Fabrice Coutadeur (fabricesp) wrote :
description: updated
description: updated
Revision history for this message
Fabrice Coutadeur (fabricesp) wrote :

After modifying bt878.c to add value 0 in array, device is created, and dmesg gives:
[ 37.536488] bttv: driver version 0.9.17 loaded
[ 37.536494] bttv: using 8 buffers with 2080k (520 pages) each for capture
[ 37.536552] bttv: Bt8xx card found (0).
[ 37.536584] bttv0: Bt878 (rev 17) at 0000:03:02.0, irq: 18, latency: 32, mmio: 0xfdffe000
[ 37.537457] bttv0: using: Twinhan DST + clones [card=113,insmod option]
[ 37.537470] bttv0: gpio: en=00000000, out=00000000 in=00fefffe [init]
[ 37.537508] bttv0: tuner absent
[ 37.537525] bttv0: add subdevice "dvb0"
[ 37.607866] bt878: AUDIO driver version 0.0.0 loaded
[ 37.607909] bt878: Bt878 AUDIO function found (0).
[ 37.607936] bt878_probe: card id=[0x0],[ <NULL> ] has DVB functions.
[ 37.607943] bt878(0): Bt878 (rev 17) at 03:02.1, irq: 18, latency: 32, memory: 0xfdfff000
[ 37.640656] DVB: registering new adapter (bttv0)

description: updated
Changed in linux:
assignee: nobody → ubuntu-kernel-team
importance: Undecided → Medium
status: New → Triaged
Revision history for this message
Fabrice Coutadeur (fabricesp) wrote :

With the Intrepid kernel (2.6.27), the line changes:
static struct pci_device_id bt878_pci_tbl[] __devinitdata = {
 BROOKTREE_878_DEVICE(0x0071, 0x0101, "Nebula Electronics DigiTV"),
 BROOKTREE_878_DEVICE(0x1461, 0x0761, "AverMedia AverTV DVB-T 761"),
 BROOKTREE_878_DEVICE(0x11bd, 0x001c, "Pinnacle PCTV Sat"),
 BROOKTREE_878_DEVICE(0x11bd, 0x0026, "Pinnacle PCTV SAT CI"),
 BROOKTREE_878_DEVICE(0x1822, 0x0001, "Twinhan VisionPlus DVB"),
 BROOKTREE_878_DEVICE(0x270f, 0xfc00, "ChainTech digitop DST-1000 DVB-S"),
 BROOKTREE_878_DEVICE(0x1461, 0x0771, "AVermedia AverTV DVB-T 771"),
 BROOKTREE_878_DEVICE(0x18ac, 0xdb10, "DViCO FusionHDTV DVB-T Lite"),
 BROOKTREE_878_DEVICE(0x18ac, 0xdb11, "Ultraview DVB-T Lite"),
 BROOKTREE_878_DEVICE(0x18ac, 0xd500, "DViCO FusionHDTV 5 Lite"),
 BROOKTREE_878_DEVICE(0x7063, 0x2000, "pcHDTV HD-2000 TV"),
 BROOKTREE_878_DEVICE(0x1822, 0x0026, "DNTV Live! Mini"),
 BROOKTREE_878_DEVICE(0, 0, NULL),
 { }
};

The last BROOKTREE one has to be added. This way, I get back my bttv0 device:
[ 15.729277] bttv: driver version 0.9.17 loaded
[ 15.729282] bttv: using 8 buffers with 2080k (520 pages) each for capture
[ 15.729341] bttv: Bt8xx card found (0).
[ 15.729357] bttv 0000:03:02.0: PCI INT A -> GSI 23 (level, low) -> IRQ 23
[ 15.729369] bttv0: Bt878 (rev 17) at 0000:03:02.0, irq: 23, latency: 32, mmio: 0xfdffe000
[ 15.729384] bttv0: using: Twinhan DST + clones [card=113,insmod option]
[ 15.729401] bttv0: gpio: en=00000000, out=00000000 in=00f4ffff [init]
[ 15.729440] bttv0: tuner absent
[ 15.729460] bttv0: add subdevice "dvb0"
[ 15.771882] bt878: AUDIO driver version 0.0.0 loaded
[ 15.771920] bt878: Bt878 AUDIO function found (0).
[ 15.771934] bt878 0000:03:02.1: PCI INT A -> GSI 23 (level, low) -> IRQ 23
[ 15.771937] bt878_probe: card id=[0x0],[ Unknown ] has DVB functions.
[ 15.771946] bt878(0): Bt878 (rev 17) at 03:02.1, irq: 23, latency: 32, memory: 0xfdfff000
[ 15.844115] DVB: registering new adapter (bttv0)

Revision history for this message
Leann Ogasawara (leannogasawara) wrote :

What if you modify the patch to contain the specific vendor and device id or your card?

Revision history for this message
Fabrice Coutadeur (fabricesp) wrote :

Do you mean this way?

Revision history for this message
Launchpad Janitor (janitor) wrote : Kernel team bugs

Per a decision made by the Ubuntu Kernel Team, bugs will longer be assigned to the ubuntu-kernel-team in Launchpad as part of the bug triage process. The ubuntu-kernel-team is being unassigned from this bug report. Refer to https://wiki.ubuntu.com/KernelTeamBugPolicies for more information. Thanks.

Revision history for this message
yu2 (shecoyu2) wrote :

I have had the same problem which keeps me dual boot , and I see this problem still present in ubuntu 8.10 , so when will this problem will be sorted , and how can I apply the patch posted here , please help

Revision history for this message
Leann Ogasawara (leannogasawara) wrote :

Hi fabrice,

Sorry for the extremely delayed response. The vendor and device id's should be 4 digit hex numbers. For example [0x1822, 0x0026].

Revision history for this message
Fabrice Coutadeur (fabricesp) wrote :

Hi,

Here is a cleaner patch, that works in Intrepid and Jaunty

yu2: to apply this patch, you have to get the kernel source, apply the patch and recompile it (you can find the steps to get the kernel source and compile at https://help.ubuntu.com/community/Kernel/Compile).
To apply the patch, you need to be inside
When compiled (1h later), you just need to copy debian/build/<kernel-flavour>/drivers/media/dvb/bt8xx/bt878.ko to /lib/modules/<kernel-version>/kernel/drivers/media/dvb/bt8xx.
Please make copy of bt878.ko before!

At next reboot, it should be ok

Revision history for this message
Andy Whitcroft (apw) wrote :

@fabrice_sp -- yeeks that card has 0x0000 as its vendor id's that is vile. Could you include lspci -nnvv (or lsusb -v) for the device in question. That will need a very good comment to indicate that this really is a sane change!

Changed in linux (Ubuntu):
assignee: nobody → Andy Whitcroft (apw)
status: Triaged → In Progress
status: In Progress → Incomplete
Revision history for this message
Fabrice Coutadeur (fabricesp) wrote :

Hi Andy,

Here is the output of lspci -nnvv for this card:
03:02.0 Multimedia video controller [0400]: Brooktree Corporation Bt878 Video Capture [109e:036e] (rev 11)
 Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
 Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
 Latency: 32 (4000ns min, 10000ns max)
 Interrupt: pin A routed to IRQ 23
 Region 0: Memory at fdffe000 (32-bit, prefetchable) [size=4K]
 Capabilities: <access denied>
 Kernel driver in use: bttv
 Kernel modules: bttv

03:02.1 Multimedia controller [0480]: Brooktree Corporation Bt878 Audio Capture [109e:0878] (rev 11)
 Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
 Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
 Latency: 32 (1000ns min, 63750ns max)
 Interrupt: pin A routed to IRQ 15
 Region 0: Memory at fdfff000 (32-bit, prefetchable) [size=4K]
 Capabilities: <access denied>

also ,I've just upgrade to Jaunty, and to avoid a freeze at boot time, I had to do the following:
1) add dvb-bt8xx to /etc/modules
2) add options bttv card=113 tuner=4 to /etc/modprobe.d/bttv (I had to create that file).
But it's not the object of this bug report...

Thanks,
Fabrice

Changed in linux (Ubuntu):
status: Incomplete → Confirmed
Andy Whitcroft (apw)
Changed in linux (Ubuntu):
assignee: Andy Whitcroft (apw) → nobody
Revision history for this message
Andy Whitcroft (apw) wrote :

I have dropped the patch status from the attached patches as while they may well have helped in the past there is no way we could apply those to the main kernel, they could match any hardware incorrectly and cause all sorts of issues in general usage.

As the card really does have real ids and there the original messages show an interaction between the sound and the video
Looking at the original messages it is possible that this was an intereaction between the video and audio components initialising I am suspicious that this is very likely to have been resolved since in a more correct way.

Could any of you confirm whether this is still an issue. Thanks!

[Reviewed as part of an effort to clean up pending patches.]

Changed in linux (Ubuntu):
status: Confirmed → Incomplete
Revision history for this message
Launchpad Janitor (janitor) wrote :

[Expired for linux (Ubuntu) because there has been no activity for 60 days.]

Changed in linux (Ubuntu):
status: Incomplete → Expired
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.