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

Re: ALSA problem - TV tuner no sound



Michael Bonert wrote:
> I recently upgraded kernels (2.6.18-4-k7 -> 2.6.11-1-k7) and sound systems (OSS -> ALSA).
> 
> Sound, aside from the TV tuner, works fine.
> 
> My TV tuner worked like a snap under OSS and made use of the following drivers:
>  bttv
>  bt878
> 
> I've discovered that 'bttv' is need for 'xawtv' to load.  It appears
> to be essential for the video.
> bt878, as far as I can tell, is the OSS driver.
> 
> 
> I thought replacing 'bt878' with 'snd_bt87x' would be the fix -- NOPE.
> 
> I thought things might work with the compatibility package, i.e. 
> "apt-get install alsa-oss" & "apt-get install oss-compat" -- NOPE.
> 
> 
> I ran into this problem about 2 years ago (see: http://linux.derkeiler.com/Mailing-Lists/Debian/2005-01/4381.html )
> -- gave-up and went back to OSS.  Seems the problem-- still isn't 
> resolved cleanly.
> 
> 
> I blacklisted 'bt878' as described here:
> https://bugs.launchpad.net/ubuntu/+source/linux-source-2.6.15/+bug/29789
> 
> # vi /etc/modprobe.d/blacklist
> -----------------------------
> 	# added by MB - 2 Jul 2007
> 	# https://bugs.launchpad.net/ubuntu/+source/linux-source-2.6.15/+bug/29789
> 	blacklist bt878
> -----------------------------
> 
> # vi /etc/discover.conf 
> -----------------------------
> 	# the following was added by MB -- to avoid that the OSS driver loads
> 	# see: http://www.linuxmafia.com/faq/Debian/alsa.html
> 	skip bt878
> -----------------------------
> The two things above avoided that 'bt878' loads on boot-up... but gots me no further ahead on the TV tuner sound.
> 
> 
> Software:
> ---------
> ALSA version:
> $ more /proc/asound/version
> Advanced Linux Sound Architecture Driver Version 1.0.12rc1 (Thu Jun 22 13:55:50 2006 UTC).
> 
> Kernel:
> $ more /proc/version
> Linux version 2.6.18-4-k7 (Debian 2.6.18.dfsg.1-12) (waldi@debian.org) 
> (gcc version 4.1.2 20061115 (prerelease) (Debian 4.1.1-21)) #
> 1 SMP Mon Mar 26 17:57:15 UTC 2007
> ---------
> 
> 
> I read about a problem with artsd (KDE), bttv and ALSA.  Turning off the KDE sound system didn't change things.
> 
> 
> Looking at the modules...
> $ more /proc/asound/modules
>  0 snd_emu10k1
>  1 snd_mpu401
> 
> ---------
> I haven't figured-out what 'snd_mpu401' is... 
> 
> 
> I did try:
> # modprobe -r snd_mpu401 snd_mpu401_uart
> 	This didn't make a change I noticed (other sound still worked).
> 
> 
> It bothers me that I only find my sound card:
> # cat /proc/asound/cards
>  0 [Live           ]: EMU10K1 - SBLive 5.1 [SB0060]
>                       SBLive 5.1 [SB0060] (rev.7, serial:0x80611102) at 0xd400, irq 217
>  1 [UART           ]: MPU-401 UART - MPU-401 UART
>                       MPU-401 UART at 0x330, irq 10
> ---------
> I'm not sure what 'MPU-401' is. (My sound card uses: 'snd_emu10k1'.)
> 
> 
> 'lspci' finds the sound hardware:
> $ lspci 
> <snippage>
> 01:07.0 Multimedia video controller: Brooktree Corporation Bt878 Video Capture (rev 02)
> 01:07.1 Multimedia controller: Brooktree Corporation Bt878 Audio Capture (rev 02)
> 01:0a.0 Multimedia audio controller: Creative Labs SB Live! EMU10k1 (rev 07)
> 01:0a.1 Input device controller: Creative Labs SB Live! Game Port (rev 07)
> <snippage>
> ---------
> 
> 
> My impression is that the problem lies at the level of the kernel-- after
> looking at the boot log with 'dmesg':
> 
> If I block loading of 'bt878' with blacklisting in "/etc/modprobe.d/blacklist" and "/etc/discover.conf" dmesg looks like:
> 
> $ dmesg |grep bt
> bttv: driver version 0.9.16 loaded
> bttv: using 8 buffers with 2080k (520 pages) each for capture
> bttv: Bt8xx card found (0).
> bttv0: Bt878 (rev 2) at 0000:01:07.0, irq: 209, latency: 32, mmio: 0xe4000000
> bttv0: detected: ATI TV Wonder [card=63], PCI subsystem ID is 1002:0001
> bttv0: using: ATI TV-Wonder [card=63,autodetected]
> bttv0: gpio: en=00000000, out=00000000 in=00ffffff [init]
> bttv0: using tuner=19
> bttv0: i2c: checking for MSP34xx @ 0x80... found
> msp3400 2-0040: MSP3430G-A4 found @ 0x80 (bt878 #0 [sw])
> bttv0: i2c: checking for TDA9875 @ 0xb0... not found
> bttv0: i2c: checking for TDA7432 @ 0x8a... not found
> bttv0: i2c: checking for TDA9887 @ 0x86... not found
> tuner 2-0060: chip found @ 0xc0 (bt878 #0 [sw])
> bttv0: registered device video0
> bttv0: registered device vbi0
> bttv0: PLL: 28636363 => 35468950 .. ok
> bttv0: PLL can sleep, using XTAL (28636363).
> bttv0: PLL: 28636363 => 35468950 .. ok
> bttv0: unloading
> bttv: driver version 0.9.16 loaded
> bttv: using 8 buffers with 2080k (520 pages) each for capture
> bttv: Bt8xx card found (0).
> bttv0: Bt878 (rev 2) at 0000:01:07.0, irq: 209, latency: 32, mmio: 0xe4000000
> bttv0: detected: ATI TV Wonder [card=63], PCI subsystem ID is 1002:0001
> bttv0: using: ATI TV-Wonder [card=63,autodetected]
> bttv0: gpio: en=00000000, out=00000000 in=00ffffff [init]
> msp3400 2-0040: MSP3430G-A4 found @ 0x80 (bt878 #0 [sw])
> tuner 2-0060: chip found @ 0xc0 (bt878 #0 [sw])
> bttv0: using tuner=19
> bttv0: i2c: checking for MSP34xx @ 0x80... found
> bttv0: i2c: checking for TDA9875 @ 0xb0... not found
> bttv0: i2c: checking for TDA7432 @ 0x8a... not found
> bttv0: i2c: checking for TDA9887 @ 0x86... not found
> bttv0: registered device video0
> bttv0: registered device vbi0
> bttv0: PLL: 28636363 => 35468950 . ok
> bt878: AUDIO driver version 0.0.0 loaded
> bt878: Bt878 AUDIO function found (0).
> bt878_probe: card id=[0x11002], Unknown card.
> bt878: probe of 0000:01:07.1 failed with error -22
> bttv0: PLL can sleep, using XTAL (28636363).
> btaudio: driver version 0.7 loaded [digital+analog]
> btaudio: Bt878 (rev 2) at 01:07.1, irq: 209, latency: 32, mmio: 0xe4001000
> btaudio: using card config "default"
> btaudio: registered device dsp1 [digital]
> btaudio: registered device dsp2 [analog]
> btaudio: registered device mixer2
> bttv0: unloading
> btaudio: driver version 0.7 loaded [digital+analog]
> btaudio: Bt878 (rev 2) at 01:07.1, irq: 209, latency: 32, mmio: 0xe4001000
> btaudio: using card config "default"
> btaudio: registered device dsp1 [digital]
> btaudio: registered device dsp2 [analog]
> btaudio: registered device mixer2
> bttv: driver version 0.9.16 loaded
> bttv: using 8 buffers with 2080k (520 pages) each for capture
> bttv: Bt8xx card found (0).
> bttv0: Bt878 (rev 2) at 0000:01:07.0, irq: 209, latency: 32, mmio: 0xe4000000
> bttv0: detected: ATI TV Wonder [card=63], PCI subsystem ID is 1002:0001
> bttv0: using: ATI TV-Wonder [card=63,autodetected]
> bttv0: gpio: en=00000000, out=00000000 in=00ffffff [init]
> msp3400 2-0040: MSP3430G-A4 found @ 0x80 (bt878 #0 [sw])
> tuner 2-0060: chip found @ 0xc0 (bt878 #0 [sw])
> bttv0: using tuner=19
> bttv0: i2c: checking for MSP34xx @ 0x80... found
> bttv0: i2c: checking for TDA9875 @ 0xb0... not found
> bttv0: i2c: checking for TDA7432 @ 0x8a... not found
> bttv0: i2c: checking for TDA9887 @ 0x86... not found
> bttv0: registered device video0
> bttv0: registered device vbi0
> bttv0: PLL: 28636363 => 35468950 .. ok
> bt878: AUDIO driver version 0.0.0 loaded
> bttv0: PLL can sleep, using XTAL (28636363).
> -------------------
> 
> Without modifications to "/etc/modprobe.d/blacklist" and "/etc/discover.conf":
> 
> $ dmesg |grep bt
> bttv: driver version 0.9.16 loaded
> bttv: using 8 buffers with 2080k (520 pages) each for capture
> bttv: Bt8xx card found (0).
> bttv0: Bt878 (rev 2) at 0000:01:07.0, irq: 209, latency: 32, mmio: 0xe4000000
> bttv0: detected: ATI TV Wonder [card=63], PCI subsystem ID is 1002:0001
> bttv0: using: ATI TV-Wonder [card=63,autodetected]
> bttv0: gpio: en=00000000, out=00000000 in=00ffffff [init]
> bttv0: using tuner=19
> bttv0: i2c: checking for MSP34xx @ 0x80... found
> msp3400 2-0040: MSP3430G-A4 found @ 0x80 (bt878 #0 [sw])
> bttv0: i2c: checking for TDA9875 @ 0xb0... not found
> bttv0: i2c: checking for TDA7432 @ 0x8a... not found
> bttv0: i2c: checking for TDA9887 @ 0x86... not found
> tuner 2-0060: chip found @ 0xc0 (bt878 #0 [sw])
> bttv0: registered device video0
> bttv0: registered device vbi0
> bttv0: PLL: 28636363 => 35468950 .. ok
> bt878: AUDIO driver version 0.0.0 loaded
> bt878: Bt878 AUDIO function found (0).
> bt878_probe: card id=[0x11002], Unknown card.
> bt878: probe of 0000:01:07.1 failed with error -22
> bttv0: PLL can sleep, using XTAL (28636363).
> -------------------
> 
> I have the feeling that the kernel doesn't play nice with the bt878 driver.
> ( bt878: probe of 0000:01:07.1 failed with error -22 )
> 
> The 'BTTV HOWTO' ( http://tldp.org/HOWTO/html_single/BTTV/ ) 
> looked good.  I gave it a read... but it didn't help me further.
> 
> 
> The questions I have are:
> 1. Is there anything specific one has to do to enable the 'alsa-oss' package?
> 2. Is there an easy way to downgrade to OSS?
> 3. What role does the driver 'btaudio' have?
> 4. How can I further trouble shoot the problem?
> 
> Thanks,
> Michael
> 
> 
> Hardware:
> ========================================
> Athlon 2200 XP
> ASUS A7N8X (Motherboard)
> 512 MB RAM
> 
> TVCard: ATI-TV Wonder
> Sound: Creative Labs Sound Blaster Live! 
> 
> Software:
> ========================================
> Debian GNU/Linux -- testing
> Kernel -- Linux version 2.6.18-4-k7 (Debian 2.6.18.dfsg.1-12) (waldi@debian.org) (gcc version 4.1.2 20061115 (prerelease) (Debian 4.1.1-21)) #1 SMP Mon Mar 26 17:57:15 UTC 2007
> KDE -- 3.5.7
> 

A similar problem was resolved in the recent thread "Some ALSA apps stopped
working" [1]. As far as I know, OSS apps (eg XMMS, which is configured for OSS
by default) should work under ALSA, but they require the /dev/dsp device. You do
not need the alsa-oss package for this.

I suggest that you check that /dev/dsp exists:

	# file /dev/dsp
	/dev/dsp: ERROR: cannot open `/dev/dsp' (No such file or directory)

If you get an error, re-create it and check again:

	# modprobe snd_pcm_oss

	# file /dev/dsp
	/dev/dsp: character special (14/3)

Check that your OSS app now works.

[1] http://lists.debian.org/debian-user/2007/06/msg02712.html

-- 
Chris.



Reply to: