[ltp] tp 600E + sound: HELP!!!
davide
linux-thinkpad@linux-thinkpad.org
Wed, 01 Jan 2003 02:01:05 +0100
This is a multi-part message in MIME format.
--------------070301080502060007060205
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
Great! googling in the web I found what was my error: I still had the Quick Boot enabled in the bios.
After disabling this I had to re-initialize the bios but now I can hear sounds!!
I still have a problem with mp3s:
ALSA lib pcm_hw.c:1057:(snd_pcm_hw_open) open /dev/snd/pcmC0D0p failed: Device or resource busy
but I hope to fix it up.
By the way, I've seen in dmesg these lines
Yenta ISA IRQ mask 0x0298, PCI irq 11
Socket status: 30000006
Yenta ISA IRQ mask 0x0298, PCI irq 11
Socket status: 30000020
cs: cb_alloc(bus 5): vendor 0x10ec, device 0x8139
PCI: Enabling device 05:00.0 (0000 -> 0003)
cs: IO port probe 0x0c00-0x0cff: excluding 0xcf8-0xcff
cs: IO port probe 0x0800-0x08ff: clean.
cs: IO port probe 0x0100-0x04ff: excluding 0x220-0x22f 0x388-0x38f 0x3b8-0x3df 0x4d0-0x4d7
cs: IO port probe 0x0a00-0x0aff: clean.
ALSA ../../alsa-kernel/pci/cs46xx/cs46xx_lib.c:3943: hack for Thinkpad 600E (unsupported) enabled
ALSA ../../alsa-kernel/pci/cs46xx/cs46xx_lib.c:3166: create - never read codec ready from AC'97
ALSA ../../alsa-kernel/pci/cs46xx/cs46xx_lib.c:3167: it is not probably bug, try to use CS4236 driver
Sound Fusion CS46xx soundcard not found or device busy
CS461x PCI: 50100000[8192]
gameport0: CS461x Gameport speed 1420 kHz
first I have to say to ALSA not to use the snd-cs46xx ...
but I'm a bit worried for the line
cs: IO port probe 0x0100-0x04ff: excluding 0x220-0x22f 0x388-0x38f 0x3b8-0x3df 0x4d0-0x4d7
what does it mean? 0x220 and 0x388 are both used by the soundcard!
> >/ It seems the kernel can only find the pci accelerator (as win95 call
/> >/ it) and it can only insmod the gameport (cs461x + gameport).
/
> I don't don't think you want to do this, you only have a physical
> joystick port if you have a dock.
well, I just tried compiling every driver could be attached to this card in hope for hints for getting sound working
> What version of ALSA do you have?
I have the 1.0.4
> I don't need the isapnp=0 because when I compile ALSA I have ISA PNP
> support configured out. If you are using a vendor kernal and modules
> you probably need it.
since I'm doing experiments I've left it: at least I have "ignoring isapnp=0..."
> If it's panicing you have other problems. If your options line is
> incorrect it should merely fail to find the card and not load the
> module. Try it from a fresh boot with no other modules loaded, if
> possible. The oops is written to the console, not standard error, so
> that's why you can't redirect it. Does it not show up in
> /var/log/kern.log or /var/log/messages?
in slackware there's no kern.log, in messages there's nothing.
Since I resetted the bios I haven't had more panics... let's hope!
//> Make sure your ALSA modules are built for the kernel
> you are running, if you are not building modules and kernel yourself.
yes, I am.
> Bert Haskins wrote:
> Now, after reloading ALSA (the easy way is to just reboot ;-))
in the alsa-driver-1.0.4 there is a script (utils/alsasound) to load-unload alsa drivers.
I've attached it.
davide
--------------070301080502060007060205
Content-Type: text/plain;
name="alsasound"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
filename="alsasound"
#!/bin/bash
#
# alsasound This shell script takes care of starting and stopping
# the ALSA sound driver.
#
# This script requires /usr/sbin/alsactl and /usr/bin/aconnect
# programs from the alsa-utils package.
#
# Copyright (c) by Jaroslav Kysela <perex@suse.cz>
#
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#
#
# For RedHat 5.0+:
# chkconfig: 2345 87 14
# description: ALSA driver
#
# modified to visually fit into SuSE 6.0+ by Philipp Thomas <pthomas@suse.de>
# further improvements by Bernd Kaindl, Olaf Hering and Takashi Iwai.
#
### BEGIN INIT INFO
# Provides: alsasound
# Required-Start: $remote_fs
# Required-Stop: $remote_fs
# Default-Start: 2 3 5
# Default-Stop:
# Description: Loading ALSA drivers and store/restore the current setting
### END INIT INFO
if [ -r /etc/rc.config ]; then
. /etc/rc.config
rc_warning="\033[33m\033[1m"
else
rc_done="done"
rc_warning=""
rc_reset=""
fi
if [ x$START_ALSA != xno ]; then
START_ALSA=yes
fi
if [ x$START_ALSA_SEQ != xno ]; then
START_ALSA_SEQ=yes
fi
# Determine the base and follow a runlevel link name.
base=${0##*/}
link=${base#*[SK][0-9][0-9]}
# Force execution if not called by a runlevel directory.
test $link = $base && START_ALSA=yes
test "$START_ALSA" = yes || exit 0
alsactl=/usr/sbin/alsactl
asoundcfg=/etc/asound.state
aconnect=/usr/bin/aconnect
alsascrdir=/etc/alsa.d
if [ -x /sbin/lsmod ]; then
lsmod=/sbin/lsmod
else
lsmod=lsmod
fi
# modprobe returns 255 when failed..
function probe_module () {
/sbin/modprobe $*
test $? = 0 && return 0
return 1
}
function start() {
#
# insert all sound modules
#
module_loaded=0
drivers=`/sbin/modprobe -c | \
grep -E "^[[:space:]]*alias[[:space:]]+snd-card-[[:digit:]]" | \
awk '{print $3}'`
for i in $drivers; do
if [ "$i" != off ]; then
echo -n "Starting sound driver: $i "
probe_module $i && module_loaded=1
echo -e "$rc_done"
fi
done
test $module_loaded -eq 0 && return
#
# insert sequencer modules
#
if [ x"$START_ALSA_SEQ" = xyes -a -r /proc/asound/seq/drivers ]; then
cut -d , -f 1 /proc/asound/seq/drivers | \
while read t ; do
test -z $t || /sbin/modprobe $t
done
fi
#
# restore driver settings
#
if [ -d /proc/asound ]; then
if [ ! -r $asoundcfg ]; then
echo "No mixer config in $asoundcfg, you have to unmute your card!"
else
if [ -x $alsactl ]; then
$alsactl -F -f $asoundcfg restore
else
echo -e "${rc_warning}ERROR: alsactl not found${rc_reset}"
fi
fi
fi
#
# run card-dependent scripts
for i in $drivers; do
t=${i##snd-}
if [ -x $alsascrdir/$t ]; then
$alsascrdir/$t
fi
done
#
# touch lockfile if lockdir exists
#
if [ -d /var/lock/subsys ] ; then
touch /var/lock/subsys/alsasound
fi
}
function terminate() {
#
# Kill processes holding open sound devices
#
# DEVS=`find /dev/ -follow -type c -maxdepth 1 -print 2>/dev/null | xargs ls -dils | grep "1*1[46]," | cut -d: -f2 | cut -d" " -f2; echo /proc/asound/dev/*`
fuser -k /dev/admmidi? /dev/adsp? /dev/amidi? /dev/audio* /dev/dmfm* \
/dev/dmmidi? /dev/dsp* /dev/dspW* /dev/midi0? /dev/mixer? /dev/music \
/dev/patmgr? /dev/sequencer* /dev/sndstat >/dev/null 2>&1
if [ -d /proc/asound/dev ]; then
fuser -k /proc/asound/dev/* >/dev/null 2>&1
fi
if [ -d /dev/snd ]; then
fuser -k /dev/snd/* >/dev/null 2>&1
fi
#
# remove all sequencer connections if any
#
if [ -f /proc/asound/seq/clients -a -x $aconnect ]; then
$aconnect --removeall
fi
}
function stop() {
#
# store driver settings
#
if [ -x $alsactl ]; then
$alsactl -f $asoundcfg store
else
echo -n -e "${rc_warning}!!!alsactl not found!!!${rc_reset} "
fi
#
# mute master to avoid clicks at unload
#
/usr/bin/amixer set Master mute >/dev/null 2>&1
#
# remove all sound modules
#
$lsmod | grep -E "^snd" | grep -Ev "(snd-page-alloc|snd_page_alloc)" | while read line; do \
/sbin/rmmod `echo $line | cut -d ' ' -f 1`; \
done
# remove the 2.2 soundcore module (if possible)
/sbin/rmmod soundcore 2> /dev/null
/sbin/rmmod gameport 2> /dev/null
#
# remove lockfile if lockdir exists
#
if [ -d /var/lock/subsys ] ; then
rm -f /var/lock/subsys/alsasound
fi
}
# See how we were called.
case "$1" in
start)
# Start driver if it isn't already up.
if [ ! -d /proc/asound ]; then
start
else
echo "ALSA driver is already running."
fi
;;
stop)
# Stop daemons.
if [ -d /proc/asound ]; then
echo -n "Shutting down sound driver: "
terminate
stop
echo -e "$rc_done"
fi
;;
restart|reload)
$0 stop
$0 start
;;
status)
if [ -d /proc/asound ]; then
echo -n "ALSA sound driver loaded."
else
echo -n "ALSA sound driver not loaded."
fi
echo
;;
*)
echo "Usage: alsasound {start|stop|restart|status}"
exit 1
esac
exit 0
--------------070301080502060007060205--