[Alsa-user] CS4281 External MIDI Problem
Brought to you by:
perex
From: <che...@in...> - 2002-11-26 18:43:49
|
Hello, I've been using the ALSA drivers in my laptop, a Toshiba Satellite 1700-300, for more than few weeks now. They used to work great, but recently I discovered a problem with midi. This problem I had with ALSA 0.90rc5 and 0.90rc6 . First of all, aconnect -o gives: -- client 64: 'External MIDI 0' [type=kernel] 0 'MIDI 0-0 ' client 65: 'OPL3 FM synth' [type=kernel] 0 'OPL3 Port ' -- The problem is that 'pmidi -p 64:0 midifile.mid' locks my machine (I have to reboot manually to make things work again); cat-ting some bytes to /dev/midi?? produces the same effect. I don't know exactly what that External MIDI interface is or should be. I thought that it should be an external midi connector: but there is none on my computer. Maybe the lock depends on the absence of the midi port? The driver expects it to be there so when probing the non-existant-interface, the driver freeze my system? Anyway, considering that I don't need that 'External MIDI' interface, I'm searching for a way to disable it from modules.conf, if possible, or directly from the cs4281.c file. Of course, any other solution to my problem I would be glad to hear. It's maybe worth reading that when I attach my EDIROL UM-1 usb-to-midi interface to the computer, alsa creates another midi interface which works as expected (not freezing the computer, but playing midi files on my keyboard) : -- client 72: 'External MIDI 1' [type=kernel] 0 'UM-1 Port 0 ' -- Also using OPL3 or timidity (as an alsa midi daemon) works as it should. Well, that said I'll list some configuration details. 'lsmod' gives: --- Module Size Used by Tainted: PF snd-usb-audio 46144 0 (autoclean) snd-seq-oss 33920 0 (autoclean) (unused) snd-seq-midi 4992 0 (autoclean) (unused) snd-seq-midi-event 5640 0 (autoclean) [snd-seq-oss snd-seq-midi] snd-opl3-synth 12772 0 (autoclean) (unused) snd-seq-instr 7996 0 (autoclean) [snd-opl3-synth] snd-seq-midi-emul 7212 0 (autoclean) [snd-opl3-synth] snd-ainstr-fm 3088 0 (autoclean) [snd-opl3-synth] snd-seq 47472 2 (autoclean) [snd-seq-oss snd-seq-midi snd-seq-midi-event snd-opl3-synth snd-seq-instr snd-seq-midi-emul] ide-cd 33668 0 (autoclean) cdrom 33696 0 (autoclean) [ide-cd] snd-pcm-oss 44420 0 (autoclean) snd-mixer-oss 15512 0 (autoclean) [snd-pcm-oss] snd-cs4281 15136 0 (autoclean) snd-pcm 83296 0 (autoclean) [snd-usb-audio snd-pcm-oss snd-cs4281] snd-rawmidi 18400 0 (autoclean) [snd-usb-audio snd-seq-midi snd-cs4281] gameport 3396 0 (autoclean) [snd-cs4281] snd-opl3-lib 8932 0 (autoclean) [snd-opl3-synth snd-cs4281] snd-seq-device 6176 0 (autoclean) [snd-seq-oss snd-seq-midi snd-opl3-synth snd-seq snd-rawmidi snd-opl3-lib] snd-timer 15304 0 (autoclean) [snd-seq snd-pcm snd-opl3-lib] snd-hwdep 5888 0 (autoclean) [snd-opl3-lib] snd-ac97-codec 36100 0 (autoclean) [snd-cs4281] snd 39308 0 (autoclean) [snd-usb-audio snd-seq-oss snd-seq-midi snd-seq-midi-event snd-opl3-synth snd-seq-instr snd-seq snd-pcm-oss snd-mixer-oss snd-cs4281 snd-pcm snd-rawmidi snd-opl3-lib snd-seq-device snd-timer snd-hwdep snd-ac97-codec] soundcore 6468 11 (autoclean) [snd] ipt_state 1048 1 (autoclean) ip_conntrack 21212 1 (autoclean) [ipt_state] agpgart 42496 0 (unused) vmnet 23584 4 vmmon 23092 0 (unused) nfs 81248 2 (autoclean) lockd 58288 1 (autoclean) [nfs] sunrpc 77660 1 (autoclean) [nfs lockd] 8139too 17704 1 mii 2156 0 [8139too] iptable_filter 2412 1 (autoclean) ip_tables 14840 2 [ipt_state iptable_filter] ds 8712 2 yenta_socket 12960 2 pcmcia_core 58144 0 [ds yenta_socket] mousedev 5524 1 keybdev 2944 0 (unused) input 5792 0 [mousedev keybdev] hid 11796 0 (unused) usb-uhci 26156 0 (unused) usbcore 76992 1 [snd-usb-audio hid usb-uhci] --- My 'modules.conf' is: --- options ide-cd dma=1 alias eth0 8139too # ALSA portion alias snd-card-0 snd-cs4281 alias char-major-116 snd # OSS/Free portion alias char-major-14 soundcore alias sound-slot-0 snd-card-0 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 # USB Audio alias snd-card-1 snd-usb-audio alias sound-slot-1 snd-card-1 post-install sound-slot-0 /bin/aumix-minimal -f /etc/.aumixrc -L >/dev/null 2>&1 || : pre-remove sound-slot-0 /bin/aumix-minimal -f /etc/.aumixrc -S >/dev/null 2>&1 || : alias usb-controller usb-uhci alias parport_lowlevel parport_pc # lt_drivers: autoloading and insertion parameter usage alias char-major-62 lt_serial alias /dev/tts/LT0 lt_serial alias /dev/modem lt_serial # The next two lines are syntax examples, only Rarely Needed, to automate parameter usage during lt_drivers insertion. See documentation for details. # options lt_modem vendor_id=0x115d device_id=0x0420 # options lt_modem Forced=3,0x130,0x2f8,0 # section for lt_drivers ends --- My distribution is a Red Hat 8.0, with a custom 2.4.19 kernel and ALSA 0.90rc6 (compiled with all sound cards and --with-isapnp=no). Thank you in advance for any help and for your work on these drivers, Flavio Chierichetti |