[linux-audio-dev] What parts of Linux audio simply suck ? - ALSA

Takashi Iwai tiwai at suse.de
Mon Jun 20 17:08:29 UTC 2005


At Mon, 20 Jun 2005 13:26:06 -0300,
Juan Linietsky wrote:
> 
> Takashi Iwai wrote:
> 
> >>-Module configuration parameters. WHY ON EARTH do I have to specify the 
> >>IO port for mpu401, joystick, etc as driver options when loading the 
> >>modules for my soundcard, else doesnt work? What year are we on?! I cant 
> >>believe that this resource allocation is not handled by ALSA or the 
> >>linux kernel!
> >>    
> >>
> >
> >They are very old system, indeed.  (Remember they have been called
> >"legacy" devices even 5 years ago.) 
> >They have neither PnP nor automatic resource allocation mechanism.
> >The only way is trial-and-error.  We disable them per default just
> >because it's safer for the system (the resource confliction may lock
> >up your system silently).  It's a usual question whether convenience
> >or safety.
> >
> >  
> >
> 
> I'd like to clarify more on this. I'm not talking about deprecated old 
> ISA devices
> (like one of those huge soundblaster 16 cards), not even isapnp but PCI 
> devices
> which are being sold nowadays, or integrated into mainboards, more 
> specifically,
> I dont understand why things like this exist:
> 
> red at killy:~$ /sbin/modinfo -p snd-cmipci
> [ .. omitted non relevant options .. ]
> mpu_port:MPU-401 port.
> fm_port:FM port.
> joystick_port:Joystick port address.
> 
> red at killy:~$ /sbin/modinfo -p snd-via82xx
> [ .. omitted non relevant options .. ]
> mpu_port:MPU-401 port. (VT82C686x only)
> 
> red at killy:~$ /sbin/modinfo -p snd-ens1371
> [ .. omitted non relevant options .. ]
> joystick_port:Joystick port address.
> 
> Amongst many.

I know.  But they are called "legacy" devices.

> These options exists in the soundchips for compatibility with old sound 
> blaster card in MS-DOS,
> or win9x (which lets you access to ports directly). You can supply 
> basically any of the allowed
> port values and they will work. They are legacy I guess, but it is still 
> the only way that you can
> access to joystick/mpu401/opl3 in nowadays cheap soundcards.

Note that all of the above are old hardwares nowadays.
The recent cards don't have these options.  They are set up via ACPI
(if any).

> So, my main question is *why* isnt this autodetected by the 
> driver/kernel by default?

As mentioned, it's disabled per default just for safety reason.

Technically seen, the auto-probing is possible.  For example, the
auto-probing is already implemented in joystick_port options, indeed -
just pass the value 1.  But, unfortunately, it's not implemented for
all mpu401 options.

> In my personal
> experience (and the alsa docs) these wont work until you supply some 
> random port.  I find this
> extremely user-unfriendly, because most sound users may not even know 
> what a port is, much less
> that they have to do it. I mean, if isapnp does this kind of resource 
> allocation, why it cant be done for this too?

The legacy device support is much worse than ISA-PnP.


Takashi



More information about the Linux-audio-dev mailing list