Audio CD issue -- most everything but noise ASUS M4A89TD mobo
Polytropon
freebsd at edvax.de
Thu May 31 18:56:32 UTC 2012
On Thu, 31 May 2012 12:26:21 -0600, Gary Aitken wrote:
> On 05/31/12 05:54, Polytropon wrote:
> > On Thu, 31 May 2012 00:38:46 -0600, Gary Aitken wrote:
> >> The cd mounts a regular file system ok and audio generally works
> >> ok -- playing from a file works.
> >
> > You're sure it's a normal audio CD? How actually is one supposed
> > to mount audio CDs? They're _audio_ CD format, no ISO-9660 file
> > system on them...?
>
> By "normal" I mean it plays fine in a regular sound system, and
> on a windoze box via media player with the same CD player and
> the direct audio wire not hooked up.
Okay, just wanted to make sure it's no "Un-CD". :-)
> >> Successive status requests look like it is progressing through
> >> the CD just fine.
> >
> > Does the CD drive maybe have an earphone connector so you
> > can test if anything is output? I know most modern drives
> > don't come with this connector anymore.
>
> I'm using the earphones, and they work with mp3 files from disk.
> Who said anything about "modern"?
> I thought all CDs came from old junk machines. :-)
> Novel idea. This cd has one, and I get audio from it.
> So cdcontrol seems to be controlling operation just fine,
> there's just no audio getting into the guts of the os.
Good, this is a good way through the disgnostic steps. It
proves that the device actually plays CD audio (which we
expected, but now we're sure). Problem remaining: That
sound doesn't make it to the sound card (resp. its
implementation in the board's chipset).
> >> The CD does not have any direct to mobo audio wire, only the ATA cable.
> >> I'm assuming fbsd gets the audio down the ata cable, correct?
> >
> > As far as I remember... NO.
> >
> > I've been using FreeBSD with working CD audio in the past,
> > but I always had the wire installed (in many different
> > constellations, such as with using SCSI drives, using an
> > individual sound card, or having multiple line-ins on
> > the main board). _This_ method did always work.
>
> Ugh.
> Mobo:
> ASUS M4A89TD Pro/USB3
> doesn't even have a place to plug in the separate digital audio input cable.
> At least not that I can identify.
This functionality is not present on modern boards anymore.
Also note it's not digital. It's analog. GND plus two
channels. Audio transmission using the 40/80 pin (P)ATA
cable would have been digital.
Still, there _is_ a way of a workaround which is so ugly and
partially stupid that I fear to mention it.
You need a cable, 2 x 3.5mm stereo jack, which you connect
from the front connector of the CD drive to the line-in
connector on the back of your machine (the main baord's
line-in connector, typically colored light blue).
I didn't say anything! :-)
> > Just to make sure, check your mixer settings. Yes I know,
> > it's stupid to emphasize it, but _I_ have been fallen
> > into that trap already. :-)
> >
> > Mixer vol is currently set to 75:75
> > Mixer pcm is currently set to 50:50
> > Mixer cd is currently set to 0:0
> >
> > In _such_ a situation, missing sound is nothing special.
>
> How about missing cd?????
>
> Mixer vol is currently set to 100:100
> Mixer pcm is currently set to 75:75
> Mixer line is currently set to 75:75
> Mixer mic is currently set to 0:0
> Mixer mix is currently set to 0:0
> Mixer rec is currently set to 75:75
> Mixer igain is currently set to 100:100
> Mixer ogain is currently set to 50:50
> Recording source: mic
>
> I don't see any "cd". Where does that come from?
Okay, this means the mixer doesn't even have a CD audio
mixer channel. If I remember correctly, this channel is
directly associated to the internal audio connector which
is _not_ present in your system.
> There is a /dev/cd0:
>
> ls -l /dev/cd0
> crw-r----- 1 root operator 0, 115 May 30 09:29 /dev/cd0
>
> If I try to add "cd" to the list of devices, it claims it's not valid:
>
> #mixer +rec cd
> mixer: unknown recording device: cd
> usage: mixer [-f device] [-s | -S] [dev [+|-][voll[:[+|-]volr]] ...
> mixer [-f device] [-s | -S] recsrc ...
> mixer [-f device] [-s | -S] {^|+|-|=}rec rdev ...
> devices: vol, pcm, line, mic, mix, rec, igain, ogain
> rec devices: line, mic, mix
The /dev/cd0 device is the "SCSI translated" device which does
perform the same purpose as /dev/acd0, except that it's not
using the ATAPI "command set", but the SCSI "command set".
See "man 4 cd" and "man 4 acd" for comparison.
> What is the source for the "mix" device?
> I tried upping it to 50% but still no sound.
If I remember correctly, "mix" is the combined input of all
input channels.
> "man snd" shows a boatload of possible bridge drivers, but kldstat only shows a few loaded:
>
> %kldstat -v | grep "sound\|snd\|pcm"
> 252 uaudio/ua_pcm
> 250 sound
> 249 pci/snd_hda
> 248 hdac/snd_hda_pcm
> 247 pci/snd_via8233
> 246 pci/snd_ich
> 245 pci/snd_es137x
>
> This mobo has an ALC892 codec.
> dmesg shows:
>
> hdac0: <ATI (Unknown) High Definition Audio Controller> mem 0xfe9bc000-0xfe9bffff irq 25 at device 0.1 on pci5
>
> hdac1: <ATI SB600 High Definition Audio Controller> mem 0xfe6f8000-0xfe6fbfff irq 16 at device 20.2 on pci0
You can also check the content of /dev/sndstat. It will look
like this:
% cat /dev/sndstat
FreeBSD Audio Driver (newpcm: 32bit 2009061500/i386)
Installed devices:
pcm0: <HDA VIA VT1708_8 PCM #0 Analog> (play/rec) default
pcm1: <HDA VIA VT1708_8 PCM #1 Analog> (rec)
pcm2: <HDA VIA VT1708_8 PCM #2 Digital> (play)
Your output will list your actual devices. It's okay to assume
the the proper drivers have been loaded.
> I also see the following at the end of dmesg:
>
> (cd0:ata2:0:0:0): READ(10). CDB: 28 0 0 0 0 0 0 0 40 0
> (cd0:ata2:0:0:0): CAM status: SCSI Status Error
> (cd0:ata2:0:0:0): SCSI status: Check Condition
> (cd0:ata2:0:0:0): SCSI sense: ILLEGAL REQUEST asc:64,11 (Reserved ASC/ASCQ pair)
> (cd0:ata2:0:0:0): cddone: got error 0x16 back
> (cd0:ata2:0:0:0): MODE_SENSE(6) failed, increasing minimum CDB size to 10 bytes
> (cd0:ata2:0:0:0): PLAY AUDIO MSF. CDB: 47 0 0 0 0 0 43 36 0 0
> (cd0:ata2:0:0:0): CAM status: SCSI Status Error
> (cd0:ata2:0:0:0): SCSI status: Check Condition
> (cd0:ata2:0:0:0): SCSI sense: ILLEGAL REQUEST asc:21,0 (Logical block address out of range)
> (cd0:ata2:0:0:0): PLAY AUDIO MSF. CDB: 47 0 0 0 2 0 43 36 0 0
> (cd0:ata2:0:0:0): CAM status: SCSI Status Error
> (cd0:ata2:0:0:0): SCSI status: Check Condition
> (cd0:ata2:0:0:0): SCSI sense: ILLEGAL REQUEST asc:21,0 (Logical block address out of range)
>
> Those last four are repeated four five times total, and then:
>
> (cd0:ata2:0:0:0): READ SUB-CHANNEL. CDB: 42 2 40 2 0 0 0 0 18 0
> (cd0:ata2:0:0:0): CAM status: SCSI Status Error
> (cd0:ata2:0:0:0): SCSI status: Check Condition
> (cd0:ata2:0:0:0): SCSI sense: ILLEGAL REQUEST asc:2c,0 (Command sequence error)
>
> repeated a number of times. It's not clear to me when they
> showed up, as pausing, resuming, ejecting, loading, and
> playing a cd using cdcontrol doesn't seem to be adding
> any entries.
They appear when trying to access the CD drive via "SCSI commands",
i. e. using /dev/cd0.
> I tried doing
>
> kldload snd_atiixp
>
> but it didn't seem to make a difference.
>From the manpage: "The snd_atiixp bridge driver allows the
generic audio driver, sound(4), to attach to ATI IXP audio
devices." Not sure if that applies. Do you have an ATI IXP
audio device?
> I also don't have a clue whether or not that is an appropriate bridge driver.
> But maybe one needs to do something more to get it to actually
> try to use that bridge driver?
As I said, I think the system did already load the correct
driver. If you load sound.ko, the correct driver will be
automatically chosen. The laternative is to specify the
correct driver in /boot/loader.conf or compile it into
your kernel (if you're running a non-GENERIC kernel).
--
Polytropon
Magdeburg, Germany
Happy FreeBSD user since 4.0
Andra moi ennepe, Mousa, ...
More information about the freebsd-questions
mailing list