Poor sound quality with snd_via8233
Niklas Sorensson
nik at cs.chalmers.se
Sat Mar 18 13:58:41 UTC 2006
Hello,
I experience constant poor sound quality with the snd_8233 driver, ie not
interruptions due to temporary load or anything like that, but constant
distortion. I've been able to live with it because its good enough to use for
Skype, but I really would like to be able to listen to music as well.
I've searched mailing lists and googled, but couldn't find any problem
description that fits mine.
I'm running current, on an ASUS K8V Deluxe board. My kernel config and details
about the sound setup is attached.
Any advice on how to improve the situation is appreciated
/Niklas
-------------- next part --------------
#
# GENERIC -- Generic kernel configuration file for FreeBSD/i386
#
# For more information on this file, please read the handbook section on
# Kernel Configuration Files:
#
# http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig-config.html
#
# The handbook is also available locally in /usr/share/doc/handbook
# if you've installed the doc distribution, otherwise always see the
# FreeBSD World Wide Web server (http://www.FreeBSD.org/) for the
# latest information.
#
# An exhaustive list of options and more detailed explanations of the
# device lines is also present in the ../../conf/NOTES and NOTES files.
# If you are in doubt as to the purpose or necessity of a line, check first
# in NOTES.
#
# $FreeBSD: src/sys/i386/conf/GENERIC,v 1.438 2006/01/21 12:38:35 marius Exp $
cpu I686_CPU
ident APA
options CPU_ENABLE_SSE
# To statically compile in device wiring instead of /boot/device.hints
#hints "GENERIC.hints" # Default places to look for devices.
#makeoptions DEBUG=-g # Build kernel with gdb(1) debug symbols
#options SCHED_ULE # ULE scheduler
options SCHED_4BSD # 4BSD scheduler
options PREEMPTION # Enable kernel thread preemption
options INET # InterNETworking
#options INET6 # IPv6 communications protocols
options FFS # Berkeley Fast Filesystem
options SOFTUPDATES # Enable FFS soft updates support
#options UFS_ACL # Support for access control lists
options UFS_DIRHASH # Improve performance on big directories
options MD_ROOT # MD is a potential root device
#options NFSCLIENT # Network Filesystem Client
#options NFSSERVER # Network Filesystem Server
#options NFS_ROOT # NFS usable as /, requires NFSCLIENT
options MSDOSFS # MSDOS Filesystem
options CD9660 # ISO 9660 Filesystem
options PROCFS # Process filesystem (requires PSEUDOFS)
options PSEUDOFS # Pseudo-filesystem framework
options GEOM_GPT # GUID Partition Tables.
options COMPAT_43 # Compatible with BSD 4.3 [KEEP THIS!]
options COMPAT_43TTY # BSD 4.3 TTY compat [KEEP THIS!]
options COMPAT_FREEBSD4 # Compatible with FreeBSD4
options COMPAT_FREEBSD5 # Compatible with FreeBSD5
options SCSI_DELAY=5000 # Delay (in ms) before probing SCSI
options KTRACE # ktrace(1) support
options SYSVSHM # SYSV-style shared memory
options SYSVMSG # SYSV-style message queues
options SYSVSEM # SYSV-style semaphores
options _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensions
options KBD_INSTALL_CDEV # install a CDEV entry in /dev
#options AHC_REG_PRETTY_PRINT # Print register bitfields in debug
# # output. Adds ~128k to driver.
#options AHD_REG_PRETTY_PRINT # Print register bitfields in debug
# # output. Adds ~215k to driver.
options ADAPTIVE_GIANT # Giant mutex is adaptive.
options STOP_NMI # Stop CPUS using NMI instead of IPI
#options NETSMB
options HWPMC_HOOKS
device hwpmc
device apic
# Debugging for use in -current
#options KDB # Enable kernel debugger support.
#options DDB # Support DDB.
#options GDB # Support remote GDB.
#options INVARIANTS # Enable calls of extra sanity checking
#options INVARIANT_SUPPORT # Extra sanity checks of internal structures, required by INVARIANTS
#options WITNESS # Enable checks to detect deadlocks and cycles
#options WITNESS_SKIPSPIN # Don't run witness on spinlocks for speed
# Bus support.
device eisa
device pci
# ATA and ATAPI devices
device ata
device atadisk # ATA disk drives
device atapicam
#device ataraid # ATA RAID drives
#device atapicd # ATAPI CDROM drives
options ATA_STATIC_ID # Static device numbering
# SCSI peripherals
device scbus # SCSI bus (required for SCSI)
#device ch # SCSI media changers
device da # Direct Access (disks)
device cd # CD
device pass # Passthrough device (direct SCSI access)
# atkbdc0 controls both the keyboard and the PS/2 mouse
device atkbdc # AT keyboard controller
device atkbd # AT keyboard
device psm # PS/2 mouse
device vga # VGA video card driver
device splash # Splash screen and screen saver support
# syscons is the default console driver, resembling an SCO console
device sc
device agp # support several AGP chipsets
# Add suspend/resume support for the i8254.
#device pmtimer
# PCI Ethernet NICs that use the common MII bus controller code.
# NOTE: Be sure to keep the 'device miibus' line in order to use these NICs!
device miibus # MII bus support
device sk # SysKonnect SK-984x & SK-982x gigabit Ethernet
# Pseudo devices.
device loop # Network loopback
device random # Entropy device
device ether # Ethernet support
device tun # Packet tunnel.
device pty # Pseudo-ttys (telnet etc)
device md # Memory "disks"
#device gif # IPv6 and IPv4 tunneling
#device faith # IPv6-to-IPv4 relaying (translation)
# The `bpf' device enables the Berkeley Packet Filter.
# Be aware of the administrative consequences of enabling this!
# Note that 'bpf' is required for DHCP.
device bpf # Berkeley packet filter
# USB support
device uhci # UHCI PCI->USB interface
device ohci # OHCI PCI->USB interface
device ehci # EHCI PCI->USB interface (USB 2.0)
device usb # USB Bus (required)
#device udbp # USB Double Bulk Pipe devices
device ugen # Generic
device uhid # "Human Interface Devices"
#device ukbd # Keyboard
#device ulpt # Printer
device umass # Disks/Mass storage - Requires scbus and da
#device ums # Mouse
# FireWire support
#device firewire # FireWire bus code
#device sbp # SCSI over FireWire (Requires scbus and da)
device sound
device "snd_via8233"
-------------- next part --------------
--------------------------------------------------------------------------------
apa# uname -a
FreeBSD apa 7.0-CURRENT FreeBSD 7.0-CURRENT #16: Thu Mar 16 17:14:27 CET 2006 nik at apa:/usr/obj/usr/src/sys/APA i386
--------------------------------------------------------------------------------
apa# pciconf -lv | grep -B 4 audio
pcm0 at pci0:17:5: class=0x040100 card=0x80b01043 chip=0x30591106 rev=0x60 hdr=0x00
vendor = 'VIA Technologies Inc'
device = 'VT8233/33A/8235/8237 AC97 Enhanced Audio Controller'
class = multimedia
subclass = audio
--------------------------------------------------------------------------------
apa# dmesg | grep ^pcm
pcm0: <VIA VT8237> port 0xc800-0xc8ff irq 22 at device 17.5 on pci0
pcm0: <Analog Devices AD1980 AC97 Codec>
pcm0: <VIA DXS Disabled: DXS 0 / SGD 1 / REC 1>
--------------------------------------------------------------------------------
apa# sysctl hw.snd.verbose=2 ; cat /dev/sndstat
hw.snd.verbose: 1 -> 2
FreeBSD Audio Driver (newpcm)
Installed devices:
pcm0: <VIA VT8237> at io 0xc800 irq 22 (1p/1r/1v channels duplex default)
[pcm0:play:0]: spd 48000, fmt 0x10000010, flags 0x00103000, 0x00000000
interrupts 224, underruns 0, ready 0 [b:4096/2048/2|bs:4096/2048/2]
{userland} -> feeder_vchan_s16(0x10000010) -> {hardware}
pcm0:play:0[pcm0:virtual:0]: spd 22050/48000, fmt 0x00000020/0x10000010, flags 0x10000000, 0x00000010
interrupts 0, underruns 0, ready 0 [b:0/2048/0|bs:131072/1024/128]
{userland} -> feeder_root(0x00000020) -> feeder_endian16(0x00000020 -> 0x00000010) -> feeder_monotostereo16(0x00000010 -> 0x10000010) -> feeder_rate(22050 -> 48000) -> {hardware}
[pcm0:record:0]: spd 8000, fmt 0x00000008, flags 0x00000000, 0x00000000
interrupts 0, overruns 0, hfree 256, sfree 131072 [b:256/128/2|bs:131072/128/1024]
{hardware} -> feeder_root(0x00000008) -> {userland}
--------------------------------------------------------------------------------
apa# sysctl hw.snd
hw.snd.targetirqrate: 32
hw.snd.report_soft_formats: 1
hw.snd.feeder_rate_ratemin: 4000
hw.snd.feeder_rate_ratemax: 1102500
hw.snd.feeder_rate_scaling: 5
hw.snd.feeder_rate_buffersize: 8192
hw.snd.verbose: 2
hw.snd.unit: 0
hw.snd.maxautovchans: 10
hw.snd.pcm0.buffersize: 4096
hw.snd.pcm0.vchans: 1
hw.snd.pcm0.vchanrate: 48000
--------------------------------------------------------------------------------
apa# /usr/sbin/mixer
Mixer vol is currently set to 100:100
Mixer pcm is currently set to 100:100
Mixer line is currently set to 100:100
Mixer mic is currently set to 100:100
Mixer cd is currently set to 100:100
Mixer rec is currently set to 100:100
Mixer igain is currently set to 100:100
Mixer ogain is currently set to 10:10
Mixer line1 is currently set to 75:75
Mixer phin is currently set to 0:0
Mixer phout is currently set to 0:0
Recording source: mic
More information about the freebsd-multimedia
mailing list