Sequencer problem : open /dev/snd/seq failed: No such file or directory
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
alsa-driver (Ubuntu) |
Fix Released
|
Medium
|
Thomas Hood |
Bug Description
Hi I got an up-to-date Hoary release candidate with kernel 2.6.10-5-k7 my sound
card is a via (lspci gives :
0000:00:11.5 Multimedia audio controller: VIA Technologies, Inc.
VT8233/A/8235/8237 AC97 Audio Controller (rev 50) )
By trying to play with midi software like Rosegarden and fluidsynth to let the
penguin emit some sounds, I realize there is a problem with alsa seq! Fluidsynth
gives me:
fluidsynth: ALSA driver: Using format s16, rw, interleaved
ALSA lib seq_hw.
or directory
fluidsynth: error: Error opening ALSA sequencer
Failed to create the MIDI thread; no MIDI input
will be available. You can access the synthesizer
through the console.
ls /dev/snd gives:
[brice@TuxBox:~ ] ls /dev/snd/
controlC0 pcmC0D0c pcmC0D0p pcmC0D1c pcmC0D1p timer
also when I run qjackctl, the init phase fails and I got the same message (no
/dev/snd/seq).
Also the following can be of interest:
[brice@TuxBox:~ ] lsmod|grep snd
snd_via82xx 28128 2
snd_ac97_codec 75936 1 snd_via82xx
snd_pcm_oss 53732 1
snd_mixer_oss 20160 2 snd_pcm_oss
snd_pcm 97288 3 snd_via82xx,
snd_timer 25732 1 snd_pcm
snd_page_alloc 9924 2 snd_via82xx,snd_pcm
gameport 4544 1 snd_via82xx
snd_mpu401_uart 7936 1 snd_via82xx
snd_rawmidi 25184 1 snd_mpu401_uart
snd_seq_device 8716 1 snd_rawmidi
snd 57252 9
snd_via82xx,
soundcore 10272 3 snd
Any idea???
Bes regards, Brice
Brice (bricem13) wrote : | #1 |
Matt Zimmerman (mdz) wrote : | #2 |
The OSS compatibility modules are loaded automatically in a default Ubuntu
system. Make sure you didn't create an /etc/modprobe.conf file, which breaks
this functionality.
Brice (bricem13) wrote : | #3 |
no /etc/modprobe.conf file on my system!!!
here are the loaded modules right after a reboot:
[brice@TuxBox:etc ] lsmod |grep snd
snd_via82xx 27616 2
snd_ac97_codec 74208 1 snd_via82xx
snd_pcm_oss 52516 1
snd_mixer_oss 19776 2 snd_pcm_oss
snd_pcm 94920 3 snd_via82xx,
snd_timer 25156 1 snd_pcm
snd_page_alloc 9796 2 snd_via82xx,snd_pcm
gameport 4544 1 snd_via82xx
snd_mpu401_uart 7744 1 snd_via82xx
snd_rawmidi 24928 1 snd_mpu401_uart
snd_seq_device 8524 1 snd_rawmidi
snd 55268 9
snd_via82xx,
soundcore 10080 3 snd
and still the same error!!! as you can see some of the oss modules are loaded
but not all!
Best regards, Brice
Brice (bricem13) wrote : | #4 |
Hi
in fact the module snd-seq-oss is not automatically loaded on my system!
I tried to see which file is responsible for the loading of the
oss-compatibility modules but that's too much for me!!! :-(
Also what about the gstreamer and alsa bug???
Best regards
Thomas Hood (jdthood) wrote : | #5 |
Add this line to /etc/modprobe.
install snd-seq modprobe --ignore-install snd-seq && { modprobe --quiet
snd-seq-midi ; modprobe --quiet snd-seq-oss ; : ; }
If that is not enough then also replace this line:
install snd-via82xx modprobe --ignore-install snd-via82xx &&
/lib/alsa/
with this (all one one line):
install snd-via82xx modprobe --ignore-install snd-via82xx && { modprobe
--quiet snd-seq ; /lib/alsa/
Brice (bricem13) wrote : | #6 |
Hi
I added the 2 lines in /etc/modprobe.
already present:
install snd-seq modprobe --ignore-install snd-seq && { modprobe snd-seq-oss ;
modprobe snd-seq-midi ; : ; }
That resolved the problem with fluidsynth and jack also! Thanks
Is there a chance to see this fixed in hoary or is that already too late?
Best regards, Brice
Matt Zimmerman (mdz) wrote : | #7 |
It is too late for Hoary.
What's the problem, though? The only difference I see between those two lines
is the module load order
Brice (bricem13) wrote : | #8 |
Well
the problem is that with hoary I won't be able to use midi out of the box! Note
that I installed the 2 lines, the one for snd-seq and the one for snd-via82xx.
In others words, this issue will have to be adressed in the next release.
Regards, Brice
Thomas Hood (jdthood) wrote : | #9 |
(In reply to comment #7)
> What's the problem, though? The only difference I see between those two lines
> is the module load order
He said he added two lines. I presume that he added the two lines that I
earlier suggested that he add, the second of which was this:
install snd-via82xx modprobe --ignore-install snd-via82xx && { modprobe
--quiet snd-seq ; /lib/alsa/
This installs snd-seq above snd-via82xx, unlike the original line which
doesn't do that.
Brice (bricem13) wrote : | #10 |
Exactly!
I gave it a try without the second like and this did NOT work!
so this means that the first line alone (like the one originaly present) isn't
able to load the module snd-seq. The second line is then mandatory to get this
module loaded at bootup!
Regards, Brice
Thomas Hood (jdthood) wrote : | #11 |
I am not really happy about the idea of modifying /etc/modprobe.
in order to add explicit "modprobe snd-seq" commands to the "install" lines
of all the sound cards that work with the snd-seq driver. To begin with, I
don't know which cards those are.
I don't use snd-seq so I have never missed it when it wasn't loaded. Why
haven't others missed it? Why is this the first bug report I have seen
coming from someone who wanted snd-seq but who wasn't finding that the
module was loaded automatically? Is the module normally loaded
automatically by, say, the card driver and there is some bug in this
user's setup or in the via82xx card driver? Or is it that few people
use snd-seq? Or have I just been very unobservant?
Brice (bricem13) wrote : | #12 |
Hi
I can understand your fears about the modification of this file. Well to be
honnest I can't give a right mind about that. But previously before coming to
ubuntu I used a sarge (snapshot of April 2004 !!!) and with it I didn't have
this problem!
For completeness I launch fluidsynth with the following command:
fluidsynth -m alsa_seq -a alsa -L 4 -z 1024 -c 3 -g 1
/home/brice/
That's all I can say!
Regards, Brice
Thomas Hood (jdthood) wrote : | #13 |
(In reply to comment #12)
> I can understand your fears about the modification of this file. Well to be
> honest I can't give a right mind about that.
Note that I am the maintainer of the Debian package, not the maintainer
of the Ubuntu package -- my comments have to be interpreted in that
light. :)
> But previously before coming to ubuntu I used a sarge (snapshot of
> April 2004 !!!) and with it I didn't have this problem!
This is very important information. As the Debian maintainer,
I will be happy not to have to add commands to load snd-seq. :)
But this raises the question: Why isn't snd-seq being loaded on
your Hoary system?!
Brice (bricem13) wrote : | #14 |
Hi
I had a look at the dvd of the sarge I used, the version of alsa-base package
is: 1.0.4-3
As far as I remember in this distro (sarge) there was a file /etc/modprobe.conf
(not present anymore on hoary) in which I included the line options snd-via82xx
dxs_support=4 because without this the sound was cracking. This is the only
modification I did concerning alsa in my sarge!! Otherwise I installed alsa at
that time simply in installing the package alsa-base (straight forward prodecure
without any difficulties)
So I do not know if this information can be of interest and why the module
snd-seq isn't loaded on hoary.
But tell me if you want some additionnal information!! I am ready to help!!
Also concerning hoary I tried to use the default file /etc/modprobe.
with the line to load the module (install snd-seq modprobe ...) after the one
to load snd-via82xx but that didn't change anything! (may be logical to you but
I gave it try though)
Best regards, Brice
Thomas Hood (jdthood) wrote : | #15 |
(In reply to comment #14)
> As far as I remember in this distro (sarge) there was a file /etc/modprobe.conf
There should not have been. I assume that you created the file.
Normally you should not create an /etc/modprobe.conf file. If it
is present then modprobe ignores all the files in /etc/modprobe.d/.
> (not present anymore on hoary) in which I included the line options snd-via82xx
> dxs_support=4 because without this the sound was cracking.
It seems that the /etc/modprobe.conf file that you created fixed
the problem. That means that /etc/modprobe.
inhibits the loading of snd-seq.
What happens if you _temporarily_ creat an /etc/modprobe.conf file
like the one that you had in sarge?
Brice (bricem13) wrote : | #16 |
Hi
I didn't create this file!!! for sure!! This was a very very old sarge! The date
on the readme file on the dvd is the 20th of March 2004!
BTW I created the following file:
[brice@TuxBox:~ ] cat /etc/modprobe.conf
# ALSA portion
alias char-major-116 snd
alias snd-card-0 snd-via82xx
# module options should go here
# OSS/Free portion
alias char-major-14 soundcore
alias sound-slot-0 snd-card-0
# card #1
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
(as given on the alsa website)
but this didn't solve the matter!!!
Regards, Brice
ps: I do not know if from the dvd I can find the file /etc/modprobe.conf
Thomas Hood (jdthood) wrote : | #17 |
(In reply to comment #16)
> I didn't create this file!!! for sure!!
OK, I believe you. :)
> BTW I created the following file:
>
> [brice@TuxBox:~ ] cat /etc/modprobe.conf
> # ALSA portion
> alias char-major-116 snd
> alias snd-card-0 snd-via82xx
> # module options should go here
>
> # OSS/Free portion
> alias char-major-14 soundcore
> alias sound-slot-0 snd-card-0
>
> # card #1
> 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
>
>
> (as given on the alsa website)
>
> but this didn't solve the matter!!!
Make sure you delete that file again.
Don't trust random websites bearing ALSA configuration information.
ALSA configuration has changed over time and it differs a lot from
one distribution to another.
All those alias declarations are components of ALSA's special
dynamic sound card driver loading mechanism. If an application
opens an ALSA device file that is not attached to a driver then
the "snd" driver can load a sound card driver module dynamically;
the aliases determine which module is loaded.
The latter mechanism doesn't work if you are using udev because
in that case the device files don't exist before the driver is
loaded. (The mechanism does work if you are using either static
device files or devfs.) So if you are using udev then you have
to rely on hotplug or discover to load sound card driver modules
or you have to list the module names in /etc/modules.
Whether you use the ALSA-specific mechanism, hotplug, discover
or /etc/modules to load sound card driver modules, you can arrange
for additional modules to be loaded (and other actions to be
taken) by configuring the module loader to do so. This is what
/etc/modprobe.
Brice (bricem13) wrote : | #18 |
Thanks for the explanations!
Even though I got the configuration for the modprobe.conf file directly from the
alsa website! Of course I deleted it!
On hoary I am effectively using udev maybe it should be a good thing to do a
follow-up of this bug to the udev packager??
For now, the best way to get rid of this error is to force the module to be
loaded at bootup by adding it in the /etc/modules file and to keep the
/etc/modprobe.
I still don't get why this module isn't loaded as it is written in alsa-base...
Regards, Brice
Thomas Hood (jdthood) wrote : | #19 |
(In reply to comment #18)
> On hoary I am effectively using udev maybe it should be a good thing to do a
> follow-up of this bug to the udev packager??
I don't think that there is need for that.
> For now, the best way to get rid of this error is to force the module to be
> loaded at bootup by adding it in the /etc/modules file and to keep the
> /etc/modprobe.
I wouldn't put snd-seq in /etc/modules. The cleaner solution is to
modify /etc/modprobe.
is loaded above snd-via82xx.
One could also take the view that hotplug and discover should load
snd-seq above snd-via82xx.
Clemens Ladisch (clemens-ladisch) wrote : | #20 |
The ALSA library accesses special device files to enable autoloading of
the ALSA drivers without having to load those modules explicitly.
To autoload sound card drivers, /dev/aloadCx must exist.
To autoload the sequencer, /dev/aloadSEQ must exist.
When using udev, these device nodes must be created explicitly.
On my Slackware system, I've added the following lines to
/etc/udev/
if [ ! -r /dev/aloadC0 ]; then
for card in 0 1 2 3 4 5 6 7 ; do
mknod -m 660 /dev/aloadC${card} c 116 $((card*32))
chown root.audio /dev/aloadC${card}
done
fi
if [ ! -r /dev/aloadSEQ ]; then
mknod -m 660 /dev/aloadSEQ c 116 1
chown root.audio /dev/aloadSEQ
fi
Thomas Hood (jdthood) wrote : | #21 |
(In reply to comment #20)
> The ALSA library accesses special device files to enable autoloading of
> the ALSA drivers without having to load those modules explicitly.
>
> To autoload sound card drivers, /dev/aloadCx must exist.
> To autoload the sequencer, /dev/aloadSEQ must exist.
Hmm, I did not know that.
Do you recommend that the alsa-base package be modified in order to create
these nodes?
Do you also have to add a udev rules file?
Brice (bricem13) wrote : | #22 |
Well
I don't have any file /etc/udev/
was not able to do this modification.
I tried to had the line
KERNEL="aload*", NAME="%k" to the file /etc/udev/
sentence by adding this line to a special rules file in /etc/udev/rules that I
use for my removable devices.
Moreover something is strange: I don't have any /dev/aloadC* in my /dev
directory but the sound card modules are loaded!!!
I have to go back to the old solution (modification of the
/etc/modprobe.
Maybe, now it's time to inform some udev developers ?
Regards, Brice
Thomas Hood (jdthood) wrote : | #23 |
(In reply to comment #20)
> The ALSA library accesses special device files to enable autoloading of
> the ALSA drivers without having to load those modules explicitly.
>
> To autoload sound card drivers, /dev/aloadCx must exist.
> To autoload the sequencer, /dev/aloadSEQ must exist.
See request #305154 in the Debian BTS.
--
Thomas Hood
Thomas Hood (jdthood) wrote : | #24 |
I wrote:
> See request #305154 in the Debian BTS.
I wonder what to do about this. The Debian udev maintainer tells me that he does not want to
create /dev/aloadCx and /dev/aloadSEQ because he thinks that these files "should" be
under /dev/snd/; however the current ALSA library only supports their being in /dev/. I have
filed a request in the ALSA BTS that alsa-lib look for these files both in /dev/snd/ and
in /dev/; one of the ALSA developers responded positively but indicated that implementing this
feature is not very high on his list of priorities. So it seems that in order to get Debian udev
to add these files, someone (viz., myself) would have to prepare an alsa-lib patch. I don't
think that I will find the time to do that.
In an upcoming (Debian) release a udev rules file will have to be added to alsa-base. At that
time I will see if alsa-base can be further modified so that it configures udev to
create /dev/aloadCx and /dev/aloadSEQ.
Thomas Hood (jdthood) wrote : | #25 |
Will be fixed in Debian
Thomas Hood (jdthood) wrote : | #26 |
I am fixing this in Debian alsa-base 1.0.9b-3 by modifying the module loader
configuration files to cause the module loaders to load snd-seq above snd-via82xx.
alsa-base 1.0.9b-3 will only be released after Debian releases a 2.6.12 kernel-image
package.
Brice (bricem13) wrote : | #27 |
Fine!
I switched to debian sarge where I use a custom 2.6.12 kernel and the last udev
(I updated after the post of the udev packager on the planet).
Please let me know when you release this on debian.
Brice
Thomas Hood (jdthood) wrote : | #28 |
(In reply to comment #27)
> I switched to debian sarge where I use a custom 2.6.12 kernel and the last udev
> (I updated after the post of the udev packager on the planet).
>
> Please let me know when you release this on debian.
Get the latest pre-release packages at http://
--
Thomas
Brice (bricem13) wrote : | #29 |
Hi
This is not working!
qsynth tells me:
fluidsynth: ALSA driver: Using format s16, rw, interleaved
ALSA lib seq_hw.
or directory
fluidsynth: error: Error opening ALSA sequencer
but:
[brice@
Desired=
| Status=
|/ Err?=(none)
||/ Name Version Description
+++-===
un alsa <none> (no description available)
ii alsa-base 1.0.9b-3~4 ALSA driver configuration files
un alsa-base-0.4 <none> (no description available)
ii alsa-oss 1.0.8-1 ALSA wrapper for OSS applications
ii alsa-utils 1.0.8-4 ALSA utilities
un alsa-utils-0.5 <none> (no description available)
un alsa-xmms <none> (no description available)
un alsaconf <none> (no description available)
un alsaconf-0.4 <none> (no description available)
un alsalib <none> (no description available)
un alsalib0.1.3 <none> (no description available)
un alsalib0.3.0 <none> (no description available)
un alsalib0.3.2 <none> (no description available)
ii alsamixergui 0.9.0rc2-1-7 graphical soundcard mixer for ALSA soundcard
un alsautils <none> (no description available)
[brice@
Desired=
| Status=
|/ Err?=(none)
||/ Name Version Description
+++-===
ii udev 0.060-1 /dev/ management daemon
[brice@
2.6.12.tuxbox2
[brice@
snd_via82xx 26432 0
gameport 15624 1 snd_via82xx
snd_ac97_codec 70520 1 snd_via82xx
snd_pcm_oss 47008 0
snd_mixer_oss 17024 1 snd_pcm_oss
snd_pcm 83464 3 snd_via82xx,
snd_timer 23684 1 snd_pcm
snd_page_alloc 9604 2 snd_via82xx,snd_pcm
snd_mpu401_uart 7424 1 snd_via82xx
snd_rawmidi 24352 1 snd_mpu401_uart
snd_seq_device 8332 1 snd_rawmidi
snd 53380 9
snd_via82xx,
soundcore 10080 1 snd
All is fine after a manual loading of snd-seq.
Tell me which additional information do you need!
I also had some discover warnings during the upgrade (i.e. can't remove
directory * because not empty)
Regards,
Brice
ps: feel free to mail on my personal adress if you don't want to blog too much
on the ubuntu BTS for a debian problem.
Thomas Hood (jdthood) wrote : | #30 |
Please do
/etc/
modprobe snd-via82xx
and then check again to see whether or not snd-seq has been loaded.
Please check also that the following line can be found in your
/etc/modprobe.
install snd-via82xx modprobe --ignore-install snd-via82xx && {
/lib/alsa/
Brice (bricem13) wrote : | #31 |
Well the problem happend after a reboot. So that means already that something
went wrong.
As you requested (still not woorking...):
[brice@
Unloading ALSA sound driver modules: snd-seq-dummy snd-seq-oss snd-seq-midi
snd-seq-midi-event snd-seq snd-via82xx snd-ac97-codec snd-pcm-oss snd-mixer-oss
snd-pcm snd-timer snd-page-alloc snd-mpu401-uart snd-rawmidi snd-seq-device.
[brice@
[brice@
snd_via82xx 26432 0
gameport 15624 1 snd_via82xx
snd_ac97_codec 70520 1 snd_via82xx
snd_pcm_oss 47008 0
snd_mixer_oss 17024 1 snd_pcm_oss
snd_pcm 83464 3 snd_via82xx,
snd_timer 23684 1 snd_pcm
snd_page_alloc 9604 2 snd_via82xx,snd_pcm
snd_mpu401_uart 7424 1 snd_via82xx
snd_rawmidi 24352 1 snd_mpu401_uart
snd_seq_device 8332 1 snd_rawmidi
snd 53380 9
snd_via82xx,
soundcore 10080 1 snd
[brice@
install snd-via82xx modprobe --ignore-install snd-via82xx && {
/lib/alsa/
install snd-via82xx modprobe --ignore-install snd-via82xx &&
/lib/alsa/
options snd-via82xx-modem index=-2
[brice@
the line is present (I had a look before you asked) but the snd-seq isn't loaded.
a strange thing around udev:
[brice@
[brice@
controlC0
[brice@
Best regards,
Brice
Thomas Hood (jdthood) wrote : | #32 |
> [brice@
> install snd-via82xx modprobe --ignore-install snd-via82xx && {
> /lib/alsa/
> install snd-via82xx modprobe --ignore-install snd-via82xx &&
> /lib/alsa/
> options snd-via82xx-modem index=-2
> [brice@
Please try removing the second "install snd-via82xx" line. I.e., remove:
install snd-via82xx modprobe --ignore-install snd-via82xx &&
lib/alsa/
> a strange thing around udev:
>
> [brice@
> [brice@
> controlC0
> [brice@
Why do you find that strange?
Brice (bricem13) wrote : | #33 |
Hi
this is working by commenting out the second install snd-via82xx line:
[brice@
Unloading ALSA sound driver modules: snd-via82xx snd-ac97-codec snd-pcm-oss
snd-mixer-oss snd-pcm snd-timer snd-page-alloc snd-mpu401-uart snd-rawmidi
snd-seq-device.
[brice@
[brice@
snd_seq_dummy 3716 0
snd_seq_oss 30848 0
snd_seq_midi 8480 0
snd_seq_midi_event 8064 2 snd_seq_
snd_seq 48528 6
snd_seq_
snd_via82xx 26432 0
gameport 15624 1 snd_via82xx
snd_ac97_codec 70520 1 snd_via82xx
snd_pcm_oss 47008 0
snd_mixer_oss 17024 1 snd_pcm_oss
snd_pcm 83464 3 snd_via82xx,
snd_timer 23684 2 snd_seq,snd_pcm
snd_page_alloc 9604 2 snd_via82xx,snd_pcm
snd_mpu401_uart 7424 1 snd_via82xx
snd_rawmidi 24352 2 snd_seq_
snd_seq_device 8332 5
snd_seq_
snd 53380 11
snd_seq_
soundcore 10080 1 snd
[brice@
and
[brice@
install snd-via82xx modprobe --ignore-install snd-via82xx && {
/lib/alsa/
#install snd-via82xx modprobe --ignore-install snd-via82xx &&
/lib/alsa/
options snd-via82xx-modem index=-2
[brice@
concerning the udev rules, I was a bit disappointed by the fact that there is
only one Control node... I thought they would have been more...
Regards, Brice
ps: I think you'll update the package, isn't it? will you put them at the same
place? -:)
Thomas Hood (jdthood) wrote : | #34 |
Please try the ~5 packages now in http://
Brice (bricem13) wrote : | #35 |
Hi
they work fine!
Thanks, Brice
Thomas Hood (jdthood) wrote : | #36 |
> they work fine!
Good to hear!
Hi
I have done further investigations concerning this problem and I was able to get
rid of this error by manually charging the following modules: snd-pcm-oss,
snd-seq-oss, snd-mixer-oss.
It seems that alsa isn't well configurated in the actual package as these
modules aren't loaded by default at bootup.
However, trying to select alsa as default output sink in gstreamer- properties
wasn't solved by this workaround! I still get an error "Failed to construct test
pipeline for 'ALSA - Advanced Linux Sound Architecture'".
I am still a newbie and do not know how to force the loading of the modules at
boot time!!
Best regards, Brice