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

Reply via email to