Hi Chris,
wow, that's a lengthy email! I'll try to answer your concerns as best
as possible
Hi Matthijs,
Thanks for the reply.
Do you mind if I talk through my perception of what is going on there,
and possibly people could point out any deficiencies?
The Kernel is a humongous blob of code :-) that just does anything
asked, based upon a set of questions it understands. Any questions it
doesn't understand are tersly rejected.
Chunks of software are loaded into the kernel that allow a lump of
hardware to be come available to programmes that run by calling an
operating system function to do something. Do wire a 'new' hardware
device into the kernel, the kernel is recompiled. This process can be
completed without reloading the whole kernel from scratch.
Is modprobe the process that set the re-compile in motion ?
Yes.
and is
modules.conf the file thayt defines which software modules are
recompiled into the kernal at start up?
No. modules.conf is the file that contains parameters you need to pass
to specific modules. For instance, for an ISA card, you'll have to add
a line to this file that tells the module which IRQ and which I/O port
your card is using.
The file that tells the system which modules to load is a shellscript
of some sort, usually in /etc/rc.d or /etc/init.d (different distros
use different files for this - on my Slackware install, it's
/etc/rc.d/rc.modules)
. How do I see what
modules/drivers the kernel has loaded?
As root, do:
lsmod
This command will provide a listing of all modules currently loaded
into the kernel (but it will NOT tell you which components you have
statically compiled into the kernel itself) and whether they're active
or not.
Audio & midi support in the kernel are presumably
software concepts that
applications understand, that allow audio like functions to be performed
in a standard way, and have some sort of link with the hardware driver?
How is this process implemented and how do I get a status that can
indicate it's been successful?
The process is implemented by loading "drivers" (kernel modules) that
support your hardware. If this loading has been successful, lsmod will
show you that the modules you want have been loaded.
USB is another layer of abstraction on top of this stack that simply
allows the audio and midi drivers to talk to a USB device that
identifies itself of being capable of supporting adio or MIDI like
processes?
Correct. For USB devices you'll have to modprobe USB support
Will the Audio MIDI components support this process
directly even though
most discussion concerns Sound Cards?
Supposedly (this is different for different sound cards) you'll have
to modprobe a specific MIDI module for your sound card.
Again how do I monitor which USB
components are present and responding? and what happens if/when the USB
connection is terminated, ie what do I expect to happen when the UA-100
is turned of or on? should the device appear and dissappear seemlessly
or will I have to issue a command to rebind it into the kernel?
I'm not quite sure, since I don't have any USB audio hardware myself,
but I'd imagine, based on experience with other hardware, that you'd
check whether the modules for your hardware have been loaded. If
they're active, lsmod will display a 1 in the column labeled Used by.
Sorry for all these questions but they are concepts
that as you probably
already know are purposefully kept from PC users who just press on an
icon and still feel that if ./configure,make, make install is what you
type why doesn't configure run make & make install as well :-)
"Purposefully kept from" is a bit of an overstatement :) You'll have
to pick up this knowledge somewhere is all :) From a mailing list like
this one, for instance.
If you have any other questions, let me know and I'll try to answer
them for you as best I can. For now, what you'll have to do, is hunt
down the MIDI modules for your sound card, and, if you're using ALSA,
the ALSA MIDI module and compile them.
Unfortunately, kernel configuration software doesn't always warn you
of any dependencies. I've been bitten by this myself on countless
occasions. A classic one is compiling USB input device (USB mice etc)
support without compiling in input device support. Grrr.
Hi Chris,
>From the looks of it you don't have MIDI support compiled into your
kernel.
take care,
Matthijs de Jonge
http://devdsp.net - news and resources for computer musicians
On Fri, Apr 04, 2003 at 07:35:08PM +0100, Chris Lyon wrote:
>Dear all,
>
>Just a quick introduction before I get to the problem.
>I have a lot of Windows experience of one sort and another, upon which I
>develop in Python. I'm new to Linux. I veiw make , kernels ,device
>drivers with a fair degree of trepedation.
>
>I have a Roland UA-100 which worked correctly on this machine using
>Win2K. I have cleaned windows off the machine and loaded Mandrake 9.0
>and have been attempting to work through
>
>http://www.michaelminn.com/linux/usbua100/README.html
>
>I have altered the make files and loaded up Motif et al. and the file
>now make and make install run with no errors.
>Upon restarting the machine I find in /var/log/syslog
>
>/lib/modules/2.4.19-16mdkenterprise/kernel/drivers/sound/usbua100.o:
>unresolved symbol unregister_sound_dsp
>/lib/modules/2.4.19-16mdkenterprise/kernel/drivers/sound/usbua100.o:
>unresolved symbol unregister_sound_midi
>/lib/modules/2.4.19-16mdkenterprise/kernel/drivers/sound/usbua100.o:
>unresolved symbol register_sound_dsp
>/lib/modules/2.4.19-16mdkenterprise/kernel/drivers/sound/usbua100.o:
>unresolved symbol register_sound_midi
>modprobe: insmod
>/lib/modules/2.4.19-16mdkenterprise/kernel/drivers/sound/usbua100.o
failed
I'm a bit stumped here because I don't understand how the .o file can be
prduced if there are un-resolved sysmbols.
I also notice I have no audio facilites listed in the Mandrake Control
Centre. Does this machine believe it has no audio, and could somebody
please elaborate if at all possible?
chris lyon
--
take care,
Matthijs de Jonge
http://devdsp.net - news and resources for computer musicians