Mailing List archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[linux-dvb] Re^2: [vdr] No audio output from [Siemens DVB-C], what to try next?



# On Sun, 9 Nov 2003 21:36:56 +0200 Lasse Heikkila wrote:

> I've spent 5 evenings trying to get some kind of audio output from my new
> Siemens DVB-C (rev 1.5) card. At least the analog outputs seem to be silent
> and I don't have any gear with digital input to test that. I'm starting to
> suspect the card might be defective, but it's a bit difficult to return it
> because I bought it from another country. Otherwise it works perfectly, and
> sound comes nicely from sound card when I play .vdrs with mplayer.
>
> Any ideas what could be the problem? Vdr version is 1.2.5 and dvb 1.0.1.
> DVB modules ves1820, dvb-core and dvb-ttpci are loaded.

I am seeing this very same problem with that card on two different machines -
and even the manufacturer's own Windows drivers are no exception, as even there
sound only works sporadically, i.e. with no reproducible pattern & after a few
reboots. FSC support have not been able to help with this yet. I've tried both
of the answers (now using vdr-1.2.6 though) given to the message above in the
thread at http://www.linuxtv.org/mailinglists/vdr/2003/11-2003/msg00249.html
but to no avail, and even recompiled the switch (av7110->adac_type) section in
/usr/local/src/linux-dvb.2003-11-08/driver/av7110/av7110.c with only one of the
SetVolume switch blocks left in place, only to find that neither version works.

I can be sure this is in no way related to the sound card setup but must be an
issue of the DVB-C card (driver, probably DAC control) internally as the analog
audio pins on the card's back connector carry the same sound... of silence! ;-(

BTW http://www.linuxtv.org/mailinglists/linux-dvb/2003/05-2003/msg00003.html
and the replies in that thread suggest work has been done to solve this more
than a year ago already, but I could not find the outcome of this yet (anyway
I wonder if there is supposed to be sound on SCART too & whether SPDIF works).

While neither of the methods suggested in the /usr/local/src/DVB/INSTALL & FAQ
to play audio AND video works for me (possibly restrictions in the later builds
of mplayer and xine: both kvdr & xawtv for video only are working just great),
I could make sure that sound is indeed being captured by the card by running
cat /dev/dvb/adapter0/dvr0 > test.pav
apps/szap/czap Das\ Erste -r [in other window]
^C [back in first window, after waiting a few seconds]
mplayer test.pav [music to my ears ;-)]

Now that I've also tried http://www.linuxdvb.tv/download/dvb-20040504&5.tar.bz2
without any change whatsoever to the symptoms, I am wondering whether the issue
has been fixed in the "official" sources already, and how you have managed to
get audio to work (in a reliable way) on your cards, possibly even without the
need to tweak av7110.c (which -as I said- doesn't seem to make a difference to
the problem on my machines anyhow). In advance, thanks a lot for your replies.

System information:

lspci -v (excerpt):
00:09.0 Multimedia controller: Philips Semiconductors SAA7146 (rev 01)
        Subsystem: Siemens Nixdorf AG: Unknown device 0000
        Flags: bus master, medium devsel, latency 32, IRQ 11
        Memory at e6000000 (32-bit, non-prefetchable) [size=512]

/var/log/boot.msg (excerpt):
Linux version 2.4.20-4GB (root@Pentium.suse.de) (gcc version 3.3 20030226
(prerelease) (SuSE Linux)) #1 Mon Mar 17 17:54:44 UTC 2003

/var/log/messages (excerpt):
kernel: DVB: registering new adapter (Siemens cable card PCI rev1.5).
kernel: PCI: Found IRQ 11 for device 00:09.0
kernel: DVB: VES1820(0): setup for tuner spXXXX
kernel: DVB: VES1820(0): pwm=0x52
kernel: DVB: registering frontend 0:0 (VES1820 based DVB-C frontend)...
kernel: mt312_read: ret == -121
kernel: DVB: AV7111(0) - firm f0240009, rtsl b0250018, vid 71010068, app 8000261b
kernel: DVB: AV7111(0) - firmware supports CI link layer interface
kernel: av7110(0): DVB-C w/o analog module detected
kernel: Siemens cable card PCI rev1.5 adapter 0 has MAC addr = 00:...
kernel:
kernel: Technisat SkyStar2 driver loading

Apparently something going wrong. One thing that MIGHT be related to the issue:
grep analog\ module /var/log/messages yields 23 entries. Only ONE of them reads
kernel: av7110(0): DVB-C analog module detected, initializing MSP3400
- all of the others show the above message about NOT finding an analog module.

Also, on all of these except the one where the analog module has been detected,
a block like this appears in /var/log/messages as well (recorded 35 times now):

vdr[2981]: switching to channel 13
vdr[2981]: ERROR (dvbdevice.c,765): Operation not permitted
vdr[2981]: setting watchdog timer to 60 seconds
kernel: apm: set display: Power management disabled
vdr[2981]: PANIC: watchdog timer expired - exiting!

