Date: Mon, 11 Jul 2005 17:03:18 +0800 From: Muzaffar Ariff <mus.bsd@gmail.com> To: yongari@rndsoft.co.kr Cc: freebsd-multimedia@freebsd.org Subject: Re: ESS Maestro3 no sound Message-ID: <8eb2b810507110203229b46b@mail.gmail.com> In-Reply-To: <20050701014258.GE17058@rndsoft.co.kr> References: <8eb2b81050628200659d338ab@mail.gmail.com> <20050629043027.GB8832@rndsoft.co.kr> <42C2B94F.2010708@samsco.org> <20050701014258.GE17058@rndsoft.co.kr>
next in thread | previous in thread | raw e-mail | index | archive | help
After much searching on how to do the patching I think i got it right, but it still does not solve my problem. Here is what I did: 1. Tired to use the patch command and didn't work, because it can't find line 1023 in the original maestro3.c (on my machine). I knew about this but just gave it a try, hoping that I don't have to go the long way :-) 2. Went to locate my sound driver modules and found it in /usr/src/sys/modules/sound/driver/maestro3. Use to the make command to see what it does. *Q1: Is this the source code for the maestro3? 3. I then located and modified my maestro3.c file in /usr/src/sys/dev/sound/pci/maestro3.c (before that made a copy of the old one). Add and commenting out the stuff that you suggested. 4. went back to ~/sound/driver/maestro3 and recompiled it again. It compiled without a problem and I then loaded the module by using #kldload snd_driver. Look up /dev/sndstat and it showed the same thing as before: Installed devices: pcm0: <ESS Technology Maestro3> at io 0xd800 irq 5 kld snd_maestro3 (4p/1r/0v channels duplex default) 5. Restarted my machine by having snd_maestro3_load=3D"YES" loaded into /boot/loader.conf 6. Tried using xmms and the same problem happened, the xmms plays the song but with no sound. Looked at /var/run/dmesg.boot to see what went wrong and it output the same problem: pci0: <bridge, PCI-unknown> at device 7.3 (no driver attached) pcm0: <ESS Technology Maestro3> port 0xd800-0xd8ff mem 0xf3ffe000-0xf3ffffff irq 5 at device 8.0 on pci0 pcm0: failed: rid 0x10 is ioport, requested 3 Q2: Now I might have compiled the code right but did I load the module correctly? (i seem to be at the same conclusion, so I'm guessing it didn't load). Q3: If this does not work do I need to tweek the source to make my card work? If so looking at the code I don't know where to begin :(=20 Hopeless and confuse Muzaffar Ariff On 7/1/05, Pyun YongHyeon <yongari@rndsoft.co.kr> wrote: > On Wed, Jun 29, 2005 at 09:07:59AM -0600, Scott Long wrote: >=20 > [...] >=20 > > It looks like yet more decay in the driver. When I wrote it, I was la= zy > > and didn't want to figure out which chip versions preferred IOPORT > > mapping and which ones preferred MEMIO, so I just had it try MEMIO fir= st > > (since that is a better choice) and then fail back to IOPORT. The > > resource manager seemed to tolerate this back then, but apparently it > > doesn't now. My guess is that the first call to bus_alloc_resource > > returns success but actually fails, and in the process it leaks the > > resource out of the resource manager. Then when you unload and load > > again, the resource is unavailable (since it was leaked) so the first > > call to fails, prompting it to go to the second call which succeeds > > fully. This would mean that there are now a number of bugs in the > > resource manager which need to be fixed. > > > > Based on what I've seen over the years, it might be safe to assume tha= t > > BAR0 on both the meastro3 and allegro1 is IOPORT and that BAR1 on the > > maestro3 is MEMIO. Thus, the easiest change might be to just remove > > the first bus_alloc_resource call and force the driver to always use > > IOPORT. I'd still like to use this as a test case for fixing the deep= er > > bugs in the resource manager, though. > > >=20 > Thanks for detailed explanation. :-) > Here is patch. Muzaffar, does the patch change your situation? >=20 > Btw, I encountered dreasful message "play interrupt timeout, channel dead= " > again. Unloading the driver and then reloading the driver fixed it. > Since I see "pci_link2: Unable to choose an IRQ" during driver load > I can't sure it's fault of maestro3(4) driver. >=20 > -- > Regards, > Pyun YongHyeon > http://www.kr.freebsd.org/~yongari | yongari@freebsd.org >=20 >=20 >=20 --=20 Muzaffar Ariff mus.bsd@gmail.com
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?8eb2b810507110203229b46b>