bttv bug with ImpactVCB #64405

Bug #640885 reported by Sean Rhinehart
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Expired
Undecided
Unassigned

Bug Description

The Hauppauge ImpactVCB #64405 is a 4 channel 878A-based video capture board with no tuner, 3 RCA composite inputs, and an S-Video input.

Lucid Lynx and the past several releases of the bttv driver have a bug where this board does not fully work as auto-detected.

Because this board has the same PCI ID [0070:13eb] that the WinTV series of cards uses, the bttv driver auto-detects it as a WinTV board (card=10), and uses the MUXSEL settings: MUXSEL(2, 0, 1,1)

When these MUXSEL values are used for a 4-channel board, it means that one of the 878's inputs cannot not be selected, because a mux setting of 3 is not possible. In the case of the ImpactVCB #64405, the result is that one of the composite inputs cannot be selected, and a degraded echo of the S-Video input (if present) will be selected instead.

There is a work-around. The commands

    sudo modprobe -r bttv

    sudo modprobe bttv card=82

will treat this board as an Osprey 100/150, which is a functional equivalent.

However, this work-around has the following drawbacks:

1) It requires manual intervention.

2) It is non-intuitive, and requires user research to discover.

3) The composite channels are ordered differently than under Hauppauge's WinTV2000 app, which means that composite channels would move around on a dual-boot Windows/Ubuntu system.

Proposed Solution:

The bttv source code has already solved a similar problem for another ImpactVCB variant, the #64900, which has 4 BNC connections, and no S-Video.

A new card type was defined (BTTV_BOARD_HAUPPAUGE_IMPACTVCB), and an appropriate struct tvcard entry was created.

Then the hauppauge_eeprom() routine was modified to switch over to the alternate BTTV_BOARD_HAUPPAUGE_IMPACTVCB entry when both the following conditions are met:

1) The board is originally auto-detected as a BTTV_BOARD_HAUPPAUGE878 card.

2) The tv.model read from the EEPROM is 64900.

My proposed solution is to simply extend this approach to the #64405 variant.

The attached code is a modification of 2.6.35 source code, which has been back-ported for testing against a 2.6.32 kernel.
It defines a new card type, BTTV_BOARD_HAUPPAUGE_IMPACTVCB_64405, and modifies the hauppauge_eeprom() routine to use a new struct tvcard entry when:

1) The board is originally auto-detected as a BTTV_BOARD_HAUPPAUGE878 card.

2) The tv.model read from the EEPROM is 64405.

ProblemType: Bug
DistroRelease: Ubuntu 10.04
Package: linux-image-2.6.32-24-generic 2.6.32-24.42
Regression: No
Reproducible: Yes
ProcVersionSignature: Ubuntu 2.6.32-24.42-generic 2.6.32.15+drm33.5
Uname: Linux 2.6.32-24-generic i686
AlsaVersion: Advanced Linux Sound Architecture Driver Version 1.0.21.
Architecture: i386
AudioDevicesInUse:
 USER PID ACCESS COMMAND
 /dev/snd/controlC0: htpc 1146 F.... pulseaudio
 /dev/snd/controlC1: htpc 1146 F.... pulseaudio
CRDA: Error: [Errno 2] No such file or directory
Card0.Amixer.info:
 Card hw:0 'SB'/'HDA ATI SB at 0xdfffc000 irq 16'
   Mixer name : 'Analog Devices AD1983'
   Components : 'HDA:11d41983,102801e5,00100400'
   Controls : 26
   Simple ctrls : 15
Card1.Amixer.info:
 Card hw:1 'Bt878'/'Brooktree Bt878 at 0xd8000000, irq 22'
   Mixer name : 'Bt87x'
   Components : ''
   Controls : 3
   Simple ctrls : 5
Date: Thu Sep 16 15:30:01 2010
HibernationDevice: RESUME=UUID=cfd1b218-fe5e-4625-b3a0-a3696d25348f
InstallationMedia: Ubuntu 10.04 LTS "Lucid Lynx" - Release i386 (20100429)
IwConfig:
 lo no wireless extensions.

 eth0 no wireless extensions.
MachineType: Dell Inc. OptiPlex 320
ProcCmdLine: BOOT_IMAGE=/boot/vmlinuz-2.6.32-24-generic root=UUID=ed895a73-881a-4b59-a9ea-b944d6bb11ca ro quiet splash
ProcEnviron:
 LANG=en_US.utf8
 SHELL=/bin/bash
RelatedPackageVersions: linux-firmware 1.34.1
RfKill:

SourcePackage: linux
dmi.bios.date: 06/17/2009
dmi.bios.vendor: Dell Inc.
dmi.bios.version: 1.1.12
dmi.board.name: 0TY915
dmi.board.vendor: Dell Inc.
dmi.chassis.type: 7
dmi.chassis.vendor: Dell Inc.
dmi.modalias: dmi:bvnDellInc.:bvr1.1.12:bd06/17/2009:svnDellInc.:pnOptiPlex320:pvr:rvnDellInc.:rn0TY915:rvr:cvnDellInc.:ct7:cvr:
dmi.product.name: OptiPlex 320
dmi.sys.vendor: Dell Inc.

