Hauppauge Nightmare

MarvinD's picture

We had 2 DMA controllers go out on 2 motherboards in 2 weeks. One of the suspects was the old Osprey 100 video capture card, so I spent days trying to find a video capture card which would work both in Windows and Ubuntu. The Hauppuage 558 ( product# 64405 ) seemed to fill the bill.

From http://www.hauppauge.com/html/impact.htm
Operating system can be Window 95, Windows 98, WindowsME, NT 4.0, Windows 2000 and WindowsXP. Third party Linux drivers are available.

Lier! lier! Pants on fire!  It only gives 320x200 resolution in WindowsXP, and doesn't work at all in Ubuntu.

Since Ubuntu is my target operating system and Windows is limping along, I decided to focus my efforts on Ubuntu. And boy, has it been an effort. I spent countless hours trying to figure out what was wrong, digging around the video4linux site and scouring Google. Finally, finally, I hit upon this....

https://www.redhat.com/mailman/private/video4linux-list/2009-February/msg00110.html (Yes, your browser will warn you, but go there anyway and register.)

Re: ImpactVCB 64405 low-profile PCI problem

Eric Schwartz wrote:
> Hi all,
>
> I'm having a frustrating problem with getting a brand new Hauppauge card
> to work with v4l, of the ImpactVCB 64405 low-profile PCI variety. I have
> a basic NTSC camera that I want to hook up to one of the composite
> inputs. And yes, during my troubleshooting efforts I succumbed to the
> temptation of plugging it into an XP box (gasp!) and verified that the
> hardware works perfectly fine.
>
> Vanilla kernel versions 2.6.21, 2.6.24, and 2.6.28 all detect the
> presence of the card and painlessly load the bttv module. According to
> dmesg, it audodetects the type of card and even reads the exact model
> string off the eeprom. (see dmesg output pasted below)
>
> So far so good, eh? When I plug the camera into each of the inputs, I
> get nothing on /dev/video0. Not exactly all zeroes, to be precise, but
> close. A hexdump shows that there are occasional "c0"s mixed in with the
> "00"s. Using "dov4l -i" lets me change the inputs as expected -- no
> errors when the input number is in range, error when it's > 3.
>
> Searching Google, I found that some people extracted firmware from a
> Windows driver for a similar card and passed the "firm_altera=fwfile"
> parameter to modprobe. I got the firmware file in question (from another
> driver disk; it wasn't on the one that came with the card) but the
> module balks at accepting that parameter at all. (bttv: Unknown
> parameter firm_altera)
>
> Anyone have experience with getting this card to work? What I thought
> was going to be an easy project has quickly turned into a nightmare. Any
> help will be appreciated.
>
> Thanks,
> Eric Schwartz
>
> --
>
> sunset:~# dmesg | grep bttv
> bttv: driver version 0.9.17 loaded
> bttv: using 8 buffers with 2080k (520 pages) each for capture
> bttv: Bt8xx card found (0).
> bttv 0000:02:0a.0: PCI INT A -> Link[LNKD] -> GSI 11 (level, low) -> IRQ 11
> bttv0: Bt878 (rev 17) at 0000:02:0a.0, irq: 11, latency: 64, mmio:
> 0xf6001000
> bttv0: detected: Hauppauge WinTV [card=10], PCI subsystem ID is 0070:13eb
> bttv0: using: Hauppauge (bt878) [card=10,autodetected]
> bttv0: gpio: en=00000000, out=00000000 in=00ffffff [init]
> bttv0: Hauppauge/Voodoo msp34xx: reset line init [5]
> bttv0: Hauppauge eeprom indicates model#64405
> bttv0: tuner absent
> bttv0: i2c: checking for MSP34xx @ 0x80... not found
> bttv0: i2c: checking for TDA9875 @ 0xb0... not found
> bttv0: i2c: checking for TDA7432 @ 0x8a... not found
> bttv0: registered device video0
> bttv0: registered device vbi0
> bttv0: PLL: 28636363 => 35468950 .. ok
>
> --

I don't know the device, but I don't think it requires a firmware -- from the pic
on Hauppauge's website, it looks to be a plain jane bt878 card
(http://www.hauppauge.com/site/products/data_impactvcb.html).

I do notice that there are two entries in the bttv cardlist
(http://linuxtv.org/hg/v4l-dvb/file/tip/linux/Documentation/video4linux/CARDLIST.bttv)
for that particular subsystem ID, a rather generic Hauppauge entry for card 10
(which your device is apparently being autodetected as) and what looks to be the
actual specific entry for your device, card 143.    

Try using the later card number (in your relevant modprobe config file or
via command line loading) and see if that has any impact.

This is what I got from my machine with dmesg | grep bttv

[   16.381310] bttv: driver version 0.9.18 loaded
[   16.381321] bttv: using 8 buffers with 2080k (520 pages) each for capture

[   16.381477] bttv: Bt8xx card found (0).
[   16.381535] bttv 0000:00:0b.0: PCI INT A -> Link[LNKB] -> GSI 11 (level, low) -> IRQ 11
[   16.381560] bttv0: Bt878 (rev 17) at 0000:00:0b.0, irq: 11, latency: 64, mmio: 0xc75fe000

[   16.387262] bttv0: detected: Hauppauge WinTV [card=10], PCI subsystem ID is 0070:13eb
[   16.387275] bttv0: using: Hauppauge (bt878) [card=10,autodetected]
[   16.387284] IRQ 11/bttv0: IRQF_DISABLED is not guaranteed on shared IRQs

[   16.387363] bttv0: gpio: en=00000000, out=00000000 in=00ffffff [init]
[   16.389855] bttv0: Hauppauge/Voodoo msp34xx: reset line init [5]
[   16.424737] bttv0: Hauppauge eeprom indicates model#64405
[   16.424744] bttv0: tuner absent

[   16.425155] bttv0: registered device video0
[   16.425220] bttv0: registered device vbi0
[   16.425248] bttv0: PLL: 28636363 => 35468950 .. ok