Bug 155332

Summary: No /dev/sequencer for MPU401
Product: [openSUSE] SUSE Linux 10.1 Reporter: Michael Stather <kontakt>
Component: BasesystemAssignee: Takashi Iwai <tiwai>
Status: RESOLVED FIXED QA Contact: E-mail List <qa-bugs>
Severity: Normal    
Priority: P5 - None CC: tiwai
Version: Beta 6   
Target Milestone: ---   
Hardware: Other   
OS: Other   
Whiteboard:
Found By: Other Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---
Attachments: YaST2 logs

Description Michael Stather 2006-03-05 23:04:26 UTC
I´ve an ASUS motherboard with an onboard AC97 sound and MIDI controller with MPU 401. It´s enabled in teh BIOS with irq 10 and address 330 and works fine under windows.
With SuSE there´s a /dev/snd/seq but no /dev/sequencer or /dev/music which I need for a game.
Any logs which could help here?
Comment 1 Michael Gross 2006-03-06 09:54:06 UTC
I suppose the card was configured with YaST, so please attach the YaST logs. Have you asserted that these devices work?
Comment 2 Michael Stather 2006-03-06 19:53:58 UTC
Here are the logs (from a 10.0 installation but that´s the same issue).
What do you mean with "asserted"? I can´t test it without /dev/sequencer AFAIK. And under windows the device does work.
Comment 3 Michael Stather 2006-03-06 19:54:20 UTC
Created attachment 71455 [details]
YaST2 logs
Comment 4 Michael Gross 2006-03-07 14:39:46 UTC
Your report was only about the missing links. What I asked was if the device works after you created these links manually. MIDI support is generelly poor under Linux.

Takashi: Can you please provide a comment about the general support status of MIDI sound (maby for this card) here?
Comment 5 Takashi Iwai 2006-03-07 14:47:10 UTC
You need to install snd-mpu401 driver by selecting it via yast manually.  It's not automatically installed.
Comment 6 Michael Gross 2006-03-07 15:39:25 UTC
Thanks.
Michael: Have you installed this package?
Comment 7 Takashi Iwai 2006-03-07 15:41:21 UTC
It's not a package but a driver.  Configure it via yast2 sound module.
Comment 8 Takashi Iwai 2006-03-07 15:42:46 UTC
As additional notes: you likely don't have to specify any io ports or irq as module options.  Usually PnP BIOS sets up them, and snd-mpu401 driver auto-probes the h/w information.
Comment 9 Michael Stather 2006-03-07 19:35:30 UTC
What do you mean with "select it in YaST2"?
The sound module just shows the audio codec.
And IMHO MIDI should be automatic like PCM is via hotplug. If an MPU-401 is there then the module should be loaded.
Comment 10 Takashi Iwai 2006-03-07 19:39:23 UTC
Add mpu401 driver manually in yast sound module.

The PnP BIOS stuff isn't supported as hotpluggable.
Comment 11 Michael Stather 2006-03-07 23:56:48 UTC
YaST says that the loading of the module failed.
When I execute "modprobe snd-mpu401" the module gets loaded (I see it with "lsmod") but I still don´t have /dev/sequencer or /dev/music.
Comment 12 Takashi Iwai 2006-03-08 11:09:48 UTC
Check /proc/asound/cards after loading snd-mpu401 module.  The entry of MPU401 should appear as the secondary card.
Then run "cat /proc/asound/seq/clients" to see whether MPU401 sequencer port became available.

If /dev/sequecner doesn't exist, load snd-seq-oss module manually.
Since /dev/sequencer and /dev/music are almost deprecated devices, the corresponding driver isn't loaded per default.
Comment 13 Michael Gross 2006-03-08 14:55:59 UTC
So I suppose this is not a YaST problem, more a missing feature. Reassigning this to you, Takashi.
Comment 14 Michael Stather 2006-03-11 14:28:17 UTC
OK this does work.
So what I would suggest is loading the snd-seq-oss module by default since the "regular" emulation for pcm devices is also loaded by default.
Second, I saw that when I disable the mpu401 I´ve also a /dev/sequencer and I get:

michael@r098088:~> cat /proc/asound/seq/clients
Client info
  cur  clients : 3
  peak clients : 3
  max  clients : 192

Client   0 : "System" [Kernel]
  Port   0 : "Timer" (Rwe-)
  Port   1 : "Announce" (R-e-)
    Connecting To: 63:0
Client  62 : "Midi Through" [Kernel]
  Port   0 : "Midi Through Port-0" (RWe-)
Client  63 : "OSS sequencer" [Kernel]
  Port   0 : "Receiver" (-we-)
    Connected From: 0:1
  Output pool :
    Pool size          : 1024
    Cells in use       : 0
    Peak cells in use  : 22
    Alloc success      : 129
    Alloc failures     : 0
Client  72 : "MPU-401 UART MIDI" [Kernel]
  Port   0 : "MPU-401 UART MIDI" (RWeX)
 
So does ALSA provide midi even without an MPU-401?
Comment 15 Takashi Iwai 2006-03-13 10:53:23 UTC
The module can be auto-loaded by accessing hat proc file.  That's why it's not loaded by the init script.

Loading snd-seq-oss is nothing but useless for for 99% of users, so I'll add a new sysconfig variable for control this, instead of loading unconditionally.
Comment 16 Michael Stather 2006-03-13 17:41:29 UTC
So why do you load snd-pcm-oss (or whatever the pcm emulation is) by default? Not many users are using skype or teamspeak.
IMHO SuSe should be usable for as many users as possible without having to reconfigure anything. Look at all these beautiful DOS games or emulators. They all need midi, and there are also some people using it. And loading this module doesn´t have ay drawbacks AFAIK.
Comment 17 Takashi Iwai 2006-03-13 17:44:21 UTC
The OSS PCM and mixer emulations will be removed eventually, but not in this release.