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