Hi, I've been having a frustrating couple of days getting IR to work on my brand new Audigy2 drive... Lots of people seem to have it working, but for me, it refused. Enabling it under windows showed that the IR _did_ work, and if I rebooted immediately into linux, IR worked there too (although not after a power cycle).
It turns out the Audigy2 (and maybe the Audigy as well? I don't know) has a different port (A_IOCFG instead of A_HCFG) for accessing the GPIO registers... This is actually in the OSS driver, but hadn't made it across to ALSA. I assume the people who had this working were all using the OSS driver. I'd like to point out that I've only done this for the IR.. it might be an idea to check the ALSA emu101k source for other occurences of this for the Audigy2.. Here's a patch against CVS to the IR enabling code. --- CUT HERE --- Index: include/emu10k1.h =================================================================== RCS file: /cvsroot/alsa/alsa-kernel/include/emu10k1.h,v retrieving revision 1.23 diff -r1.23 emu10k1.h 236a237,238 > #define A_IOCFG_GPOUT1 0x0002 /* IR */ > #define A_IOCFG_GPOUT2 0x0001 /* IR */ Index: pci/emu10k1/emu10k1_main.c =================================================================== RCS file: /cvsroot/alsa/alsa-kernel/pci/emu10k1/emu10k1_main.c,v retrieving revision 1.22 diff -r1.22 emu10k1_main.c 224,230c224,239 < if (enable_ir) { /* enable IR for SB Live */ < unsigned int reg = inl(emu->port + HCFG); < outl(reg | HCFG_GPOUT2, emu->port + HCFG); < udelay(500); < outl(reg | HCFG_GPOUT1 | HCFG_GPOUT2, emu->port + HCFG); < udelay(100); < outl(reg, emu->port + HCFG); --- > if (enable_ir) { /* enable IR for SB Live/Audigy */ > if (emu->audigy) { > unsigned int reg = inl(emu->port + A_IOCFG); > outl(reg | A_IOCFG_GPOUT2, emu->port + A_IOCFG); > udelay(500); > outl(reg | A_IOCFG_GPOUT1 | A_IOCFG_GPOUT2, emu->port + > A_IOCFG); > udelay(100); > outl(reg, emu->port + A_IOCFG); > } else { > unsigned int reg = inl(emu->port + HCFG); > outl(reg | HCFG_GPOUT2, emu->port + HCFG); > udelay(500); > outl(reg | HCFG_GPOUT1 | HCFG_GPOUT2, emu->port + HCFG); > udelay(100); > outl(reg, emu->port + HCFG); > } --- CUT HERE --- -- adq ------------------------------------------------------- This sf.net email is sponsored by:ThinkGeek Welcome to geek heaven. http://thinkgeek.com/sf _______________________________________________ Alsa-devel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/alsa-devel