I only got the card to work with sound TWICE out of all of these attempts.

Indeed the MSP3400 is mentioned quite a few times WRT sound/volume issues in
http://www.linuxdvb.tv/download/ChangeLog - so this might be at the root of it.

Unfortunately it takes more than a quick hack along the lines of
                /**
                 * some special handling for the Siemens DVB-C cards...
                 */
                } else if (1 == 1) {
                        i2c_writereg(av7110, 0x80, 0x0, 0x80);
                        i2c_writereg(av7110, 0x80, 0x0, 0);
                        printk("av7110(%d): DVB-C analog module enforced, "
in /usr/local/src/DVB/driver/av7110/av7110.c
(i.e. to simply force it to "detect" the MSP) which I tried... without success.

I am wondering how I could gather more relevant information in case it happens
to work again, e.g. dumps of the card registers (both here and under Windoze).

This is what runvdr has to say:
/lib/modules/2.4.20-4GB/build/scripts/pathdown.sh: line 4: TOPDIR:
parameter null or not set
DIR=`pwd`; (cd /lib/modules/2.4.20-4GB/build; make SUBDIRS=$DIR modules)
make[1]: Entering directory `/usr/src/linux-2.4.20.SuSE'
make -C  /usr/local/src/DVB/driver CFLAGS="-D__KERNEL__
-I/usr/src/linux-2.4.20.SuSE/include -Wall -Wstrict-prototypes -Wno-trigraphs
-O2 -fno-strict-aliasing -fno-common -Wno-sign-compare -finline-limit=2000
-fomit-frame-pointer -pipe -mpr eferred-stack-boundary=2 -march=i586
-DMODULE" MAKING_MODULES=1 modules
make[2]: Entering directory `/usr/local/src/DVB/driver'
ld -m elf_i386 -r -o dvb-core.o dmxdev.o dvb_demux.o dvb_net.o dvb_i2c.o
dvb_filter.o dvb_frontend.o dvbdev.o compat.o dvb_ksyms.o
make -C av7110 modules
make[3]: Entering directory `/usr/local/src/DVB/driver/av7110'
ld -m elf_i386 -r -o dvb-ttpci.o saa7146_core.o saa7146_v4l.o av7110.o
av7110_ir.o ttpci_eeprom.o
make[3]: Leaving directory `/usr/local/src/DVB/driver/av7110'
make -C b2c2 modules
make[3]: Entering directory `/usr/local/src/DVB/driver/b2c2'
make[3]: Nothing to be done for `modules'.
make[3]: Leaving directory `/usr/local/src/DVB/driver/b2c2'
make -C frontends modules
make[3]: Entering directory `/usr/local/src/DVB/driver/frontends'
make[3]: Nothing to be done for `modules'.
make[3]: Leaving directory `/usr/local/src/DVB/driver/frontends'
make[2]: Leaving directory `/usr/local/src/DVB/driver'
make[1]: Leaving directory `/usr/src/linux-2.4.20.SuSE'

sync
(                                               \
insmod videodev;                                \
                                \
insmod dvb-core.o dvb_shutdown_timeout=0;       \
make -C frontends insmod;                       \
 make -C av7110 insmod;  make -C b2c2 insmod; \
)
Using /lib/modules/2.4.20-4GB/kernel/drivers/media/video/videodev.o
insmod: a module named videodev already exists
make[1]: Entering directory `/usr/local/src/DVB/driver/frontends'
insmod alps_bsrv2.o;   insmod alps_tdmb7.o;   insmod alps_tdlb7.o;
insmod grundig_29504-401.o;   insmod grundig_29504-491.o;   insmod stv0299.o;
insmod ves1820.o;   insmod tda1004x.o;   insmod mt312.o;
make[1]: Leaving directory `/usr/local/src/DVB/driver/frontends'
make[1]: Entering directory `/usr/local/src/DVB/driver/av7110'
insmod input; \
insmod evdev; \
insmod dvb-ttpci.o;
Using /lib/modules/2.4.20-4GB/kernel/drivers/input/input.o
insmod: a module named input already exists
Using /lib/modules/2.4.20-4GB/kernel/drivers/input/evdev.o
insmod: a module named evdev already exists
make[1]: Leaving directory `/usr/local/src/DVB/driver/av7110'
make[1]: Entering directory `/usr/local/src/DVB/driver/b2c2'
insmod skystar2.o;
skystar2.o: init_module: No such device
Hint: insmod errors can be caused by incorrect module parameters,
including invalid IO or IRQ parameters.
      You may find more information in syslog or the output from dmesg
make[1]: [insmod] Error 1 (ignored)
make[1]: Leaving directory `/usr/local/src/DVB/driver/b2c2'
sync

(The error WRT skystar2.o is now being prevented by "make insmod CARDS=av7110")


-- 
Info:
To unsubscribe send a mail to ecartis@linuxtv.org with "unsubscribe linux-dvb" as subject.



Home | Main Index | Thread Index