[MPlayer-users] Playing trouble with multi-tuner dvb card

Dominique Michel dominique.michel at vtxnet.ch
Mon Nov 21 01:25:13 CET 2011

Hi list! I am an old linux user that have some trouble with my TV card
and mplayer. It is a Hauppauge WinTV HVR-4000-HD. It have 4 tuners:
radio, analog TV, dvb-t and dvb-s.

mplayer is installed from yesterday's svn. That on a gentoo ~amd64

The analog TV seam to work fine (My antenna is not adapted for this but
I can see the snow and when the channels are changing). The radio is
working fine with mplayer. It is the only one player that let my to
listen to the radio without to use a cable between the radio and the
sound cards. Thank's a lot for that! The dvb-s and dvb-t are working
fine with kaffeine-0.8.8. (My wm is fvwm and I run jack all the time as
sound server, so kaffeine for kde4 is just unusable for me, no sound!
what a mess that phonon thing!)

I done 2 channels.conf files: ~/.mplayer/channels.conf.sat and

lspci -v
05:05.4 Multimedia controller: Conexant Systems, Inc. CX23880/1/2/3 PCI
Video and Audio Decoder [IR Port] (rev 05) Subsystem: Hauppauge
computer works Inc. WinTV HVR-4000-HD Flags: bus master, medium devsel,
latency 64, IRQ 3 Memory at fa000000 (32-bit, non-prefetchable)
[size=16M] Capabilities: [4c] Power Management version 2

The devices for this card are all in /dev/dvb/adapter0:
# ls /dev/dvb/adapter0
demux0  demux1  dvr0  dvr1  frontend0  frontend1  net0  net1

and it is no other adapter in /dev/dvb/

"mplayer dvb://1@" is working fine. I can watch the dvb-s channels.

But "mplayer dvb://2@" fail:

mplayer -v dvb://2@
Warning unknown option noautoexpand at line 5
MPlayer 34354-4.5.3 (C) 2000-2011 MPlayer Team
CPU vendor name: AuthenticAMD  max cpuid level: 5
CPU: AMD Phenom(tm) 9600 Quad-Core Processor (Family: 16, Model: 2,
Stepping: 2) extended cpuid-level: 26
extended cache-info: 33587520
Detected cache-line size is 64 bytes
CPUflags:  MMX: 1 MMX2: 1 3DNow: 1 3DNowExt: 1 SSE: 1 SSE2: 1 SSSE3: 0
Compiled for x86 CPU with extensions: MMX MMX2 3DNow 3DNowExt SSE SSE2
CMOV get_path('codecs.conf') -> '/home/dom/.mplayer/codecs.conf'
Reading optional codecs config file /home/dom/.mplayer/codecs.conf: No
such file or directory Reading optional codecs config
file /etc/mplayer/codecs.conf: No such file or directory Using built-in
default codecs.conf. init_freetype
Using MMX (with tiny bit MMX2) Optimized OnScreenDisplay
get_path('fonts') -> '/home/dom/.mplayer/fonts'
Configuration: --cc=x86_64-pc-linux-gnu-gcc
--host-cc=x86_64-pc-linux-gnu-gcc --prefix=/usr --bindir=/usr/bin
--libdir=/usr/lib64 --confdir=/etc/mplayer --datadir=/usr/share/mplayer
--mandir=/usr/share/man --language-msg=fr --disable-svga
--disable-svgalib_helper --disable-ass-internal --disable-arts
--disable-kai --enable-networking --disable-joystick --disable-nemesi
--disable-bl --disable-bluray --disable-cdparanoia
--disable-dvdread-internal --disable-libdvdcss-internal --charset=UTF-8
--disable-tv-bsdbt848 --disable-ivtv --enable-radio
--enable-radio-capture --disable-musepack --disable-libmpeg2-internal
--disable-libbs2b --disable-tga --disable-faac
--codecsdir=/usr/lib64/codecs --disable-win32dll --disable-md5sum
--disable-aa --disable-caca --disable-zr --disable-mga --disable-xmga
--disable-3dfx --disable-tdfxvid --disable-tdfxfb --disable-xvr100
--disable-esd --disable-gui --disable-dxr3 --disable-ggi
--disable-xinerama --enable-menu --disable-vidix --disable-vidix-pcidb
--enable-xvmc --with-xvmclib=XvMCW CommandLine: '-v' 'dvb://2@' Using
nanosleep() timing get_path('input.conf') ->
'/home/dom/.mplayer/input.conf' Parsing input config
file /home/dom/.mplayer/input.conf Input config
file /home/dom/.mplayer/input.conf parsed: 93 binds Setting up LIRC
support... get_path('menu.conf') ->
'/home/dom/.mplayer/menu.conf' [libmenu] got keybinding element 275
UP=>[menu up]. [libmenu] got keybinding element 274 DOWN=>[menu down].
Menu initialized: /home/dom/.mplayer/menu.conf
get_path('2 at .conf') -> '/home/dom/.mplayer/2 at .conf'
Lecture de dvb://2@
get_path('sub/') -> '/home/dom/.mplayer/sub/'
get_path('channels.conf') -> '/home/dom/.mplayer/channels.conf'
get_path('channels.conf.sat') -> '/home/dom/.mplayer/channels.conf.sat'
CONFIG_READ FILE: /home/dom/.mplayer/channels.conf.sat, type: 1
SAT, NUM: 0, NUM_FIELDS: 6, NAME: arte, FREQ: 10743000, SRATE:
22000000, POL: H, DISEQC: 0 PIDS:  401  402  0 SAT, NUM: 1, NUM_FIELDS:
6, NAME: ARTE1, FREQ: 11934000, SRATE: 27500000, POL: V, DISEQC: 0
PIDS:  168  112  0 
DVB_CONFIG, can't open device /dev/dvb/adapter1/frontend0, skipping
DVB_CONFIG, can't open device /dev/dvb/adapter2/frontend0, skipping
DVB_CONFIG, can't open device /dev/dvb/adapter3/frontend0, skipping
Échec à l'ouverture de 'dvb://2@'

vo: x11 uninit called but X11 not initialized..

Sortie... (Fin du fichier)


If I move the channels.conf.sat and rename channels.conf.ter into
channels.conf, and run "mplayer dvb://", I get the same result.

After googling a lot, I find that the device order is hard-coded into
mplayer. I done some udev rules:

file /etc/udev/rules.d/10-local.rules
KERNEL=="dvb0.demux1", SUBSYSTEM=="dvb", ATTRS{device}=="0x8802",
KERNEL=="dvb0.dvr1", SUBSYSTEM=="dvb", ATTRS{device}=="0x8802",
KERNEL=="dvb0.frontend1", SUBSYSTEM=="dvb", ATTRS{device}=="0x8802",
KERNEL=="dvb0.net1", SUBSYSTEM=="dvb", ATTRS{device}=="0x8802",

And ran "udevadmin trigger"
Now, I am able to watch both the channels from dvb-s and from the
dvb-t tuners with "mplayer dvb://1@" and "mplayer dvb://2@".

I think that writing udev rules is behind the capabilities of many
users. So, are you aware of this issue? and do you have any plan in
order to solve this into mplayer?


- We have the heroes we deserve."

More information about the MPlayer-users mailing list