Subject: AZT1020 & isapnp MPU
To: None <port-i386@netbsd.org>
From: doomwarrior <doomwarriorx@gmail.com>
List: port-i386
Date: 03/26/2006 13:30:26
Hi
i got a Aztech (soundblaster compatible) soundcard for a while. Because 
it's a pnp card i had to add some lines to the isapnpdevs
and the opl and dsp worked. These stuff is already commited. So now I'm 
currently try to detect the MPU401 on the card.

I added this line into isapnpdevs:
devlogic        mpu     AZT2004         0       Aztech AZT1020

but this doen't help. The device is unconfigured. So i try to build the 
kernel with
mpu*    at isapnp?

and the MPU is detected, but the midi interface don't get a Name. It 
device is called "(NULL)"
I tried to access the device via midiplay but the system crash. :-/

So i changed in the mpu_getinfo in mpu.c:
mi->name = sc->model == 0 ? "MPU" : sc->model;

now midiplay list the device but i can't hear anything. But sometimes 
the system crash, while try to play a midi file. If i plug in a noname 
pnp ne2 card, the TX-LED at the ne2 start to blink! The system could 
crash with and without the ne2. But because the mpu_isapnp isn't in the 
config file,
it isn't supported at the moment ?!

I also wondering why sb claim it can't configure mpu. so i start to 
debug into the sb_isapnp and found out that the ipa->ipa_io[1].h
don't point to the MPU. It point to the OPL and that's why it can't find 
the MPU at this address.
Because i'm not a guru i start to hack the correct io stuff from the pnp 
MPU into the io[1] of the soundblaster.
But even then the mpu driver can't identify the MPU AND i found out that 
the pnp MPU change it's address from
330h to 300h if i do this hack.
So what would be the correct way to force the MPU to be detected by the 
sb_mpu driver?

Best Regards