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