Clemens Ladisch schrieb: > karsten wiese wrote: > > I am in the process of updating the tascam us-428 > > patch for alsa-current and need some hints: > > formerly the snd-usb-us428 issued > > "request_module( "snd-usb-midi");" > > to load that module. this doesn't work with > > alsa-current anymore as the snd-usb-audio > > initialisation, which is triggered, conflicts with > the > > initialisation of snd-usb-us428. > > thus I deleted that "request_module( > "snd-usb-midi");" > > from snd_usb_us428. > > snd-usb-midi isn't anymore an independent driver, it > has been integrated > into snd-usb-audio (as you've seen), although it's > still a separate > module. In theory, it may be possible to do the same > stuff as > snd_usb_create_midi_interface() to make it load > correctly. here is the routine that is used in snd-usb-us428: static int snd_us428_create_usbmidi( snd_card_t* card ) { #if defined(CONFIG_SND_SEQUENCER) || defined(CONFIG_SND_SEQUENCER_MODULE) static snd_usb_audio_quirk_t quirk = { .vendor_name = "TASCAM", .product_name = "US-428", .ifnum = 0, .type = QUIRK_MIDI_FIXED_ENDPOINT, .data = & (const snd_usb_midi_endpoint_info_t) { .epnum = 6, .out_cables = 3, .in_cables = 3 } }; snd_seq_device_t *seq_device; snd_usb_midi_t *umidi; int err;
err = snd_seq_device_new( card, us428( card)->chip.next_seq_device, SNDRV_SEQ_DEV_ID_USBMIDI, sizeof(snd_usb_midi_t), &seq_device); if (err < 0) return err; us428( card)->chip.next_seq_device++; strcpy(seq_device->name, card->shortname); umidi = (snd_usb_midi_t *)SNDRV_SEQ_DEVICE_ARGPTR(seq_device); umidi->chip = &us428( card)->chip; umidi->ifnum = 0; umidi->quirk = &quirk; umidi->seq_client = -1; #endif return 0; } its a copy-change of usb-audio. something wrong here ? cannot be completely wrong: if snd-usb-midi is loaded manually, everything works ok. > > IMHO the "best" solution would be to add a quirk to > usbaudio.c, instead of > writing an entirely separate driver with most of the > code duplicated. I > didn't look at your patch in full length, but it > seems to me that the > changes needed would be firmware loading (best done > in a separate driver > or a userspace program) and adding some information > about supported audio > formats/bitrates. (I'm sure I've missed something. > :) the us-428 audio is very nonstandard: it is necessary to know how many frames are just recorded to be able to playback without unwanted crackles. I found no other way to determine the exact samplerate. furthermore there are the hardware knobs, sliders and lights, the digital in switch.... > > > I remember from some Mail on this list, that > > snd-usb-midi would be autoloaded if a users > process > > accesses a mididevice, which has been created by > > "snd_seq_device_new( > ...SNDRV_SEQ_DEV_ID_USBMIDI)". > > this does not happen here now. > > Autoloading happens if there is an alias for > snd-card-x (x derived from > the client number) in modules.conf, and if the card > driver calls > snd_seq_device_new() for the sequencer driver. (BTW: > there was a bug with > autoloading sequencer drivers which has been fixed > yesterday) mmh, i just checked again my tree: it is current. I put a line "alias snd-card-1 snd-usb-midi" (the us-428 is my second card) into modules.conf. is it this what you suggest? unfortunately the autoload still does not happen. Trying to start the Synth with: "./startBristol -alsa -audiodev hw:1 -mididev hw:1" snd-usb-midi is still not loaded and the error message is: "ALSA lib rawmidi_hw.c:227:(snd_rawmidi_hw_open) open /dev/snd/midiC1D0 failed: No such file or directory" Could somebody please explain, how a specific midi module gets loaded on a user processes access of an alsa (raw)midi device ? Karsten __________________________________________________________________ Gesendet von Yahoo! Mail - http://mail.yahoo.de Möchten Sie mit einem Gruß antworten? http://grusskarten.yahoo.de ------------------------------------------------------- This sf.net email is sponsored by:ThinkGeek Welcome to geek heaven. http://thinkgeek.com/sf _______________________________________________ Alsa-devel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/alsa-devel