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: > > [EMAIL PROTECTED]:~$ /sbin/modinfo -p snd-cmipci > [ .. omitted non relevant options .. ] > mpu_port:MPU-401 port. > fm_port:FM port. > joystick_port:Joystick port address. > > [EMAIL PROTECTED]:~$ /sbin/modinfo -p snd-via82xx > [ .. omitted non relevant options .. ] > mpu_port:MPU-401 port. (VT82C686x only) > > [EMAIL PROTECTED]:~$ /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
