I have spent this weekend attempting to get ALSA running on a
Dell Dimension that uses the CS4236+ sound driver. Surprisingly
enough, the hardware appears to be working in that PNP finds the sound card.
I built the 2.6.5 kernel with modularized support for ALSA and
OSS compatibility under ALSA.
When I got to the make modules_install stage, I got a torrent
of error messages from depmod and a link to the document
post-halloween-2.6.txt. that and a trip through the kernel
documentation got me to install module-init-tools-3.0 which appears to
be the newest version.
That, when run, got all the dependency problems taken care of
and I see no errors at all now when installing modules. It looks for
all the world like it could work, but it doesn't.
Another trip through the ALSA section of the 2.6.5 kernel
tells me to use MAKEDEV.snd in the scripts directory. I did that and
it successfully re-made all the audio devices as symlinks to similar
names appended by a number. /dev/dsp or /dev/mixer got linked to
/dev/dsp0 and /dev/mixer0. Makes perfect sense to me.
I thought, "Now it will surely work!"
Nope. Here is what I can tell so far.
Nothing complains upon boot. I do have alsa-base installed as
a Debian package and it did install without problem. One
trouble-shooting suggestion I read said to look in /proc/asound/oss/sndstat
to see a list of the cards. There is no such list so that is
significant, but I am not sure what causes that.
I play around a lot with /dev/dsp to record low-fidelity audio
and even wrote an application in C that simulates a voice-activated
recorder to catch amateur radio and police scanner traffic. You can
normally just cat /dev/dsp >some_file and it will dump 8,000 8-bit
samples per second of PCM audio to your file.
It at least used to work under the 2.4.19 kernel I ran for a couple of
years so I know the sound card can work fine if it sees the right setup.
Now, if I try to do anything with the audio devices, the
complaint is "no such device."
The only complaint I see from the system except for when I try
to use sound occurs on shutdown.
Broadcast message from root (ttyS1) (Sun Apr 11 07:54:31 2004):
The system is going down for reboot NOW!
INIT: INIT: Sending processes the TERM signal
ALSA detected, but alsactl not usable, carrying on with aumix.
Saving mixer settings: failed.
ALSA driver isn't running.
To be a little more clear, if I look for /proc/asound/oss/sndstat,
there is no asound directory under /proc although there are several
other directories. ALSA just isn't getting that far yet.
Thanks for any constructive ideas. I did a check of the
archives, but didn't see anything that sounded exactly like this
problem although that could just be that I picked the wrong search
terms.
to connect the dots, I
Martin McCormick WB5AGZ Stillwater, OK
OSU Information Technology Division Network Operations Group
I am new to this list and got in in the middle of this
discussion, but Here are some thoughts on 0 VU and what it means in
the digital domain.
You probably already know that an A/D converter when fed
silence normally produces an output that is exactly halfway between
the number 0 and 0xFFFF for a 16-bit converter. For a converter with
more or less bits, the maximum reading is all bits on so it is 2^N
power.
The halfway point makes the D/A converter output a voltage
that is halfway between 0 and the maximum peak voltage that particular
A/D converter can put out.
All that being said, the A/D converter can't go so much as one
bit more than maximum or one bit less than minimum so there is
absolutely no head room.
If you send out a sine wave to the A/D converter, any part of
that wave that goes above the maximum input threshold or below the
minimum level will cause the output to flatten out. If you graph the
levels, you would see a sine wave with a flat spot on top and another
on bottom. A little flat spot probably doesn't hurt anything if it
happens infrequently, but the more it happens, the worse the
distortion.
In other words, if you stay below the hard limits, the
distortion is next to nothing, but it hits big time when you reach the
limits of the sample value the A/D converter was designed to read.
As to how you can tell when you are flat-topping, one could
run a program designed to read the data for each channel and look for
extreme limits such as all 0's or all 1's for one or two samples in
succession and register this.
In the amateur experimenting I have done with writing level
detectors for 8-bit audio, I look for low values between 0 and some
arbitrary value such as 1 to 3 and also values between 0xFF and maybe
0xFc to 0xFE. If I see any of those, the alarm goes off because that
is darn close to the limit and may actually be the limit.
I haven't messed much with stereo 16-bit audio such as a .wav
file, but the bits of the left-channel sample and the right-channel
sample are interleaved so you'll have to reassemble the 16-bit word
for each channel to test it.
Cheers.
Martin McCormick WB5AGZ Stillwater, OK
OSU Information Technology Division Network Operations Group
hi all,
i'm curious if someone has his quattro working with jack ...
the quattro works more or less fine with oss / alsa, but using jack i
hear only distorted mess ...
cheers...
Tim mailto:TimBlechmann@gmx.de
ICQ: 96771783
--
The only people for me are the mad ones, the ones who are mad to live,
mad to talk, mad to be saved, desirous of everything at the same time,
the ones who never yawn or say a commonplace thing, but burn, burn,
burn, like fabulous yellow roman candles exploding like spiders across
the stars and in the middle you see the blue centerlight pop and
everybody goes "Awww!"
Jack Kerouac
Greetings all,
Ive patched a clean 2.4.25 kernel with the A. Morton low latency patch (it
patched ok), but on building i get the errors below.
Any ideas?
Thanks.
make all_targets
make[2]: Entering directory `/usr/src/linux-2.4.25/kernel'
gcc -D__KERNEL__ -I/usr/src/linux-2.4.25/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -fomit-frame-pointer -pipe +-mpreferred-stack-boundary=2 -march=i686 -nostdinc -iwithprefix include -DKBUILD_BASENAME=sched -fno-omit-frame-pointer -c -o sched.o sched.c
sched.c:213: error: conflicting types for 'reschedule_idle'
sched.c:210: error: previous declaration of 'reschedule_idle' was here
sched.c:213: error: conflicting types for 'reschedule_idle'
sched.c:210: error: previous declaration of 'reschedule_idle' was here
sched.c:382: error: conflicting types for 'wake_up_process'
/usr/src/linux-2.4.25/include/linux/sched.h:604: error: previous declaration of 'wake_up_process' was here
sched.c:382: error: conflicting types for 'wake_up_process'
/usr/src/linux-2.4.25/include/linux/sched.h:604: error: previous declaration of 'wake_up_process' was here
sched.c:420: error: conflicting types for 'schedule_timeout'
/usr/src/linux-2.4.25/include/linux/sched.h:149: error: previous declaration of 'schedule_timeout' was here
sched.c:420: error: conflicting types for 'schedule_timeout'
/usr/src/linux-2.4.25/include/linux/sched.h:149: error: previous declaration of 'schedule_timeout' was here
sched.c:755: error: conflicting types for '__wake_up'
/usr/src/linux-2.4.25/include/linux/sched.h:596: error: previous declaration of '__wake_up' was here
sched.c:755: error: conflicting types for '__wake_up'
/usr/src/linux-2.4.25/include/linux/sched.h:596: error: previous declaration of '__wake_up' was here
sched.c:765: error: conflicting types for '__wake_up_sync'
/usr/src/linux-2.4.25/include/linux/sched.h:597: error: previous declaration of '__wake_up_sync' was here
sched.c:765: error: conflicting types for '__wake_up_sync'
/usr/src/linux-2.4.25/include/linux/sched.h:597: error: previous declaration of '__wake_up_sync' was here
sched.c:775: error: conflicting types for 'complete'
/usr/src/linux-2.4.25/include/linux/completion.h:31: error: previous declaration of 'complete' was here
sched.c:775: error: conflicting types for 'complete'
/usr/src/linux-2.4.25/include/linux/completion.h:31: error: previous declaration of 'complete' was here
sched.c:785: error: conflicting types for 'wait_for_completion'
/usr/src/linux-2.4.25/include/linux/completion.h:30: error: previous declaration of 'wait_for_completion' was here
sched.c:785: error: conflicting types for 'wait_for_completion'
/usr/src/linux-2.4.25/include/linux/completion.h:30: error: previous declaration of 'wait_for_completion' was here
sched.c:820: error: conflicting types for 'interruptible_sleep_on'
/usr/src/linux-2.4.25/include/linux/sched.h:601: error: previous declaration of 'interruptible_sleep_on' was here
sched.c:820: error: conflicting types for 'interruptible_sleep_on'
/usr/src/linux-2.4.25/include/linux/sched.h:601: error: previous declaration of 'interruptible_sleep_on' was here
sched.c:831: error: conflicting types for 'interruptible_sleep_on_timeout'
/usr/src/linux-2.4.25/include/linux/sched.h:602: error: previous declaration of 'interruptible_sleep_on_timeout' was here
sched.c:831: error: conflicting types for 'interruptible_sleep_on_timeout'
/usr/src/linux-2.4.25/include/linux/sched.h:602: error: previous declaration of 'interruptible_sleep_on_timeout' was here
sched.c:844: error: conflicting types for 'sleep_on'
/usr/src/linux-2.4.25/include/linux/sched.h:598: error: previous declaration of 'sleep_on' was here
sched.c:844: error: conflicting types for 'sleep_on'
/usr/src/linux-2.4.25/include/linux/sched.h:598: error: previous declaration of 'sleep_on' was here
sched.c:855: error: conflicting types for 'sleep_on_timeout'
/usr/src/linux-2.4.25/include/linux/sched.h:599: error: previous declaration of 'sleep_on_timeout' was here
sched.c:855: error: conflicting types for 'sleep_on_timeout'
/usr/src/linux-2.4.25/include/linux/sched.h:599: error: previous declaration of 'sleep_on_timeout' was here
sched.c:210: warning: 'reschedule_idle' declared `static' but never defined
make[2]: *** [sched.o] Error 1
make[2]: Leaving directory `/usr/src/linux-2.4.25/kernel'
make[1]: *** [first_rule] Error 2
make[1]: Leaving directory `/usr/src/linux-2.4.25/kernel'
make: *** [_dir_kernel] Error 2
> 2) The Windows driver automatically adjusts any pcmcia controller's
> latency from (in my case default, yours could vary) 0x20 (or 32) to
> 0xFF (or 255). This always happens except in one case where the card
> remains plugged-in during the suspend/resume cycle which Matthias
> acknowledged it may be an overlook in their drivers, but is no big
> deal as the card works ok even with 0x20 latency. The higher latency
> simply ensures that if the PCI is snagged by something else that the
> audio packets are never late.
thomas added this to the linux driver, too, although i don't know if
it's already included in the recent alsa version ... he sent me a
patched source file some times ago ... anyway, it didn't help on my
machine...
> It's called "System Explorer v.1.00"
> Screenshot of the pcmcia controller's state while card is
> disconnected:
> http://meowing.ccm.uc.edu/~ico/eMachines/SE-before_suspend.jpg
i haven't had a look at this screenshot, yet, but can you tell me which
registers have been altered in windows?
> This is in a nutshell the likely culprit for Linux (in my case at
> least) and this may very well help trace the problem down. Please bear
> in mind that in Linux I am not using any power management and the
> sound is trashed even upon first init. It would be great to see how
> its hex state looks when compared with Windows as this could shed some
> light as to how to fix the problem.
you can use scanpci to get the actual register settings from your
devices ... i'd be pretty curious if your windows register settings
differ from your linux register settings ... i'll have a look at your
screenshots tomorrow ... i'd appreciate if you could send me an output
of scanpci of your linux settings that i can compare it with mine ...
and if some people with hdsps that are actually working on their
machines would provide us with their register settings, we might be able
to figure out, where the problem could come from ...
cheers...
Tim mailto:TimBlechmann@gmx.de
ICQ: 96771783
--
The only people for me are the mad ones, the ones who are mad to live,
mad to talk, mad to be saved, desirous of everything at the same time,
the ones who never yawn or say a commonplace thing, but burn, burn,
burn, like fabulous yellow roman candles exploding like spiders across
the stars and in the middle you see the blue centerlight pop and
everybody goes "Awww!"
Jack Kerouac
hi everyone !
it seems our friend dave has been very active again. in case you
haven't seen it yet, here is a nice teaser for the 2nd linux audio
conference in karlsruhe at the end of april:
http://www.linuxjournal.com//article.php?sid=7514
best,
jörn
--
The handles of a craftsman's tools bespeak an absolute simplicity,
the plainest forms affording the greatest range of possibilities for
the user's hand.
That which is overdesigned, too highly specific, anticipates
outcome; the anticipation of outcome guarantees, if not failure, the
absence of grace.
- William Gibson, "All Tomorrow's Parties"
Jörn Nettingsmeier
Kurfürstenstr 49, 45138 Essen, Germany
http://spunk.dnsalias.org (my server)
http://www.linuxaudiodev.org (Linux Audio Developers)
Hi,
I setup Qjackctl with jack and have had it running fine under normal
conditions on MDK 9.2 with the multimedia 2.4 kernel...I upgraded this
system with MDK 10.0 today but am using the 2.4 kernel still.
I use a Dell 650mhz / 256Ram laptop with LADSPA plugins ad a live FX box
on my PA> Usually use AMS with Freeverb and a delay with midi control to
switch FX on and off.
I have set this laptop up in a CII docking station now that houses 2
SBLive PCI cards. I have them chained with a modified .asoundrc file
that gives me 4 ins and 4 outs. I have been using Ardour as the host to
test this setup. I am running 3 mono channels with a Chorus, Gverb and
TAP Delay in eac respectively. Qjackctl, TOP and Ardour all report about
24% CPU load when all are active. I run acoustic guitar thru the Chorus
channel separately routed to a channel on my mixer and I run the other 2
channels in Ardour back in stereo fed from an Aux send on the mixer for
General Fx buss.
The above setup works fine when I fire it up. I run the multi card set
up (actually ttable from the Alsa website) at 512 2 RT (As root) The
system stay stable with no Xruns for about 5 minutes then the sound will
begin to distort. It will do that for a minute or so then Qjackctl shows
an Xrun or 2 and it clears. Sometimes Jack will shutdown but not always.
I try to shut down as many daemons and services as possible. The 2
SBlive's are on IRQ 10 (Host bridge to docking station I think) but
nothing else on that interrupt. I have tmpfs setup. It seems like
something is kicking in intermittently causing this but I see no spikes
in Gnome Resource monitor nor anything odd watching it in TOP when the
problem starts. Even though I upgraded the system, it did this
previously as I have tested this once before on the same setup with MDK
9.2.
Any ideas? This seems so close to being useful but the unreliable
tendency is a show stopper for my needs.
Thanks
Hi, I'm using alsa with via82xx configured. And sometimes when I play
sound with xmms, xine, etc. I get wierd noise
on background (popping sound). When I go to alsamixer and change via dxs
(even very litle) the sound desapears,
but backround popping stays. If I'm changing pcm, it becomes more
silent, but when I'm turning my speakers louder
I still hear popping noise. The thing is that it's not happening always,
but in 50% of cases. And there is no such problem
under windows (so it's not the speakers who are guilty). I'm confused
about this stuff. Please help.
Thanks.