From owner-freebsd-mobile@FreeBSD.ORG Wed Jun 7 03:16:34 2006 Return-Path: X-Original-To: freebsd-mobile@freebsd.org Delivered-To: freebsd-mobile@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 1034516A9A7 for ; Wed, 7 Jun 2006 03:16:10 +0000 (UTC) (envelope-from morganw@chemikals.org) Received: from ms-smtp-01.southeast.rr.com (ms-smtp-01.southeast.rr.com [24.25.9.100]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7635343D48 for ; Wed, 7 Jun 2006 03:16:09 +0000 (GMT) (envelope-from morganw@chemikals.org) Received: from volatile.chemikals.org (cpe-024-211-118-154.sc.res.rr.com [24.211.118.154]) by ms-smtp-01.southeast.rr.com (8.13.6/8.13.6) with ESMTP id k573FuKf002509; Tue, 6 Jun 2006 23:15:57 -0400 (EDT) Received: from localhost (morganw@localhost [127.0.0.1]) by volatile.chemikals.org (8.13.6/8.13.6) with ESMTP id k573Ft4K074741; Tue, 6 Jun 2006 23:15:55 -0400 (EDT) (envelope-from morganw@chemikals.org) Date: Tue, 6 Jun 2006 23:15:55 -0400 (EDT) From: Wesley Morgan To: Andrea Bittau In-Reply-To: <20060606205918.GA6765@shorty.sorbonet.org> Message-ID: <20060606231025.R50560@volatile.chemikals.org> References: <20060606124030.GA32057@shorty.sorbonet.org> <4485CEF8.10201@centtech.com> <20060606192229.GA4465@shorty.sorbonet.org> <4485DA6D.9020304@centtech.com> <4485E199.7000604@centtech.com> <20060606205918.GA6765@shorty.sorbonet.org> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed X-Virus-Scanned: Symantec AntiVirus Scan Engine Cc: freebsd-mobile@freebsd.org Subject: Re: HDA sound driver mod for thinkpad x60s X-BeenThere: freebsd-mobile@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Mobile computing with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 07 Jun 2006 03:16:36 -0000 On Tue, 6 Jun 2006, Andrea Bittau wrote: > On Tue, Jun 06, 2006 at 03:12:09PM -0500, Eric Anderson wrote: >> How can I figure out the node id? > >> Jun 6 14:43:51 neutrino kernel: pcm0: node 2 type 0 cap d0401 >> Jun 6 14:43:51 neutrino kernel: pcm0: node 5 type 0 cap 40211 > >> Jun 6 14:43:51 neutrino kernel: pcm0: node 8 type 4 cap 430681 >> Jun 6 14:43:51 neutrino kernel: pcm0: node 9 type 4 cap 400301 >> Jun 6 14:43:51 neutrino kernel: pcm0: node 13 type 4 cap 400181 >> Jun 6 14:43:51 neutrino kernel: pcm0: node 14 type 4 cap 400181 >> Jun 6 14:43:51 neutrino kernel: pcm0: node 15 type 4 cap 400181 >> Jun 6 14:43:51 neutrino kernel: pcm0: node 16 type 4 cap 400181 >> Jun 6 14:43:51 neutrino kernel: pcm0: node 17 type 4 cap 400104 >> Jun 6 14:43:51 neutrino kernel: pcm0: node 18 type 4 cap 400001 > > OK so type 0 is audio output, so node id 2 and 5 are audio output. Therefore, > in the driver, the: > sorbo_conf_output(sc, 0, 3); > should be replaced with 0, 2 or 0, 5. > > The "pins", are type 4 and you need to amplify them. So you need to modify: > sorbo_set_amp(sc, 0, 5, 40); > with: > sorbo_set_amp(sc, 0, 8, 40); // set node id 8 gain 40 > sorbo_set_amp(sc, 0, 9, 40); // set node id 9 gain 40 > ... > sorbo_set_amp(sc, 0, 18, 40); // node id 18. > > There is one aditional piece of debug info which might be handy. You need to > make sure that the "pins" are connected to the audio output device. Make enum() > get called as described in the previous mails, then in sorbo_print_widget(), get > rid of 0 && in the type == HDA_PARAM_AUDIO_WIDGET_CAP_TYPE_PIN_COMPLEX. That > is, sorbo_conf_pin() should be called for each pin. This will cause an > additional printf which will tell you which audio output each pin is connected > to [list %x cur %d]. Ideally you want pins to be connected either to 2 or 5 in > your case. > > Also, make sure the hardware volume is up, if there are any buttons on the > laptop. =D Following all of these instructions on my system results nearly identical output, with no working sound. The chipset is an i945, which the folks at 4-front also seem to have problems supporting. pcm0: mem 0xffdfc000-0xffdfffff irq 22 at device 27.0 on pci0 init 0xc5901700 pcm0: Output Streams: 4, Input Streams: 4, Bidirectional Streams: 0 pcm0: CORB Size: 256, RIRB Size: 256 seq_eventthread started pcm0: