Struggling with Hauppauge HVR-1300

I recently upgraded my old Hauppauge TV Card (BT878) with a HVR-1300. Whilst the older card worked OK, I am struggling to get the new card to work, despite it seemingly having installed OK in YaST.

If I run xawtv in a terminal it loads my USB camera:

steve@linux-home:~> xawtv
This is xawtv-3.95, running on Linux/x86_64 (2.6.34.7-0.7-desktop)
xinerama 0: 1680x1050+0+0
WARNING: No DGA direct video mode for this display.
/dev/video0 [v4l2]: no overlay support
v4l-conf had some trouble, trying to continue anyway
ioctl: VIDIOC_G_STD(std=0x652100 [PAL_M,NTSC_M_JP,SECAM_B,SECAM_G,SECAM_K1,SECAM_L]): Invalid argument
config: invalid value for input: Composite1
valid choices for “input”: “Camera 1”
config: invalid value for norm: PAL-I
valid choices for “norm”:
ioctl: VIDIOC_S_STD(std=0x0 ]): Invalid argument

I am by no means an openSUSE 11.3 expert, but hope the above helps to identify the source of my problem?

I’ve spent quite a time to get this card to work because the answer is not provided by the famous search engine.
Here is a short description on how to get the card to work, although I did not try to use the analogue part (TV, FM Radio).

First you need the firmware files v4l-cx2341x-* in /lib/firmware. So you want to install the package ivtv-firmware.

The yast2-tv module does not handle this card correctly because it needs to load the required kernel modules in a specific order. To avoid conflicts with YAST later on you should consider to ununstall the package yast2-tv else it might happen that your configuration will be overwritten by YAST during some software updates.

Next you need login via console as user root and edit two files in /etc/modprobe.d as follows:

The first file is 50-sound.conf (you need to adapt the entries for snd-hda-intel to your first sound card used by ALSA)

Content:

options snd cards_limit=4
alias snd-card-1 snd-hda-intel
options snd-hda-intel index=0
alias snd-card-2 cx88-alsa
options cx88-alsa index=1

According to your question it seems that you also have an USB webcam therefor you should add the sound driver as third card
alias snd-card-2 …
options … index=2

Such entries will load the sound modules in the specific order.

The second file is 50-tv.conf (here it is important that your HVR-1300 is initialized before any other other, e.g. USB webcam)

Content:

Hauppauge WinTV HVR-1300

options cx88_dvb adapter_nr=0

i2c

alias char-major-89 i2c-dev
options i2c-algo-bit bit_test=1
options ir-kbd-i2c hauppauge=1

video4linux

alias char-major-81 videodev
install videodev /sbin/modprobe v4l2-common; /sbin/modprobe --ignore-install videodev
install videodev /sbin/modprobe v4l2-compat-ioctl32; /sbin/modprobe --ignore-install videodev
install videodev /sbin/modprobe v4l1-compat; /sbin/modprobe --ignore-install videodev

DVB

alias char-major-212 cx88-dvb

HJNj.8cEBLcnqa74:CX23880/1/2/3 PCI Video and Audio Decoder

/dev/dvb/adapter0/video0

alias char-major-212-0 cx8800
options cx88xx i2c_scan=1 card=56
install cx8802 /sbin/modprobe cx88xx; /sbin/modprobe --ignore-install cx8802
install cx88xx /sbin/modprobe cx22702; /sbin/modprobe --ignore-install cx88xx
install cx88xx /sbin/modprobe ir-kbd-i2c; /sbin/modprobe --ignore-install cx88xx
install cx22702 /sbin/modprobe tuner; /sbin/modprobe --ignore-install cx22702

8esY.veHwVIopXeA:CX23880/1/2/3 PCI Video and Audio Decoder [Audio Port]

/dev/dvb/adapter0/audio0

alias char-major-212-1 cx88-alsa
options cx88-alsa index=2

USB Webcam

alias char-major-81-4 gspca-spca561

You need to adapt the driver used in alias char-major-81-4 to the driver used by your USB webcam.

In case you have installed the lirc package for infrared remote control you need to edit the file /etc/lirc.conf.

Content:

this config file was automatically generated

using lirc-0.8.0(userspace) on Wed Nov 26 19:26:48 2008

brand: Hauppauge

model no. of remote control: WinTV HVR1300

devices being controlled by this remote:

begin remote

name WinTV_HVR1300
bits 16
eps 30
aeps 100

one 0 0
zero 0 0
pre_data_bits 16
pre_data 0x8001
gap 135883
toggle_bit 0

  begin codes
      Go                       0x0161
      Power                    0x0074
      TV                       0x0179
      Videos                   0x0189
      Music                    0x0188
      Pictures                 0x016F
      Guide                    0x016D
      Radio                    0x0181
      Up                       0x0067
      Left                     0x0069
      OK                       0x001C
      Right                    0x006A
      Down                     0x006C
      Back/Exit                0x00AE
      Menu                     0x008B
      Vol+                     0x0073
      Vol-                     0x0072
      Prev.Ch                  0x019C
      Mute                     0x0071
      Ch+                      0x0192
      Ch-                      0x0193
      Record                   0x00A7
      Stop                     0x0080
      Replay                   0x00A8
      Play                     0x00CF
      Skip                     0x00D0
      Prev                     0x00A5
      Pause                    0x0077
      Next                     0x00A3
      1                        0x0002
      2                        0x0003
      3                        0x0004
      4                        0x0005
      5                        0x0006
      6                        0x0007
      7                        0x0008
      8                        0x0009
      9                        0x000A
      *                        0x0184
      0                        0x000B
      #                        0x0172
      Red                      0x018E
      Green                    0x018F
      Yellow                   0x0190
      Blue                     0x0191
  end codes

As mentioned at the beginning of my reply I have not used analogue TV or FM Radio but it works here as source for DVB-T TV recording.

Hope this helps.

Many thanks for spending time to provide such a detailed reply!

Having located the two files you refer to I note that ‘50-sound.conf’ currently has no entry for the ‘cx88-alsa’. Adding this is straight forward, however, the second file, ‘50-tv.conf’, makes reference to the TV card, but not much else…

‘50-sound.conf’:
options snd slots=snd-usb-audio,snd-hda-intel

PYMB.06AQUTDenj3:FT-102 VoIP USB Phone

alias snd-card-0 snd-usb-audio

u1Nb.E+050c9_eOE:82801G (ICH7 Family) High Definition Audio Controller

alias snd-card-1 snd-hda-intel

‘50-tv.conf’

alias char-major-81 videodev
options i2c-algo-bit bit_test=1

YaST configured TV card

dtXw.8cEBLcnqa74:CX23880/1/2/3 PCI Video and Audio Decoder

alias char-major-81-0 cx8800

YaST configured TV card

UC1m.f0BxpAvX6W4:CX23880/1/2/3 PCI Video and Audio Decoder [Audio Port]

alias char-major-81-1 cx88-alsa

YaST configured TV card

LXWb.AR7hIl0Feu4:CX23880/1/2/3 PCI Video and Audio Decoder [MPEG Port]

alias char-major-81-2 cx8802
alias char-major-81-3 off

I haven’t bothered with the Remote feature, too many other problems!