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