On Fri, 2004-01-23 at 09:38, Clemens Ladisch wrote:
> Now if I remembered where I've put my TODO list ... ;-)
:-)
>
> > One other related frustration about Alsa MIDI is that under Gentoo at
> > least my MidiSport is never recognized by Alsa until I hotplug it.
>
> Is it recognized when you run "modprobe snd-usb-audio"?
> Is there a snd-usb-audio entry in your modules.conf?
At the outset, if you and Fernando talk a bit you'll probably get more
info. IIRC, he said he rewrote part of the Alsa init scripts for his
distro to help this stuff. Now, my info:
1) When I first start booting and I get to the place where you get all
the [OK] messages I the 2nd or 3rd message says something like 'Device
ID 0x0763 unclaimed by any driver. The 763 number is the ID for the
MidiSport.
2) After booting, if I do an lsmod snd-usb-midi is loaded, but
apparently not attached to the MidiSport:
Wizard root # lsmod
Module Size Used by Not tainted
w83781d 23924 0 (unused)
i2c-viapro 3500 0 (unused)
i2c-proc 6452 0 [w83781d]
i2c-core 15300 0 [w83781d i2c-viapro i2c-proc]
snd-pcm-oss 37860 0 (unused)
snd-mixer-oss 12752 0 [snd-pcm-oss]
snd-usb-audio 44928 0 (unused)
snd-seq-midi 3744 0 (autoclean) (unused)
snd-hdsp 42628 0
snd-hwdep 4640 0 (autoclean) [snd-hdsp]
snd-via82xx 13824 0
snd-pcm 64484 0 (autoclean) [snd-pcm-oss snd-usb-audio
snd-hdsp snd-via82xx]
snd-ac97-codec 47564 0 (autoclean) [snd-via82xx]
snd-page-alloc 6164 0 (autoclean) [snd-hdsp snd-via82xx
snd-pcm]
snd-mpu401-uart 3680 0 (autoclean) [snd-via82xx]
snd-rawmidi 14176 0 (autoclean) [snd-usb-audio
snd-seq-midi snd-hdsp snd-mpu401-uart]
snd-seq-oss 27008 0 (unused)
snd-seq-midi-event 3840 0 [snd-seq-midi snd-seq-oss]
ide-scsi 9936 0
sr_mod 13368 0 (unused)
sg 27580 0 (unused)
snd-seq 39728 2 [snd-seq-midi snd-seq-oss
snd-seq-midi-event]
snd-timer 15428 0 [snd-pcm snd-seq]
snd-seq-device 4144 0 [snd-seq-midi snd-rawmidi snd-seq-oss
snd-seq]
snd 35236 0 [snd-pcm-oss snd-mixer-oss
snd-usb-audio snd-seq-midi snd-hdsp snd-hwdep snd-via82xx snd-pcm
snd-ac97-codec snd-mpu401-uart snd-rawmidi snd-seq-oss
snd-seq-midi-event snd-seq snd-timer snd-seq-device]
sbp2 17748 0 (unused)
scsi_mod 58644 3 [ide-scsi sr_mod sg sbp2]
raw1394 19608 0 (unused)
ohci1394 26128 0 (unused)
ieee1394 47940 0 [sbp2 raw1394 ohci1394]
hid 16036 1
Wizard root
3) I think my modules.conf file is OK, but I can always use a pair of
more experienced eyes. (This is Gentoo, so I'm just giving you
/etc/modules.d/alsa here, but if you want the whole set of files let me
know)
FYI - The intention is Alsa for the Via8235 and the HDSP 9652, OSS
emulation for the Via only since OSS emulation on the HDSP 9652 drive is
a big problem on my system, and then the MidiSport 2x2.
<SNIP>
# Alsa 0.9.X kernel modules' configuration file.
# $Header:
/home/cvsroot/gentoo-x86/media-sound/alsa-utils/files/alsa-modules.conf-rc,v 1.1
2003/08/05 21:07:55
johnm Exp $
# ALSA portion
alias char-major-116 snd
# OSS/Free portion
alias char-major-14 soundcore
##
## IMPORTANT:
## You need to customise this section for your specific sound card(s)
## and then run `update-modules' command.
## Read alsa-driver's INSTALL file in /usr/share/doc for more info.
##
## ALSA portion
alias snd-card-0 snd-via82xx
options snd-via82xx dxs_support=4
alias snd-card-1 snd-hdsp
alias snd-card-2 snd-usb-audio
## OSS/Free portion
alias sound-slot-0 snd-card-0
alias sound-slot-1 snd-card-1
alias sound-slot-2 snd-card-2
##
# OSS/Free portion - card #0 (Via8233)
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
# OSS/Free portion - card #1 (HDSP9652)
alias sound-service-1-0 snd-mixer-oss
alias sound-service-1-1 snd-seq-oss
alias sound-service-1-3 snd-pcm-oss
alias sound-service-1-8 snd-seq-oss
alias sound-service-1-12 snd-pcm-oss
alias /dev/mixer snd-mixer-oss
alias /dev/dsp snd-pcm-oss
alias /dev/midi snd-seq-oss
# Set this to the correct number of cards.
options snd cards_limit=3
add options -k snd-card-0
add options -k snd-card-1
add options -k snd-card-2
<SNIP>
4) In usbview the device is RED and UNKNOWN, but the device ID info is
there:
Unknown Device
Speed: 12Mb/s (full)
USB Version: 1.00
Device Class: ff(vend.)
Device Subclass: ff
Device Protocol: ff
Maximum Default Endpoint Size: 64
Number of Configurations: 1
Vendor Id: 0763
Product Id: 1001
Revision Number: 0.01
Config Number: 1
Number of Interfaces: 1
Attributes: 80
MaxPower Needed: 100mA
Interface Number: 0
Name: (none)
Alternate Number: 0
Class: ff(vend.)
Sub Class: 0
Protocol: 0
Number of Endpoints: 0
<SNIPED THE REST>
5) If I pull the cable (I cannot right now as I'm remote from the
machine) the device gets firmware loaded and starts operating. I *think*
(from memory) that snd-usb-audio won't say 'unused' after a cable pull,
but don't trust my memory. I'll check that this evening.
Hope this helps show the state on a freshly booted system.
>
> > > > 3) I have undocumented low-level 'concerns' about the timing accuracy of
> > > > MIDI under Linux, but it's not so bad as to warrant 'worry' or a bug
> > > > report. Just concerns that there is more jitter in my Linux MIDI created
> > > > audio than on my Windows boxes.
> > >
> > > What timer are you using for the sequencer? The default system timer
> > > on 2.4.x has a resolution of 100 Hz. I'm using the timer on my ymfpci
> > > card with 1000 Hz. (Yeah, completetely undocumented, that one, like
> > > the RTC timer. (TODO: FAQ #15))
> >
> > This answer confuses me. Do I need to do something with both 'timers'
> > AND 'the RTC to make Alsa work better?
>
> The sequencer needs some high-resolution interrupt source to deliver
> events accurately. By default, it uses the Linux system timer, which
> runs with 100 Hz on 2.4 (but 1000 Hz on 2.6) kernels. A standard
> Linux system does not have any other available timer.
>
> There exists a patch for 2.4 kernels which allows to use the RTC
> interrupt (with 1024 Hz). (It's in alsa-driver/utils/patches/, but it
> doesn't apply cleanly to the latest 2.4.x kernels. (another TODO))
I'll go to some version of 2.6 in the next few months so this doesn't
seem like a problem to me right now.
>
> YMFPCI cards have a timer which can be used for this, too.
>
> > Is fixing/improving this done by changing the 'Timer Frequency' in
> > the General Setup section of menuconfig, or is this some setting
> > on the sound card itself?
>
> If your system has another timer (a standard system has not), it can
> be reconfigured with module parameters for snd-seq.
>
> See /proc/asound/timers for a list of timers (but please note that PCM
> timers won't help you).
>
So I have the system timer, but it looks like 200Hz. (5mS) Is this set
in General Setup Page under 'Timer Frequency'? That's the one setting I
can see, but it currently says 1000 so I don't know why this is 5mS
unless I changed the value but haven't built a kernel since then. (Seems
unlikely since this kernel is only a few days old.)
Wizard modules.d # cat /proc/asound/timers
G0: system timer : 5000.000us (10000000 ticks)
P0-0-0: PCM playback 0-0-0 : SLAVE
P0-0-1: PCM capture 0-0-1 : SLAVE
P0-0-2: PCM playback 0-0-2 : SLAVE
P0-0-4: PCM playback 0-0-4 : SLAVE
P0-0-6: PCM playback 0-0-6 : SLAVE
P0-1-0: PCM playback 0-1-0 : SLAVE
P0-1-1: PCM capture 0-1-1 : SLAVE
P1-0-0: PCM playback 1-0-0 : SLAVE
P1-0-1: PCM capture 1-0-1 : SLAVE
Wizard modules.d #
-------------------------------------------------------
The SF.Net email is sponsored by EclipseCon 2004
Premiere Conference on Open Tools Development and Integration
See the breadth of Eclipse activity. February 3-5 in Anaheim, CA.
http://www.eclipsecon.org/osdn
_______________________________________________
Alsa-user mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-user