diff options
Diffstat (limited to 'Documentation/sound/oss/SoundPro')
-rw-r--r-- | Documentation/sound/oss/SoundPro | 105 |
1 files changed, 105 insertions, 0 deletions
diff --git a/Documentation/sound/oss/SoundPro b/Documentation/sound/oss/SoundPro new file mode 100644 index 000000000000..9d4db1f29d3c --- /dev/null +++ b/Documentation/sound/oss/SoundPro | |||
@@ -0,0 +1,105 @@ | |||
1 | Documentation for the SoundPro CMI8330 extensions in the WSS driver (ad1848.o) | ||
2 | ------------------------------------------------------------------------------ | ||
3 | |||
4 | ( Be sure to read Documentation/sound/oss/CMI8330 too ) | ||
5 | |||
6 | Ion Badulescu, ionut@cs.columbia.edu | ||
7 | February 24, 1999 | ||
8 | |||
9 | (derived from the OPL3-SA2 documentation by Scott Murray) | ||
10 | |||
11 | The SoundPro CMI8330 (ISA) is a chip usually found on some Taiwanese | ||
12 | motherboards. The official name in the documentation is CMI8330, SoundPro | ||
13 | is the nickname and the big inscription on the chip itself. | ||
14 | |||
15 | The chip emulates a WSS as well as a SB16, but it has certain differences | ||
16 | in the mixer section which require separate support. It also emulates an | ||
17 | MPU401 and an OPL3 synthesizer, so you probably want to enable support | ||
18 | for these, too. | ||
19 | |||
20 | The chip identifies itself as an AD1848, but its mixer is significantly | ||
21 | more advanced than the original AD1848 one. If your system works with | ||
22 | either WSS or SB16 and you are having problems with some mixer controls | ||
23 | (no CD audio, no line-in, etc), you might want to give this driver a try. | ||
24 | Detection should work, but it hasn't been widely tested, so it might still | ||
25 | mis-identify the chip. You can still force soundpro=1 in the modprobe | ||
26 | parameters for ad1848. Please let me know if it happens to you, so I can | ||
27 | adjust the detection routine. | ||
28 | |||
29 | The chip is capable of doing full-duplex, but since the driver sees it as an | ||
30 | AD1848, it cannot take advantage of this. Moreover, the full-duplex mode is | ||
31 | not achievable through the WSS interface, b/c it needs a dma16 line which is | ||
32 | assigned only to the SB16 subdevice (with isapnp). Windows documentation | ||
33 | says the user must use WSS Playback and SB16 Recording for full-duplex, so | ||
34 | it might be possible to do the same thing under Linux. You can try loading | ||
35 | up both ad1848 and sb then use one for playback and the other for | ||
36 | recording. I don't know if this works, b/c I haven't tested it. Anyway, if | ||
37 | you try it, be very careful: the SB16 mixer *mostly* works, but certain | ||
38 | settings can have unexpected effects. Use the WSS mixer for best results. | ||
39 | |||
40 | There is also a PCI SoundPro chip. I have not seen this chip, so I have | ||
41 | no idea if the driver will work with it. I suspect it won't. | ||
42 | |||
43 | As with PnP cards, some configuration is required. There are two ways | ||
44 | of doing this. The most common is to use the isapnptools package to | ||
45 | initialize the card, and use the kernel module form of the sound | ||
46 | subsystem and sound drivers. Alternatively, some BIOS's allow manual | ||
47 | configuration of installed PnP devices in a BIOS menu, which should | ||
48 | allow using the non-modular sound drivers, i.e. built into the kernel. | ||
49 | Since in this latter case you cannot use module parameters, you will | ||
50 | have to enable support for the SoundPro at compile time. | ||
51 | |||
52 | The IRQ and DMA values can be any that are considered acceptable for a | ||
53 | WSS. Assuming you've got isapnp all happy, then you should be able to | ||
54 | do something like the following (which *must* match the isapnp/BIOS | ||
55 | configuration): | ||
56 | |||
57 | modprobe ad1848 io=0x530 irq=11 dma=0 soundpro=1 | ||
58 | -and maybe- | ||
59 | modprobe sb io=0x220 irq=5 dma=1 dma16=5 | ||
60 | |||
61 | -then- | ||
62 | modprobe mpu401 io=0x330 irq=9 | ||
63 | modprobe opl3 io=0x388 | ||
64 | |||
65 | If all goes well and you see no error messages, you should be able to | ||
66 | start using the sound capabilities of your system. If you get an | ||
67 | error message while trying to insert the module(s), then make | ||
68 | sure that the values of the various arguments match what you specified | ||
69 | in your isapnp configuration file, and that there is no conflict with | ||
70 | another device for an I/O port or interrupt. Checking the contents of | ||
71 | /proc/ioports and /proc/interrupts can be useful to see if you're | ||
72 | butting heads with another device. | ||
73 | |||
74 | If you do not see the chipset version message, and none of the other | ||
75 | messages present in the system log are helpful, try adding 'debug=1' | ||
76 | to the ad1848 parameters, email me the syslog results and I'll do | ||
77 | my best to help. | ||
78 | |||
79 | Lastly, if you're using modules and want to set up automatic module | ||
80 | loading with kmod, the kernel module loader, here is the section I | ||
81 | currently use in my conf.modules file: | ||
82 | |||
83 | # Sound | ||
84 | post-install sound modprobe -k ad1848; modprobe -k mpu401; modprobe -k opl3 | ||
85 | options ad1848 io=0x530 irq=11 dma=0 | ||
86 | options sb io=0x220 irq=5 dma=1 dma16=5 | ||
87 | options mpu401 io=0x330 irq=9 | ||
88 | options opl3 io=0x388 | ||
89 | |||
90 | The above ensures that ad1848 will be loaded whenever the sound system | ||
91 | is being used. | ||
92 | |||
93 | Good luck. | ||
94 | |||
95 | Ion | ||
96 | |||
97 | NOT REALLY TESTED: | ||
98 | - recording | ||
99 | - recording device selection | ||
100 | - full-duplex | ||
101 | |||
102 | TODO: | ||
103 | - implement mixer support for surround, loud, digital CD switches. | ||
104 | - come up with a scheme which allows recording volumes for each subdevice. | ||
105 | This is a major OSS API change. | ||