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

From: Takashi Iwai <tiwai@email-addr-hidden>
Date: Mon Jun 20 2005 - 20:08:29 EEST

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@email-addr-hidden:~$ /sbin/modinfo -p snd-cmipci
> [ .. omitted non relevant options .. ]
> mpu_port:MPU-401 port.
> fm_port:FM port.
> joystick_port:Joystick port address.
>
> red@email-addr-hidden:~$ /sbin/modinfo -p snd-via82xx
> [ .. omitted non relevant options .. ]
> mpu_port:MPU-401 port. (VT82C686x only)
>
> red@email-addr-hidden:~$ /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
Received on Tue Jun 21 00:15:05 2005

This archive was generated by hypermail 2.1.8 : Tue Jun 21 2005 - 00:15:06 EEST