I've spent most of the last couple of days trying to get this to
work the way I want, without success. So, again, I appeal to the list for
help. System particulars appear at the end.
I'm trying to use ALSA on an HP Omnibook 800CT with the snd-es18xx
driver. Although sound samples play intelligibly, the sound quality is not
as good as the kernel-supplied OSS driver ('sb' in this case). There appear
to be three primary problems:
o Straight sample playback using 'aplay' has pops/clicks at regular
intervals.
o At the very end of a sound sample, 'aplay' will "hiccup",
replaying a previous segment of the sample before exiting.
o Though coming out of both speakers, playback is monaural. It
sounds like left and right channels are being mixed together, and
the result played out both speakers. It also sounds like it's
being low-pass filtered, but I can't verify that.
'xmms' doesn't appear to suffer from the pop/click or "hiccup"
problems, but definitely has the monaural issue. (This is using the ALSA
driver support module for 'xmms'.) All of the above were performed using
native ALSA tools; the OSS compatibility modules were not loaded or used.
I've pored over all the available documentation, and tried fiddling
with everything available in 'alsamixer', to no avail. I can control volume
levels, but I can't obtain stereo separation or make the "muffling" of the
sound go away.
Further, if you enable 'mmap mode' in the ALSA XMMS plugin, a number
of error dialogs pop up reading, "mmap_commit: Unknown error 332". If you
ignore enough of these messages, XMMS will eventually lock up and need to be
killed from a shell. Turning 'mmap mode' off will get rid of the errors,
but XMMS will be more prone to garbled sound when performing other
CPU-intensive tasks.
'aplay -L' outputs a load of gobbledegook I don't understand. I've
also appended it below in case anyone does.
By contrast, the 'sb' kernel/OSS driver plays stereo fine, and does
not pop/click using SOX's 'play' command, but the "hiccup" is still there.
'xmms' playback is flawless in all cases. Here are the options for the 'sb'
module:
options sb irq=5 dma=1 dma16=5 io=0x220 mpu_io=0x330
Much of my guidance on configuring sound for the HP Omnibook came
from MobiliX's Web page on the subject:
http://mobilix.org/hp800e.html
Since I have sound working using the old, decrepit OSS drivers, this
isn't a big deal for me, but I'd like to see ALSA working at least as well
as the old stuff. Any and all hints greatly appreciated.
Schwab
---- The System ----
Machine: HP Omnibook 800CT laptop
Distro: Debian 3.0r0 (woody)
Kernel: 2.4.18; DEVFS enabled
Sound chip: ESS1887/1888
---- ALSA Info ----
Version: 0.9.0rc6
Configuration: ./configure --prefix=/usr/local --with-isapnp=yes
--with-oss=yes --with-cards=es18xx,es1688
---- XMMS Info ----
Version: 1.2.7
ALSA Plugin version: 0.9.7
---- /proc/modules ----
snd-es18xx 16168 1
snd-pcm 53344 0 [snd-es18xx]
snd-mpu401-uart 2624 0 [snd-es18xx]
snd-rawmidi 11584 0 [snd-mpu401-uart]
snd-opl3-lib 5344 0 [snd-es18xx]
snd-seq-device 3696 0 [snd-rawmidi snd-opl3-lib]
snd-hwdep 3424 0 [snd-opl3-lib]
snd-timer 9280 0 [snd-pcm snd-opl3-lib]
snd 23912 1 [snd-es18xx snd-pcm snd-mpu401-uart snd-rawmidi
snd-opl3-lib snd-seq-device snd-hwdep snd-timer]
serial_cs 5440 0 (unused)
ds 6720 2 [serial_cs]
i82365 22416 2
pcmcia_core 41408 0 [serial_cs ds i82365]
apm 8912 2 (autoclean)
sr_mod 13528 0 (autoclean) (unused)
nvram 3752 0 (unused)
msr 1184 0 (unused)
af_packet 11464 0 (unused)
rtc 5528 0 (autoclean)
---- /etc/modutils/alsa ----
## ALSA Native parms
alias char-major-116 snd
options snd cards_limit=1
alias snd-card-0 snd-es18xx
options snd-es18xx port=0x220 mpu_port=0x330 irq=5 dma1=1 dma2=5 isapnp=0
## OSS Emulation parms
alias sound-slot-0 sound-card-0 # Map OSS slot 0 to ALSA card 0
alias sound-service-0-0 snd-mixer-oss
alias sound-service-0-1 snd-seq-oss
alias sound-service-0-3 snd-pcm-oss
alias sound-service-0-8 snd-seq-oss
alias sound-service-0-12 snd-pcm-oss
---- /proc/asound/cards ----
0 [ES1887 ]: ES1887 - ESS AudioDrive ES1887
ESS AudioDrive ES1887 at 0x220, irq 5, dma1 1, dma2 5
---- /proc/asound/devices ----
0: [0- 0]: ctl
8: [0- 0]: raw midi
16: [0- 0]: digital audio playback
24: [0- 0]: digital audio capture
33: : timer
---- /proc/asound/pcm ----
00-00: ES1887 : ESS AudioDrive ES1887 : playback 2 : capture 1
---- /proc/asound/timers ----
G0: system timer : 10000.000us (10000000 ticks)
P0-0-0: PCM playback 0-0-0 : SLAVE
P0-0-1: PCM capture 0-0-1 : SLAVE
P0-0-2: PCM playback 0-0-2 : SLAVE
---- /proc/asound/version ----
Advanced Linux Sound Architecture Driver Version 0.9.0rc6.
Compiled on Nov 25 2002 for kernel 2.4.18 with versioned symbols.
---- Output from 'amixer' ----
Simple mixer control 'Master',0
Capabilities: pvolume pswitch cswitch cswitch-joined cswitch-exclusive
Capture exclusive group: 0
Playback channels: Front Left - Front Right
Capture channels: Mono
Limits: Playback 0 - 63
Mono: Capture [off]
Front Left: Playback 54 [86%] [on]
Front Right: Playback 54 [86%] [on]
Simple mixer control 'PCM',0
Capabilities: pvolume cvolume
Playback channels: Front Left - Front Right
Capture channels: Front Left - Front Right
Limits: Playback 0 - 15 Capture 0 - 15
Front Left: Playback 8 [53%] Capture 0 [0%]
Front Right: Playback 8 [53%] Capture 0 [0%]
Simple mixer control 'PCM',1
Capabilities: pvolume
Playback channels: Front Left - Front Right
Limits: Playback 0 - 15
Front Left: Playback 8 [53%]
Front Right: Playback 8 [53%]
Simple mixer control 'FM',0
Capabilities: pvolume cvolume
Playback channels: Front Left - Front Right
Capture channels: Front Left - Front Right
Limits: Playback 0 - 15 Capture 0 - 15
Front Left: Playback 8 [53%] Capture 0 [0%]
Front Right: Playback 8 [53%] Capture 0 [0%]
Simple mixer control 'Line',0
Capabilities: pvolume cvolume cswitch cswitch-joined cswitch-exclusive
Capture exclusive group: 0
Playback channels: Front Left - Front Right
Capture channels: Front Left - Front Right
Limits: Playback 0 - 15 Capture 0 - 15
Front Left: Playback 0 [0%] Capture 0 [0%] [off]
Front Right: Playback 0 [0%] Capture 0 [0%] [off]
Simple mixer control 'CD',0
Capabilities: pvolume cvolume cswitch cswitch-joined cswitch-exclusive
Capture exclusive group: 0
Playback channels: Front Left - Front Right
Capture channels: Front Left - Front Right
Limits: Playback 0 - 15 Capture 0 - 15
Front Left: Playback 0 [0%] Capture 0 [0%] [off]
Front Right: Playback 0 [0%] Capture 0 [0%] [off]
Simple mixer control 'Mic',0
Capabilities: pvolume cvolume cswitch cswitch-joined cswitch-exclusive
Capture exclusive group: 0
Playback channels: Front Left - Front Right
Capture channels: Front Left - Front Right
Limits: Playback 0 - 15 Capture 0 - 15
Front Left: Playback 0 [0%] Capture 0 [0%] [off]
Front Right: Playback 0 [0%] Capture 0 [0%] [off]
Simple mixer control 'Mic Boost (+26dB)',0
Capabilities: pswitch pswitch-joined
Playback channels: Mono
Mono: Playback [on]
Simple mixer control 'Mic Master',0
Capabilities: cswitch cswitch-joined cswitch-exclusive
Capture exclusive group: 0
Capture channels: Mono
Mono: Capture [off]
Simple mixer control 'Mic1',0
Capabilities: cswitch cswitch-joined cswitch-exclusive
Capture exclusive group: 0
Capture channels: Mono
Mono: Capture [off]
Simple mixer control 'PC Speaker',0
Capabilities: pvolume pvolume-joined
Playback channels: Mono
Limits: Playback 0 - 7
Mono: Playback 4 [57%]
Simple mixer control 'Aux',0
Capabilities: pvolume cvolume
Playback channels: Front Left - Front Right
Capture channels: Front Left - Front Right
Limits: Playback 0 - 15 Capture 0 - 15
Front Left: Playback 0 [0%] Capture 0 [0%]
Front Right: Playback 0 [0%] Capture 0 [0%]
Simple mixer control 'Mono',0
Capabilities: pvolume cvolume
Playback channels: Front Left - Front Right
Capture channels: Front Left - Front Right
Limits: Playback 0 - 15 Capture 0 - 15
Front Left: Playback 0 [0%] Capture 0 [0%]
Front Right: Playback 0 [0%] Capture 0 [0%]
Simple mixer control 'Capture',0
Capabilities: cvolume cswitch cswitch-joined
Capture channels: Front Left - Front Right
Limits: Capture 0 - 15
Front Left: Capture 15 [100%] [off]
Front Right: Capture 15 [100%] [off]
Simple mixer control 'Mix',0
Capabilities: cswitch cswitch-joined cswitch-exclusive
Capture exclusive group: 0
Capture channels: Mono
Mono: Capture [on]
Simple mixer control 'AOUT',0
Capabilities: cswitch cswitch-joined cswitch-exclusive
Capture exclusive group: 0
Capture channels: Mono
Mono: Capture [off]
Simple mixer control 'Hardware Master',0
Capabilities: pvolume pswitch
Playback channels: Front Left - Front Right
Limits: Playback 0 - 63
Front Left: Playback 54 [86%] [on]
Front Right: Playback 54 [86%] [on]
Simple mixer control 'Hardware Master Volume Split',0
Capabilities: pswitch pswitch-joined
Playback channels: Mono
Mono: Playback [off]
Simple mixer control 'Record Monitor',0
Capabilities: pswitch pswitch-joined
Playback channels: Mono
Mono: Playback [off]
---- Output from 'aplay -L' ----
PCM list:
hw {
@args.0 CARD
@args.1 DEV
@args.2 SUBDEV
@args.CARD {
type string
default {
@func getenv
vars {
0 ALSA_PCM_CARD
1 ALSA_CARD
}
default {
@func refer
name 'defaults.pcm.card'
}
}
}
@args.DEV {
type integer
default {
@func igetenv
vars {
0 ALSA_PCM_DEVICE
}
default {
@func refer
name 'defaults.pcm.device'
}
}
}
@args.SUBDEV {
type integer
default {
@func refer
name 'defaults.pcm.subdevice'
}
}
type hw
card $CARD
device $DEV
subdevice $SUBDEV
}
plughw {
@args.0 CARD
@args.1 DEV
@args.2 SUBDEV
@args.CARD {
type string
default {
@func getenv
vars {
0 ALSA_PCM_CARD
1 ALSA_CARD
}
default {
@func refer
name 'defaults.pcm.card'
}
}
}
@args.DEV {
type integer
default {
@func igetenv
vars {
0 ALSA_PCM_DEVICE
}
default {
@func refer
name 'defaults.pcm.device'
}
}
}
@args.SUBDEV {
type integer
default {
@func refer
name 'defaults.pcm.subdevice'
}
}
type plug
slave.pcm {
type hw
card $CARD
device $DEV
subdevice $SUBDEV
}
}
plug {
@args.0 SLAVE
@args.SLAVE {
type string
}
type plug
slave.pcm $SLAVE
}
shm {
@args.0 SOCKET
@args.1 PCM
@args.SOCKET {
type string
}
@args.PCM {
type string
}
type shm
server $SOCKET
pcm $PCM
}
tee {
@args.0 SLAVE
@args.1 FILE
@args.2 FORMAT
@args.SLAVE {
type string
}
@args.FILE {
type string
}
@args.FORMAT {
type string
default raw
}
type file
slave.pcm $SLAVE
file $FILE
format $FORMAT
}
file {
@args.0 FILE
@args.1 FORMAT
@args.FILE {
type string
}
@args.FORMAT {
type string
default raw
}
type file
slave.pcm null
file $FILE
format $FORMAT
}
null {
type null
}
default {
type plug
slave.pcm {
type hw
card {
@func getenv
vars {
0 ALSA_PCM_CARD
1 ALSA_CARD
}
default {
@func refer
name 'defaults.pcm.card'
}
}
device {
@func igetenv
vars {
0 ALSA_PCM_DEVICE
}
default {
@func refer
name 'defaults.pcm.device'
}
}
subdevice {
@func refer
name 'defaults.pcm.subdevice'
}
}
}
cards 'cards.pcm'
front 'cards.pcm.front'
rear 'cards.pcm.rear'
center_lfe 'cards.pcm.center_lfe'
surround40 'cards.pcm.surround40'
surround51 'cards.pcm.surround51'
iec958 'cards.pcm.iec958'
spdif 'cards.pcm.iec958'
-------------------------------------------------------
This SF.NET email is sponsored by: FREE SSL Guide from Thawte
are you planning your Web Server Security? Click here to get a FREE
Thawte SSL guide and find the answers to all your SSL security issues.
http://ads.sourceforge.net/cgi-bin/redirect.pl?thaw0026en
_______________________________________________
Alsa-user mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-user