Revision history for this message
Sean Rhinehart (seanrhinehart) wrote :
tags: added: patch
Revision history for this message
Jeremy Foshee (jeremyfoshee) wrote :

Hi Sean,

If you could also please test the latest upstream kernel available that would be great. It will allow additional upstream developers to examine the issue. Refer to https://wiki.ubuntu.com/KernelMainlineBuilds . Once you've tested the upstream kernel, please remove the 'needs-upstream-testing' tag. This can be done by clicking on the yellow pencil icon next to the tag located at the bottom of the bug description and deleting the 'needs-upstream-testing' text. Please let us know your results.

Thanks in advance.

    [This is an automated message. Apologies if it has reached you inappropriately; please just reply to this message indicating so.]

tags: added: kj-triage
Changed in linux (Ubuntu):
status: New → Incomplete
Revision history for this message
Sean Rhinehart (seanrhinehart) wrote :

Bug still exists on kernel 2.6.37-999-generic

Changed in linux (Ubuntu):
status: Incomplete → Confirmed
tags: removed: needs-upstream-testing
Revision history for this message
Brad Figg (brad-figg) wrote :

Does this issue still exist in Maverick or Natty or Oneiric? They contain a smaller version of the attached patch that just adds the necessary id's to the CARD table.

Changed in linux (Ubuntu):
status: Confirmed → Incomplete
Revision history for this message
Sean Rhinehart (seanrhinehart) wrote : Re: [Bug 640885] Re: bttv bug with ImpactVCB #64405
Download full text (5.4 KiB)

I just tested the card on Maverick, and the issue is still there.

The MUXSEL settings only allow 3 unique channels, not 4, so the bottom
RCA jack of ImpactVCB #64405 does not work, when loaded with bttv's
auto-detection.

Sean

On 11/9/11, Brad Figg <email address hidden> wrote:
> Does this issue still exist in Maverick or Natty or Oneiric? They
> contain a smaller version of the attached patch that just adds the
> necessary id's to the CARD table.
>
> ** Changed in: linux (Ubuntu)
> Status: Confirmed => Incomplete
>
> --
> You received this bug notification because you are subscribed to the bug
> report.
> https://bugs.launchpad.net/bugs/640885
>
> Title:
> bttv bug with ImpactVCB #64405
>
> Status in “linux” package in Ubuntu:
> Incomplete
>
> Bug description:
> The Hauppauge ImpactVCB #64405 is a 4 channel 878A-based video capture
> board with no tuner, 3 RCA composite inputs, and an S-Video input.
>
>
> Lucid Lynx and the past several releases of the bttv driver have a bug
> where this board does not fully work as auto-detected.
>
>
> Because this board has the same PCI ID [0070:13eb] that the WinTV
> series of cards uses, the bttv driver auto-detects it as a WinTV board
> (card=10), and uses the MUXSEL settings: MUXSEL(2, 0, 1,1)
>
>
> When these MUXSEL values are used for a 4-channel board, it means that
> one of the 878's inputs cannot not be selected, because a mux setting
> of 3 is not possible. In the case of the ImpactVCB #64405, the result
> is that one of the composite inputs cannot be selected, and a degraded
> echo of the S-Video input (if present) will be selected instead.
>
>
> There is a work-around. The commands
>
> sudo modprobe -r bttv
>
> sudo modprobe bttv card=82
>
> will treat this board as an Osprey 100/150, which is a functional
> equivalent.
>
>
> However, this work-around has the following drawbacks:
>
> 1) It requires manual intervention.
>
> 2) It is non-intuitive, and requires user research to discover.
>
> 3) The composite channels are ordered differently than under
> Hauppauge's WinTV2000 app, which means that composite channels would
> move around on a dual-boot Windows/Ubuntu system.
>
>
> Proposed Solution:
>
> The bttv source code has already solved a similar problem for another
> ImpactVCB variant, the #64900, which has 4 BNC connections, and no
> S-Video.
>
> A new card type was defined (BTTV_BOARD_HAUPPAUGE_IMPACTVCB), and an
> appropriate struct tvcard entry was created.
>
> Then the hauppauge_eeprom() routine was modified to switch over to the
> alternate BTTV_BOARD_HAUPPAUGE_IMPACTVCB entry when both the following
> conditions are met:
>
> 1) The board is originally auto-detected as a BTTV_BOARD_HAUPPAUGE878
> card.
>
> 2) The tv.model read from the EEPROM is 64900.
>
>
> My proposed solution is to simply extend this approach to the #64405
> variant.
>
> The attached code is a modification of 2.6.35 source code, which has been
> back-ported for testing against a 2.6.32 kernel.
> It defines a new card type, BTTV_BOARD_HAUPPAUGE_IMPACTVCB_64405, and
> modifies the hauppauge_eeprom() routine to use a...

Read more...

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.

Other bug subscribers

Remote bug watches

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