kern/84471: [sound] [patch] no sound ICH4 (Analog Devices

Pyun YongHyeon pyunyh at gmail.com
Wed Jul 19 05:18:25 UTC 2006


On Wed, Jul 19, 2006 at 02:33:08PM +1000, Nick Withers wrote:
 > G'day all,
 > 
 > I'm attempting to convert a mate of my to the light side that is FreeBSD.
 > Everything's working extremely well, with the exception of sound for his
 > Compaq Presario B3800 laptop.
 > 
 > I _believe_ that this is the same issue as described in kern/84471, which
 > I believe needs to be re-opened.
 > 
 > snd_ich loads without dramas:
 > ___
 > 
 > pcm0: <Intel ICH4 (82801DB)> port 0x1c00-0x1cff,0x18c0-0x18ff mem
 > 0xd0000c00-0xd0000dff,0xd0000800-0xd00008ff irq 5 at device 31.5 on pci0
 > pcm0: <Analog Devices AD1981B AC97 Codec>
 > ___
 > 
 > ...and mixer(8) appears pretty happy:
 > ___
 > 
 > Mixer vol      is currently set to  75:75
 > Mixer pcm      is currently set to  75:75
 > Mixer line     is currently set to  75:75
 > Mixer mic      is currently set to 100:100
 > Mixer cd       is currently set to  75:75
 > Mixer rec      is currently set to   0:0
 > Mixer igain    is currently set to   0:0
 > Mixer ogain    is currently set to  50:50
 > Mixer line1    is currently set to  75:75
 > Mixer phin     is currently set to   0:0
 > Mixer phout    is currently set to   0:0
 > Recording source: vol
 > ___
 > 
 > Alas, however, no sound can be heard (I've tried playing CDs using
 > cdcontrol (1) as well as Totem under GNOME 2.14)
 > 
 > uname -a:
 > ___
 > 
 > FreeBSD Bowman.bomb.net 6.1-RELEASE FreeBSD 6.1-RELEASE #0: Sun May  7
 > 04:32:43 UTC 2006
 > root at opus.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC  i386
 > ___
 > 
 > pciconf -lv:
 > ___
 > 
 > agp0 at pci0:0:0:  class=0x060000 card=0x3089103c chip=0x33408086 rev=0x21
 > hdr=0x00
 >     vendor   = 'Intel Corporation'
 >     device   = '82855PM Host-Hub Interface Bridge'
 >     class    = bridge
 >     subclass = HOST-PCI
 > pcib1 at pci0:1:0: class=0x060400 card=0x00000000 chip=0x33418086 rev=0x21
 > hdr=0x01
 >     vendor   = 'Intel Corporation'
 >     device   = '82855PM AGP Bridge'
 >     class    = bridge
 >     subclass = PCI-PCI
 > uhci0 at pci0:29:0:        class=0x0c0300 card=0x3089103c chip=0x24c28086
 > rev=0x03 hdr=0x00
 >     vendor   = 'Intel Corporation'
 >     device   = '82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller'
 > class    = serial bus
 >     subclass = USB
 > uhci1 at pci0:29:1:        class=0x0c0300 card=0x3089103c chip=0x24c48086
 > rev=0x03 hdr=0x00
 >     vendor   = 'Intel Corporation'
 >     device   = '82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller'
 > class    = serial bus
 >     subclass = USB
 > uhci2 at pci0:29:2:        class=0x0c0300 card=0x3089103c chip=0x24c78086
 > rev=0x03 hdr=0x00
 >     vendor   = 'Intel Corporation'
 >     device   = '82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller'
 > class    = serial bus
 >     subclass = USB
 > ehci0 at pci0:29:7:        class=0x0c0320 card=0x3089103c chip=0x24cd8086
 > rev=0x03 hdr=0x00
 >     vendor   = 'Intel Corporation'
 >     device   = '82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB 2.0 EHCI
 > Controller'
 >     class    = serial bus
 >     subclass = USB
 > pcib2 at pci0:30:0:        class=0x060400 card=0x00000000 chip=0x24488086
 > rev=0x83 hdr=0x01
 >     vendor   = 'Intel Corporation'
 >     device   = '82801BAM/CAM/DBM (ICH2-M/3-M/4-M) Hub Interface to PCI
 > Bridge'
 >     class    = bridge
 >     subclass = PCI-PCI
 > isab0 at pci0:31:0:        class=0x060100 card=0x00000000 chip=0x24cc8086
 > rev=0x03 hdr=0x00
 >     vendor   = 'Intel Corporation'
 >     device   = '82801DBM (ICH4-M) LPC Interface Bridge'
 >     class    = bridge
 >     subclass = PCI-ISA
 > atapci0 at pci0:31:1:      class=0x01018a card=0x3089103c chip=0x24ca8086
 > rev=0x03 hdr=0x00
 >     vendor   = 'Intel Corporation'
 >     device   = '82801DBM (ICH4-M) UltraATA/100 EIDE Controller'
 >     class    = mass storage
 >     subclass = ATA
 > none0 at pci0:31:3:        class=0x0c0500 card=0x3089103c chip=0x24c38086
 > rev=0x03 hdr=0x00
 >     vendor   = 'Intel Corporation'
 >     device   = '82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) SMBus Controller'
 > class    = serial bus
 >     subclass = SMBus
 > pcm0 at pci0:31:5: class=0x040100 card=0x3089103c chip=0x24c58086 rev=0x03
 > hdr=0x00
 >     vendor   = 'Intel Corporation'
 >     device   = '82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio
 > Controller'
 >     class    = multimedia
 >     subclass = audio
 > none1 at pci0:31:6:        class=0x070300 card=0x3089103c chip=0x24c68086
 > rev=0x03 hdr=0x00
 >     vendor   = 'Intel Corporation'
 >     device   = '82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem
 > Controller'
 >     class    = simple comms
 >     subclass = generic modem
 > drm0 at pci1:0:0:  class=0x030000 card=0x3089103c chip=0x4e501002 rev=0x00
 > hdr=0x00
 >     vendor   = 'ATI Technologies Inc'
 >     device   = 'Mobility Radeon 9700 (M10 NP) (RV350)'
 >     class    = display
 >     subclass = VGA
 > cbb0 at pci2:7:0:  class=0x060700 card=0x3089103c chip=0x04761180 rev=0xa9
 > hdr=0x02
 >     vendor   = 'Ricoh Co Ltd'
 >     device   = 'RL5c476 CardBus Controller'
 >     class    = bridge
 >     subclass = PCI-CardBus
 > cbb1 at pci2:7:1:  class=0x060700 card=0x3089103c chip=0x04761180 rev=0xa9
 > hdr=0x02
 >     vendor   = 'Ricoh Co Ltd'
 >     device   = 'RL5c476 CardBus Controller'
 >     class    = bridge
 >     subclass = PCI-CardBus
 > fwohci0 at pci2:7:2:       class=0x0c0010 card=0x3089103c chip=0x05521180
 > rev=0x01 hdr=0x00
 >     vendor   = 'Ricoh Co Ltd'
 >     device   = 'RL5c552 IEEE-1394 Controller'
 >     class    = serial bus
 >     subclass = FireWire
 > rl0 at pci2:8:0:   class=0x020000 card=0x3089103c chip=0x813910ec rev=0x10
 > hdr=0x00
 >     vendor   = 'Realtek Semiconductor'
 >     device   = 'RT8139 (A/B/C/810x/813x/C+) Fast Ethernet Adapter' class  
 >  = network
 >     subclass = ethernet
 > iwi0 at pci2:9:0:  class=0x028000 card=0x12f6103c chip=0x42208086 rev=0x05
 > hdr=0x00
 >     vendor   = 'Intel Corporation'
 >     device   = 'PRO/Wireless 2200BG Network Connection'
 >     class    = network
 > ___
 > 
 > With hw.snd.verbose=3, cat /dev/sndstat:
 > ___
 > 
 > FreeBSD Audio Driver (newpcm)
 > Installed devices:
 > pcm0: <Intel ICH4 (82801DB)> at io 0xd0000c00, 0xd0000800 irq 5 bufsz
 > 16384 kld snd_ich (1p/1r/0v channels duplex default)
 >         [pcm0:play:0:dsp0.0]: spd 0, fmt 0x00000000/0x00000008, flags
 > 0x00000000, 0x00000000
 >         interrupts 0, underruns 0, ready 0 [b:16384/8192/2|bs:0/0/0]
 > {userland} -> feeder_root(0x00000000) -> {hardware}
 >         [pcm0:record:0:dsp0.1]: spd 8000, fmt 0x00000008/0x10000010, flags
 > 0x00000000, 0x00000000
 >         interrupts 0, overruns 0, hfree 1024, sfree 131072
 > [b:1024/512/2|bs:131072/128/1024]
 >         {hardware} -> feeder_root(0x10000010) -> feeder_16leto8(0x10000010
 > -> 0x10000040) -> feeder_stereotomono8(0x10000040 -> 0x00000040)
 > -> feeder_sign8(0x00000040 -> 0x00000008) -> {userland}
 > 
 > File Versions:
 > $FreeBSD: src/sys/dev/sound/pci/ich.c,v 1.53.2.6.2.1 2006/05/02 13:35:35
 > ariff Exp $
 > $FreeBSD: src/sys/dev/sound/isa/sndbuf_dma.c,v 1.3 2005/01/06 01:43:17 imp
 > Exp $
 > $FreeBSD: src/sys/dev/sound/pcm/vchan.c,v 1.17.2.4 2006/04/04 17:43:49
 > ariff Exp $
 > $FreeBSD: src/sys/dev/sound/pcm/sound.c,v 1.93.2.3 2006/04/04 17:43:48
 > ariff Exp $
 > $FreeBSD: src/sys/dev/sound/pcm/buffer.c,v 1.25.2.1 2005/12/30 19:55:54
 > netchild Exp $
 > $FreeBSD: src/sys/dev/sound/pcm/ac97_patch.c,v 1.3.2.1 2005/12/30 19:55:54
 > netchild Exp $
 > $FreeBSD: src/sys/dev/sound/pcm/sndstat.c,v 1.20.2.2 2005/12/30 19:55:54
 > netchild Exp $
 > $FreeBSD: src/sys/dev/sound/pcm/fake.c,v 1.14.2.1 2005/12/30 19:55:54
 > netchild Exp $
 > $FreeBSD: src/sys/dev/sound/pcm/dsp.c,v 1.80.2.6 2006/04/04 17:43:48 ariff
 > Exp $
 > $FreeBSD: src/sys/dev/sound/pcm/mixer.c,v 1.43.2.4 2006/04/04 17:43:48
 > ariff Exp $
 > $FreeBSD: src/sys/dev/sound/pcm/feeder_volume.c,v 1.2.2.1 2005/12/30
 > 19:55:54 netchild Exp $
 > $FreeBSD: src/sys/dev/sound/pcm/feeder_rate.c,v 1.11.2.2 2006/01/29
 > 02:27:28 ariff Exp $
 > $FreeBSD: src/sys/dev/sound/pcm/channel.c,v 1.99.2.4 2006/04/04 17:37:51
 > ariff Exp $
 > $FreeBSD: src/sys/dev/sound/pcm/feeder_fmt.c,v 1.14.2.2 2006/01/29
 > 02:27:28 ariff Exp $
 > $FreeBSD: src/sys/dev/sound/pcm/ac97.c,v 1.53.2.3 2006/01/09 02:06:42
 > ariff Exp $
 > $FreeBSD: src/sys/dev/sound/pcm/feeder.c,v 1.33.2.3 2006/03/07 15:51:19
 > jhb Exp $
 > ___
 > 
 > Don't suppose anyone could lend a hand, could they? Please note that I'm
 > not subscribed to freebsd-multimedia, so if any replies could CC me, I'd
 > appreciate it.
 > 

How about attached patch?

-- 
Regards,
Pyun YongHyeon
-------------- next part --------------
Index: ich.c
===================================================================
RCS file: /pool/ncvs/src/sys/dev/sound/pci/ich.c,v
retrieving revision 1.66
diff -u -r1.66 ich.c
--- ich.c	18 Jun 2006 14:14:41 -0000	1.66
+++ ich.c	19 Jul 2006 05:17:55 -0000
@@ -853,6 +853,7 @@
 	case 0x8197104d:	/* Sony S1XP */
 	case 0x81c0104d:	/* Sony VAIO type T */
 	case 0x81c5104d:	/* Sony VAIO VGN B1VP/B1XP */
+	case 0x3089103c:	/* Compaq Presario B3800 */
 		ac97_setflags(sc->codec, ac97_getflags(sc->codec) | AC97_F_EAPD_INV);
 		break;
 	default:


More information about the freebsd-multimedia mailing list