kern/184512: [snd_maestro] snd_maestro does not function on i386 [regression]
adam ulmer
adam.ulmer at gmail.com
Fri Dec 20 20:40:02 UTC 2013
The following reply was made to PR kern/184512; it has been noted by GNATS.
From: adam ulmer <adam.ulmer at gmail.com>
To: bug-followup at FreeBSD.org
Cc:
Subject: Re: kern/184512: [snd_maestro] snd_maestro does not function on i386 [regression]
Date: Fri, 20 Dec 2013 13:30:25 -0700
--f46d043d676fe849d504edfd2557
Content-Type: text/plain; charset=UTF-8
I tested 9.2 with:
Dell XPS M1330 with Intel ICH8M had sound support from the default kernel,
snd_hda(4) <http://man.freebsd.org/snd_hda/4>
Dell Inspiron 8000 with ESS Maestro3 chipset
snd_maestro3(4)<http://man.freebsd.org/snd_maestro3/4>requires kldload
snd_maestro3
Dell Latitude X300 with Intel ICH4 had sound support from the default
kernel, snd_ich(4) <http://man.freebsd.org/snd_ich/4>
Dell Latitude X200 with Intel ICH3 had sound support from the default
kernel, snd_ich(4) <http://man.freebsd.org/snd_ich/4>
I don't have any hardware that uses
snd_maestro(4)<http://man.freebsd.org/snd_maestro/4>
.
The "pcm0: cannot allocate status buffer" error message happens on
line 1835<http://svnweb.freebsd.org/base/release/9.2.0/sys/dev/sound/pci/maestro.c?view=markup#l1835>,
before the driver can attach to the device. The maestro driver fails to get
memory for the status/record buffer (the call to dma_malloc() does not
succeed). If I were being thorough, I would trace through the two
conditions in dma_malloc() that return
null<http://svnweb.freebsd.org/base/release/9.2.0/sys/dev/sound/pci/maestro.c?view=markup#l1719>and
try to figure out why (requires hardware). The only change in the
maestro driver for 9.2 runs after that part of the code that fails so I'm
guessing that the loss of sound you experience with 9.2 comes from a change
somewhere higher up in the hierarchy (maybe PCI changes?).
While I'm trying to make educated guesses, I've never looked at this code
before and I don't have the hardware. I haven't worked on FreeBSD kernel
drivers since 2006 so I'd have to get familiar with the current PCI
subsystem. If the original reporter wants to continue with this guessing
game, boot into a live CD like the 9.2 live
cd<ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/i386/ISO-IMAGES/9.2/FreeBSD-9.2-RELEASE-i386-bootonly.iso>and
try the following commands in an attempt to locate which changes since
9.1 contributed to the loss of sound.
sysctl hw.pci.realloc_bars=1
sysctl hw.snd.verbose=4
kldload snd_maestro
cat /dev/sndstat
I wouldn't make guesses if I had the hardware. I would trace through and
find out exactly what happens. I'm on holiday and wanted to contribute to
FreeBSD during my time off. I saw the maestro bug and knew I had hardware
with maestro something. It turns out it was maestro3 and so I'm not able to
help after all.
--f46d043d676fe849d504edfd2557
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
<div dir=3D"ltr">I tested 9.2 with:<br><div><br>Dell XPS M1330 with Intel I=
CH8M had sound support from the default kernel, <a target=3D"_blank" title=
=3D"The FreeBSD snd_hda(4) manual page" href=3D"http://man.freebsd.org/snd_=
hda/4">snd_hda(4)</a><br>
Dell Inspiron 8000 with ESS Maestro3 chipset <a target=3D"_blank" title=3D"=
The FreeBSD snd_maestro3(4) manual page" href=3D"http://man.freebsd.org/snd=
_maestro3/4">snd_maestro3(4)</a> requires <code style=3D"background-color:r=
gb(222,227,231);padding:0.2px;margin:0.1em;display:inline-block"> <kbd>kldl=
oad snd_maestro3</kbd></code> <br>
Dell Latitude X300 with Intel ICH4 had sound support from the default kerne=
l, <a target=3D"_blank" title=3D"The FreeBSD snd_ich(4) manual page" href=
=3D"http://man.freebsd.org/snd_ich/4">snd_ich(4)</a><br>Dell Latitude X200 =
with Intel ICH3 had sound support from the default kernel, <a target=3D"_bl=
ank" title=3D"The FreeBSD snd_ich(4) manual page" href=3D"http://man.freebs=
d.org/snd_ich/4">snd_ich(4)</a><br>
<br>I don't have any hardware that uses <a target=3D"_blank" title=3D"T=
he FreeBSD snd_maestro(4) manual page" href=3D"http://man.freebsd.org/snd_m=
aestro/4">snd_maestro(4)</a>.<br><br><br>The "pcm0: cannot allocate st=
atus buffer" error message <a href=3D"http://svnweb.freebsd.org/base/r=
elease/9.2.0/sys/dev/sound/pci/maestro.c?view=3Dmarkup#l1835" class=3D"">ha=
ppens on line 1835</a>, before the driver can attach to the device. The <tt=
style=3D"color:rgb(0,122,0)">maestro</tt> driver fails to get memory for t=
he status/record buffer (the call to <tt style=3D"color:rgb(0,122,0)">dma_m=
alloc()</tt> does not succeed). If I were being thorough, I would trace th=
rough the two conditions in <a href=3D"http://svnweb.freebsd.org/base/relea=
se/9.2.0/sys/dev/sound/pci/maestro.c?view=3Dmarkup#l1719" class=3D"">dma_ma=
lloc() that return null</a> and try to figure out why (requires hardware). =
The only change in the <tt style=3D"color:rgb(0,122,0)">maestro</tt>
driver for 9.2 runs after that part of the code that fails so I'm=20
guessing that the loss of sound you experience with 9.2 comes from a=20
change somewhere higher up in the hierarchy (maybe PCI changes?). <br><br>=
While
I'm trying to make educated guesses, I've never looked at this cod=
e=20
before and I don't have the hardware. I haven't worked on FreeBSD k=
ernel
drivers since 2006 so I'd have to get familiar with the current PCI=20
subsystem. If the original reporter wants to continue with this guessing ga=
me, boot into a live CD like <a href=3D"ftp://ftp.freebsd.org/pub/FreeBSD/r=
eleases/i386/i386/ISO-IMAGES/9.2/FreeBSD-9.2-RELEASE-i386-bootonly.iso" cla=
ss=3D"">the 9.2 live cd</a> and try the following commands in an attempt to=
locate which changes since 9.1 contributed to the loss of sound.<br>
<br><code style=3D"background-color:rgb(222,227,231);padding:0.2px;margin:0=
.1em;display:inline-block"> <kbd>sysctl hw.pci.realloc_bars=3D1</kbd></code=
><br><code style=3D"background-color:rgb(222,227,231);padding:0.2px;margin:=
0.1em;display:inline-block"> <kbd>sysctl hw.snd.verbose=3D4</kbd></code><br=
>
<code style=3D"background-color:rgb(222,227,231);padding:0.2px;margin:0.1em=
;display:inline-block"> <kbd>kldload snd_maestro</kbd></code><br><code styl=
e=3D"background-color:rgb(222,227,231);padding:0.2px;margin:0.1em;display:i=
nline-block"> <kbd>cat /dev/sndstat</kbd></code><br>
<br>I
wouldn't make guesses if I had the hardware. I would trace through and=
=20
find out exactly what happens. I'm on holiday and wanted to contribute=
=20
to FreeBSD during my time off. I saw the <tt style=3D"color:rgb(0,122,0)">m=
aestro</tt> bug and knew I had hardware with maestro something. It turns ou=
t it was <tt style=3D"color:rgb(0,122,0)">maestro3</tt> and so I'm not =
able to help after all.<br>
</div></div>
--f46d043d676fe849d504edfd2557--
More information about the freebsd-multimedia
mailing list