From owner-freebsd-multimedia@FreeBSD.ORG Mon Feb 1 04:50:17 2010 Return-Path: Delivered-To: freebsd-multimedia@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 57B4B1065676 for ; Mon, 1 Feb 2010 04:50:17 +0000 (UTC) (envelope-from curtis@occnc.com) Received: from harbor.orleans.occnc.com (harbor.orleans.occnc.com [173.9.106.135]) by mx1.freebsd.org (Postfix) with ESMTP id F20188FC15 for ; Mon, 1 Feb 2010 04:50:16 +0000 (UTC) Received: from harbor.orleans.occnc.com (harbor.orleans.occnc.com [173.9.106.135]) by harbor.orleans.occnc.com (8.13.6/8.13.6) with ESMTP id o114OOxD083797; Sun, 31 Jan 2010 23:24:24 -0500 (EST) (envelope-from curtis@harbor.orleans.occnc.com) Message-Id: <201002010424.o114OOxD083797@harbor.orleans.occnc.com> To: freebsd-multimedia@freebsd.org From: Curtis Villamizar Date: Sun, 31 Jan 2010 23:24:24 -0500 Sender: curtis@occnc.com Cc: curtis@occnc.com Subject: No sound on HP 2133 built in speakers X-BeenThere: freebsd-multimedia@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: curtis@occnc.com List-Id: Multimedia discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 01 Feb 2010 04:50:17 -0000 [btw: I'm not subscribed so please keep me on the Cc. Otherwise I have to wait for the archive to carry any followup]. I've had limited success with an HP 2133 (netbook) that came with Linux. If its any consolation to us FreeBSDers, some of the hardware didn't work with Linux either as shipped by HP and it was running X11R6.9 with the old VIA driver. There was a conversation about the HP 2133 built in speakers in April 2009. http://lists.freebsd.org/pipermail/freebsd-multimedia/2009-April/010032.html (subject: Not working sound on HP 2133) There were some posts earlier and two brief later posts essentially saying "use snd_hda". Nothing after that. To be brief, this is mostly informational except maybe a suggestion to put more detail in /dev/sndstat and better yet a way to unmute more directly. I've tried both OSS and snd_hda and have had slightly better luck with OSS. The internal mic works with OSS but I haven't got it to work with snd_hda. The above email references an earlier post from December 2008. http://lists.freebsd.org/pipermail/freebsd-multimedia/2008-December/009530.html (subject: snd_hda on HP mini-note 2133) The pindumps show the internal speakers at nid 22. Excerpt below has white space change for email readability. hdac0: nid 22 0x92174110 as 1 seq 0 Speaker Fixed jack 7 loc 18 color Green misc 1 hdac0: Caps: IN OUT EAPD Sense: 0x0000e300 delay 60us I'm not sure how to interpret the second line. Searching for "nid: 22" and "nid=22" reveals the audio plumbing. hdac0 has "nid: 22" taking input from "nid=11 [audio mixer]". This matches the pcm0 plumbing, but indicated "mute=1". hdac0: nid: 22 hdac0: Name: pin: Speaker (Fixed) hdac0: Widget cap: 0x0040058d hdac0: PWR UNSOL STEREO hdac0: Association: 0 (0x00000001) hdac0: Pin cap: 0x00010037 hdac0: ISC TRQD PDC OUT IN EAPD hdac0: Pin config: 0x92174110 hdac0: Pin control: 0x00000040 OUT hdac0: EAPD: 0x00000002 hdac0: Output amp: 0x80000000 hdac0: mute=1 step=0 size=0 offset=0 hdac0: connections: 1 hdac0: | hdac0: + <- nid=11 [audio mixer] pcm0: | DUMPING Playback/Record Pathes | pcm0: +--------------------------------+ pcm0: pcm0: Playback: pcm0: pcm0: nid=22 [pin: Speaker (Fixed)] pcm0: | pcm0: + <- nid=11 [audio mixer] [src: pcm, mix] pcm0: | pcm0: + <- nid=15 [audio selector] [src: pcm] pcm0: | pcm0: + <- nid=3 [audio output] [src: pcm] pcm0: + <- nid=33 [audio selector] [src: mix] pcm0: | pcm0: + <- nid=32 [audio mixer] [src: mix] Since I also have an HP 2133 (among other laptops) but I'm running OSS, I tried to correlate this information with what "ossmix -D" gives me. Other than the jack colors there is very little to go by. I'm unable to get any sound on the internal speakers. The OSS plumbing is definitely less obvious (to me at least). With OSS I am also unable to eliminate a high level of static on the internal mic, but that is a separate problem. With snd_hda I get nothing on the internal mic. With snd_hda there doesn't seem to be anything I can do with the mixer to enable the internal speaker. It looks to be wired to pcm0 but no apparent way to unmute it. Note that mixer doesn't report mute status and xmixer doesn't report it in ascii output, only graphically and its not immediately obvious which button state is "mute on" (apparently the "in" postion). BTW- It would be nice if the same level of detail provided when kldload snd_hda.ko is run would be provided through /dev/sndstat with the verbosity turned up a bit higher so that the mute state could be seen after a mixer app has made changes. Both OSS and snd_hda work with an external mic. Both have a bit of problem with noise that can be improved to the point of tolerable with adjustments to the volume levels. Curtis ps - This HP 2133 is bordering on a useful FreeBSD netbook used with a headset (to the extent any netbook is useful). Off topic, there have been many improvements very recently (FreeBSD 8.0 and ports): openchrome now works - no need for vesa driver and can hook up to a monitor, but still forced to same resolution as LCD. Have to look into that. Thank you Roland for the work on X11. Nits to look at is unplug USB keyb disables both keyboards and plug in external mouse shuts off Emulate3Button, needed for internal pad. These seem to be related to X11 use of hal. With webcamd the built in camera works for some applications. An external camera with PWC no longer works unless plugged directly into the one USB port. Webcamd supports both cameras simultaneously which is impressive, though it may not be useful. The bwi driver didn't work for this (pciconf reports chip=0x431214e4 rev=0x02, which uses a 4312 rev 2, requiring newer firmware rev). The bwn driver hold promise and that will be next to be tested. Sound sort of works as described above. External speaker and mic only. Ekiga3 seems to be a step backward in my limited playing with it. pps - best audio results were acheived with: OSS settings: !ossmix -d0 jack.fp-gray.mute OFF !ossmix -d0 jack.fp-gray.pcm1 58.4:58.4 !ossmix -d0 jack.fp-gray.select6 pcm1 !ossmix -d0 jack.fp-gray.select6-mute OFF !ossmix -d0 jack.fp-gray.mix6-mute ON !ossmix -d0 jack.int-green.mode input !ossmix -d0 jack.int-green.mute ON !ossmix -d0 jack.int-green.select4 pcm1 !ossmix -d0 jack.int-green.select4-mute ON !ossmix -d0 jack.int-green.mix6-mute ON !ossmix -d0 record.select1.select11 55.4:55.4 !ossmix -d0 record.select1.select12 fp-mic !ossmix -d0 record.select2.select21 0.0:0.0 !ossmix -d0 record.select2.select22 fp-mic !ossmix -d0 misc.pcm21 0.0:0.0 !ossmix -d0 misc.pcm2-mute ON !ossmix -d0 misc.mix6-mute1 ON !ossmix -d0 misc.mix2 pcm2 !ossmix -d0 misc.select3 pcm1 !ossmix -d0 misc.beep 0.0 !ossmix -d0 misc.select3-mute ON !ossmix -d0 misc.mix6-mute2 ON !ossmix -d0 misc.mix4 select3 !ossmix -d0 misc.fp-mic 0.0:0.0 !ossmix -d0 misc.int-mic 0.0:0.0 !ossmix -d0 misc.mix3 0.0:0.0 !ossmix -d0 misc.pcm1 0.0:0.0 !ossmix -d0 misc.pcm22 0.0:0.0 !ossmix -d0 misc.mix61 pcm1 !ossmix -d0 misc.mix62 0.0:0.0 !ossmix -d0 misc.select7 pcm1 !ossmix -d0 misc.select7-mute ON !ossmix -d0 misc.mix6-mute3 ON !ossmix -d0 misc.mix7 select7 !ossmix -d0 misc.mute1 ON !ossmix -d0 misc.mute2 ON !ossmix -d0 vmix0-enable ON !ossmix -d0 vmix0-channels Stereo !ossmix -d0 vmix0-src Fast !ossmix -d0 vmix0-outvol 20.0 !ossmix -d0 vmix0-invol 16.0 !ossmix -d0 vmix0.pcm4 25.0:25.0 !ossmix -d0 vmix0.pcm5 25.0:25.0 !ossmix -d0 vmix0.pcm6 25.0:25.0 !ossmix -d0 vmix0.pcm7 25.0:25.0 snd_hda (using xmixer): % cat .xgmixer.scf #SCFF 1.0 # mixer device name [/dev/mixer1] # Settings for the vol-device = { Int[0-100]:leftValue Int[0-100]:rightValue } vol = { 100 100 } # show slider for device "vol" = Bool[True, False]:Map vol_map = True # label of the device "vol" = String:Label vol_label = "Vol " # Settings for the pcm-device = { Int[0-100]:leftValue Int[0-100]:rightValue } pcm = { 75 75 } # show slider for device "pcm" = Bool[True, False]:Map pcm_map = True # label of the device "pcm" = String:Label pcm_label = "Pcm " # Settings for the mic-device = { Int[0-100]:leftValue Int[0-100]:rightValue } mic = { 100 100 } # show slider for device "mic" = Bool[True, False]:Map mic_map = True # label of the device "mic" = String:Label mic_label = "Mic " # Settings for the mix-device = { Int[0-100]:leftValue Int[0-100]:rightValue } mix = { 0 0 } # show slider for device "mix" = Bool[True, False]:Map mix_map = True # label of the device "mix" = String:Label mix_label = "Mix " # Settings for the rec-device = { Int[0-100]:leftValue Int[0-100]:rightValue } rec = { 58 58 } # show slider for device "rec" = Bool[True, False]:Map rec_map = True # label of the device "rec" = String:Label rec_label = "Rec "